QPSK調(diào)制解調(diào)的仿真參考模板_第1頁
QPSK調(diào)制解調(diào)的仿真參考模板_第2頁
QPSK調(diào)制解調(diào)的仿真參考模板_第3頁
QPSK調(diào)制解調(diào)的仿真參考模板_第4頁
QPSK調(diào)制解調(diào)的仿真參考模板_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、引言近年來,軟件無線電作為解決通信體制兼容性問題的重要方法受到各方面的注意。它的中心思想是在通用的硬件平臺上,用軟件來實(shí)現(xiàn)各種功能,包括調(diào)制解調(diào)類型、數(shù)據(jù)格式、通信協(xié)議等。通過軟件的增加、修改或升級就可以實(shí)現(xiàn)新的功能,充分體現(xiàn)了體制的靈活性、可擴(kuò)展性等。其中軟件的增加、高頻譜效率的調(diào)制解調(diào)模塊是移動(dòng)通信系統(tǒng)的關(guān)鍵技術(shù),它的軟件化也是實(shí)現(xiàn)軟件無線電的重要環(huán)節(jié)。QPSK是英文Quadrature Phase Shift Keying的縮略語簡稱,意為正交相移鍵控,是一種數(shù)字調(diào)制方式。在19世紀(jì)80年代初期,人們選用恒定包絡(luò)數(shù)字調(diào)制。這類數(shù)字調(diào)制技術(shù)的優(yōu)點(diǎn)是已調(diào)信號具有相對窄的功率譜和對放大設(shè)備沒有

2、線性要求,不足之處是其頻譜利用率低于線性調(diào)制技術(shù)。19世紀(jì)80年代中期以后,四相絕對移相鍵控(QPSK)技術(shù)以其抗干擾性能強(qiáng)、誤碼性能好、頻譜利用率高等優(yōu)點(diǎn),廣泛應(yīng)用于數(shù)字微波通信系統(tǒng)、數(shù)字衛(wèi)星通信系統(tǒng)、寬帶接入、移動(dòng)通信及有線電視系統(tǒng)之中。通過完成設(shè)計(jì)內(nèi)容, 復(fù)習(xí)QPSK調(diào)制解調(diào)的基本原理,同時(shí)也要復(fù)習(xí)通信系統(tǒng)的主要組成部分,了解調(diào)制解調(diào)方式中最基礎(chǔ)的方法。了解QPSK的實(shí)現(xiàn)方法及數(shù)學(xué)原理。并對“通信”這個(gè)概念有個(gè)整體的理解,學(xué)習(xí)數(shù)字調(diào)制中誤碼率測試的標(biāo)準(zhǔn)及計(jì)算方法。同時(shí)還要復(fù)習(xí)隨機(jī)信號中時(shí)域用自相關(guān)函數(shù),頻域用功率譜密度來描述平穩(wěn)隨機(jī)過程的特性等基礎(chǔ)知識,來理解高斯信道中噪聲的表示方法,以

3、便在編程中使用。理解QPSK調(diào)制解調(diào)的基本原理,并使用MATLAB編程實(shí)現(xiàn)QPSK信號在高斯信道和瑞利衰落信道下傳輸,以及該方式的誤碼率測試。復(fù)習(xí)MATLAB編程的基礎(chǔ)知識和編程的常用算法以及使用MATLAB仿真系統(tǒng)的注意事項(xiàng),并鍛煉自己的編程能力,通過編程完成QPSK調(diào)制解調(diào)系統(tǒng)的仿真,以及誤碼率測試,并得出響應(yīng)波形。在完成要求任務(wù)的條件下,嘗試優(yōu)化程序。本課設(shè)是基于Matlab的軟件仿真,只需PC機(jī)上安裝MATLAB 6.0或者以上版本即可。課設(shè)的要求是1.構(gòu)建一個(gè)理想信道基本QPSK仿真系統(tǒng),要求仿真結(jié)果有:基帶輸入波形及其功率譜;QPSK信號及其功率譜 ;QPSK信號星座圖。2.構(gòu)建一

4、個(gè)在AWGN(高斯白噪聲)信道條件下的QPSK仿真系統(tǒng), 得出高斯白噪聲信道條件下的誤碼性能以及高斯白噪聲的理論曲線,要求所有誤碼性能曲線在同一坐標(biāo)比例下繪制。通過本次實(shí)驗(yàn),除了和隊(duì)友培養(yǎng)了默契學(xué)到了知識之外,還可以將次實(shí)驗(yàn)作為一種推廣,讓更多的學(xué)生來深入一層的了解QPSK以至其他調(diào)制方式的原理和實(shí)現(xiàn)方法??梢苑奖銓W(xué)生進(jìn)行測試和對比。足不出戶便可以做實(shí)驗(yàn)。1 / 271 方案論證 本次課設(shè)是基于MATLAB環(huán)境下對QPSK調(diào)制解調(diào)系統(tǒng)進(jìn)行仿真。在Matlab環(huán)境下有兩種仿真方案,一種是基于simulink對QPSK進(jìn)行模塊化的仿真,要求是不能直接調(diào)用軟件里面的集成模塊,以此來實(shí)現(xiàn)QPSK系統(tǒng)的

