通信課程設(shè)計--psk通信系統(tǒng)性能仿真_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  機械與電氣工程學院</b></p><p><b>  程序設(shè)計</b></p><p><b>  課程設(shè)計報告</b></p><p>  設(shè)計題目: PSK通信系統(tǒng)性能仿真 </p><p>  專業(yè)班級:

2、 通信102 </p><p>  姓 名: </p><p>  學 號: </p><p>  指導老師: </p><p>  完成日期: 2014年1月

3、 </p><p><b>  目錄 </b></p><p><b>  一、設(shè)計目的2</b></p><p><b>  二、設(shè)計任務(wù)2</b></p><p><b>  三、設(shè)計內(nèi)容2</b></p><p&

4、gt;<b>  四、設(shè)計原理2</b></p><p><b>  五、調(diào)制與測試5</b></p><p><b>  六、實驗結(jié)果6</b></p><p><b>  七、心得與體會7</b></p><p><b>  參考文獻

5、7</b></p><p><b>  一、設(shè)計目的 </b></p><p>  1、鞏固并綜合應用所學到的通信系統(tǒng)原理、數(shù)字信號處理、MATLAB等方面的知識,培養(yǎng)自學能力,提高解決實際問題的能力,增強系統(tǒng)分析與設(shè)計數(shù)字通信系統(tǒng)的技能;</p><p>  2、能熟練地在MATLAB平臺上進行M文件編程;</p>

6、<p>  3、能使用MATLAB仿真數(shù)字通信系統(tǒng)的基本性能,并對仿真結(jié)果進行理論分析。</p><p><b>  二、設(shè)計任務(wù)</b></p><p>  1、根據(jù)選定的題目查閱通信系統(tǒng)原理、數(shù)字信號處理、MATLAB編程方面的資料;</p><p>  2、寫出相關(guān)原理,并用MATLAB分析仿真;</p><

7、;p>  3、得到仿真結(jié)果,并將相關(guān)數(shù)據(jù)與理論分析結(jié)果對比分析。</p><p><b>  三、設(shè)計內(nèi)容</b></p><p>  完成M=4的PSK通信系統(tǒng)的Monte Carlo仿真,檢測器為計算按式給出的接收信號相位,并將最接近的相位的信號選為信號點。</p><p><b>  四、設(shè)計原理</b><

8、;/p><p>  PSK是利用載波的不同相位表示相應的數(shù)字信息。對于二進制相位調(diào)制(M=2)來說,兩個載波相位是0和π。對于M相相位調(diào)制來說M=2k,這里k是每個傳輸符號的信息比特數(shù)。4PSK是M=4的載波相位調(diào)制。這里,將理論差錯概率與仿真的差錯概率比較,進一步觀察仿真與理論值之間的差別。同時,用不同的判決準則對接受信號進行判決。并比較兩種判別方法的差別。</p><p><b>

9、;  調(diào)制解調(diào)原理</b></p><p>  一組M載波相位調(diào)制信號波形的一般表示為:</p><p>  是發(fā)送濾波器的脈沖形狀,A為信號的幅度。</p><p>  將式中的余弦函數(shù)的相角看成兩個相角的和,可以將上表示為</p><p>  將歸一化,則函數(shù)能量、A可歸一化到1。這樣一個相位調(diào)制信號可以看做兩個正交載波,起始

10、幅度取決于在每個信號區(qū)間內(nèi)的相位,因此,數(shù)字相位調(diào)制信號在幾何上可以用和的二維向量來表示,即</p><p>  圖一 表示M=4的信號點星座圖。</p><p><b>  圖一</b></p><p>  從AWGN信道中,在一個信號區(qū)間內(nèi)接收到的帶寬信號可以表示為</p><p>  這里和是加性噪聲的兩個正交分

11、量。</p><p>  可以將這個接收信號與,給出的和作相關(guān),兩個相關(guān)器的輸出產(chǎn)生受噪聲污損的信號分量,它們可表示為 </p><p><b>  式中和定義為</b></p><p>  這兩個正交噪聲分量和是零均值,互不相關(guān)的高斯隨機過程。這樣,和。和的方差是</p><p>  最佳檢測器將接收信號向量r投

12、射到M個可能的傳輸信號向量{}之一上去,并選取對應于最大投影的向量。據(jù)此,得到相關(guān)準則為</p><p>  ,m=0,1,…,M-1</p><p>  由于全部信號都具有相等的能量,因此,對數(shù)字相位調(diào)制一種等效的檢測器標準是計算接收信號向量r=(,)的相位為</p><p>  并從信號集{}中選取其相位最接近的信號。</p><p> 

