移動(dòng)通信綜合實(shí)驗(yàn)16QAM調(diào)制解調(diào)與信道分析_第1頁(yè)
移動(dòng)通信綜合實(shí)驗(yàn)16QAM調(diào)制解調(diào)與信道分析_第2頁(yè)
移動(dòng)通信綜合實(shí)驗(yàn)16QAM調(diào)制解調(diào)與信道分析_第3頁(yè)
移動(dòng)通信綜合實(shí)驗(yàn)16QAM調(diào)制解調(diào)與信道分析_第4頁(yè)
移動(dòng)通信綜合實(shí)驗(yàn)16QAM調(diào)制解調(diào)與信道分析_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上南昌大學(xué)實(shí)驗(yàn)報(bào)告學(xué)生姓名: 學(xué) 號(hào): 專(zhuān)業(yè)班級(jí): 實(shí)驗(yàn)類(lèi)型: 驗(yàn)證 綜合 R 設(shè)計(jì) 創(chuàng)新 實(shí)驗(yàn)日期: 2018/6/23 實(shí)驗(yàn)成績(jī): 一、實(shí)驗(yàn)名稱實(shí)驗(yàn)八 16QAM調(diào)制解調(diào)與信道分析二、實(shí)驗(yàn)?zāi)康?1) 掌握QAM及解調(diào)原理與特性(2) 了解星座圖的原理及用途(3) 分析高斯、瑞利、萊斯信道三、實(shí)驗(yàn)內(nèi)容(1) 設(shè)計(jì)16QAM調(diào)制解調(diào)算法(2) 比較GMSK和16QAM在高斯、萊斯和瑞利信道條件下的誤碼性能(3) 撰寫(xiě)實(shí)驗(yàn)報(bào)告。四、實(shí)驗(yàn)原理正交振幅調(diào)制是用兩個(gè)獨(dú)立的基帶數(shù)字信號(hào)對(duì)兩個(gè)相互正交的同頻載波進(jìn)行抑制載波的雙邊帶調(diào)制,利用這種已調(diào)信號(hào)在同一帶寬內(nèi)頻譜正交的性質(zhì)來(lái)實(shí)

2、現(xiàn)兩路并行的數(shù)字信息傳輸。正交振幅調(diào)制信號(hào)的一般表示式為16QAM是指包含16種符號(hào)的QAM調(diào)制方式,產(chǎn)生的框圖如圖1.圖 1 16QAM調(diào)制相干解調(diào)原理如圖2.圖 2 16QAM解調(diào)五、實(shí)驗(yàn)步驟(1) 16QAM調(diào)制與解調(diào)算法先產(chǎn)生所需的二進(jìn)制基帶信號(hào):% 產(chǎn)生的隨機(jī)二進(jìn)制數(shù)據(jù)流M = 16; %信號(hào)的星座尺寸k = log2(M); %每個(gè)符號(hào)的比特?cái)?shù)n = 30000; %處理的比特?cái)?shù)目numSamplesPerSymbol = 1; %過(guò)采樣因子% 創(chuàng)建二進(jìn)制數(shù)據(jù)流作為列向量rng default %使用缺省隨機(jī)數(shù)發(fā)生器dataIn = randi(0 1,n,1); %產(chǎn)生的二進(jìn)制矢