5、仿真。另一種方案是在Matlab環(huán)境下,用軟件編程的方法來實(shí)現(xiàn)調(diào)制解調(diào)系統(tǒng)的仿真,并且得出不同信道的誤碼率,并作以比較。 1.1 方案一 在Matlab環(huán)境下,用軟件編程的方法來實(shí)現(xiàn)QPSK調(diào)制解調(diào)系統(tǒng)的仿真。Matlab是一款由美國Math Works公司出品的商業(yè)數(shù)學(xué)軟件。MATLAB 是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級技術(shù)計(jì)算語言和交互式環(huán)境。除了矩陣運(yùn)算、繪制函數(shù)/數(shù)據(jù)圖像等常用功能外,MATLAB還可以用來創(chuàng)建用戶界面及與調(diào)用其它語言(包括C,C+和FORTRAN)編寫的程序。我們此次可以應(yīng)用它的這種功能,在熟練掌握語言編程以及深刻理解QPSK的基礎(chǔ)上,嚴(yán)格按

6、照程序仿真的流程圖對各部分進(jìn)行程序編寫并仿真。應(yīng)用理論知識來驗(yàn)證最終的仿真結(jié)果是否正確。1.2 方案二在Matlab環(huán)境下的Simulink模塊庫中應(yīng)用模塊來搭建QPSK調(diào)制解調(diào)系統(tǒng)的仿真電路模塊。在深入了解QPSK調(diào)制解調(diào)系統(tǒng)理論知識的情況下,根據(jù)理論知識構(gòu)建調(diào)制解調(diào)的系統(tǒng)框圖。在此基礎(chǔ)上選擇合適的電路器件以及設(shè)置合理的參數(shù),構(gòu)成調(diào)制解調(diào)的總體電路框圖。Simulink是MATLAB最重要的組件之一,它提供一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。在該環(huán)境中只要通過簡單的鼠標(biāo)操作,就可以構(gòu)造出復(fù)雜的系統(tǒng)。Simulink提供了一個(gè)建立模型方塊圖的圖形用戶接口,這個(gè)創(chuàng)建過程只需單擊和拖動(dòng)鼠標(biāo)

7、操作就能完成,它提供了一種更快捷、直接明了的方式,而且用戶可以立即看到系統(tǒng)的仿真結(jié)果。在此基礎(chǔ)上完成電路圖的搭建,得出仿真結(jié)果,并與實(shí)際的理論結(jié)果相比較。1.3 方案確立在經(jīng)過詳細(xì)的考慮和比較之后,我確立了方案一為本次課程設(shè)計(jì)的最終方案。QPSK的調(diào)制方法有兩種,分別是相乘電路法和選擇法,結(jié)合本次設(shè)計(jì)的實(shí)際情況,最終選擇用程序方式實(shí)現(xiàn)相乘電路的調(diào)制方式。因?yàn)樵贛atlab中應(yīng)用程序?qū)PSK調(diào)制解調(diào)系統(tǒng)進(jìn)行仿真,一方面降低了系統(tǒng)設(shè)計(jì)的復(fù)雜性,并且有效的克服了電子瓶頸的問題。因?yàn)樵陔娮与娐分?,總體電路對參數(shù)設(shè)置是非常敏感的,一旦參數(shù)設(shè)置出現(xiàn)小的偏差,將會影響到整個(gè)電路的結(jié)果。另一方面程序的仿真過

8、程中可以將主程序分為很多個(gè)子程序,將它們逐個(gè)進(jìn)行仿真,這樣不會影響到整體結(jié)果,可以逐步進(jìn)行調(diào)試。結(jié)合以上的比較論證以及自身的能力,最終我決定用程序法來完成此次對QPSK調(diào)制解調(diào)系統(tǒng)的仿真。2 仿真原理四相相位調(diào)制解調(diào)是利用載波的四種不同相位差來表征輸入的數(shù)字信息 ,是四進(jìn)制移相鍵控。QPSK是在 M =4時(shí)的調(diào)相技術(shù) ,它規(guī)定了四種載波相位 ,分別為 45°, 135°, 225°, 275°,調(diào)制器輸入的數(shù)據(jù)是二進(jìn)制數(shù)字序列 ,為了能和四進(jìn)制的載波相位配合起來 ,則需要把二進(jìn)制數(shù)據(jù)變換為四進(jìn)制數(shù)據(jù) ,這就是說需要把二進(jìn)制數(shù)字序列中每兩個(gè)比特分成一組 ,

