資源描述:
《通信原理實驗-QPSK通信系統(tǒng)設計MonteCarlo仿真.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、QPSK通信系統(tǒng)的MonteCarlo仿真一、實驗目的1、提高獨立學習的能力;2、培養(yǎng)發(fā)現(xiàn)問題、解決問題和分析問題的能力;3、學習Matlab的使用;4、掌握4PSK通信系統(tǒng)的MonteCarlo仿真方法;5、掌握4PSK通信系統(tǒng)的的組成原理;6、比較編碼信號和為編碼信號在隨機信道中的傳輸,加深對糾錯編碼的理解;二、系統(tǒng)框圖及編程原理實驗原理PSK是利用載波的不同相位表示相應的數(shù)字信息。對于二進制相位調制(M=2)來說,兩個載波相位是0和π。對于M相相位調制來說M=2k,這里k是每個傳輸符號的信息比特數(shù)。4PSK是M=4的載波相位調制。這里,將理論差錯概率與仿真的差錯概率比較,進一
2、步觀察仿真與理論值之間的差別。同時,用不同的判決準則對接受信號進行判決。并比較兩種判別方法的差別。一.QPSK調制原理1.信號能量分析一組M載波相位調制信號波形的一般表示式為m=[0,M-1]式中是發(fā)送濾波器的脈沖形狀,它決定了傳輸信號的頻譜特性,A是信號的幅度。注意到,PSK信號對所有m都具有相等的能量,即代表每個傳輸符號的能量。2.噪聲分析傳輸信號的信道假設被加性噪聲n(t)所污損,這樣信號在接收端將產(chǎn)生誤碼。因為n(t)是功率譜為的白高斯過程的一個樣本函數(shù),所以噪聲分量就是零均值高斯型的,即3.信號判決分析最佳檢測器將接收信號向量r投射到M個可能的傳輸信號向量{}之一上去,并
3、選取對應于最大投影的向量。據(jù)此,得到相關準則為m=[0,M-1]檢測器觀察到接收信號向量,并計算r在4種可能的信號向量上的投影。根據(jù)選取對應于最大投影的信號點作為判決,從而判決出信號。同時,檢測器的判決準則也可采用最小距離法,即利用星座圖上符號間的距離進行判決,從而得到判決結果。二.MonteCarlo仿真過程仿真框圖如圖(一)圖(一)用于MonteCarlo仿真的4PSK系統(tǒng)的方框圖如圖所示,利用一個隨機數(shù)發(fā)生器,產(chǎn)生(0,1)范圍內(nèi)的隨機數(shù)。再將這個范圍分成四個相等的區(qū)間(0,0.25),(0.25,0.5),(0.5,0.75),(0.75,1.0),這些子區(qū)間分別對應于00
4、,01,11,10信息比特對,再用這些比特對來選擇信號相位向量。加性噪聲的同相分量和正交分量,在上面討論過,即為零均值,方差為的統(tǒng)計獨立的高斯隨機變量。在檢測器觀察到的接收信號向量,利用上面討論的兩種檢測方法,得到判決結果,并與傳輸符號作比較,最后對符號差錯和比特差錯計數(shù)三、實驗內(nèi)容及程序分析(以下程序皆以N=1000為例)%映射比較子函數(shù)%函數(shù)分為四步第一步產(chǎn)生隨機序列,進行4PSK映射。%第二步:調用高斯高斯噪聲子函數(shù),產(chǎn)生正交兩路高斯噪聲,與輸出符號序列相加%第三步:檢測接受信號%第四步:計算誤碼率和誤比特率N=1000;%符號長度E=1;%計算噪聲方差sgma=input(
5、'方差=');sgma=sqrt(sgma);%4PSK比特映射s00=[10];s01=[01];s11=[-10];s10=[0-1];%第一步產(chǎn)生隨機序列,進行4PSK映射。生成隨機信源fori=1:N,%生成隨機信源temp=rand;if(temp<0.25),%Withprobability1/4,sourceoutputis"00."dsource1(i)=0;dsource2(i)=0;elseif(temp<0.5),%Withprobability1/4,sourceoutputis"01."dsource1(i)=0;dsource2(i)=1;elseif(
6、temp<0.75),%Withprobability1/4,sourceoutputis"10."dsource1(i)=1;dsource2(i)=0;else%Withprobability1/4,sourceoutputis"11."dsource1(i)=1;dsource2(i)=1;end;end;numofsymbolerror=0;%檢測錯誤并計算錯誤率numofbiterror=0;%第二步:調用高斯高斯噪聲子函數(shù),產(chǎn)生正交兩路高斯噪聲,與輸出符號序列相加fori=1:N,[gsrv1,gsrv2]=gnguass(0,sgma);%調用高斯噪聲子函數(shù)n(1)=
7、gsrv1;n(2)=gsrv2;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=sqrt((r(1)-s00(1))^2+(r(2)-s00(2))^2);%最小距