13、 在AWGN信道中,因為二相相位調(diào)制與二進制PAM是相同的,所以差錯概率為,式中是每比特的能量。四相相位調(diào)制可以看作兩個正交載波上的二相相位調(diào)制系統(tǒng),所以1個比特的差錯概率與二相相位調(diào)制是一樣的。對于M4的符號差錯概率不存在簡單的閉式表達式。對的一種好的近似式是</p><p><b>  式中比特/符號。</b></p><p><b>  判決方法:&l

14、t;/b></p><p> ?。?)最大投影法:最佳檢測器將接收到的信號向量r投射到M個可能的傳輸信號向量之一上去,并選取對應于最大投影的向量。試驗中用的是將r向量與作為標準的s向量作向量積后選取最大者的方法。</p><p> ?。?)對數(shù)字相位調(diào)制一種等效的檢測器標準是計算接收信號向量r=(,)的相位為</p><p>  并從信號集{}中選取其相位最接

15、近的信號。</p><p><b>  五、調(diào)制與測試</b></p><p>  先產(chǎn)生一個4種符號(2比特)的序列,將它映射到相應的4相信號點,如圖中M=4的情況所示</p><p><b>  程序:</b></p><p><b>  N=10000;</b></

16、p><p>  E=1; % energy per symbol</p><p>  snr=10^(snr_in_dB/10); % signal-to-noise ratio</p><p>  sgma=sqrt(E/snr)/2; % noise variance</p><p>  % the sign

17、al mapping</p><p>  s00=[1 0];</p><p>  s01=[0 1];</p><p>  s11=[-1 0];</p><p>  s10=[0 -1];</p><p>  為了完成這個任務(wù),利用一個隨機數(shù)列發(fā)生器,它會產(chǎn)生(0,1)范圍內(nèi)的均勻隨機數(shù)。再將這個范圍分成4個相等的

18、區(qū)間(0,0.25),(0.25,0.5),(0.5,0.75)和(0.75,1.0),這些子區(qū)間分別對應于00,01,11,10信息比特對,再用這些比特對選擇信號相位向量Sm。</p><p>  程序:for i=1:N,</p><p>  temp=rand; % a uniform random variable between 0 and 1</p>

19、<p>  if (temp<0.25), % With probability 1/4, source output is "00."</p><p>  dsource1(i)=0;</p><p>  dsource2(i)=0; </p><p>  elseif (temp<0.5), %

20、With probability 1/4, source output is "01."</p><p>  dsource1(i)=0;</p><p>  dsource2(i)=1;</p><p>  elseif (temp<0.75), % With probability 1/4, source output is

21、"10."</p><p>  dsource1(i)=1;</p><p>  dsource2(i)=0;</p><p>  else % With probability 1/4, source output is "11."</p><p>  dsource1(i

22、)=1;</p><p>  dsource2(i)=1;</p><p><b>  end;</b></p><p><b>  end;</b></p><p>  加性噪聲分量nc和ns都是統(tǒng)計獨立的零均值、方差為6^2的高斯隨機變量。為簡單起見,可以將方差歸一化到6^2=1,而通過給信號能

23、量參數(shù)E加權(quán)來控制接收信號中的SNR。反之亦然。檢測器觀察到接收信號向量r=Sm+n,</p><p><b>  由 </b></p><p><b>  程序:</b></p><p>  for i=1:N,</p><p>  % The received signal at the det

24、ector, for the ith symbol, is:</p><p>  n(1)=gngauss(sgma); </p><p>  n(2)=gngauss(sgma);</p><p>  if ((dsource1(i)==0) & (dsource2(i)==0)),</p><p><b>  

25、r=s00+n;</b></p><p>  elseif ((dsource1(i)==0) & (dsource2(i)==1)),</p><p><b>  r=s01+n;</b></p><p>  elseif ((dsource1(i)==1) & (dsource2(i)==0)),</p&g

26、t;<p><b>  r=s10+n;</b></p><p><b>  else</b></p><p><b>  r=s11+n;</b></p><p><b>  end;</b></p><p><b>  我做的部

