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頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

/引言近年來,軟件無線電作為解決通信體制兼容性問題的重要方法受到各方面的注意。它的中心思想是在通用的硬件平臺(tái)上,用軟件來實(shí)現(xiàn)各種功能,包括調(diào)制解調(diào)類型、數(shù)據(jù)格式、通信協(xié)議等。通過軟件的增加、修改或升級(jí)就可以實(shí)現(xiàn)新的功能,充分體現(xiàn)了體制的靈活性、可擴(kuò)展性等。其中軟件的增加、高頻譜效率的調(diào)制解調(diào)模塊是移動(dòng)通信系統(tǒng)的關(guān)鍵技術(shù),它的軟件化也是實(shí)現(xiàn)軟件無線電的重要環(huán)節(jié)。QPSK是英文QuadraturePhaseShiftKeying的縮略語簡稱,意為正交相移鍵控,是一種數(shù)字調(diào)制方式。在19世紀(jì)80年代初期,人們選用恒定包絡(luò)數(shù)字調(diào)制。這類數(shù)字調(diào)制技術(shù)的優(yōu)點(diǎn)是已調(diào)信號(hào)具有相對(duì)窄的功率譜和對(duì)放大設(shè)備沒有線性要求,不足之處是其頻譜利用率低于線性調(diào)制技術(shù)。19世紀(jì)80年代中期以后,四相絕對(duì)移相鍵控(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é)原理。并對(duì)“通信”這個(gè)概念有個(gè)整體的理解,學(xué)習(xí)數(shù)字調(diào)制中誤碼率測試的標(biāo)準(zhǔn)與計(jì)算方法。同時(shí)還要復(fù)習(xí)隨機(jī)信號(hào)中時(shí)域用自相關(guān)函數(shù),頻域用功率譜密度來描述平穩(wěn)隨機(jī)過程的特性等基礎(chǔ)知識(shí),來理解高斯信道中噪聲的表示方法,以便在編程中使用。理解QPSK調(diào)制解調(diào)的基本原理,并使用MATLAB編程實(shí)現(xiàn)QPSK信號(hào)在高斯信道和瑞利衰落信道下傳輸,以與該方式的誤碼率測試。復(fù)習(xí)MATLAB編程的基礎(chǔ)知識(shí)和編程的常用算法以與使用MATLAB仿真系統(tǒng)的注意事項(xiàng),并鍛煉自己的編程能力,通過編程完成QPSK調(diào)制解調(diào)系統(tǒng)的仿真,以與誤碼率測試,并得出響應(yīng)波形。在完成要求任務(wù)的條件下,嘗試優(yōu)化程序。本課設(shè)是基于Matlab的軟件仿真,只需PC機(jī)上安裝MATLAB6.0或者以上版本即可。課設(shè)的要求是1.構(gòu)建一個(gè)理想信道基本QPSK仿真系統(tǒng),要求仿真結(jié)果有:基帶輸入波形與其功率譜;QPSK信號(hào)與其功率譜;QPSK信號(hào)星座圖。2.構(gòu)建一個(gè)在AWGN(高斯白噪聲)信道條件下的QPSK仿真系統(tǒng),得出高斯白噪聲信道條件下的誤碼性能以與高斯白噪聲的理論曲線,要求所有誤碼性能曲線在同一坐標(biāo)比例下繪制。通過本次實(shí)驗(yàn),除了和隊(duì)友培養(yǎng)了默契學(xué)到了知識(shí)之外,還可以將次實(shí)驗(yàn)作為一種推廣,讓更多的學(xué)生來深入一層的了解QPSK以至其他調(diào)制方式的原理和實(shí)現(xiàn)方法??梢苑奖銓W(xué)生進(jìn)行測試和對(duì)比。足不出戶便可以做實(shí)驗(yàn)。1方案論證本次課設(shè)是基于MATLAB環(huán)境下對(duì)QPSK調(diào)制解調(diào)系統(tǒng)進(jìn)行仿真。在Matlab環(huán)境下有兩種仿真方案,一種是基于simulink對(duì)QPSK進(jìn)行模塊化的仿真,要求是不能直接調(diào)用軟件里面的集成模塊,以此來實(shí)現(xiàn)QPSK系統(tǒng)的仿真。另一種方案是在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是一款由美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件。MATLAB是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以與數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境。除了矩陣運(yùn)算、繪制函數(shù)/數(shù)據(jù)圖像等常用功能外,MATLAB還可以用來創(chuàng)建用戶界面與與調(diào)用其它語言(包括C,C++和FORTRAN)編寫的程序。我們此次可以應(yīng)用它的這種功能,在熟練掌握語言編程以與深刻理解QPSK的基礎(chǔ)上,嚴(yán)格按照程序仿真的流程圖對(duì)各部分進(jìn)行程序編寫并仿真。應(yīng)用理論知識(shí)來驗(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)理論知識(shí)的情況下,根據(jù)理論知識(shí)構(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)操作就能完成,它提供了一種更快捷、直接明了的方式,而且用戶可以立即看到系統(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)樵陔娮与娐分?,總體電路對(duì)參數(shù)設(shè)置是非常敏感的,一旦參數(shù)設(shè)置出現(xiàn)小的偏差,將會(huì)影響到整個(gè)電路的結(jié)果。另一方面程序的仿真過程中可以將主程序分為很多個(gè)子程序,將它們逐個(gè)進(jìn)行仿真,這樣不會(huì)影響到整體結(jié)果,可以逐步進(jìn)行調(diào)試。結(jié)合以上的比較論證以與自身的能力,最終我決定用程序法來完成此次對(duì)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è)比特分成一組,共有四種組合,即00,01,10,11,其中每一組稱為雙比特碼元。每一個(gè)雙比特碼元是由兩位二進(jìn)制信息比特組成,它們分別代表四進(jìn)制四個(gè)符號(hào)中的一個(gè)符號(hào)。QPSK中每次調(diào)制可傳輸2個(gè)信息比特,這些信息比特是通過載波的四種相位來傳遞的。解調(diào)器根據(jù)星座圖與接收到的載波信號(hào)的相位來判斷發(fā)送端發(fā)送的信息比特。數(shù)字調(diào)制用“星座圖”來描述,星座圖中定義了一種調(diào)制技術(shù)的兩個(gè)基本參數(shù):(1)信號(hào)分布;(2)與調(diào)制數(shù)字比特之間的映射關(guān)系。星座圖中規(guī)定了星座點(diǎn)與傳輸比特間的對(duì)應(yīng)關(guān)系,這種關(guān)系稱為“映射”,一種調(diào)制技術(shù)的特性可由信號(hào)分布和映射完全定義,即可由星座圖來完全定義[3]。在QPSK調(diào)制中,QPSK信號(hào)可以看作兩個(gè)載波正交的2PSK調(diào)制器構(gòu)成。串/并變換器將輸入的二進(jìn)制序列分為速率減半的兩個(gè)并行的雙極性序列,然后分別對(duì)sinωct和cosωct調(diào)制,相加后得到QPSK調(diào)制信號(hào)。QPSK同相支路和正交支路可分別采用相干解調(diào)方式解調(diào),得到I(t)和Q(t)。經(jīng)抽樣判決和并/串變換器,將上、下支路得到的并行數(shù)據(jù)恢復(fù)成串行數(shù)據(jù)。2.1QPSK調(diào)制原理在QPSK調(diào)制中,QPSK信號(hào)可以看作兩個(gè)載波正交的2PSK調(diào)制器構(gòu)成。串/并變換器將輸入的二進(jìn)制序列分為速率減半的兩個(gè)并行的雙極性序列,然后分別對(duì)sinωct和cosωct調(diào)制,相加后得到QPSK調(diào)制信號(hào)。QPSK同相支路和正交支路可分別采用相干解調(diào)方式解調(diào),得到I(t)和Q(t)。經(jīng)抽樣判決和并/串變換器,將上、下支路得到的并行數(shù)據(jù)恢復(fù)成串行數(shù)據(jù)。調(diào)制原理框圖如圖2.1所示圖2.1QPSK調(diào)制原理框圖原理分析:基本原理與系統(tǒng)結(jié)構(gòu)QPSK與二進(jìn)制PSK一樣,傳輸信號(hào)包含的信息都存在于相位中。的別的載波相位取四個(gè)等間隔值之一,如л/4,3л/4,5л/4,和7л/4。相應(yīng)的,可將發(fā)射信號(hào)定義為0≤t≤TSi(t)=0(2.1.1)其中,i=1,2,2,4;E為發(fā)射信號(hào)的每個(gè)符號(hào)的能量,T為符號(hào)持續(xù)時(shí)間,載波頻率f等于nc/T,nc為固定整數(shù)。每一個(gè)可能的相位值對(duì)應(yīng)于一個(gè)特定的二位組。例如,可用前述的一組相位值來表示格雷碼的一組二位組:10,00,01,11。下面介紹QPSK信號(hào)的產(chǎn)生和檢測。如果a為典型的QPSK發(fā)射機(jī)框圖。輸入的二進(jìn)制數(shù)據(jù)序列首先被不歸零(NRZ)電平編碼轉(zhuǎn)換器轉(zhuǎn)換為極性形式,即負(fù)號(hào)1和0分別用和-表示。接著,該二進(jìn)制波形被分接器分成兩個(gè)分別由輸入序列的奇數(shù)位偶數(shù)位組成的彼此獨(dú)立的二進(jìn)制波形,這兩個(gè)二進(jìn)制波形分別用a1(t),和a2(t)表示。容易注意到,在任何一信號(hào)時(shí)間間隔內(nèi)a1(t),和a2(t)的幅度恰好分別等于Si1和Si2,即由發(fā)送的二位組決定。這兩個(gè)二進(jìn)制波形a1(t),和a2(t)被用來調(diào)制一對(duì)正交載波或者說正交基本函數(shù):1(t)=,2(t)=。這樣就得到一對(duì)二進(jìn)制PSK信號(hào)。1(t)和2(t)的正交性使這兩個(gè)信號(hào)可以被獨(dú)立地檢測。最后,將這兩個(gè)二進(jìn)制PSK信號(hào)相加,從而得期望的QPSK。2.2QPSK解調(diào)原理在QPSK解調(diào)中,正交支路和同相支路分別設(shè)置兩個(gè)相關(guān)器(或匹配濾波器),得到I(t)和Q(t),經(jīng)電平判決和并/串變換后即可恢復(fù)原始信息從發(fā)射機(jī)發(fā)射的已調(diào)信號(hào)經(jīng)過傳輸媒質(zhì)傳播到接收端,接收機(jī)接收到的己調(diào)信號(hào)為:SQPSK(t)=I(t)cosωct+Q(t)sinωct(2.2.I(t)、Q(t)分別為同相和正交支路,ωc為載波頻率,那么相干解調(diào)后,同相支路相乘可得:Ii(t)=SQPSK(t)cosωct=[I(t)cosωct+Q(t)sinωct]cosωct=I(t)cos2wct+Q(t)sinwct/2=I(t)/2-I(t)cos2ωct+Q(t)sin2ωct(2.2.2)Qq(t)=SQPSK(t)sinωct=[I(t)cosωct+Q(t)sinωct]sinωct=I(t)sinωct×cosωct+Q(t)sin2ωct=I(t)sin2ωct/2+Q(t)-Q(t)cos2ωct(2.2.3經(jīng)過低通濾波器可得:Ii(t)=0.5I(t),Qq(t)=0.5Q(t)(2.2.4原理框圖如圖2.2所示:1(t)同相信道門限=0發(fā)送二進(jìn)制序列的估計(jì)判決門限低通filrer發(fā)送二進(jìn)制序列的估計(jì)判決門限低通filrer判決門限復(fù)接器接收信號(hào)x(t)低通filrer2(t)正交信道門限=0 圖2.2QPSK解調(diào)原理框圖原理分析:QPSK接收機(jī)由一對(duì)共輸入地相關(guān)器組成。這兩個(gè)相關(guān)器分別提供本地產(chǎn)生地相干參考信號(hào)1(t)和2(t)。相關(guān)器接收信號(hào)x(t),相關(guān)器輸出地x1和x2被用來與門限值0進(jìn)行比較。如果x1>0,則判決同相信道地輸出為符號(hào)1;如果x1<0,則判決同相信道的輸出為符號(hào)0。;類似地。如果正交通道也是如此判決輸出。最后同相信道和正交信道輸出這兩個(gè)二進(jìn)制數(shù)據(jù)序列被復(fù)加器合并,重新得到原始的二進(jìn)制序列。在AWGN信道中,判決結(jié)果具有最小的負(fù)號(hào)差錯(cuò)概率。2.3調(diào)制解調(diào)系統(tǒng)總框圖圖2.3QPSK調(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.2QPSK調(diào)制方式的Matlab仿真I路信號(hào)是用余弦載波,由2進(jìn)制數(shù)據(jù)流的奇數(shù)序列組成;Q路信號(hào)用正弦載波,由2進(jìn)制數(shù)據(jù)流的偶數(shù)序列組成。下面的a是Idata,b就是Qdata,它們分布與各自的載波相乘分別輸出I路信號(hào)和Q路信號(hào)。I路信號(hào)加上Q路信號(hào)就是QPSK輸出信號(hào)。當(dāng)I路載波信號(hào)是0相位時(shí)為1,是180°相位時(shí)為0;當(dāng)Q路載波信號(hào)是0相位時(shí)為1,是180°相位時(shí)為0。調(diào)制仿真圖如圖3.2所示:圖3.2matlab調(diào)制仿真圖3.3QPSK解調(diào)方式Matlab仿真正交支路和同相支路分別設(shè)置兩個(gè)相關(guān)器(或匹配濾波器),得到I(t)和Q(t),經(jīng)電平判決和并/串變換后即可恢復(fù)原始信息。I_demo=QPSK_rc_n0.*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.3matlab解調(diào)仿真圖根據(jù)圖2.1和圖2.2的流程框圖設(shè)計(jì)仿真程序,得出結(jié)果并且分析如下:3.4理想信道下的仿真仿真結(jié)果出現(xiàn)的波形依次是基帶信號(hào),基帶信號(hào)的功率譜密度,調(diào)制信號(hào),調(diào)制信號(hào)的功率譜密度,解調(diào)輸出,解調(diào)輸出功率譜密度。實(shí)驗(yàn)結(jié)果如圖3.4所示圖3.4理想信道下的QPSK仿真結(jié)果 圖3.4結(jié)果顯示,完成了QPSK信號(hào)在理想信道上的調(diào)制,傳輸,解調(diào)的過程,由于調(diào)制過程中加進(jìn)了載波,因此調(diào)制信號(hào)的功率譜密度會(huì)發(fā)生變化。并且可以看出調(diào)制解調(diào)的結(jié)果沒有誤碼。3.5高斯信道下的仿真在高斯信道下的仿真結(jié)果出現(xiàn)的波形依次是調(diào)制信號(hào),調(diào)制信號(hào)功率譜密度,高斯噪聲曲線,QPSK信號(hào)星座圖(Awgn)。結(jié)果如圖3.4所示: 圖3.5高斯信道下的QPSK仿真結(jié)果 由圖3.5可以得到高斯信道下的調(diào)制信號(hào),高斯噪聲,調(diào)制輸出功率譜密度曲線和QPSK信號(hào)的星座圖。 在高斯噪聲的影響下,調(diào)制信號(hào)的波形發(fā)生了明顯的變化,其功率譜密度函數(shù)相對(duì)于圖3.4中的調(diào)制信號(hào)的功率譜密度只發(fā)生了微小的變化,原因在于高斯噪聲是一個(gè)均值為0的白噪聲,在各個(gè)頻率上其功率是均勻的,因此此結(jié)果是真確的。星座圖反映可接收信號(hào)早高斯噪聲的影響下發(fā)生了誤碼,但是大部分還是保持了原來的特性。3.6先通過瑞利衰落信道再通過高斯信道的仿真信號(hào)先通過瑞麗衰落信道再通過高斯信道的仿真后出現(xiàn)的波形依次是調(diào)制信號(hào)(Ray+Awgn),調(diào)試信號(hào)功率譜密度(Ray),QPSK信號(hào)星座圖(Awgn+Ray),誤碼率曲線。仿真結(jié)果如圖3.6所示: 圖3.6先通過瑞利衰落信道再通過高斯信道的仿真結(jié)果 由圖3.6可以得到瑞利衰落信道前后的星座圖,調(diào)制信號(hào)的曲線圖與其功率譜密度。最后顯示的是高斯信道和瑞利衰落信道的誤碼率對(duì)比。由圖可知瑞利衰落信道下的誤碼率比高斯信道下的誤碼率高。至此,仿真實(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)制后的圖對(duì)比可知仿真正確。通過圖3.3可知瑞利信道下的誤碼率和誤比特率明顯高于高斯信道,并與理論值基本符合。隨著通信事業(yè)的發(fā)展,通信系統(tǒng)的設(shè)計(jì)也會(huì)越來越復(fù)雜,通過計(jì)算機(jī)的仿真,可以大大地降低通信過程實(shí)驗(yàn)成本。本文設(shè)計(jì)出一個(gè)QPSK仿真模型,以衡量QPSK在理想信道,高斯白噪聲信道,以與先通過瑞利再通過高斯信道的性能,通過仿真,可以更好地了解QPSK系統(tǒng)的工作原理,而且為硬件的研制提供一定的參考作用。這次的通信專業(yè)方向設(shè)計(jì)讓我把通信原理的一些內(nèi)容又重新復(fù)習(xí)了一遍,中間出了很多問題,比如用matlab7.0版本就不能把幾個(gè)圖整合到一起,也就是不能使用subplot函數(shù),會(huì)出現(xiàn)Undefinedfunctionorvariable"hanalysisparammenu"的錯(cuò)誤.而我后來又換成了matlab7.8就可以實(shí)現(xiàn)該功能。我把程序發(fā)給老師后老師細(xì)心的幫我進(jìn)行了排錯(cuò),我錯(cuò)誤的以為依靠高版本的優(yōu)化功能把在低版本不能實(shí)現(xiàn)的功能強(qiáng)制執(zhí)行,所以我還有很多地方需要學(xué)習(xí),包括對(duì)誤碼率進(jìn)行計(jì)算的兩個(gè)函數(shù)我也是借鑒的網(wǎng)上的程序。這次方向設(shè)計(jì)讓我學(xué)會(huì)了很多,也認(rèn)識(shí)到了自己還有很多方面的欠缺,希望在今后的學(xué)習(xí)和工作中好好努力,盡快的彌補(bǔ)自己的不足。致謝一個(gè)月的課程設(shè)計(jì)很快就過去了,在這期間我學(xué)習(xí)和掌握了使用MATLAB的工具箱simulink對(duì)數(shù)字通信系統(tǒng)的仿真?;叵肫疬@期間的經(jīng)歷,感慨萬千。課程設(shè)計(jì)是對(duì)大學(xué)四年所學(xué)的知識(shí)的一次總結(jié)、一次檢驗(yàn)。同時(shí)也是鍛煉和進(jìn)一步提高自己自學(xué)能力的一次寶貴機(jī)會(huì)。在做本次設(shè)計(jì)的初期階段,由于自己在很的多知識(shí)點(diǎn)上有所遺忘,因此設(shè)計(jì)的進(jìn)度相當(dāng)緩慢,特別是在原理分析和simulink仿真上更是裹足不前。我重點(diǎn)復(fù)習(xí)并新學(xué)習(xí)了相關(guān)章節(jié)的知識(shí),并很快理解了要點(diǎn),進(jìn)度由此快速展開。設(shè)計(jì)后期階段,在設(shè)計(jì)思路上卡了殼。此時(shí),查閱了很多資料并多次請(qǐng)教老師,使我得以進(jìn)行軟件調(diào)試從而驗(yàn)證了設(shè)計(jì)的正確可行性并按時(shí)完成設(shè)計(jì),在此特別感謝魏瑞老師的指導(dǎo),此外還要感謝學(xué)校教研室給我們這次寶貴而難得的機(jī)會(huì),也感謝幫助和支持我的同學(xué)。在此表示衷心的感謝!。由于理論知識(shí)有限、文中難免出現(xiàn)不足之處,敬請(qǐng)各位老師批評(píng)指正。參考文獻(xiàn)[1]張志勇等.《精通matlab6.5》[J].北京:北京航空航天大學(xué)出版社,2003.3.

[2]JohnG.ProakisMasoudSalehiGerhardBauch.著劉樹棠譯comtemporarycommunicationsystemsusingmatlabandsimulink.北京:電子工業(yè)出版社,2005.4.

[3]樊昌信,張甫詡、徐炳祥、吳成柯.《通信原理》[M].北京:國防工業(yè)出版社,2001.5.[4]王立寧,樂光新,詹菲等.《MATLAB與通信仿真》[M].北京:人民郵電出版社,1999[5]陳懷琛,吳大正,高西金《matlab與在信息課程中的應(yīng)用》[J]北京:電子工業(yè)出版社,2006[6]樓天順、劉曉東、李博涵《基于matlab7.x的系統(tǒng)分析與設(shè)計(jì)》[M].西安:西安電子科技大學(xué)出版社,2005.5[7]張肅文主編.《高頻電子線路》[M].北京:高等教育出版社,2004.11[8]程佩青編著.《數(shù)字信號(hào)處理教程》[M].北京:清華大學(xué)出版社,2006.3[9]張輝、曹麗娜、王勇編著.《通信原理輔導(dǎo)》[M]西安.西安電子科技大學(xué)出版社,2004.11[10]徐明遠(yuǎn).《MATLAB仿真在通信工程中的應(yīng)用》[J].西安.西安電子科技大學(xué)出版社,2005.6[11]田麗華等.《編碼理論》[J].西安西安電子科技大學(xué)出版社,2003.8附錄%主文件%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%題目:基于matlab環(huán)境下的QPSK仿真%%%%%%%作者:楊遇春%%%%%%%完成日期:2015-01-14%%%%%%%郵箱:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;%%%%%%%%%%%%%%%%%%%%%%%%初始化參數(shù)%%%%%%%%%%%%%%%%%%%%%T=1;%基帶信號(hào)寬度,也就是頻率fc=10/T;%載波頻率ml=2;%調(diào)制信號(hào)類型的一個(gè)標(biāo)志位(選取2的原因見23行)nb=100;%傳輸?shù)谋忍財(cái)?shù)delta_T=T/200;%采樣間隔fs=1/delta_T;%采樣頻率SNR=0;%信噪比t=0:delta_T:nb*T-delta_T;%限定t的取值范圍N=length(t);%采樣數(shù)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%調(diào)制部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%基帶信號(hào)的產(chǎn)生data=randn(1,nb)>0.5;%調(diào)用一個(gè)隨機(jī)函數(shù)(0or1),輸出到一個(gè)1*100的矩陣datanrz=data.*2-1;%變成極性碼data1=zeros(1,nb/delta_T);%創(chuàng)建一個(gè)1*nb/delta_T的零矩陣forq=1:nbdata1((q-1)/delta_T+1:q/delta_T)=datanrz(q);%將極性碼變成對(duì)應(yīng)的波形信號(hào)end%將基帶信號(hào)變換成對(duì)應(yīng)波形信號(hào)data0=zeros(1,nb/delta_T);%創(chuàng)建一個(gè)1*nb/delta_T的零矩陣forq=1:nbdata0((q-1)/delta_T+1:q/delta_T)=data(q);%將極性碼變成對(duì)應(yīng)的波形信號(hào)end%發(fā)射的信號(hào)data2=abs(fft(data1));%串并轉(zhuǎn)換,將奇偶位數(shù)據(jù)分開idata=datanrz(1:ml:(nb-1));%將奇偶位分開,因此間隔m1為2qdata=datanrz(2:ml:nb);%QPSK信號(hào)的調(diào)制ich=zeros(1,nb/delta_T/2);%創(chuàng)建一個(gè)1*nb/delta_T/2的零矩陣,以便后面存放奇偶位數(shù)據(jù)fori=1:nb/2ich((i-1)/delta_T+1:i/delta_T)=idata(i);endforii=1:N/2a(ii)=sqrt(2/T)*cos(2*pi*fc*t(ii));endidata1=ich.*a;%奇數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到一路的調(diào)制信號(hào)qch=zeros(1,nb/2/delta_T);forj1=1:nb/2qch((j1-1)/delta_T+1:j1/delta_T)=qdata(j1);endforjj=1:N/2b(jj)=sqrt(2/T)*sin(2*pi*fc*t(jj));endqdata1=qch.*b;%偶數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到另一路的調(diào)制信號(hào)s=idata1+qdata1;%將奇偶位數(shù)據(jù)合并,s即為QPSK調(diào)制信號(hà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=awgn(s,SNR);%通過高斯信道之后的信號(hào)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;%對(duì)應(yīng)的信號(hào)與正余弦信號(hào)相乘idata3=zeros(1,nb/2);%建立1*nb數(shù)組,以存放解調(diào)之后的信號(hào)qdata3=zeros(1,nb/2);%抽樣判決的過程,與0作比較,data>=0,則置1,否則置0forn=1:nb/2%A1(n)=sum(idata2((n-1)/delta_T+1:n/delta_T));ifsum(idata2((n-1)/delta_T+1:n/delta_T))>=0idata3(n)=1;elseidata3(n)=0;end%A2(n)=sum(qdata2((n-1)/delta_T+1:n/delta_T));ifsum(qdata2((n-1)/delta_T+1:n/delta_T))>=0qdata3(n)=1;elseqdata3(n)=0;endend%為了顯示星座圖,將信號(hào)進(jìn)行處理idata4=zeros(1,nb/2);qdata4=zeros(1,nb/2);forn=1:nb/2Awgn_ichsum(n)=sum(idata2((n-1)/delta_T+1:n/delta_T))*delta_T;ifAwgn_ichsum(n)>=0idata4(n)=1;elseidata4(n)=0;endAwgn_qchsum(n)=sum(qdata2((n-1)/delta_T+1:n/delta_T))*delta_T;ifAwgn_qchsum(n)>=0qdata4(n)=1;elseqdata4(n)=0;endend%將判決之后的數(shù)據(jù)存放進(jìn)數(shù)組demodata=zeros(1,nb);demodata(1:ml:(nb-1))=idata3;%存放奇數(shù)位demodata(2:ml:nb)=qdata3;%存放偶數(shù)位%為了顯示,將它變成波形信號(hào)(即傳輸一個(gè)1代表單位寬度的高電平)demodata1=zeros(1,nb/delta_T);%創(chuàng)建一個(gè)1*nb/delta_T的零矩陣forq=1:nbdemodata1((q-1)/delta_T+1:q/delta_T)=demodata(q);%將極性碼變成對(duì)應(yīng)的波形信號(hào)end%累計(jì)誤碼數(shù)%abs(demodata-data)求接收端和發(fā)射端%數(shù)據(jù)差的絕對(duì)值,累計(jì)之后就是誤碼個(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;%對(duì)應(yīng)的信號(hào)與正余弦信號(hào)相乘%Ray_idata3=zeros(1,nb/2);%建立1*nb數(shù)組,以存放解調(diào)之后的信號(hào)%Ray_qdata3=zeros(1,nb/2);%抽樣判決的過程,與0作比較,data>=0,則置1,否則置0%forn=1:nb/2%ifRay_sum(Ray_idata2((n-1)/delta_T+1:n/delta_T))>=0%Ray_idata3(n)=1;%elseRay_idata3(n)=0;%end%ifRay_sum(Ray_qdata2((n-1)/delta_T+1:n/delta_T))>=0%Ray_qdata3(n)=1;%elseRay_qdata3(n)=0;%end%end%為了顯示星座圖,將信號(hào)進(jìn)行處理Ray_idata4=zeros(1,nb/2);Ray_qdata4=zeros(1,nb/2);forn=1:nb/2Ray_ichsum(n)=sum(idata2((n-1)/delta_T+1:n/delta_T))*delta_T;ifRay_ichsum(n)>=0Ray_idata4(n)=1;elseRay_idata4(n)=0;endRay_qchsum(n)=sum(qdata2((n-1)/delta_T+1:n/delta_T))*delta_T;ifRay_qchsum(n)>=0Ray_qdata4(n)=1;elseRay_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:ml:nb)=Ray_qdata4;%存放偶數(shù)位%為了顯示,將它變成波形信號(hào)(即傳輸一個(gè)1代表單位寬度的高電平)Ray_demodata1=zeros(1,nb/delta_T);%創(chuàng)建一個(gè)1*nb/delta_T的零矩陣forq=1:nbRay_demodata1((q-1)/delta_T+1:q/delta_T)=Ray_demodata(q);%將極性碼變成對(duì)應(yīng)的波形信號(hào)end%累計(jì)誤碼數(shù)%abs(demodata-data)求接收端和發(fā)射端%數(shù)據(jù)差的絕對(duì)值,累計(jì)之后就是誤碼個(gè)數(shù)Ray_num_BER=sum(abs(Ray_demodata-data))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%誤碼率計(jì)算%%調(diào)用了cm_sm32();和cm_sm33()函數(shù)%%聲明:函數(shù)聲明在另外倆個(gè)M文件中%%作用:cm_sm32()用于瑞利信道誤碼率的計(jì)算%%cm_sm33()用于高斯信道誤碼率的計(jì)算%%ecohon/off作用在于決定是否顯示指令內(nèi)容%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SNRindB1=0:1:6;SNRindB2=0:0.1:6;%瑞利衰落信道fori=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]);echooff;end;%高斯信道echoon;fori=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]);echooff;end;%理論曲線echoon;fori=1:length(SNRindB2),SNR=exp(SNRindB2(i)*log(10)/10);%信噪比theo_err_awgn_prb(i)=0.5*erfc(sqrt(SNR));%高斯噪聲理論誤碼率theo_err_ray_prb(i)=0.5*(1-1/sqrt(1+1/SNR));%瑞利衰落信道理論誤碼率echooff;end;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%h=spectrum.welch;%類似于C語言的宏定義,方便以下的調(diào)用%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%輸出顯示部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%第一部分(理想)figure(1)subplot(3,2,1);plot(data0),title('基帶信號(hào)');axis([020000-22]);subplot(3,2,2);psd(h,data1,'fs',fs),title('基帶信號(hào)功率譜密度');subplot(3,2,3);plot(s),title('調(diào)制信號(hào)');axis([0500-33]);subplot(3,2,4);psd(h,s,'fs',fs),title('調(diào)制信號(hào)功率譜密度');subplot(3,2,5);plot(demodata1),title('解調(diào)輸出');axis([020000-22]);subplot(3,2,6);psd(h,demodata1,'fs',fs),title('解調(diào)輸出功率譜密度');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%通過高斯信道figure(2)subplot(2,2,1);plot(s1),title('調(diào)制信號(hào)(Awgn)');axis([0500-55]);subplot(2,2,2);psd(h,s1,'fs',fs),title('調(diào)制信號(hào)功率譜密度(Awgn)');subplot(2,2,3);plot(s111),title('高斯噪聲曲線');axis([02000-55]);subplot(2,2,4);fori=1:nb/2plot(idata(i),qdata(i),'r+'),title('QPSK信號(hào)星座圖(Awgn)');holdon;axis([-22-22]);plot(Awgn_ichsum(i),Awgn_qchsum(i),'*');holdon;legend('理論值(發(fā)射端)','實(shí)際值(接收端)');end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%通過高斯信道再通過瑞利衰落信道figure(3)subplot(2,2,1)plot(Ray_s),title('調(diào)制信號(hào)(Ray+Awgn)');axis([0500-55]);subplot(2,2,2);psd(h,Ray_s,'fs',fs),title('調(diào)制信號(hào)功率譜密度(Ray)');subplot(2,2,3);fori=1:nb/2plot(idata(i),qdata(i),'r+'),title('QPSK信號(hào)星座圖(Awgn+Ray)');holdon;axis([-22-22]);plot(Ray_ichsum(i),Ray_qchsum(i),'*');holdon;legend('理論值(發(fā)射端)','實(shí)際值(接收端)');endsubplot(2,2,4)semilogy(SNRindB2,theo_err_awgn_prb,'r'),title('誤碼率曲線');holdon;semilogy(SNRindB1,smld_bit_awgn_err_prb,'r*');holdon;semilogy(SNRindB2,theo_err_ray_prb);holdon;semilogy(SNRindB1,smld_bit_ray_err_prb,'*');xlabel('Eb/No');ylabel('BER');legend('理論AWGN','仿真AWGN','理論Rayleigh','仿真Rayleigh');%文件2function[pb,ps]=cm_sm32(snr_in_dB)%[pb,ps]=cm_sm32(snr_in_dB)%CM_SM3findstheprobabilityofbiterrorandsymbolerrorfor%thegivenvalueofsnr_in_dB,signaltonoiseratioindB.N=100;E=1;%energypersymbolnumofsymbolerror=0;numofbiterror=0;counter=0;snr=10^(snr_in_dB/10);%signaltonoiseratiosgma=sqrt(E/snr)/2;%noisevariances00=[10];s01=[01];s11=[-10];s10=[0-1];%signalmapping%generationofthedatasourcewhile(numofbiterror<100)fori=1:N,temp=rand;%auniformrandomvariablebetween0and1if(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(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;%detectionandtheprobabilityoferrorcalculationfori=1:N,ray=raylrnd(0.8);n=sgma*randn(1,2);%2normaldistributedr.vwith0,variancesgmaif((dsource1(i)==0)&(dsource2(i)==0)),r=ray*s00+n;elseif((dsource1(i)==0)&(dsource2(i)==1)),r=ray*s01+n;elseif((dsource1(i)==1)&(dsource2(i)==0)),r=s10*ray+n;elser=s11*ray+n;end;%Thecorrelationmetricsarecomputedbelowc00=dot(r,s00);c01=dot(r,s01);c10=dot(r,s10);c11=dot(r,s11);%Thedecisionontheithsymbolismadenextc_max=max([c00,c01,c10,c11]);if(c00==c_max),decis1=0;decis2=0;elseif(c01==c_max),decis1=0;decis2=1;elseif(c10==c_max),decis1=1;decis2=0;elsedecis1=1;decis2=1;end;%Incrementtheerrorcounter,ifthedecisionisnotcorrectsymbolerror=0;if(decis1~=dsource1(i)),numofbiterror=numofbiterror+1;symbolerror=1;end;if(decis2~=dsource2(i)),numofbiterror=numofbiterror+1;symbolerror=1;end;if(symbolerror==1),numofsymbolerror=numofsymbolerror+1;end;endcounter=counter+1;endps=numofsymbolerror/(N*counter);%sincetherearetotallyNsymbolspb=numofbiterror/(2*N*counter);%since2Nbitsaretransmitted%文件3function[pb1,ps1]=cm_sm32(snr_in_dB)%[pb,ps]=cm_sm32(snr_in_dB)%CM_SM3findstheprobabilityofbiterrorandsymbolerrorfor%thegivenvalueofsnr_in_dB,signaltonoiseratioindB.N=100;E=1;%energypersymbolsnr=10^(snr_in_dB/10);%signaltonoiseratiosgma=sqrt(E/snr)/2;%noisevariances00=[10];s01=[01];s11=[-10]

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論