9、共有四種組合 ,即 00, 01, 10, 11,其中每一組稱為雙比特碼元。每一個(gè)雙比特碼元是由兩位二進(jìn)制信息比特組成 ,它們分別代表四進(jìn)制四個(gè)符號中的一個(gè)符號。QPSK中每次調(diào)制可傳輸 2個(gè)信息比特 ,這些信息比特是通過載波的四種相位來傳遞的。解調(diào)器根據(jù)星座圖及接收到的載波信號的相位來判斷發(fā)送端發(fā)送的信息比特。數(shù)字調(diào)制用“星座圖 ”來描述 ,星座圖中定義了一種調(diào)制技術(shù)的兩個(gè)基本參數(shù) : (1)信號分布; (2) 與調(diào)制數(shù)字比特之間的映射關(guān)系。星座圖中規(guī)定了星座點(diǎn)與傳輸比特間的對應(yīng)關(guān)系 ,這種關(guān)系稱為“映射 ”,一種調(diào)制技術(shù)的特性可由信號分布和映射完全定義 ,即可由星座圖來完全定義3 。在 Q

10、PSK調(diào)制中 ,QPSK信號可以看作兩個(gè)載波正交的 2PSK調(diào)制器構(gòu)成。串 /并變換器將輸入的二進(jìn)制序列分為速率減半的兩個(gè)并行的雙極性序列 ,然后分別對 sinct和 cosct調(diào)制 ,相加后得到QPSK調(diào)制信號。QPSK同相支路和正交支路可分別采用相干解調(diào)方式解調(diào) ,得到 I( t)和 Q ( t)。經(jīng)抽樣判決和并 /串變換器 ,將上、下支路得到的并行數(shù)據(jù)恢復(fù)成串行數(shù)據(jù)。21 QPSK調(diào)制原理 在 QPSK調(diào)制中 ,QPSK信號可以看作兩個(gè)載波正交的 2PSK調(diào)制器構(gòu)成。串 /并變換器將輸入的二進(jìn)制序列分為速率減半的兩個(gè)并行的雙極性序列 ,然后分別對 sinct和 cosct調(diào)制 ,相加后得

11、到QPSK調(diào)制信號。QPSK同相支路和正交支路可分別采用相干解調(diào)方式解調(diào) ,得到 I( t)和 Q ( t)。經(jīng)抽樣判決和并 /串變換器 ,將上、下支路得到的并行數(shù)據(jù)恢復(fù)成串行數(shù)據(jù)。調(diào)制原理框圖如圖2.1所示圖2.1 QPSK調(diào)制原理框圖原理分析:基本原理及系統(tǒng)結(jié)構(gòu)QPSK與二進(jìn)制PSK一樣,傳輸信號包含的信息都存在于相位中。的別的載波相位取四個(gè)等間隔值之一,如/4, 3/4,5/4,和7/4。相應(yīng)的,可將發(fā)射信號定義為 0tTSi(t) 0 (2.1.1)其中,i1,2,2,4;E為發(fā)射信號的每個(gè)符號的能量,T為符號持續(xù)時(shí)間,載波頻率f等于nc/T,nc為固定整數(shù)。每一個(gè)可能的相位值對應(yīng)于一

12、個(gè)特定的二位組。例如,可用前述的一組相位值來表示格雷碼的一組二位組:10,00,01,11。下面介紹QPSK信號的產(chǎn)生和檢測。如果a為典型的QPSK發(fā)射機(jī)框圖。輸入的二進(jìn)制數(shù)據(jù)序列首先被不歸零(NRZ)電平編碼轉(zhuǎn)換器轉(zhuǎn)換為極性形式,即負(fù)號1和0分別用和表示。接著,該二進(jìn)制波形被分接器分成兩個(gè)分別由輸入序列的奇數(shù)位偶數(shù)位組成的彼此獨(dú)立的二進(jìn)制波形,這兩個(gè)二進(jìn)制波形分別用a1(t),和a2(t)表示。容易注意到,在任何一信號時(shí)間間隔內(nèi)a1(t),和a2(t)的幅度恰好分別等于Si1和 Si2,即由發(fā)送的二位組決定。這兩個(gè)二進(jìn)制波形a1(t),和a2(t)被用來調(diào)制一對正交載波或者說正交基本函數(shù):1

13、(t),2(t)。這樣就得到一對二進(jìn)制PSK信號。1(t)和2(t)的正交性使這兩個(gè)信號可以被獨(dú)立地檢測。最后,將這兩個(gè)二進(jìn)制PSK信號相加,從而得期望的QPSK。2.2 QPSK解調(diào)原理在 QPSK解調(diào)中 ,正交支路和同相支路分別設(shè)置兩個(gè)相關(guān)器 (或匹配濾波器 ) ,得到 I( t)和 Q ( t) ,經(jīng)電平判決和并 /串變換后即可恢復(fù)原始信息從發(fā)射機(jī)發(fā)射的已調(diào)信號經(jīng)過傳輸媒質(zhì)傳播到接收端 ,接收機(jī)接收到的己調(diào)信號為:SQPSK( t) = I( t) cosct +Q ( t) sinct (2.2.1)I( t)、Q ( t)分別為同相和正交支路 ,c為載波頻率 ,那么相干解調(diào)后 ,同相