27、分:</b></p><p><b>  4.方法一:</b></p><p>  最大投影法將接收到的信號向量r投射到M個可能的傳輸信號向量之一上去,并選取對應于最大投影的向量。試驗中用的是將r向量與作為標準的s向量作向量積后選取最大者的方法。所以《現(xiàn)代通信系統(tǒng)matlab版(第二版)》例7.3的M文件中一段程序是:</p><p&g

28、t;  c00=dot(r,s00); </p><p>  c01=dot(r,s01);</p><p>  c10=dot(r,s10);</p><p>  c11=dot(r,s11);</p><p>  % The decision on the ith symbol is mad

29、e next.</p><p>  c_max=max([c00 c01 c10 c11]);</p><p>  if (c00==c_max),</p><p>  decis1=0; decis2=0;</p><p>  elseif (c01==c_max),</p><p>  decis1=0; deci

30、s2=1;</p><p>  elseif (c10==c_max),</p><p>  decis1=1; decis2=0;</p><p><b>  else</b></p><p>  decis1=1; decis2=1;</p><p><b>  end;</b

31、></p><p>  其中C=dot(A,B,DIM)表示返回向量A與B在維數(shù)為DIM的點積,而c_max=max([c00 c01 c10 c11]);是用于比較出最大者。</p><p><b>  方法二:</b></p><p>  根據(jù)設(shè)計要求,用另一種檢測器。就是通過計算接收信號向量的相位角,并從信號集{Sm}中選取最接近相

32、位角的信號。</p><p>  根據(jù),將加性噪聲分解成兩路,加入噪聲后的二維向量為。所以應首先要將向量投影到實軸與虛軸上:</p><p>  rr=r(1)+j*r(2); </p><p>  再求出信號集{}中選取其相位最接近的信號,通過求相位角angle函數(shù)代替actan函數(shù):</p><p>  if (angle(rr)>

33、(3*pi/4)&angle(rr)<=pi),</p><p>  decis1=1; decis2=1;</p><p>  elseif (angle(rr)>(-pi)&angle(rr)<=(-3*pi/4)),</p><p>  decis1=1; decis2=1;</p><p>  els

34、eif (angle(rr)>(pi/4)&angle(rr)<=(3*pi/4)),</p><p>  decis1=0; decis2=1;</p><p>  elseif (angle(rr)>(-pi/4)&angle(rr)<=(pi/4)),</p><p>  decis1=0; decis2=0;</

35、p><p>  elseif(angle(rr)>(-3*pi/4)&angle(rr)<=(-pi/4))</p><p>  decis1=1; decis2=0;</p><p><b>  end;</b></p><p>  6.將檢測器的輸出判決與傳輸符號進行比較,最后對符號差錯和比特差錯計數(shù)

36、。傳輸10000個符號,其中Eb=Ea/2是比特能量。</p><p><b>  程序:</b></p><p>  symbolerror=0;</p><p>  if (decis1~=dsource1(i)),</p><p>  numofbiterror=numofbiterror+1;</p>

37、<p>  symbolerror=1;</p><p><b>  end;</b></p><p>  if (decis2~=dsource2(i)),</p><p>  numofbiterror=numofbiterror+1;</p><p>  symbolerror=1;</p>

38、;<p><b>  end;</b></p><p>  if (symbolerror==1),</p><p>  numofsymbolerror = numofsymbolerror+1;</p><p><b>  end;</b></p><p><b>  e

39、nd;</b></p><p>  ps=numofsymbolerror/N; % since there are totally N symbols</p><p>  pb=numofbiterror/(2*N); % since 2N bits are transmitted</p><p>  7.Pb~Pm

40、/2,對應的理論差錯概率。</p><p>  for i=1:length(SNRindB2),</p><p>  SNR=exp(SNRindB2(i)*log(10)/10); % signal-to-noise ratio</p><p>  theo_err_prb(i)=Qfunct(sqrt(2*SNR)); % theoretical

41、bit-error rate</p><p>  echo off ;</p><p><b>  end;</b></p><p><b>  六、實驗結(jié)果</b></p><p><b>  方法一:</b></p><p>  最大投影法將接收到的

42、信號向量r投射到M個可能的傳輸信號向量之一上去,并選取對應于最大投影的向量。試驗中用的是將r向量與作為標準的s向量作向量積后選取最大者的方法。</p><p><b>  方法二:</b></p><p>  對數(shù)字相位調(diào)制一種等效的檢測器標準是計算接收信號向量r=(,)的相位為</p><p>  并從信號集{}中選取其相位最接近的信號。&l

