QPSK調(diào)制解調(diào)課設(shè)完整版.doc_第1頁(yè)
QPSK調(diào)制解調(diào)課設(shè)完整版.doc_第2頁(yè)
QPSK調(diào)制解調(diào)課設(shè)完整版.doc_第3頁(yè)
QPSK調(diào)制解調(diào)課設(shè)完整版.doc_第4頁(yè)
QPSK調(diào)制解調(diào)課設(shè)完整版.doc_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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)介

. 2012專業(yè)綜合課程設(shè)計(jì) 通信專業(yè) 姓名:* 班級(jí):0902402 學(xué)號(hào):090240212 題目:利用matlab設(shè)計(jì)并仿真數(shù)字通信系統(tǒng)一、題目要求利用matlab軟件設(shè)計(jì)并仿真下面的無(wú)線通信系統(tǒng)fedcba數(shù)字信源QPSK調(diào)制調(diào)制帶通濾波QPSK解調(diào)信宿載波本地載波要求:1、輸入信號(hào)為比特流形式,比特速率通常為100kbps數(shù)量級(jí)。2、載波頻率自定。通常為MHz數(shù)量級(jí)。3、信道為多徑信道(仿真中2徑即可),信道中噪聲為加性高斯白噪聲。4、信噪比自行設(shè)定。5、畫出圖中各點(diǎn)波形。6、畫出系統(tǒng)誤碼率與接收端信噪比SNR的關(guān)系(蒙特卡洛仿真)。7、在給定信噪比情況下,分析多徑延時(shí)大小對(duì)系統(tǒng)性能有沒(méi)有影響? 畫出系統(tǒng)誤碼率與多徑延時(shí)大小之間的關(guān)系。2、 設(shè)計(jì)過(guò)程 1)概念理解: QPSK即四進(jìn)制移向鍵控(Quaternary Phase Shift Keying),它利用載波的四種不同相位來(lái)表示數(shù)字信息,由于每一種載波相位代表兩個(gè)比特信息,因此每個(gè)四進(jìn)制碼元可以用兩個(gè)二進(jìn)制碼元的組合來(lái)表示。兩個(gè)二進(jìn)制碼元中的前一個(gè)碼元用a表示,后一個(gè)碼元用b表示。 2)調(diào)制: QPSK信號(hào)可以看作兩個(gè)載波正交2PSK信號(hào)的合成,下圖表示 QPSK正交調(diào)制器。二進(jìn)制數(shù)據(jù)序列極性NRZ電平編碼器分離器原理分析:由randint函數(shù)產(chǎn)生一個(gè)1x20的二進(jìn)制隨機(jī)矩陣,作為基帶信號(hào)data;然后轉(zhuǎn)換成極性碼(極性NRZ電平編碼器);然后按奇偶次序抽出隨機(jī)數(shù)后組成1x10的矩陣(分離器);將這兩個(gè)矩陣中碼元寬度增大為原來(lái)的2倍(采用增加點(diǎn)數(shù));如圖在a路Idata與余弦載波相乘,b路同理;最后代數(shù)相加,此時(shí)便產(chǎn)生QPSK調(diào)制信號(hào)作為輸出。 3)解調(diào):解調(diào)原理圖如下所示。 1(t) 同相信道 門限0接受信號(hào)sr(t)LPF filterLPF filter 2(t) 正交信道 門限0 原理分析:同相支路和正交支路分別采用相干解調(diào)方式解調(diào),得到和,經(jīng)過(guò)低通濾波器(LPF)抽樣判決和并/串交換器,將上下支路得到的并行數(shù)據(jù)恢復(fù)成串行數(shù)據(jù)demodata(1x20),此過(guò)程在復(fù)接器實(shí)現(xiàn),此時(shí)便得到QPSK解調(diào)信號(hào)(應(yīng)該和基帶信號(hào)一樣)。4) 高斯信道:應(yīng)題目要求,通過(guò)無(wú)線信道傳輸?shù)恼{(diào)制信號(hào)會(huì)加入高斯噪聲,使用awgn(si,SNR)函數(shù)來(lái)實(shí)現(xiàn);實(shí)現(xiàn)多徑信道,將延時(shí)后的信號(hào)s1加到未延時(shí)信號(hào)s0合并作為輸出信號(hào)即可。5) 帶通濾波器(BPF): 使用butter(N ,wp1,wp2,)和filter函數(shù)實(shí)現(xiàn),其中的參數(shù)通過(guò)計(jì)算公式可知 Wp1=2*delta_t*(fc-f); Wp2=2*delta_t*(fc+f);三、仿真結(jié)果及分析 圖一 隨機(jī)產(chǎn)生一個(gè)1x20的二進(jìn)制隨機(jī)矩陣data,圖中基帶每個(gè)碼元由抽樣間隔delta_t間隔的離散點(diǎn)構(gòu)成,總共2000個(gè)點(diǎn)(即每個(gè)碼元由100個(gè)點(diǎn)構(gòu)成),I/Q路信號(hào)的碼元應(yīng)該為原來(lái)的2倍,所以每個(gè)碼元由200個(gè)點(diǎn)構(gòu)成,這樣長(zhǎng)度才能和原序列等長(zhǎng)。 實(shí)現(xiàn)的部分代碼如下:data=randint(1,nb); % 調(diào)用一個(gè)隨機(jī)函數(shù)(0 or 1),輸出到一個(gè)1*100的矩陣datanrz=data.*2-1; % 變成極性碼data1=zeros(1,2000); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣%將基帶信號(hào)變換成對(duì)應(yīng)波形信號(hào)data0=zeros(1,2000); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb data0(q-1)*100+1:q*100)=data(q); % 將非極性碼變成對(duì)應(yīng)的波形信號(hào)end % 串并轉(zhuǎn)換,將奇偶位數(shù)據(jù)分開idata=datanrz(1:ml:(nb-1); % 將奇偶位分開,因此間隔m1為2idata0=zeros(1,2000); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb/2 idata0(2*(q-1)*100+1:2*q*100)=idata(q); % 將其碼元寬度擴(kuò)展成為原來(lái)碼元的2倍end qdata=datanrz(2:ml:nb);qdata0=zeros(1,2000); for q=1:nb/2 qdata0(2*(q-1)*100+1:2*q*100)=qdata(q);end 圖二:部分代碼如下:% QPSK信號(hào)的調(diào)制%for ii=1:N a(ii)=cos(2*pi*fc*t(ii); endidata1=idata0.*a; % 奇數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到一路的調(diào)制信號(hào)for jj=1:N b(jj)=-sin(2*pi*fc*t(jj);endqdata1=qdata0.*b; % 偶數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到另一路的調(diào)制信號(hào)s0=idata1+qdata1; % 將奇偶位數(shù)據(jù)合并,s即為QPSK調(diào)制信號(hào)%延遲信號(hào)%delay=0.0019;for ii0=1:N a_dl(ii0)=cos(2*pi*fc*t(ii0)+delay); endidata1_dl=idata0.*a_dl; % 奇數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到一路的調(diào)制信號(hào)for jj0=1:N b_dl(jj0)=-sin(2*pi*fc*t(jj0)+delay);endqdata1_dl=qdata0.*b_dl; % 偶數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到另一路的調(diào)制信號(hào) s1=idata1_dl+qdata1_dl; % 將奇偶位數(shù)據(jù)合并,s即為QPSK調(diào)制信號(hào)% 高斯信道 si=s0+s1;圖三: 通過(guò)帶通濾波器(PLF)后,上下的毛刺(即高斯噪聲)得到了很好的濾除,但是和圖二中的調(diào)制信號(hào)相比,有點(diǎn)兒失真。部分代碼如下:% 高斯信道 si=s0+s1;sk=awgn(si,SNR); % 通過(guò)高斯信道之后的信號(hào)%butter數(shù)字帶通濾波器B,A=butter(4,0.08,0.12,bandpass);sr=filter(B,A,sk);圖四: 在通過(guò)同相支路和正交支路分別采用相干解調(diào)方式解調(diào)后,得到和,其中包絡(luò)為低頻,在經(jīng)過(guò)低通濾波器后(LPF)后,能很好的濾除高頻部分(載波),得到低頻部分,和圖一的I/Q路信號(hào)對(duì)比,基本不失真;然后進(jìn)行抽樣判決和并/串交換器,將上下支路得到的并行數(shù)據(jù)恢復(fù)成串行數(shù)據(jù)demodata(1x20),此時(shí)便得到QPSK解調(diào)信號(hào),基本保持不失真。 部分代碼如下: %解調(diào)部分 idata_lpf=sr.*a; % 這里面其實(shí)隱藏了一個(gè)串并轉(zhuǎn)換的過(guò)程qdata_lpf=sr.*b; % 對(duì)應(yīng)的信號(hào)與正余弦信號(hào)相乘 %低通濾波器%W,M=butter(4,0.03365,low);idata2=filter(W,M,idata_lpf);qdata2=filter(W,M,qdata_lpf);idata3=zeros(1,nb/2);% 建立1*nb/2數(shù)組,以存放解調(diào)之后的信號(hào)qdata3=zeros(1,nb/2);% 抽樣判決的過(guò)程,與0作比較,data=0,則置1,否則置0for n=1:nb/2 if sum(idata2(n-1)*200+1:n*200)=0 idata3(n)=1; else idata3(n)=0; endif sum(qdata2(n-1)*200+1:n*200)=0 qdata3(n)=1; else qdata3(n)=0; end end % 將判決之后的數(shù)據(jù)存放進(jìn)數(shù)組demodata=zeros(1,nb); %解調(diào)信號(hào)demodata(1:ml:(nb-1)=idata3; % 存放奇數(shù)位demodata(2:ml:nb)=qdata3; % 存放偶數(shù)位%為了顯示,將它變成波形信號(hào)(即傳輸一個(gè)1代表單位寬度的高電平)demodata1=zeros(1,2000); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb demodata1(q-1)*100+1:q*100)=demodata(q); % 將極性碼變成對(duì)應(yīng)的波形信號(hào)end%圖五: 系統(tǒng)誤碼率與接收端信噪比SNR的關(guān)系(蒙特卡洛仿真)。本實(shí)驗(yàn)將SNR=0:6設(shè)為大循環(huán),里面包含一個(gè)for循環(huán)(10000次);每當(dāng)循環(huán)10000次,統(tǒng)計(jì)誤碼數(shù)p(h),計(jì)算出誤碼率perror;隨著信噪比的增大,誤碼率呈現(xiàn)下降趨勢(shì),在SNR=5,6時(shí),基本誤碼率為0。部分代碼如下:for SNR=0:6 % 信噪比f(wàn)or f=1:500 . . end10000次% 誤碼率計(jì)算for v=1:length(data); if data(v)=demodata(v); p(h)=p(h)+1; endend end perror(y)=p(h)/10000; y=y+1; h=h+1;End figure(8) SNR=0:6;plot(SNR,perror);title(誤碼率和信噪比的關(guān)系);axis(0 6 0 0.008);圖六:誤碼率和延時(shí)的關(guān)系:在一個(gè)周期內(nèi),可以看出00.2.1.21.4之間呈現(xiàn)上升趨勢(shì),這是因?yàn)檎`碼率隨著延時(shí)在一定范圍的增大而增大,而在整個(gè)02內(nèi),具有周期性變化,周期為1/fc。部分代碼如下:clc;y=1;h=1; dd=1;SNR=3.6; %此處涉信噪比為3.6MINtime=0;MAXtime=50*1e-7;delay_t=1e-7;p=zeros(1,50);perror=zeros(1,50);for delay=MINtime:delay_t:MAXtime-delay_t for. . End %在SNR=3.6,每取定一個(gè)delay,就得出一個(gè)誤碼率Endfigure(9)delay=MINtime:delay_t:MAXtime-delay_t;stem(delay,perror);title(PERROR&DELAY); axis(MINtime MAXtime 0 0.01);四、實(shí)驗(yàn)小結(jié)1)設(shè)計(jì)缺點(diǎn):用了for循環(huán)的方式一增加點(diǎn)數(shù)實(shí)現(xiàn)對(duì)I/Q路信號(hào)的碼元寬度進(jìn)行拓寬,可以參考ceil函數(shù);低通濾波器的截止頻率并沒(méi)有設(shè)置為2*delta_t*f,因?yàn)檫@樣誤碼率非常大,所以設(shè)置了一個(gè)比其稍大的參數(shù);最后的誤碼率和延時(shí)的關(guān)系圖由于取點(diǎn)(n=20)較少,所以并沒(méi)有很好的反映出他們的關(guān)系。2)設(shè)計(jì)優(yōu)點(diǎn):程序進(jìn)一步優(yōu)化后,再取大量點(diǎn)時(shí)運(yùn)行速度較為理想;誤碼率實(shí)現(xiàn)了10*(-4)級(jí)的理想化;判決時(shí)通過(guò)使用sum(.)與0的比較來(lái)更為準(zhǔn)確的做出判決,減小了誤碼率,若采用中點(diǎn)取點(diǎn)(如:0200,在100處來(lái)判決),這樣偶然誤差較大,從而譯碼器準(zhǔn)度不高。 3)學(xué)到了什么:在短短的2周內(nèi),基于matlab對(duì)QPSK的信號(hào)調(diào)制解調(diào)過(guò)程有了更為清晰的理解,怎么去實(shí)現(xiàn)產(chǎn)生隨機(jī)矩陣,怎么去按奇偶抽取點(diǎn)數(shù),怎么增大碼元寬度,怎么模擬高斯信道,怎么產(chǎn)生多徑信道,以及對(duì)BPF,LPF的簡(jiǎn)單使用,怎么更好的實(shí)現(xiàn)判決.都有了初步的入門,加深了對(duì)通信原理的某一部分的理解吧! 附總代碼:clc;y=1;h=1; p=zeros(1,7);perror=zeros(1,7);for SNR=0:6 % 信噪比 for f=1:500% 初始化參數(shù)T=1e-5; % 基帶信號(hào)寬度,也就是頻率fc=5/T; % 載波頻率ml=2; % 調(diào)制信號(hào)類型的一個(gè)標(biāo)志位nb=20; % 傳輸?shù)谋忍財(cái)?shù)delta_T=T/100; % 采樣間隔fs=1/delta_T; % 采樣頻率t=0:delta_T:nb*T-delta_T; % 限定t的取值范圍N=length(t); % 采樣數(shù) % 調(diào)制部分% 基帶信號(hào)的產(chǎn)生data=randint(1,nb); % 調(diào)用一個(gè)隨機(jī)函數(shù)(0 or 1),輸出到一個(gè)1*100的矩陣datanrz=data.*2-1; % 變成極性碼data1=zeros(1,2000); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣%將基帶信號(hào)變換成對(duì)應(yīng)波形信號(hào)data0=zeros(1,2000); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb data0(q-1)*100+1:q*100)=data(q); % 將非極性碼變成對(duì)應(yīng)的波形信號(hào)end % 串并轉(zhuǎn)換,將奇偶位數(shù)據(jù)分開idata=datanrz(1:ml:(nb-1); % 將奇偶位分開,因此間隔m1為2idata0=zeros(1,2000); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb/2 idata0(2*(q-1)*100+1:2*q*100)=idata(q); % 將其碼元寬度擴(kuò)展成為原來(lái)碼元的2倍end qdata=datanrz(2:ml:nb);qdata0=zeros(1,2000); for q=1:nb/2 qdata0(2*(q-1)*100+1:2*q*100)=qdata(q);end % QPSK信號(hào)的調(diào)制%for ii=1:N a(ii)=cos(2*pi*fc*t(ii); endidata1=idata0.*a; % 奇數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到一路的調(diào)制信號(hào)for jj=1:N b(jj)=-sin(2*pi*fc*t(jj);endqdata1=qdata0.*b; % 偶數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到另一路的調(diào)制信號(hào)s0=idata1+qdata1; % 將奇偶位數(shù)據(jù)合并,s即為QPSK調(diào)制信號(hào)%延遲信號(hào)%delay=0.0019;for ii0=1:N a_dl(ii0)=cos(2*pi*fc*t(ii0)+delay); endidata1_dl=idata0.*a_dl; % 奇數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到一路的調(diào)制信號(hào)for jj0=1:N b_dl(jj0)=-sin(2*pi*fc*t(jj0)+delay);endqdata1_dl=qdata0.*b_dl; % 偶數(shù)位數(shù)據(jù)與余弦函數(shù)相乘,得到另一路的調(diào)制信號(hào)s1=idata1_dl+qdata1_dl; % 將奇偶位數(shù)據(jù)合并,s即為QPSK調(diào)制信號(hào)% 高斯信道 si=s0+s1;sk=awgn(si,SNR); % 通過(guò)高斯信道之后的信號(hào)%butter數(shù)字帶通濾波器B,A=butter(4,0.08,0.12,bandpass);sr=filter(B,A,sk); %解調(diào)部分 idata_lpf=sr.*a; % 這里面其實(shí)隱藏了一個(gè)串并轉(zhuǎn)換的過(guò)程qdata_lpf=sr.*b; % 對(duì)應(yīng)的信號(hào)與正余弦信號(hào)相乘 %低通濾波器%W,M=butter(4,0.03365,low);idata2=filter(W,M,idata_lpf);qdata2=filter(W,M,qdata_lpf);idata3=zeros(1,nb/2);% 建立1*nb/2數(shù)組,以存放解調(diào)之后的信號(hào)qdata3=zeros(1,nb/2);% 抽樣判決的過(guò)程,與0作比較,data=0,則置1,否則置0for n=1:nb/2% A1(n)=sum(idata2(n-1)/delta_T+1:n/delta_T); if sum(idata2(n-1)*200+1:n*200)=0 idata3(n)=1; else idata3(n)=0; endif sum(qdata2(n-1)*200+1:n*200)=0 qdata3(n)=1; else qdata3(n)=0; end end % 將判決之后的數(shù)據(jù)存放進(jìn)數(shù)組demodata=zeros(1,nb); %解調(diào)信號(hào)demodata(1:ml:(nb-1)=idata3; % 存放奇數(shù)位demodata(2:ml:nb)=qdata3; % 存放偶數(shù)位%為了顯示,將它變成波形信號(hào)(即傳輸一個(gè)1代表單位寬度的高電平)demodata1=zeros(1,2000); % 創(chuàng)建一個(gè)1*nb/delta_T的零矩陣for q=1:nb demodata1(q-1)*100+1:q*100)=demodata(q); % 將極性碼變成對(duì)應(yīng)的波形信號(hào)end% 誤碼率計(jì)算for v=1:length(data); if data(v)=demodata(v); p(h)=p(h)+1; endend end perror(y)=p(h)/10000; y=y+1; h=h+1;end

溫馨提示

  • 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)論