1、仿真高斯白噪声信道下QPSK的EbN0与误比特率仿真高斯白噪声信道下 QPSK 的 EbN0 与 误比特率之间的关系QPSK调制与解调在 MATLAB 平台上的实现QPSK即四进制移向键控(Quaternary Phase Shift Keying,它利用载波的四种不同相位来表示数字信息,由于每一种载波相位代表两个比特信息,因此 每个四进制码元可以用两个二进制码元的组合来表示。两个二进制码元中的前 一个码元用 a表示,后一个码元用 b表示。QPSK信号可以看作两个载波正交 2PSK信号的合成,下图表示QPSK正交 调制器。由QPSK信号的调制可知,对它的解调可以采用与 2PSK信号类似的解调方
2、法进行解调。解调原理图如下所示,同相支路和正交支路分别采用相干解调方 式解调,得到l(t)和Q(t),经过抽样判决和并/串交换器,将上下支路得到的并 行数据恢复成串行数据输入带通濾波器COS 07低迪滤液器一抽样判决输.出 并/串 . 变换sin低適.抽样濾波胖判决=-1 & t(i)=5 & t(i)=0 & t1(i)=4& t1(i)0data_recover_a(i:i+19)=1;bit_recover=bit_recover 1;elsedata_recover_a(i:i+19)=-1;bit_recover=bit_recover -1;endenderror=0;dd = -
3、2*bit_i n+1;ddd=dd;ddd仁 repmat(ddd,20,1);for i=1:2e4ddd2(i)=ddd1(i);endfor i=1:1e3if bit_recover(i)=ddd(i)error=erro 叶1;endendp=error/1000;figure(1)subplot(2,1,1);plot(t2,ddd2);axis(0 100 -2 2);title(原序列);subplot(2,1,2);plot(t2,data_recover_a);axis(0 100 -2 2);title(解调后序列);效果图:原序列%设定T=1,不加噪声clear al
4、l close all%调制bit_in = ran din t(1e3, 1, 0 1); bit=bit_i n(1:2:1e3);bit_Q = bit_i n(2:2:1e3);data=-2*bit_l+1;data_Q = -2*bit_Q+1;data仁repmat(data_l,20,1); data_Q1=repmat(data_Q,20,1);for i=1:1e4data_I2(i)=data_I1(i); data_Q2(i)=data_Q1(i); end;t=0:0.1:1e3-0.1;f=0:0.1:1;xrc=0.5+0.5*cos(pi*f);data2_rc
5、=c onv (data2,xrc)/5.5; data_Q2_rc=c onv (data_Q2,xrc)/5.5;f1=1;t1=0:0.1:1e3+0.9;I_rc=data_l2_rc.*cos(2*pi*f1*t1);Q_rc=data_Q2_rc.*si n(2*pi*f1*t1);QPSK_rc=(sqrt(1/2)*l_rc+sqrt(1/2).*Q_rc);%解调I_demo=QPSK_rc.*cos(2*pi*f1*t1);Q_demo=QPSK_rc.*si n(2*pi*f1*t1);I_recover=c on v(l_demo,xrc);Q_recover=co n
6、v(Q_demo,xrc); l=l_recover(11:10010);Q=Q_recover(11:10010);t2=0:0.05:1e3-0.05;t3=0:0.1:1e3-0.1;data_recover=;for i=1:20:10000data_recover=data_recover l(i:1:i+19) Q(i:1:i+19);end;ddd = -2*bit_i n+1;ddd 1= repmat(ddd,10,1);for i=1:1e4ddd2(i)=ddd1(i);endfigure(1)subplot(4,1,1);plot(t3,l);axis(0 20 -6
7、6); subplot(4,1,2);plot(t3,Q);axis(0 20 -6 6); subplot(4,1,3);plot(t2,data_recover);axis(0 20 -6 6);subplot(4,1,4);plot(t,ddd2);axis(0 20 -6 6);效果图:% QPSK误码率分析SNRi ndB仁 0:2:10;SNRi ndB2=0:0.1:10;for i=1:le ngth(SNR in dB1)pb,ps=cm_sm32(SNR in dB1(i); smld_bit_err_prb(i)=pb; smld_symbol_err_prb(i)=ps
8、;end;for i=1:le ngth(SNR in dB2)SNR=exp(SNRi ndB2(i)*log(10)/10); theo_err_prb(i)=Qfu nct(sqrt(2*SNR); end;title(QPSK误码率分析);semilogy(SNRi ndB1,smld_bit_err_prb,*); axis(0 10 10e-8 1);hold on;% semilogy(SNR in dB1,smld_symbol_err_prb,o); semilogy(SNRi ndB2,theo_err_prb);legend(仿真比特误码率,理论比特误码率);hold o
9、ff;fun ctio ny=Qfu nct(x) y=(1/2)*erfc(x/sqrt(2);fun ctio npb,ps=cm_sm32(SNRi ndB) N=10000;E=1;SNR=10A(SNRi ndB/10);sgma=sqrt(E/SNR)/2;s00=1 0;s0仁0 1;si 仁-1 0;s10=0 -1;for i=1:Ntemp=ra nd;if (tempv0.25)dsource1(i)=0;dsource2(i)=0;elseif (temp0.5)dsource1(i)=0;dsource2(i)=1;elseif (temp0.75)dsource1(
10、i)=1;dsource2(i)=0;elsedsource1(i)=1;dsource2(i)=1;end;end;numo fsymbolerror=0;num ofbiterror=0;for i=1:Nn=sgma*ra ndn( size(s00);if(dsource1(i)=0)&(dsource2(i)=0) r=s00+n;elseif(dsource1(i)=0)&(dsource2(i)=1) r=s01+ n;elseif(dsource1(i)=1)&( dsource2(i)=0) r=s10+n;elser=s11+ n;end;c00=dot(r,s00);c0
11、1= dot(r,s01);c10=dot(r,s10);c11=dot(r,s11);c_max=max(c00 c01 c10 c11);if (c00=c_max)decis1=0;decis2=0;elseif(c01=c_max)decis1=0;decis2=1;elseif(c10=c_max)decis1=1;decis2=0;elsedecis1=1;decis2=1;end;symbolerror=0;if(decis1=dsource1(i)num ofbiterror二num ofbiterror+1; symbolerror=1;end;if(decis2=dsource2(i)num ofbiterror =num ofbiterror+1; symbolerror=1;end;if(symbolerror=1)numo fsymbolerror =numo fsymbolerror+1; end;end;ps=num ofsymbolerror/N;pb=num ofbiterror/(2*N);效果图:
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2