43、t;/p><p>  我們得出的仿真結(jié)果誤碼率是:</p><p><b>  七、心得與體會</b></p><p>  在完成這次課程設(shè)計的過程中我們查閱關(guān)于通信系統(tǒng)原理和MATLAB編程等方面的資料。鞏固了所學到的通信系統(tǒng)原理、數(shù)字信號處理、MATLAB等方面的知識也培養(yǎng)了自學能力與解決實際問題的能力。通過在MATLAB平臺上進行M文件編程,

44、增強系統(tǒng)分析與設(shè)計數(shù)字通信系統(tǒng)的技能,有效地提高Matlab的應用能力。同時在解碼時,需要計算角度或者投影量,我也深刻理解到高數(shù)在數(shù)字信號處理中的重要作用。</p><p><b>  參考文獻</b></p><p><b>  資料:</b></p><p>  1、相關(guān)的現(xiàn)代通信系統(tǒng)原理;</p>&l

45、t;p>  2、相關(guān)的數(shù)字信號處理原理;</p><p>  3、相關(guān)的MATLAB編程教材和文獻;</p><p><b>  主要參考文獻:</b></p><p>  John G. Proakis等著,劉樹棠譯,現(xiàn)代通信系統(tǒng)(MATLAB版)(第二版)[M].北京:電子工業(yè)出版社,2005.</p><p>

46、;  張志涌,楊祖櫻,MATLAB教程[M].北京:北京航天航空大學出版社,2006.</p><p>  附錄(Matlab代碼)</p><p><b>  主程序:</b></p><p>  % MATLAB script for Illustrative Problem 7.3.</p><p><b&g

47、t;  echo on</b></p><p>  SNRindB1=0:2:10;</p><p>  SNRindB2=0:0.1:10;</p><p>  for i=1:length(SNRindB1),</p><p>  [pb,ps]=cm_sm322(SNRindB1(i)); % simulate

48、d bit and symbol error rates</p><p>  smld_bit_err_prb(i)=pb; </p><p>  smld_symbol_err_prb(i)=ps;</p><p>  echo off ;</p><p><b>  end;</b></p><p

49、><b>  echo on;</b></p><p>  for i=1:length(SNRindB2),</p><p>  SNR=exp(SNRindB2(i)*log(10)/10); % signal-to-noise ratio</p><p>  theo_err_prb(i)=Qfunct(sqrt(2*SN

50、R)); % theoretical bit-error rate</p><p>  echo off ;</p><p><b>  end;</b></p><p><b>  echo on ;</b></p><p>  % Plotting commands follow</p&

51、gt;<p>  semilogy(SNRindB1,smld_bit_err_prb,'*');</p><p><b>  hold</b></p><p>  semilogy(SNRindB1,smld_symbol_err_prb,'o');</p><p>  semilogy(SNRi

52、ndB2,theo_err_prb);</p><p>  legend('仿真比特誤碼率','仿真符號誤碼率','理論比特誤碼率',1);</p><p>  xlabel('信噪比/dB')</p><p>  ylabel('概率P')</p><p>&l

53、t;b>  M文件:</b></p><p>  function [pb,ps]=cm_sm322(snr_in_dB)</p><p>  %[pb,ps]=cm_sm322(snr_in_dB);</p><p>  % CM_SM322 finds the probability of bit error and symbol error

54、 for the </p><p>  % given value of snr_in_dB, signal-to-noise ratio in dB.</p><p><b>  N=10000;</b></p><p>  E=1; % energy per symbol</p><

55、p>  snr=10^(snr_in_dB/10); % signal-to-noise ratio</p><p>  sgma=sqrt(E/snr)/2; % noise variance</p><p>  % the signal mapping</p><p>  s00=[1 0];</p><

56、;p>  s01=[0 1];</p><p>  s11=[-1 0];</p><p>  s10=[0 -1];</p><p>  % generation of the data source</p><p>  for i=1:N, </p><p>  temp=rand;

57、 % a uniform random variable between 0 and 1</p><p>  if (temp<0.25), % With probability 1/4, source output is "00."</p><p>  dsource1(i)=0;</p><p>  dsour

58、ce2(i)=0; </p><p>  elseif (temp<0.5), % With probability 1/4, source output is "01."</p><p>  dsource1(i)=0;</p><p>  dsource2(i)=1;</p><

59、p>  elseif (temp<0.75), % With probability 1/4, source output is "10."</p><p>  dsource1(i)=1; </p><p>  dsource2(i)=0;</p><p>  else

