QPSK基带系统仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

白噪声下QPSK基带系统仿真一、实验目的1、信噪比2~14dB,步进2dB。2、系统误比特率性能10-4。二、实验原理四相相移调制(QPSK)是利用载波的四种不同相位差来表征输入的数字信息。相似的,QPSK基带调制解调把输入的二进制数据信息映射到坐标为1,1,1,1,1,1,1,1的四个点上,完成调制过程;由于映射之后信号变为复信号,本试验中加的白噪声为复白噪声;接收端,先对加有复白噪声的信号相位进行判决,再对判决后的信号进行逆映射得到二进制数据,与原始数据比较得出误比特率。三、实验流程图及程序系统程序流程图如图1所示:二进制数据流QPSK映射高斯信道判决QPSK逆映射计算误比特率图1QPSK基带系统程序流程图系统程序如下:1、复高斯白噪声function[sig_noise,snr_dB]=fu_awgn(Sig,SNR,Num_signal)L_SNR=10.^(SNR/10);%转换为线性信噪比Eb=sum(abs(Sig).^2)/Num_signal;%每比特的能量N0=Eb*2/L_SNR;%噪声功率谱密度noise_R1=randn(1,length(Sig));%实际产生均值为0,方差为1的随机高斯序列,功率谱密度是1noise_R2=noise_R1-mean(noise_R1);%让均值再更接近0noise_R3=noise_R2./std(noise_R2);%标准差归一化让均值等于0noise_R=noise_R3*sqrt(N0/4);%使得功率谱密度是N0/2noise_I1=randn(1,length(Sig));%实际产生均值为0,方差为1的随机高斯序列,功率谱密度是1noise_I2=noise_I1-mean(noise_I1);%让均值再更接近0noise_I3=noise_I2./std(noise_I2);%标准差归一化让均值等于0noise_I=noise_I3*sqrt(N0/4);%使得功率谱密度是N0/2x=noise_R+j*noise_I;%生成复噪声sig_noise=Sig+x;%此时加入的就是Eb/N0snr=sum(abs(Sig).^2)/sum(abs(x).^2);snr_dB=10*log10(snr);%实际加入的信噪比SNRend2、主程序%%QPSK基带系统clearall;closeall;clcPe_bit_check=[];Pe_bit_ideal=[];Pe_symbol_check=[];Pe_symbol_ideal=[];forSNR=2:2:14;%%产生基带信号Num_signal=1e6;Sig=randsrc(Num_signal,2,[01]);%%QPSK映射[a1,b1]=find(Sig(:,1)==0&Sig(:,2)==0);message(a1)=-1-j;[a2,b2]=find(Sig(:,1)==0&Sig(:,2)==1);message(a2)=-1+j;[a3,b3]=find(Sig(:,1)==1&Sig(:,2)==0);message(a3)=1-j;[a4,b4]=find(Sig(:,1)==1&Sig(:,2)==1);message(a4)=1+j;%%加入复高斯白噪声[Sig_noise,snr_dB]=fu_awgn(message,SNR,Num_signal);%%判决和逆映射resum=0;total=0;m1=find(angle(Sig_noise)=pi/2&angle(Sig_noise)0);remessage(1,m1)=1+j;redata(m1,1)=1;redata(m1,2)=1;m2=find(angle(Sig_noise)pi/2&angle(Sig_noise)=pi);remessage(1,m2)=-1+j;redata(m2,1)=0;redata(m2,2)=1;m3=find(angle(Sig_noise)-pi&angle(Sig_noise)=-pi/2);remessage(1,m3)=-1-j;redata(m3,1)=0;redata(m3,2)=0;m4=find(angle(Sig_noise)-pi/2&angle(Sig_noise)=0);remessage(1,m4)=1-j;redata(m4,1)=1;redata(m4,2)=0;%%计算误比特率和误符号率[resum,ratio1]=symerr(Sig,redata);%symerr计算错误符号的个数和误符号率resum错误符号的个数ratio误符号率;beterr用于计算错误比特的个数Pe_bit=resum/(Num_signal*2);Pe_bit_check=[Pe_bit_check,Pe_bit];Pbit=1/2*erfc(sqrt(10.^(SNR/10)/2));%理论误比特率Pe_bit_ideal=[Pe_bit_ideal,Pbit];%[total,ratio2]=symerr(message,remessage);%Pe_symbol=total/Num_signal;%Pe_symbol_check=[Pe_symbol_check,Pe_symbol];%Psymbol=1-(1-1/2*erfc(sqrt(10.^(snr_dB/10)/2))).^2;%理论误符号率%Pe_symbol_ideal=[Pe_symbol_ideal,Psymbol];endfigure(3)SNR=2:2:14;semilogy(SNR,Pe_bit_check,'-kd',SNR,Pe_bit_ideal,'-r*')legend('QPSK仿真误比特率','QPSK理论误比特率',1);xlabel('信噪比/dB');ylabel('误比特率');axis([2141e-61]);四、实验结果图2QPSK基带系统误比特曲线五、总结在本实验的映射和逆映射中的对应关系是1映射为1,0映射为-1。由于映射之后的信号是复信号,所以加入的白噪声是复白噪声,及分别对信号的实部和虚部加白噪声。在接收端,信号的判决通过计算接收到的信号的相位来进行判决,判决之后再进行逆映射得到传送的数据,计算得到QPSK基带系统误比特曲线,通过与理论曲线的比较可以得出,本次的实验建模方法正确,并且达到了设计要求。246810121410-610-510-410-310-210-1100信噪比/dB误比特率QPSK仿真误比特率QPSK理论误比特率

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功