通信原理、現代通信技術-QPSK仿真報告_第1頁
通信原理、現代通信技術-QPSK仿真報告_第2頁
通信原理、現代通信技術-QPSK仿真報告_第3頁
通信原理、現代通信技術-QPSK仿真報告_第4頁
通信原理、現代通信技術-QPSK仿真報告_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上通信原理實驗課程課程實驗報告一、 實驗要求QPSK調制仿真與分析使用matlab仿真實現QPSK相干調制與解調,要求:1)調制載波中心頻率為5MHz,二進制數據比特率為2Mbps,基帶信號波形采用滾降系數為0.4的平方根升余弦濾波器,畫出4個載波周期I、Q調制分量的時域波形和對應的二進制碼。2)畫出基帶|、Q信號和已調信號的頻譜。3)通過AWGN信道,Eb/N0在0到20dB之間變化,畫出誤比特率曲線,并和理論誤比特率進行對比;4)畫出Eb/N0分 別為5dB和10dB時的星座圖;二、 實驗環境軟件: MATLAB R2018a三、 實驗原理1、四進制相移鍵

2、控(QPSK)的載波信號有四種可能的離散相位狀態i,每個載波相位攜帶兩個二進制碼元。雙bite碼元與載波相位的常見對應關系有AB兩種方式。雙比特碼元載波相位A方式B方式00-3/410-/2-/4110/401/23/4B方式的另一種表示:B方式的QPSK信號的正交調制原理如下圖。公式有:sit=Accos2fct+i=Itcos2fct-Q(t)sin2fct式中,同相分量It=g(t)cosi,Qt=g(t)sini2、誤比特率與信噪比信噪比SNR= 10lg(Ps/Pn),其中Ps和Pn分別代表信號和噪聲的有效功率Eb/N0為比特信噪比。顯然,信噪比越大,信號的誤碼率越小。3、星座圖數字

3、通信系統中,每個符號間隔輸出一個符號,對應一個信號波形。M進制數字通信系統在發送端需要設計出M種不同的信號。如前所述,信號s;()可以通過矢量空間分析器得到矢量,這樣M個能量信號波形就可映射為N維空間中的M個點。將所對應的N維空間中的M個點的集合稱為M進制信號的星座圖,或稱為信號空間圖,或稱為信號矢量圖。相對于前面介紹的一般信號波形,數字信號波形一般限定在一個符號間隔內,二進制數字信號限定在01T,多進制數字信號限定時間在01T。四、 實驗設計與運行結果首先聲明:因為題目要求的頻率過高,電腦配置不足,每次調制用時過長,先將所有的數據等比例縮小,如調制載波中心頻率5MHz5Hz,二進制數據比特率

4、2Mbps2bps。1、 調制使用調相法產生B方式的QPSK信號。 基帶信號生成:隨機數判決+比特率為節奏的for函數。 穿并行轉換與極性變換:條件判決即可。如:生成a2n+1if stt(2*n-1)=1 st1(n)=1; else st1(n)=-1; end運行結果如下圖, 與載波信號調制合成:使雙極性碼與相互正交的載波相乘,同相支路和正交之路分別完成2PSK,最后疊加,得到B方式的QPSK信號。實驗即用代碼復述上述過程,得到結果如下圖:2、 加噪聲使用matlab函數awgn(x, SNR) 。其意義為:在信號x中加入高斯白噪聲。信噪比SNR以dB為單位。x的強度假定為0dBW。如果

5、x是復數,就加入復噪聲。結果在上一張圖已經呈現,再次給出:3、 求頻譜Matlab中求函數頻譜的過程是:對函數做傅里葉變換后,進行快速傅里葉變換計算。程序中使用的函數是:function f,sf= T2F(t,st)得到如下的結果圖:4、 誤碼率曲線的得到與對比5、 星座圖五、 程序源代碼i=10; %基帶信號碼元數*106j=5000;j1=2000;t=linspace(0,5,j);%0-5之間產生5000個點行矢量,即將0,5分成5000份t1=linspace(0,2,j1)f=5; %載波頻率*106fm=i/5; %基帶信號頻率,碼元數是10*106,而時域長度是5,也就是一個