3、量數(shù)據(jù)% 將二進(jìn)制信號(hào)轉(zhuǎn)為整數(shù)值信號(hào)dataInMatrix = reshape(dataIn,length(dataIn)/k,k);%數(shù)據(jù)整形成二進(jìn)制4元組dataSymbolsIn = bi2de(dataInMatrix); %轉(zhuǎn)換為整數(shù)使用MATLAB函數(shù)qammod()進(jìn)行QAM的調(diào)制% 使用16-QAM調(diào)制dataMod = qammod(dataSymbolsIn',M,'bin'); %二進(jìn)制編碼、相位偏移0scatterplot(dataMod)title('未加噪聲的星座圖')axis(-4 4 -4 4)在信號(hào)中加入噪聲% 添加高

4、斯白噪聲EbNo = 10; % 當(dāng)信道SNR計(jì)算的EB/N0=10dBsnr = EbNo + 10*log10(k) - 10*log10(numSamplesPerSymbol);% 將信號(hào)通過(guò)AWGN信道rxSignal = awgn(dataMod,snr,'measured');顯示星座圖% 使用scatterplot功能展示星座圖sPlotFig = scatterplot(rxSignal ,1,0,'g.');hold onscatterplot(dataMod,1,0,'k*',sPlotFig)title('加了噪聲

5、的星座圖')使用MATLAB函數(shù)qamdemod ()進(jìn)行QAM的解調(diào)% 16-QAM解調(diào)dataSymbolsOut = qamdemod(rxSignal ,M,'bin');% 將整數(shù)值信號(hào)轉(zhuǎn)為二進(jìn)制信號(hào)dataOutMatrix = de2bi(dataSymbolsOut,k);dataOut = dataOutMatrix(:); %返回的數(shù)據(jù)列矢量計(jì)算解調(diào)后的誤碼率% 計(jì)算系統(tǒng)的誤碼率(BER)numErrors,ber = biterr(dataIn,dataOut);fprintf('nThe binary coding bit error r

6、ate = %5.2e, based on %d errorsn', .ber,numErrors)運(yùn)行效果如圖3圖 3 運(yùn)行效果圖(2) QAM在高斯、萊斯和瑞利信道條件下的誤碼性能思路:先產(chǎn)生16QAM信號(hào),然后先通過(guò)高斯信道引入噪聲,再送入萊斯和瑞利信道后輸出,通過(guò)給定不同的信噪比,畫(huà)出誤碼率曲線。效果結(jié)果如圖4所示,代碼見(jiàn)附錄1。圖 4 16QAM經(jīng)過(guò)各信道的誤碼率其中用到的各信道模型如下,并可以通過(guò)使用Y = FILTER(CHAN, X)來(lái)模擬信道Chanon對(duì)信號(hào)X的影響。A高斯信道:AWGN:在某一信號(hào)中加入高斯白噪聲 y = awgn(x,SNR) 在信號(hào)x中加入高斯

7、白噪聲。信噪比SNR以dB為單位。x的強(qiáng)度假定為0dBW。如果x是復(fù)數(shù),就加入復(fù)噪聲。 y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是數(shù)值,則其代表以dBW為單位的信號(hào)強(qiáng)度;如果SIGPOWER為'measured',則函數(shù)將在加入噪聲之前測(cè)定信號(hào)強(qiáng)度。 y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的狀態(tài)。 y = awgn(,POWERTYPE) 指定SNR和SIGPOWER的單位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE是'dB',那么

8、SNR以dB為單位,而SIGPOWER以dBW為單位。如果POWERTYPE是'linear',那么SNR作為比值來(lái)度量,而SIGPOWER以瓦特為單位。B瑞利信道:RAYLEIGHCHAN(TS, FD, TAU, PDB)TS為輸入信號(hào)的采樣周期FD就是Doppler頻偏,以Hz為單位,與速率的換算關(guān)系為v×fc/c,fc是載頻TAU輸入的信道參數(shù),一個(gè)向量,包含了各徑的延時(shí),以s為單位PDB輸入的信道參數(shù),一個(gè)向量,包含了各徑的功率(當(dāng)然是均值啦,實(shí)際產(chǎn)生的能量都是以此為均值的隨機(jī)量),以dB為單位。C萊斯信道:RICIANCHAN(TS, FD, K)TS是輸

9、入信號(hào)的采樣時(shí)間,以秒為單位。FD是最大的多普勒頻移,赫茲。K是線性尺度上的Rice K-因子。(3) GMSK在高斯、萊斯和瑞利信道條件下的誤碼性能思路:先產(chǎn)生GMSK信號(hào),然后先通過(guò)高斯信道引入噪聲,再送入萊斯和瑞利信道后輸出,通過(guò)給定不同的信噪比,畫(huà)出誤碼率曲線。效果結(jié)果如圖5所示,代碼見(jiàn)附錄2。圖 5 GMSK經(jīng)過(guò)各信道的誤碼率本次程序設(shè)計(jì)的各信道模型用到了MATLAB自帶的模型類(lèi)。A GMSK生成器:comm.GMSKModulator(BitInput,PulseLength, SamplesPerSymbol) BitInput指定是否將輸入比特或整數(shù)。默認(rèn)是false。當(dāng)為fa

10、lse,step方法要求輸入帶符號(hào)的整數(shù)或雙精度型數(shù)據(jù)值的-1或1的列向量。當(dāng)為true,step方法要求輸入帶符號(hào)的整數(shù)或雙精度型數(shù)據(jù)值的0或1的列向量 PulseLength脈沖長(zhǎng)度,默認(rèn)的是4。指定的長(zhǎng)度的高斯脈沖形狀在符號(hào)間隔作為實(shí)的正整數(shù),GMSK為4. SamplesPerSymbol每個(gè)輸出符號(hào)的樣本數(shù)目,默認(rèn)的是8。指定上采樣系數(shù)輸出為實(shí)數(shù)、正數(shù),標(biāo)量整數(shù)值。上采樣系數(shù)的數(shù)目是的step方法用于產(chǎn)生每個(gè)輸入樣本的輸出采樣。B 高斯信道生成器:comm.AWGNChannel('NoiseMethod','SNR') NoiseMethod噪聲的方

11、法'Signal to noise ratio (Eb/No)','Signal to noise ratio (Es/No)','Signal to noise ratio (SNR)'或者,'Variance' SNR信號(hào)功率與噪聲功率之比的分貝值C 萊斯信道生成器:comm.RicianChannel('SampleRate',1e6,. 'KFactor',2.8,. 'MaximumDopplerShift',50,. 'DopplerSpectrum',d

12、oppler('Bell', 8),. 'RandomStream','mt19937ar with seed', . 'Seed',73, . 'PathGainsOutputPort',true); SampleRate輸入信號(hào)取樣速率(Hz) ,此屬性的默認(rèn)值是1Hz。 KFactorRicianK因子(標(biāo)量或矢量線性尺度),該位的默認(rèn)值3如果KFactor是一個(gè)標(biāo)量,那么第一離散路徑是具有Kras系數(shù)的Rice k-因子的萊斯衰落過(guò)程。剩下的離散路徑是獨(dú)立的瑞利衰落過(guò)程。如果KFactor是行向量,則對(duì)應(yīng)于

13、K因子向量的正元素的離散路徑是具有由該元素指定的瑞斯K因子的萊斯衰落過(guò)程。與K因子向量的零值元素相對(duì)應(yīng)的離散路徑是瑞利衰落過(guò)程 MaximumDopplerShift最大多普勒頻移(赫茲),屬性的默認(rèn)值是0.001赫茲。多普勒頻移適用于信道的所有路徑。當(dāng)將最大值DoppReSHIFT設(shè)置為0時(shí),通道對(duì)整個(gè)輸入保持靜態(tài)??梢允褂肦ESET方法生成新的通道實(shí)現(xiàn)。 DopplerSpectrum多普勒頻譜指定所述多普勒頻譜的形狀(路徑)的信道。 RandomStream隨機(jī)數(shù)流源,此屬性的默認(rèn)值是Global stream。將隨機(jī)數(shù)流的源指定為Global stream| mt19937ar的種子。

14、 Seed初始種子的mt19937ar隨機(jī)數(shù)流,默認(rèn)值73 PathGainsOutputPort輸出信道路徑增益,此屬性默認(rèn)值是FALSE將此屬性設(shè)置為true輸出通道路徑增益的衰落過(guò)程的基礎(chǔ)。E 瑞利信道生成器:comm.RayleighChannel(. 'SampleRate',1e6, . 'MaximumDopplerShift',30, . 'DopplerSpectrum',doppler('Bell', 8),. 'RandomStream','mt19937ar with seed

15、9;, . 'Seed',73, . 'PathGainsOutputPort',true); 屬性與萊斯信道相同六、思考及體會(huì)通過(guò)本次實(shí)驗(yàn),對(duì)各信道的模型有了一定的了解,通過(guò)誤碼率曲線圖直觀的看到了不同信道對(duì)信號(hào)的影響,為之后的學(xué)習(xí)提供了形象的解釋。附錄1% - QAM - %M = 16; %信號(hào)的星座尺寸k = log2(M); %每個(gè)符號(hào)的比特?cái)?shù)n = 30000; %處理的比特?cái)?shù)目numSamplesPerSymbol = 1; %過(guò)采樣因子% 創(chuàng)建二進(jìn)制數(shù)據(jù)流作為列向量rng default %使用缺省隨機(jī)數(shù)發(fā)生器dataIn = randi(0 1

16、,n,1); %產(chǎn)生的二進(jìn)制矢量數(shù)據(jù)dataMod = qam_mod(dataIn); % 數(shù)據(jù)調(diào)制for N = -50:20% 高斯% 添加高斯白噪聲 snr = N;% 將信號(hào)通過(guò)AWGN信道 rxSignal_Gauss = awgn(dataMod,snr,'measured'); %信噪比以dB為單位% 16-QAM解調(diào) dataOut_Gauss = qam_demod(rxSignal_Gauss);% 計(jì)算系統(tǒng)的誤碼率(BER) numErrors, ber = biterr(dataIn,dataOut_Gauss);% fprintf('nThe

17、 binary coding bit error rate = %5.2e, based on %d errorsn',ber,numErrors) plot(snr,ber,'r')hold on% 瑞利% 獲得瑞利信道函數(shù) Rayleigh_chan = rayleighchan(1/10000,100); %采樣頻率1/10000,最大多普勒頻移100% 將信號(hào)通過(guò)Rayleigh信道 rxSignal_Rayleigh = filter(Rayleigh_chan, rxSignal_Gauss);% 16-QAM解調(diào) dataOut_Rayleigh = qa

18、m_demod(rxSignal_Rayleigh);% 計(jì)算系統(tǒng)的誤碼率(BER) numErrors, ber = biterr(dataIn,dataOut_Rayleigh);% fprintf('nThe binary coding bit error rate = %5.2e, based on %d errorsn',ber,numErrors) plot(snr,ber,'g*')hold on% 萊斯% 獲得萊斯信道函數(shù) Rician_chan = ricianchan(1/10000,100,1);% 將信號(hào)通過(guò)Rician信道 rxSign

19、al_Rician = filter(Rician_chan, rxSignal_Gauss);% 16-QAM解調(diào) dataOut_Rician = qam_demod(rxSignal_Rician);% 計(jì)算系統(tǒng)的誤碼率(BER) numErrors, ber = biterr(dataIn,dataOut_Rician);% fprintf('nThe binary coding bit error rate = %5.2e, based on %d errorsn',ber,numErrors) plot(snr,ber,'b.') hold onen

20、dxlabel('信噪比SNR'),ylabel('誤碼率BER');legend('高斯','瑞利','萊斯, K=5dB','Location','NorthEastOutside')title('16QAM 下的誤碼率 - SXF')hold offscatterplot(dataMod)title('16QAM - 調(diào)制信號(hào)星座圖 - SXF')axis(-4 4 -4 4)附錄2% - GMSK - %n = 300; %處理的比特?cái)?shù)目sps