14、支路相乘可得:Ii( t) = SQPSK( t) cosct = I( t) cosct +Q ( t) sinctcosct =I( t) cos2wct +Q ( t) sin wct /2=I( t)/2- I( t) cos 2ct +Q ( t) sin 2ct (2.2.2)正交支路相乘可得:Qq( t) = SQPSK( t) sinct = I( t) cosct +Q ( t) sinctsinct = I( t) sinct ×cosct +Q (t) sin2ct =I(t) sin 2ct/2 +Q ( t)-Q ( t) cos 2ct (2.2.3)經(jīng)過

15、低通濾波器可得:Ii( t) =0.5I( t), Qq( t) =0.5Q ( t) (2.2.4) 原理框圖如圖2.2所示: 1(t ) 同相信道 門限0發(fā)送二進(jìn)制序列的估計(jì)判決門限低通filrer判決門限復(fù)接器接收信 號x(t)低通filrer 2(t) 正交信道 門限0 圖2.2 QPSK解調(diào)原理框圖原理分析:QPSK接收機(jī)由一對共輸入地相關(guān)器組成。這兩個(gè)相關(guān)器分別提供本地產(chǎn)生地相干參考信號1(t)和2(t)。相關(guān)器接收信號x(t),相關(guān)器輸出地x1和x2被用來與門限值0進(jìn)行比較。如果x1>0,則判決同相信道地輸出為符號1;如果x1<0 ,則判決同相信道的輸出為符號0。;類

16、似地。如果正交通道也是如此判決輸出。最后同相信道和正交信道輸出這兩個(gè)二進(jìn)制數(shù)據(jù)序列被復(fù)加器合并,重新得到原始的二進(jìn)制序列。在AWGN信道中,判決結(jié)果具有最小的負(fù)號差錯(cuò)概率。2.3調(diào)制解調(diào)系統(tǒng)總框圖 圖2.3 QPSK調(diào)制與解調(diào)系統(tǒng)總框圖3 仿真與分析3.1 程序仿真流程圖程序仿真流程圖是程序仿真的步驟及大體框架,基于流程圖,我們可以有效的避免程序次序的先后問題,將主程序分割成很多個(gè)子程序來逐一實(shí)現(xiàn),嚴(yán)格按照流程圖的次序進(jìn)行編程仿真。最終將各個(gè)子程序綜合起來實(shí)現(xiàn)最終的程序仿真。流程圖如圖3.1所示 圖3.1程序仿真流程圖3.2 QPSK調(diào)制方式的Matlab仿真I 路信號是用余弦載波,由2進(jìn)制數(shù)

17、據(jù)流的奇數(shù)序列組成;Q路信號用正弦載波,由2進(jìn)制數(shù)據(jù)流的偶數(shù)序列組成。下面的a是Idata,b就是Qdata,它們分布與各自的載波相乘分別輸出 I 路信號和 Q 路信號。I 路信號加上Q路信號就是QPSK輸出信號。當(dāng) I 路載波信號是0相位時(shí)為1,是180°相位時(shí)為0;當(dāng)Q路載波信號是0相位時(shí)為1,是180°相位時(shí)為0。調(diào)制仿真圖如圖3.2所示:圖3.2 matlab調(diào)制仿真圖3.3 QPSK解調(diào)方式Matlab仿真正交支路和同相支路分別設(shè)置兩個(gè)相關(guān)器(或匹配濾波器) ,得到I(t)和Q(t) ,經(jīng)電平判決和并/串變換后即可恢復(fù)原始信息。I_demo=QPSK_rc_n0.

18、*cos(2*pi*f1*t1); % 解調(diào)(相干解調(diào),與載波相乘)Q_demo=QPSK_rc_n0.*sin(2*pi*f1*t1);I_recover=conv(I_demo,xrc); % 低通濾波Q_recover=conv(Q_demo,xrc);圖3.3 matlab解調(diào)仿真圖根據(jù)圖2.1和圖2.2的流程框圖設(shè)計(jì)仿真程序,得出結(jié)果并且分析如下:3.4 理想信道下的仿真 仿真結(jié)果出現(xiàn)的波形依次是基帶信號,基帶信號的功率譜密度,調(diào)制信號,調(diào)制信號的功率譜密度,解調(diào)輸出,解調(diào)輸出功率譜密度。 實(shí)驗(yàn)結(jié)果如圖3.4所示圖3.4理想信道下的QPSK仿真結(jié)果圖3.4結(jié)果顯示,完成了QPSK信號

19、在理想信道上的調(diào)制,傳輸,解調(diào)的過程,由于調(diào)制過程中加進(jìn)了載波,因此調(diào)制信號的功率譜密度會發(fā)生變化。并且可以看出調(diào)制解調(diào)的結(jié)果沒有誤碼。3.5 高斯信道下的仿真 在高斯信道下的仿真結(jié)果出現(xiàn)的波形依次是調(diào)制信號,調(diào)制信號功率譜密度,高斯噪聲曲線,QPSK信號星座圖(Awgn)。結(jié)果如圖3.4所示:圖3.5高斯信道下的QPSK仿真結(jié)果由圖3.5可以得到高斯信道下的調(diào)制信號,高斯噪聲,調(diào)制輸出功率譜密度曲線和QPSK信號的星座圖。在高斯噪聲的影響下,調(diào)制信號的波形發(fā)生了明顯的變化,其功率譜密度函數(shù)相對于圖3.4中的調(diào)制信號的功率譜密度只發(fā)生了微小的變化,原因在于高斯噪聲是一個(gè)均值為0的白噪聲,在各個(gè)