60、 % With probability 1/4, source output is "11."</p><p>  dsource1(i)=1;</p><p>  dsource2(i)=1;</p><p><b>  end;</b></p><p><b>  end;</b&

61、gt;</p><p>  % detection and the probability of error calculation</p><p>  numofsymbolerror=0;</p><p>  numofbiterror=0;</p><p>  for i=1:N,</p><p>  % The

62、 received signal at the detector, for the ith symbol, is:</p><p>  n(1)=gngauss(sgma); </p><p>  n(2)=gngauss(sgma);</p><p>  if ((dsource1(i)==0) & (dsource2(i)==0)),&l

63、t;/p><p><b>  r=s00+n;</b></p><p>  elseif ((dsource1(i)==0) & (dsource2(i)==1)),</p><p><b>  r=s01+n;</b></p><p>  elseif ((dsource1(i)==1) &a

64、mp; (dsource2(i)==0)),</p><p><b>  r=s10+n;</b></p><p><b>  else</b></p><p><b>  r=s11+n;</b></p><p><b>  end;</b></p

65、><p>  rr=r(1)+j*r(2);</p><p>  if (angle(rr)>(3*pi/4)&angle(rr)<=pi),</p><p>  decis1=1; decis2=1;</p><p>  elseif (angle(rr)>(-pi)&angle(rr)<=(-3*pi/

66、4)),</p><p>  decis1=1; decis2=1;</p><p>  elseif (angle(rr)>(pi/4)&angle(rr)<=(3*pi/4)),</p><p>  decis1=0; decis2=1;</p><p>  elseif (angle(rr)>(-pi/4)&a

67、mp;angle(rr)<=(pi/4)),</p><p>  decis1=0; decis2=0;</p><p>  elseif(angle(rr)>(-3*pi/4)&angle(rr)<=(-pi/4))</p><p>  decis1=1; decis2=0;</p><p><b>  

68、end;</b></p><p>  % Increment the error counter, if the decision is not correct.</p><p>  symbolerror=0;</p><p>  if (decis1~=dsource1(i)),</p><p>  numofbiterror

69、=numofbiterror+1;</p><p>  symbolerror=1;</p><p><b>  end;</b></p><p>  if (decis2~=dsource2(i)),</p><p>  numofbiterror=numofbiterror+1;</p><p&g

70、t;  symbolerror=1;</p><p><b>  end;</b></p><p>  if (symbolerror==1),</p><p>  numofsymbolerror = numofsymbolerror+1;</p><p><b>  end;</b></p

71、><p><b>  end;</b></p><p>  ps=numofsymbolerror/N; % since there are totally N symbols</p><p>  pb=numofbiterror/(2*N); % since 2N bits are transmitted

72、</p><p>  function [gsrv1,gsrv2]=gngauss(m,sgma)</p><p>  % [gsrv1,gsrv2]=gngauss(m,sgma)</p><p>  % [gsrv1,gsrv2]=gngauss(sgma)</p><p>  % [gsrv1,gsrv2]=gngauss</p&

73、gt;<p>  %GNGAUSS generates two independent Gaussian random variables with mean</p><p>  % m and standard deviation sgma. If one of the input arguments is missing </p><p>  % i

74、t takes the mean as 0, and the standard deviation as the given parameter.</p><p>  % If neither mean nor the variance is given, it generates two standard</p><p>  % Gaussian random varia

75、bles. </p><p>  if nargin == 0,</p><p>  m=0; sgma=1;</p><p>  elseif nargin == 1,</p><p>  sgma=m; m=0;</p><p><b>  end;</b></p><p&

76、gt;  u=rand; % a uniform random variable in (0,1) </p><p>  z=sgma*(sqrt(2*log(1/(1-u)))); % a Rayleigh distributed random variable</p><p>  u=rand;

77、 % another uniform random variable in (0,1)</p><p>  gsrv1=m+z*cos(2*pi*u);</p><p>  gsrv2=m+z*sin(2*pi*u);</p><p>  function [y]=Qfunct(x)</p><p>  % [y]=Q

78、funct(x)</p><p>  %QFUNCT evaluates the Q-function. </p><p>  % y = 1/sqrt(2*pi) * integral from x to inf of exp(-t^2/2) dt.</p><p>  % y = (1/2) * erfc(x/sqrt(2)).<

溫馨提示

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

評論

0/150

提交評論