MATLAB-QPSK的調(diào)制與解調(diào)_第1頁
MATLAB-QPSK的調(diào)制與解調(diào)_第2頁
MATLAB-QPSK的調(diào)制與解調(diào)_第3頁
MATLAB-QPSK的調(diào)制與解調(diào)_第4頁
MATLAB-QPSK的調(diào)制與解調(diào)_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

./實驗名稱:QPSK仿真系統(tǒng)實驗?zāi)康模?、學(xué)會QPSK調(diào)制與解調(diào)系統(tǒng)的構(gòu)成2、學(xué)會QPSK調(diào)制與解調(diào)系統(tǒng)的各模塊的構(gòu)建3、學(xué)會誤碼率與誤符號率的統(tǒng)計方法以及Matlab算法二、實驗原理:1、QPSK:四進制絕對相移鍵控,也稱為多進制數(shù)字相位調(diào)制,利用載波的四種不同相位狀態(tài)來表征數(shù)字信息的調(diào)制方式。2、QPSK的調(diào)制方法有正交調(diào)制方式〔雙路二相調(diào)制合成法或直接調(diào)相法、相位選擇法、插入脈沖法。調(diào)制與解調(diào)系統(tǒng)的構(gòu)成:00,1序列產(chǎn)生器QPSK映射AWGN產(chǎn)生器AWGN產(chǎn)生器QPSK反映射比較器誤比特統(tǒng)計誤符號統(tǒng)計判決器IsQscnsnIrQrb?b3、各模塊的實現(xiàn)方法:〔1、信源的產(chǎn)生:使用randint<m,n,2>函數(shù)產(chǎn)生一個m行n列的隨機二進制數(shù)列〔2、QPSK符號映射:將產(chǎn)生的0,1比特流按照QPSK調(diào)制方式進行映射,本實驗采用π/4QPSK的調(diào)制方式,圖為:〔3、AWGN信號產(chǎn)生:AWGN產(chǎn)生器就是產(chǎn)生滿足均值為0,方差為1的高斯白噪聲。實驗中使用randn<m,n>函數(shù)產(chǎn)生一個m行n列的高斯噪聲序列?!?、信號幅度控制:根據(jù)AWGN信道模型,接收信號可以分別表示為α就是當(dāng)噪聲功率歸一化為1〔0均值,方差為1時,根據(jù)信噪比關(guān)系而計算出來的信號平均幅度〔5、QPSK反映射及判決:對接收到的信號在4種可能的四種信號向量[<1,0>,<0,1>,<-1,0>,<0,-1>]上投影<即進行點積>。投影最大的值所對應(yīng)的信號向量就是所發(fā)送信號的符號值,然后恢復(fù)出比特流〔6、誤碼率及誤符號率統(tǒng)計:誤碼率:將檢測出來的比特流和發(fā)送的原始比特流進行比較,統(tǒng)計出出現(xiàn)錯誤的比特數(shù)誤符號率:將檢測出來的比特流變成兩組,構(gòu)成符號,和發(fā)送端符號映射后的符號流進行比較,只要符號中任錯一bit,就算該符號出錯。統(tǒng)計出現(xiàn)錯誤的符號數(shù)實驗容:調(diào)制與解調(diào)clearallcloseall%調(diào)制bit_in=randint<1e3,1,[01]>;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>;fori=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<size<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;%解調(diào)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_recover<11:10010>;t2=0:0.05:1e3-0.05;t3=0:0.1:1e3-0.1;%抽樣判決data_recover=[];fori=1:20:10000data_recover=[data_recoverI<i:1:i+19>Q<i:1:i+19>];end;bit_recover=[];fori=1:20:20000ifsum<data_recover<i:i+19>>>0data_recover_a<i:i+19>=1;bit_recover=[bit_recover1];elsedata_recover_a<i:i+19>=-1;bit_recover=[bit_recover-1];endenderror=0;dd=-2*bit_in+1;ddd=[dd'];ddd1=repmat<ddd,20,1>;fori=1:2e4ddd2<i>=ddd1<i>;endfori=1:1e3ifbit_recover<i>~=ddd<i>error=error+1;endendp=error/1000;figure<1>subplot<2,1,1>;plot<t2,ddd2>;axis<[0100-22]>;title<'原序列'>;subplot<2,1,2>;plot<t2,data_recover_a>;axis<[0100-22]>;title<'解調(diào)后序列'>;誤碼率仿真%QPSK誤碼率分析SNRindB1=0:2:10;SNRindB2=0:0.1:10;fori=1:length<SNRindB1>[pb,ps]=cm_sm32<SNRindB1<i>>;smld_bit_err_prb<i>=pb;smld_symbol_err_prb<i>=ps;end;fori=1:length<SNRindB2>SNR=exp<SNRindB2<i>*log<10>/10>;theo_err_prb<i>=Qfunct<sqrt<2*SNR>>;end;title<'QPSK誤碼率分析'>;semilogy<SNRindB1,smld_bit_err_prb,'*'>;axis<[01010e-81]>;holdon;%semilogy<SNRindB1,smld_symbol_err_prb,'o'>;semilogy<SNRindB2,theo_err_prb>;legend<'仿真比特誤碼率','理論比特誤碼率'>;holdoff;function[y]=Qfunct<x>y=<1/2>*erfc<x/sqrt<2>>;function[pb,ps]=cm_sm32<SNRindB>N=10000;E=1;SNR=10^<SNRindB/10>;sgma=sqrt<E/SNR>/2;s00=[10];s01=[01];s11=[-10];s10=[0-1];fori=1:Ntemp=rand;if<temp<0.25>dsource1<i>=0;dsource2<i>=0;elseif<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;fori=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<[c00c01c10c11]>;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>>numofbiterror=numofbiterror+1;symbolerror=1;end;if<decis2~=dsource2<i>>numofbiterror=numofbiterror+1;symbolerror=1;end;if<symbolerror==1>numofsymbolerror=numofsymbolerror+1;end;end;ps=numofsymbolerror/N;pb=numofbiterror/<2*N>;QPSK在AWGN信道下的仿真closeallclcclearallSNR_DB=[0:1:12];sum=1000000;data=randsrc<sum,2,[01]>;[a1,b1]=find<data<:,1>==0&data<:,2>==0>;message<a1>=-1-j;[a2,b2]=find<data<:,1>==0&data<:,2>==1>;message<a2>=-1+j;[a3,b3]=find<data<:,1>==1&data<:,2>==0>;message<a3>=1-j;[a4,b4]=find<data<:,1>==1&data<:,2>==1>;message<a4>=1+j;scatterplot<message>title<'B點信號的星座圖'>A=1;Tb=1;Eb=A*A*Tb;P_signal=Eb/Tb;NO=Eb./<10.^<SNR_DB/10>>;P_noise=P_signal*NO;sigma=sqrt<P_noise>;forEb_NO_id=1:length<sigma>noise1=sigma<Eb_NO_id>*randn<1,sum>;noise2=sigma<Eb_NO_id>*randn<1,sum>;receive=message+noise1+noise2*j;resum=0;total=0;m1=find<angle<receive><=pi/2&angle<receive>>0>;remessage<1,m1>=1+j;redata<m1,1>=1;redata<m1,2>=1;m2=find<angle<receive>>pi/2&angle<receive><=pi>;remessage<1,m2>=-1+j;redata<m2,1>=0;redata<m2,2>=1;m3=find<angle<receive>>-pi&angle<receive><=-pi/2>;remessage<1,m3>=-1-j;redata<m3,1>=0;redata<m3,2>=0;m4=find<angle<receive>>-pi/2&angle<receive><=0>;remessage<1,m4>=1-j;redata<m4,1>=1;redata<m4,2>=0;[resum,ratio1]=symerr<data,redata>;pbit<Eb_NO_id>=resum/<sum*2>;[total,ratio2]=symerr<message,remessage>;pe<Eb_NO_id>=total/sum;endscatterplot<receive>title<'C點信號的星座圖'>Pe=1-<1-1/2*erfc<sqrt<10.^<SNR_DB/10>/2>>>.^2;Pbit=1/2*erfc<sqrt<10.^<SNR_DB/10>/2>>;figure<3>semilogy<SNR_DB,pe,':s',SNR_DB,Pe,'-*',SNR_DB,pbit,'-o',SNR_DB,Pbit,':+'>legend<'QPSK仿真誤碼率','QPSK理論誤碼率','QPSK仿真誤比特率','QPSK理論誤比特率',1>xlabel<'信噪比/dB'>ylabel<'概率P'>girdon結(jié)果:QPSK在AWGN信道下的性能檢測clearall;%對隨機序列產(chǎn)生的方法初始化s=RandStream<'mt19937ar','Seed',5489>;RandStream.setDefaultStream<s>;s=RandStream<'mcg16807','Seed',0>;RandStream.setDefaultStream<s>;N=10^5;%碼元數(shù)Eb_N0=-4:20;%Eb/N0比特信噪比s_data=zeros<1,N>;ErrorCount=zeros<1,length<Eb_N0>>;%預(yù)先分配存,用于記錄錯誤的碼元數(shù)forj=1:length<Eb_

溫馨提示

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

評論

0/150

提交評論