20、頻率上其功率是均勻的,因此此結(jié)果是真確的。星座圖反映可接收信號早高斯噪聲的影響下發(fā)生了誤碼,但是大部分還是保持了原來的特性。3.6 先通過瑞利衰落信道再通過高斯信道的仿真 信號先通過瑞麗衰落信道再通過高斯信道的仿真后出現(xiàn)的波形依次是調(diào)制信號(Ray+Awgn),調(diào)試信號功率譜密度(Ray),QPSK信號星座圖(Awgn+Ray),誤碼率曲線。仿真結(jié)果如圖3.6所示:圖3.6先通過瑞利衰落信道再通過高斯信道的仿真結(jié)果由圖3.6可以得到瑞利衰落信道前后的星座圖,調(diào)制信號的曲線圖及其功率譜密度。最后顯示的是高斯信道和瑞利衰落信道的誤碼率對比。由圖可知瑞利衰落信道下的誤碼率比高斯信道下的誤碼率高。至此

21、,仿真實(shí)驗(yàn)就全部完成。4 結(jié)束語本次試驗(yàn)是基于matlab環(huán)境下的QPSK調(diào)制解調(diào)系統(tǒng)的仿真。由此次仿真實(shí)驗(yàn)可知,由于高斯信道和瑞利信道的影響,波形發(fā)生了明顯的變化,功率譜密度也發(fā)生變化,星座圖可反映在噪聲影響下產(chǎn)生的誤碼。從仿真解調(diào)前與調(diào)制后的圖對比可知仿真正確。通過圖3.3可知瑞利信道下的誤碼率和誤比特率明顯高于高斯信道,并與理論值基本符合。隨著通信事業(yè)的發(fā)展,通信系統(tǒng)的設(shè)計(jì)也會越來越復(fù)雜,通過計(jì)算機(jī)的仿真,可以大大地降低通信過程實(shí)驗(yàn)成本。本文設(shè)計(jì)出一個(gè)QPSK仿真模型,以衡量QPSK在理想信道,高斯白噪聲信道,以及先通過瑞利再通過高斯信道的性能,通過仿真,可以更好地了解QPSK系統(tǒng)的工作

22、原理,而且為硬件的研制提供一定的參考作用。這次的通信專業(yè)方向設(shè)計(jì)讓我把通信原理的一些內(nèi)容又重新復(fù)習(xí)了一遍,中間出了很多問題,比如用matlab7.0版本就不能把幾個(gè)圖整合到一起,也就是不能使用subplot函數(shù),會出現(xiàn)Undefined function or variable "hanalysisparammenu"的錯(cuò)誤.而我后來又換成了matlab7.8就可以實(shí)現(xiàn)該功能。我把程序發(fā)給老師后老師細(xì)心的幫我進(jìn)行了排錯(cuò),我錯(cuò)誤的以為依靠高版本的優(yōu)化功能把在低版本不能實(shí)現(xiàn)的功能強(qiáng)制執(zhí)行,所以我還有很多地方需要學(xué)習(xí),包括對誤碼率進(jìn)行計(jì)算的兩個(gè)函數(shù)我也是借鑒的網(wǎng)上的程序。這次方向

23、設(shè)計(jì)讓我學(xué)會了很多,也認(rèn)識到了自己還有很多方面的欠缺,希望在今后的學(xué)習(xí)和工作中好好努力,盡快的彌補(bǔ)自己的不足。致謝 一個(gè)月的課程設(shè)計(jì)很快就過去了,在這期間我學(xué)習(xí)和掌握了使用MATLAB的工具箱simulink對數(shù)字通信系統(tǒng)的仿真?;叵肫疬@期間的經(jīng)歷,感慨萬千。課程設(shè)計(jì)是對大學(xué)四年所學(xué)的知識的一次總結(jié)、一次檢驗(yàn)。同時(shí)也是鍛煉和進(jìn)一步提高自己自學(xué)能力的一次寶貴機(jī)會。在做本次設(shè)計(jì)的初期階段,由于自己在很的多知識點(diǎn)上有所遺忘,因此設(shè)計(jì)的進(jìn)度相當(dāng)緩慢,特別是在原理分析和simulink仿真上更是裹足不前。我重點(diǎn)復(fù)習(xí)并新學(xué)習(xí)了相關(guān)章節(jié)的知識,并很快理解了要點(diǎn),進(jìn)度由此快速展開。設(shè)計(jì)后期階段,在設(shè)計(jì)思路上卡