21、 = 8; %每個(gè)符號(hào)的采樣% 創(chuàng)建二進(jìn)制數(shù)據(jù)流作為列向量rng default %使用缺省隨機(jī)數(shù)發(fā)生器dataIn = randi(0 1,n,1); %產(chǎn)生的二進(jìn)制矢量數(shù)據(jù)% 創(chuàng)建GMSK調(diào)制器 gmskMod = comm.GMSKModulator('BitInput',true,'PulseLength',4, 'SamplesPerSymbol',sps); % 創(chuàng)建GMSK解調(diào)器 gmskDeMod = comm.GMSKDemodulator('BitOutput',true,'PulseLength

22、9;,4, 'SamplesPerSymbol',sps);% 數(shù)據(jù)調(diào)制 modSigGMSK = step(gmskMod, dataIn);% 誤碼率器 hError = comm.ErrorRate('ReceiveDelay', gmskDeMod.TracebackDepth);for N=-50:20% 高斯 snr = N;% 創(chuàng)建高斯信道器 hAWGN = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)','SNR',snr);

23、 % 將信號(hào)通過(guò)AWGN信道 rxSignal_Gauss = step(hAWGN, modSigGMSK);% GMSK解調(diào) dataOut_Gauss = step(gmskDeMod, rxSignal_Gauss);% 計(jì)算系統(tǒng)的誤碼率(BER) errorStats = step(hError, dataIn, dataOut_Gauss); fprintf('Error rate = %fnNumber of errors = %dn',errorStats(1), errorStats(2) figure(3) plot(snr,errorStats(1),&#

24、39;r') hold on% 瑞利 RayleighChan = comm.RayleighChannel(. 'SampleRate',1e6, . 'MaximumDopplerShift',30, . 'DopplerSpectrum',doppler('Bell', 8),. 'RandomStream','mt19937ar with seed', . 'Seed',73, . 'PathGainsOutputPort',true);% 將信號(hào)通過(guò)

25、瑞利信道 rxSignal_Rayleigh, PathGains1 = step(RayleighChan,rxSignal_Gauss); %將通過(guò)AWGN信道的信號(hào)再通過(guò)瑞利信道 modSigGMSK% GMSK解調(diào) dataOut_Rayleigh = step(gmskDeMod, rxSignal_Rayleigh);% 計(jì)算系統(tǒng)的誤碼率(BER) errorStats = step(hError, dataIn, dataOut_Rayleigh); fprintf('Error rate = %fnNumber of errors = %dn', errorStats(1), errorStats(2) plot(snr,errorStats(1),'b.') hold on % 萊斯 ricianC

溫馨提示

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

評(píng)論

0/150

提交評(píng)論