仿真高斯白噪聲信道下QPSK地EbN0與誤比特率之間地關系0001_第1頁
仿真高斯白噪聲信道下QPSK地EbN0與誤比特率之間地關系0001_第2頁
仿真高斯白噪聲信道下QPSK地EbN0與誤比特率之間地關系0001_第3頁
仿真高斯白噪聲信道下QPSK地EbN0與誤比特率之間地關系0001_第4頁
仿真高斯白噪聲信道下QPSK地EbN0與誤比特率之間地關系0001_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、QPSK調制與解調在 MATLAB 平臺上的實現QPSK即四進制移向鍵控(Quaternary Phase Shift Keying ),它利用載波的四種不同相位來表示數字信息,由于每一種載波相位代表兩個比特信息, 因此每個四進制碼元可以用兩個二進制碼元的組合來表示。兩個二進制碼元中的前一 個碼元用 a表示,后一個碼元用 b表示。QPSK信號可以看作兩個載波正交2PSK信號的合成,下圖表示QPSK正交調制器。由QPSK信號的調制可知,對它的解調可以采用與2PSK信號類似的解調方 法進行解調。解調原理圖如下所示,同相支路和正交支路分別采用相干解調方式 解調,得到I(tDQ(t),經過抽樣判決和并

2、/用交換器,將上下支路得到的并行 數據恢復成申行數據。輸入帶通濾波器%調相法clear allclose all t=-1:0.01:7-0.01;tt=length(t);x1=ones(1,800);for i=1:ttif (t(i)>=-1 & t(i)<=1) | (t(i)>=5& t(i)<=7);x1(i)=1;else x1(i)=-1;endendt1=0:0.01:8-0.01;t2=0:0.01:7-0.01;t3=-1:0.01:7.1-0.01;t4=0:0.01:8.1-0.01;tt1=length(t1);x2=ones

3、(1,800);for i=1:tt1if (t1(i)>=0 & t1(i)<=2) | (t1(i)>=4& t1(i)<=8);x2(i)=1;else x2(i)=-1;endendf=0:0.1:1;xrc=0.5+0.5*cos(pi*f);y1=conv(x1,xrc)/5.5;y2=conv(x2,xrc)/5.5;n0=randn(size(t2);f1=1;i=x1.*cos(2*pi*f1*t);q=x2.*sin(2*pi*f1*t1);I=i(101:800);Q=q(1:700);QPSK=sqrt(1/2).*I+sqrt(

4、1/2).*Q;QPSK_n=(sqrt(1/2).*I+sqrt(1/2).*Q)+n0;n1=randn(size(t2);i_rc=y1.*cos(2*pi*f1*t3);q_rc=y2.*sin(2*pi*f1*t4);I_rc=i_rc(101:800);Q_rc=q_rc(1:700);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);QPSK_rc_n1=QPSK_rc+n1;figure(1)subplot(4,1,1);plot(t3,i_rc);axis(-1 8 -1 1);ylabel('a序列');subplot(4,

5、1,2);plot(t4,q_rc);axis(-1 8 -1 1);ylabel('b序歹U');加入噪聲,);subplot(4,1,3);plot(t2,QPSK_rc);axis(-1 8 -1 1);ylabel(' subplot(4,1,4);plot(t2,QPSK_rc_n1);axis(-1 8 -1 1);ylabel('效果圖:%設定T=1,加入高斯噪聲clear allclose all%調制bit_in = randint(1e3, 1, 0 1);bit_I = bit_in(1:2:1e3);bit_Q = bit_in(2:2:

6、1e3);data_I = -2*bit_I+1;data_Q = -2*bit_Q+1;data_I1=repmat(data_I',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;f=0:0.1:1;xrc=0.5+0.5*cos(pi*f);data_I2_rc=conv(data_I2,xrc)/5.5;data_Q2_rc=conv(data_Q2,xrc)/5.5;f1=1;t1=0:0.1:1e3+0.9;n0=rand(si

7、ze(t1);I_rc=data_I2_rc.*cos(2*pi*f1*t1);Q_rc=data_Q2_rc.*sin(2*pi*f1*t1);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);QPSK_rc_n0=QPSK_rc+n0;%解調I_demo=QPSK_rc_n0.*cos(2*pi*f1*t1);Q_demo=QPSK_rc_n0.*sin(2*pi*f1*t1);%低通濾波I_recover=conv(I_demo,xrc);Q_recover=conv(Q_demo,xrc);I=I_recover(11:10010);Q=Q_recov

8、er(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 I(i:1:i+19) Q(i:1:i+19);end;bit_recover=;for i=1:20:20000if sum(data_recover(i:i+19)>0data_recover_a(i:i+19)=1;bit_recover=bit_recover 1;elsedata_recover_a(i:i+19)=-1;bit_recover=bit_reco

9、ver -1;endenderror=0;dd = -2*bit_in+1;ddd=dd'ddd1=repmat(ddd,20,1);for i=1:2e4ddd2(i)=ddd1(i);endfor i=1:1e3if bit_recover(i)-=ddd(i)error=error+1;endendp=error/1000;figure(1)subplot(2,1,1);plot(t2,ddd2);axis(0 100 -2 2);title('原序歹I ');subplot(2,1,2);plot(t2,data_recover_a);axis(0 100 -2

10、 2);title('解調后序列');效果圖:原序列%設定T=1,不加噪聲clear allclose all%調制bit_in = randint(1e3, 1, 0 1);bit_I = bit_in(1:2:1e3);bit_Q = bit_in(2:2:1e3);data_I = -2*bit_I+1;data_Q = -2*bit_Q+1;data_I1=repmat(data_I',20,1);data_Q1=repmat(data_Q',20,1);for i=1:1e4data_I2(i)=data_I1(i);data_Q2(i)=data_Q

11、1(i);end;t=0:0.1:1e3-0.1;f=0:0,1:1;xrc=0.5+0.5*cos(pi*f);data_I2_rc=conv(data_I2,xrc)/5.5;data_Q2_rc=conv(data_Q2,xrc)/5.5;f1=1;t1=0:0.1:1e3+0.9;I_rc=data_I2_rc.*cos(2*pi*f1*t1);Q_rc=data_Q2_rc.*sin(2*pi*f1*t1);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);%解調I_demo=QPSK_rc.*cos(2*pi*f1*t1);Q_demo=QPSK_

12、rc.*sin(2*pi*f1*t1);I_recover=conv(I_demo,xrc);Q_recover=conv(Q_demo,xrc);I=I_recover(11:10010);Q=Q_recover(11:10010);t2=OO05:1e3-0.05;t3=OO1:1e3-O1;data_recover=;fo門=1:20:10000data_recover=data_recover I(i:1:i+19) Q(i:1:i+19);end;ddd = -2*bit_in+1;ddd1=repmat(ddd',10,1);for i=1:1e4ddd2(i)=ddd1(

13、i);endfigure(1)subplot(4,1,1);plot(t3,I);axis(0 20 -6 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誤碼率分析SNRindB1=0:2:10;SNRindB2=0:0.1:10;for i=1:length(SNRindB1)pb,ps=cm_sm32(SNRindB1(i);smld_

14、bit_err_prb(i)=pb;smld_symbol_err_prb(i)=ps;end;for i=1:length(SNRindB2)SNR=exp(SNRindB2(i)*10g(10)/10);theo_err_prb(i)=Qfunct(sqrt(2*SNR);end;title('QPSK誤碼率分析');semilogy(SNRindB1,smld_bit_err_prb,'*');axis(0 10 10e-8 1);hold on;% semilogy(SNRindB1,smld_symbol_err_prb,'o');se

15、milogy(SNRindB2,theo_err_prb);legend('仿真比特誤碼率,'理論比特誤碼率');hold off;functiony=Qfunct(x)y=(1/2)*erfc(x/sqrt(2);functionpb,ps=cm_sm32(SNRindB)N=10000;E=1;SNR=10A(SNRindB/10);sgma=sqrt(E/SNR)/2;s00=1 0;s01=0 1;s11=-1 0;s10=0 -1;for i=1:Ntemp=rand;if (temp<0.25)dsource1(i)=0;dsource2(i)=0;e

16、lseif (temp<0.5)dsource1(i)=0;dsource2(i)=1;elseif (temp<0.75)dsource1(i)=1;dsource2(i)=0;elsedsource1(i)=1;dsource2(i)=1;end;end;numofsymbolerror=0;numofbiterror=0;for i=1:Nn=sgma*randn(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);c01=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;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論