24、了殼。此時(shí),查閱了很多資料并多次請教老師,使我得以進(jìn)行軟件調(diào)試從而驗(yàn)證了設(shè)計(jì)的正確可行性并按時(shí)完成設(shè)計(jì),在此特別感謝魏瑞老師的指導(dǎo),此外還要感謝學(xué)校教研室給我們這次寶貴而難得的機(jī)會,也感謝幫助和支持我的同學(xué)。在此表示衷心的感謝!。由于理論知識有限、文中難免出現(xiàn)不足之處,敬請各位老師批評指正。參考文獻(xiàn)1張志勇等.精通matlab6.5J.北京:北京航空航天大學(xué)出版社,2003.3.2John G.Proakis Masoud Salehi Gerhard Bauch.著 劉樹棠譯comtemporary communication systems using matlab and simulin

25、k.北京:電子工業(yè)出版社,2005.4.3樊昌信,張甫詡、徐炳祥、吳成柯 .通信原理M .北京:國防工業(yè)出版社,2001.5.4王立寧,樂光新,詹菲等.MATLAB與通信仿真M .北京:人民郵電出版社, 1999 5 陳懷琛,吳大正,高西金 matlab 及在信息課程中的應(yīng)用J北京:電子工業(yè)出版社,20066 樓天順、劉曉東、李博涵基于matlab7.x的系統(tǒng)分析與設(shè)計(jì)M.西安:西安電子科技大學(xué)出版社, 2005.5 7張肅文主編 .高頻電子線路M .北京:高等教育出版社, 2004.11 8程佩青編著 .數(shù)字信號處理教程M .北京:清華大學(xué)出版社, 2006.3 9張輝、曹麗娜、王勇 編著

26、.通信原理輔導(dǎo)M 西安.西安電子科技大學(xué)出版社, 2004.1110徐明遠(yuǎn) .MATLAB仿真在通信工程中的應(yīng)用J. 西安. 西安電子科技大學(xué)出版社, 2005.6 11田麗華等.編碼理論J.西安 西安電子科技大學(xué)出版社, 2003.8附錄%主文件%題目:基于matlab環(huán)境下的QPSK仿真%作者: 楊遇春%完成日期: 2015-01-14%郵箱:710476235%clear;% 初始化參數(shù)%T=1; % 基帶信號寬度,也就是頻率fc=10/T; % 載波頻率ml=2; % 調(diào)制信號類型的一個(gè)標(biāo)志位(選取2的原因見23行)nb=100; % 傳輸?shù)谋忍財(cái)?shù)delta_T=T/200; % 采樣

27、間隔fs=1/delta_T; % 采樣頻率SNR=0; % 信噪比t=0:delta_T:nb*T-delta_T; % 限定t的取值范圍N=length(t); % 采樣數(shù) % 調(diào)制部分% 基帶信號的產(chǎn)生data=randn(1,nb)>0.5; % 調(diào)用一個(gè)隨機(jī)函數(shù)(0 or 1),輸出到一個(gè)1*100的矩陣datanrz=data.*2-1; % 變成極性碼data1=zeros(1,nb/delta_T); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb data1(q-1)/delta_T+1:q/delta_T)=datanrz(q); % 將極性碼變成對