6、單位2*106個碼元a=round(rand(1,i); %產生隨機序列 %產生基帶信號stt=t;for n=1:10 if a(n)<1 for m=j/i*(n-1)+1:j/i*n stt(m)=0; end else for m=j/i*(n-1)+1:j/i*n stt(m)=1; end endend figure(1);subplot(311);plot(t,stt);title('基帶信號stt');axis(0,5,-1,2); %并行信號st1=t;for n=1:j/2 if stt(2*n-1)=1 st1(n)=1; else st1(n)=-

7、1; endendsubplot(312);s1 = st1(1:2000);plot(t1,s1);title('基帶信號碼st1');axis(0,2,-1,2);st2=t;for n=1:j/2 if stt(2*n)=1 st2(n)=1; else st2(n)=-1; endendsubplot(313);s2 = st2(1:2000);plot(t1,s2);title('基帶信號碼st2');axis(0,2,-1,2);%載波信號s1=cos(2*pi*f*t);s2=-sin(2*pi*f*t);%調制F1=st1.*s1;%加入載波1

8、同相IF2=st1.*s2;%加入載波2 正交Qfigure(2);subplot(411);plot(t,F1);title('I:F1=s1*st1');axis(0,2,-1,2);subplot(412);plot(t,F2);title('Q:F2=s2*st2');axis(0,2,-1,2);e_fsk=F1+F2;subplot(413);plot(t,e_fsk);title('QPSK信號'); axis(0,2,-1,2);%加噪fsk = awgn(e_fsk,20) %在信號x中加入高斯白噪聲。信噪比SNR以dB為單位。

9、x的強度假定為0dBW。如果x是復數,就加入復噪聲。subplot(414);plot(t,fsk);title('加噪聲后信號')axis(0,2,-1,2);f,sf1 = T2F(t,st1);f,sf2 = T2F(t,st2);f,sf3 = T2F(t,fsk);%傅里葉變換figure(3);subplot(311);plot(t,sf1);axis(2.3,2.7,-1,10);title('s1');subplot(312);plot(t,sf2);axis(2.3,2.7,-1,10);title('s2');subplot(

10、313);plot(t,sf3);axis(2.3,2.7,-1,10);title('加噪后的信號');% 誤碼率計算Maxbit = 1000;Eb = 1;for i=1:20 % 信噪比從1到20dB for cnt=1:10 %對于每個信噪比,進行10次實驗,最后求平均 SNR = 10 ( 0.1 * i); %信噪比 N0 = Eb/SNR; Sigma = sqrt(N0/2); b = rand(1,Maxbit); %隨機數據 b_bin = round(b); % 0 1 比特流 b2 = sign(b_bin - 0.5); %調制后的 -1 和+1 比

11、特流 Noise = Sigma*randn(1,Maxbit); % snt 調制信號與噪聲疊加后的信號 fsk1=fsk(1:1000); Snt =fsk1 + Noise; % 解調過程,抽樣判決,<0,判為-1,>0,判為+1 res(Snt<0) = -1; res(Snt>=0) = 1; % Snt .* b2,解調正確,相乘結果為+1,若發生誤碼,結果為-1 St = res .*fsk1; % err為誤碼的個數 err(cnt) = length(find(St<0); end % Pb計算信噪比為 i dB 時的誤比特率 Pb(i) = (

12、mean(err)/Maxbit)*100;endfigure(4);subplot(211);semilogy(Pb); xlabel('信噪比(dB)');ylabel('實際誤碼率Pe')%同上計算理論Maxbit = 1000;Eb = 1;for i=1:15 for cnt=1:10 b = rand(1,Maxbit); b_bin = round(b); b2 = sign(b_bin - 0.5); SNR = 10 ( 0.1 * i); N0 = Eb/SNR; Sigma = sqrt(N0/2); Noise = Sigma*randn

13、(1,Maxbit); Snt = b2 + Noise; res(Snt<0) = -1; res(Snt>=0) = 1 St = res .* b2; err(cnt) = length(find(St<0); end Pb(i) = (mean(err)/Maxbit)*100;endfigure(4);subplot(212);semilogy(Pb); xlabel('信噪比(dB)');ylabel('理論誤碼率Pe')axis(0,10,0.1,10);clear all;msg = randi(0,3,1,5000); % 4

14、進制,20個符號figure(1);stem(msg);msg1 = pskmod(msg,4,pi/4); % 4psk調制 初始相位為 pi/4msg2 = awgn(msg1,5)scatterplot(msg2);title('SNR=5dB');axis(-1.2,1.2,-1.2,1.2);% 畫星座圖xlabel('f1')ylabel('f2')hold on;rectangle('Position',-1, -1, 2, 2,'Curvature',1, 1);axis equal; % 畫圓cl

15、ear all;msg = randi(0,3,1,5000); % 4進制,20個符號figure(2);stem(msg);msg1 = pskmod(msg,4,pi/4); % 4psk調制 初始相位為 pi/4msg2 = awgn(msg1,10)scatterplot(msg2); title('SNR=10dB');axis(-1.2,1.2,-1.2,1.2);% 畫星座圖xlabel('f1')ylabel('f2')hold on;rectangle('Position',-1, -1, 2, 2,'

16、Curvature',1, 1);axis equal; % 畫圓%用于頻譜的函數function f,sf= T2F(t,st)%利用FFT計算信號的頻譜并與信號的真實頻譜的抽樣比較。%腳本文件T2F.m定義了函數T2F,計算信號的傅立葉變換。%Input is the time and the signal vectors,the length of time must greater%than 2%Output is the frequency and the signal spectrumdt = t(2)-t(1);T=t(end);df = 1/T;N = length(st);f=-N/2*df : df : N/2*df-df;sf = fft(st);sf = T/N*fftshift(sf);end六、 總結對于這次仿真實踐,我最大的感想就是“太難了!”。之前我接觸的matlab只是較為簡單的編程和simulink的應用,對QPSK調制這種長而復雜的編程不但心存恐懼,還完全沒有頭緒。一開始我希望求助于書本已經有的模型,但發現資料少有后,決定自己仔細研究。QPSK(4psk)等是數字信號常用的調制信號,它的原理模型并不復雜,但是由于matlab語言的兼容性強大,它的語言類型太復雜,很多函數使用時我對參數非常茫然

溫馨提示

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

評論

0/150

提交評論