28、應(yīng)的波形信號end % 將基帶信號變換成對應(yīng)波形信號data0=zeros(1,nb/delta_T); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb data0(q-1)/delta_T+1:q/delta_T)=data(q); % 將極性碼變成對應(yīng)的波形信號end % 發(fā)射的信號data2=abs(fft(data1);% 串并轉(zhuǎn)換,將奇偶位數(shù)據(jù)分開idata=datanrz(1:ml:(nb-1); % 將奇偶位分開,因此間隔m1為2 qdata=datanrz(2:ml:nb);% QPSK信號的調(diào)制ich=zeros(1,nb/delta_T/2); % 創(chuàng)建一

29、個(gè)1*nb/delta_T/2的零矩陣,以便后面存放奇偶位數(shù)據(jù)for i=1:nb/2 ich(i-1)/delta_T+1:i/delta_T)=idata(i);endfor ii=1:N/2 a(ii)=sqrt(2/T)*cos(2*pi*fc*t(ii); endidata1=ich.*a; % 奇數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到一路的調(diào)制信號qch=zeros(1,nb/2/delta_T);for j1=1:nb/2 qch(j1-1)/delta_T+1:j1/delta_T)=qdata(j1);endfor jj=1:N/2 b(jj)=sqrt(2/T)*sin(2*pi*f

30、c*t(jj);endqdata1=qch.*b; % 偶數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到另一路的調(diào)制信號s=idata1+qdata1; % 將奇偶位數(shù)據(jù)合并,s即為QPSK調(diào)制信號ss=abs(fft(s); % 快速傅里葉變換得到頻譜% 瑞利衰落信道和高斯信道% 瑞利衰落信道ray_ich=raylrnd(0.8,1,nb/2/delta_T);ray_qch=raylrnd(0.8,1,nb/2/delta_T);Ray_idata=idata1.*ray_ich;Ray_qdata=qdata1.*ray_qch;Ray_s=Ray_idata+Ray_qdata;% 高斯信道 s1=a

31、wgn(s,SNR); % 通過高斯信道之后的信號s11=abs(fft(s1); % 快速傅里葉變換得到頻譜 s111=s1-s; % 高斯噪聲曲線%Awgn_s=awgn(Ray_s,SNR); % 通過高斯信道再通過瑞利衰落信道% QPSK 解調(diào)部分% 解調(diào)部分(高斯信道)idata2=s1.*a; % 這里面其實(shí)隱藏了一個(gè)串并轉(zhuǎn)換的過程qdata2=s1.*b; % 對應(yīng)的信號與正余弦信號相乘idata3=zeros(1,nb/2); % 建立1*nb數(shù)組,以存放解調(diào)之后的信號qdata3=zeros(1,nb/2);% 抽樣判決的過程,與0作比較,data>=0,則置1,否則置

32、0for n=1:nb/2% A1(n)=sum(idata2(n-1)/delta_T+1:n/delta_T); if sum(idata2(n-1)/delta_T+1:n/delta_T)>=0 idata3(n)=1; else idata3(n)=0; end% A2(n)=sum(qdata2(n-1)/delta_T+1:n/delta_T); if sum(qdata2(n-1)/delta_T+1:n/delta_T)>=0 qdata3(n)=1; else qdata3(n)=0; endend % 為了顯示星座圖,將信號進(jìn)行處理idata4=zeros(1

33、,nb/2);qdata4=zeros(1,nb/2);for n=1:nb/2 Awgn_ichsum(n)=sum(idata2(n-1)/delta_T+1:n/delta_T)*delta_T; if Awgn_ichsum(n)>=0 idata4(n)=1; else idata4(n)=0; end Awgn_qchsum(n)=sum(qdata2(n-1)/delta_T+1:n/delta_T)*delta_T; if Awgn_qchsum(n)>=0 qdata4(n)=1; else qdata4(n)=0; endend% 將判決之后的數(shù)據(jù)存放進(jìn)數(shù)組de

34、modata=zeros(1,nb);demodata(1:ml:(nb-1)=idata3; % 存放奇數(shù)位demodata(2:ml:nb)=qdata3; % 存放偶數(shù)位%為了顯示,將它變成波形信號(即傳輸一個(gè)1代表單位寬度的高電平)demodata1=zeros(1,nb/delta_T); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb demodata1(q-1)/delta_T+1:q/delta_T)=demodata(q); % 將極性碼變成對應(yīng)的波形信號end % 累計(jì)誤碼數(shù)% abs(demodata-data)求接收端和發(fā)射端% 數(shù)據(jù)差的絕對值,累計(jì)之

35、后就是誤碼個(gè)數(shù)Awgn_num_BER=sum(abs(demodata-data) % 解調(diào)部分(瑞利+高斯)Ray_idata2=Ray_s.*a; % 這里面其實(shí)隱藏了一個(gè)串并轉(zhuǎn)換的過程Ray_qdata2=Ray_s.*b; % 對應(yīng)的信號與正余弦信號相乘% Ray_idata3=zeros(1,nb/2); % 建立1*nb數(shù)組,以存放解調(diào)之后的信號% Ray_qdata3=zeros(1,nb/2);% 抽樣判決的過程,與0作比較,data>=0,則置1,否則置0% for n=1:nb/2% if Ray_sum(Ray_idata2(n-1)/delta_T+1:n/de

36、lta_T)>=0% Ray_idata3(n)=1;% else Ray_idata3(n)=0; % end% if Ray_sum(Ray_qdata2(n-1)/delta_T+1:n/delta_T)>=0% Ray_qdata3(n)=1;% else Ray_qdata3(n)=0;% end% end % 為了顯示星座圖,將信號進(jìn)行處理Ray_idata4=zeros(1,nb/2);Ray_qdata4=zeros(1,nb/2);for n=1:nb/2 Ray_ichsum(n)=sum(idata2(n-1)/delta_T+1:n/delta_T)*del

37、ta_T; if Ray_ichsum(n)>=0 Ray_idata4(n)=1; else Ray_idata4(n)=0; end Ray_qchsum(n)=sum(qdata2(n-1)/delta_T+1:n/delta_T)*delta_T; if Ray_qchsum(n)>=0 Ray_qdata4(n)=1; else Ray_qdata4(n)=0; endend % 將判決之后的數(shù)據(jù)存放進(jìn)數(shù)組Ray_demodata=zeros(1,nb);Ray_demodata(1:ml:(nb-1)=Ray_idata4; % 存放奇數(shù)位Ray_demodata(2:

38、ml:nb)=Ray_qdata4; % 存放偶數(shù)位%為了顯示,將它變成波形信號(即傳輸一個(gè)1代表單位寬度的高電平)Ray_demodata1=zeros(1,nb/delta_T); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb Ray_demodata1(q-1)/delta_T+1:q/delta_T)=Ray_demodata(q); % 將極性碼變成對應(yīng)的波形信號end % 累計(jì)誤碼數(shù)% abs(demodata-data)求接收端和發(fā)射端% 數(shù)據(jù)差的絕對值,累計(jì)之后就是誤碼個(gè)數(shù)Ray_num_BER=sum(abs(Ray_demodata-data) % %

39、誤碼率計(jì)算% 調(diào)用了cm_sm32();和cm_sm33()函數(shù)%聲明: 函數(shù)聲明在另外倆個(gè)M文件中%作用: cm_sm32()用于瑞利信道誤碼率的計(jì)算% cm_sm33()用于高斯信道誤碼率的計(jì)算% ecoh on/off 作用在于決定是否顯示指令內(nèi)容%SNRindB1=0:1:6;SNRindB2=0:0.1:6;% 瑞利衰落信道 for i=1:length(SNRindB1), pb,ps=cm_sm32(SNRindB1(i); % 比特誤碼率 smld_bit_ray_err_prb(i)=pb; smld_symbol_ray_err_prb(i)=ps; disp(ps,pb)

40、; echo off; end;% 高斯信道 echo on;for i=1:length(SNRindB1), pb1,ps1=cm_sm33(SNRindB1(i); smld_bit_awgn_err_prb(i)=pb1; smld_symbol_awgn_err_prb(i)=ps1; disp(ps1,pb1); echo off;end;% 理論曲線echo on;for i=1:length(SNRindB2), SNR=exp(SNRindB2(i)*log(10)/10); % 信噪比 theo_err_awgn_prb(i)=0.5*erfc(sqrt(SNR); % 高

41、斯噪聲理論誤碼率 theo_err_ray_prb(i)=0.5*(1-1/sqrt(1+1/SNR); % 瑞利衰落信道理論誤碼率 echo off;end;%h = spectrum.welch; % 類似于C語言的宏定義,方便以下的調(diào)用 % 輸出顯示部分% 第一部分(理想)figure(1)subplot(3,2,1);plot(data0),title('基帶信號');axis(0 20000 -2 2);subplot(3,2,2);psd(h,data1,'fs',fs),title('基帶信號功率譜密度');subplot(3,2,

42、3);plot(s),title('調(diào)制信號');axis(0 500 -3 3);subplot(3,2,4);psd(h,s,'fs',fs),title('調(diào)制信號功率譜密度');subplot(3,2,5);plot(demodata1),title('解調(diào)輸出');axis(0 20000 -2 2);subplot(3,2,6);psd(h,demodata1,'fs',fs),title('解調(diào)輸出功率譜密度');% 通過高斯信道figure(2)subplot(2,2,1);plot

43、(s1),title('調(diào)制信號(Awgn)');axis(0 500 -5 5);subplot(2,2,2);psd(h,s1,'fs',fs),title('調(diào)制信號功率譜密度(Awgn)');subplot(2,2,3);plot(s111),title('高斯噪聲曲線');axis(0 2000 -5 5);subplot(2,2,4);for i=1:nb/2plot(idata(i),qdata(i),'r+'),title('QPSK信號星座圖(Awgn)');hold on;axi

44、s(-2 2 -2 2);plot(Awgn_ichsum(i),Awgn_qchsum(i),'*');hold on;legend('理論值(發(fā)射端)','實(shí)際值(接收端)');end%通過高斯信道再通過瑞利衰落信道 figure(3) subplot(2,2,1)plot(Ray_s),title('調(diào)制信號(Ray+Awgn)');axis(0 500 -5 5);subplot(2,2,2);psd(h,Ray_s,'fs',fs),title('調(diào)制信號功率譜密度(Ray)');subp

45、lot(2,2,3);for i=1:nb/2plot(idata(i),qdata(i),'r+'),title('QPSK信號星座圖(Awgn+Ray)');hold on;axis(-2 2 -2 2);plot(Ray_ichsum(i),Ray_qchsum(i),'*');hold on;legend('理論值(發(fā)射端)','實(shí)際值(接收端)');end subplot(2,2,4) semilogy(SNRindB2,theo_err_awgn_prb,'r'),title('

46、誤碼率曲線');hold on; semilogy(SNRindB1,smld_bit_awgn_err_prb,'r*');hold on; semilogy(SNRindB2,theo_err_ray_prb);hold on; semilogy(SNRindB1,smld_bit_ray_err_prb,'*'); xlabel('Eb/No');ylabel('BER'); legend('理論AWGN','仿真AWGN','理論Rayleigh','仿真Ra

47、yleigh');%文件2function pb,ps=cm_sm32(snr_in_dB)% pb,ps=cm_sm32(snr_in_dB)% CM_SM3 finds the probability of bit error and symbol error for % the given value of snr_in_dB, signal to noise ratio in dB.N=100;E=1; % energy per symbolnumofsymbolerror=0;numofbiterror=0;counter=0;snr=10(snr_in_dB/10); %

48、signal to noise ratiosgma=sqrt(E/snr)/2; % noise variances00=1 0; s01=0 1; s11=-1 0; s10=0 -1; % signal mapping% generation of the data sourcewhile(numofbiterror<100)for i=1:N, temp=rand; % a uniform random variable between 0 and 1 if (temp<0.25), % with probability 1/4, source output is "00" dsource1(i)=0; dsource2(i)=0; elseif (temp<0

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論