基于Matlab的MIMO通信系統(tǒng)仿真_第1頁
基于Matlab的MIMO通信系統(tǒng)仿真_第2頁
基于Matlab的MIMO通信系統(tǒng)仿真_第3頁
基于Matlab的MIMO通信系統(tǒng)仿真_第4頁
基于Matlab的MIMO通信系統(tǒng)仿真_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于Matlab的MIMO通信系統(tǒng)仿真北京郵電大學(xué)基于Matlab的MIMO通信系統(tǒng)仿真 專業(yè):信息工程 班級(jí):2011211126 姓名: 學(xué)號(hào): 目錄TOC\o"1-3"\h\u一、概述 二、基本原理1、基本流程2、MIMO原理核心思想:時(shí)間上空時(shí)信號(hào)處理同空間上分集結(jié)合。

時(shí)間上空時(shí)通過在發(fā)送端采用空時(shí)碼實(shí)現(xiàn):

空時(shí)分組、空時(shí)格碼,分層空時(shí)碼。

空間上分集通過增加空間上天線分布實(shí)現(xiàn)。此舉可以把原來對(duì)用戶來說是有害的無線電波多徑傳播轉(zhuǎn)變?yōu)閷?duì)用戶有利。

MIMO系統(tǒng)模型:

MIMO信道模型分集與復(fù)用根據(jù)各根天線上發(fā)送信息的差別,MIMO可以分為發(fā)射分集技術(shù)和空間復(fù)用技術(shù)。發(fā)射分集:在不同的天線上發(fā)射包含同樣信息的信號(hào)(信號(hào)的具體形式不一定完全相同),達(dá)到空間分集的效果,起到抗衰落的作用典型代表:空時(shí)塊碼(STBC)空間復(fù)用:在不同的天線上發(fā)射不同的信息,獲得空間復(fù)用增益,從而大大提高系統(tǒng)的容量和頻譜利用率典型代表:分層空時(shí)碼空時(shí)塊碼Alamouti提出了采用兩個(gè)發(fā)射天線和一個(gè)接收天線的系統(tǒng)可以得到采用一個(gè)發(fā)射天線兩個(gè)接收天線系統(tǒng)同樣的分集增益。將每k個(gè)輸入字符映射為一個(gè)矩陣,矩陣的每行對(duì)應(yīng)在p個(gè)不同的時(shí)間間隔里不同天線上所發(fā)送的符號(hào)。2*2舉例:三、仿真設(shè)計(jì)1、流程圖2、主要模塊及參數(shù)3、信源產(chǎn)生產(chǎn)生獨(dú)立等概二進(jìn)制信源Matlab函數(shù):randsrc()編碼塊長(zhǎng)度:40-6114(3GPPTS36.212Table5.1.3-3)推薦值:320,1024,2560,5120利用randsrc()隨機(jī)產(chǎn)生0與1的數(shù),利用公式將其變成1與-1,即產(chǎn)生信源。4、信道編碼Option1:卷積碼(3GPPTS25.2124.2.3.1)根據(jù)要求,卷積碼編碼器為(3,1,8)編碼器,G0=(001101111)轉(zhuǎn)換為八進(jìn)制為557;G1=(010110011)轉(zhuǎn)換為八進(jìn)制為663;G1=(011001001)轉(zhuǎn)換為八進(jìn)制為711.卷積碼記憶長(zhǎng)度為9.5、調(diào)制調(diào)制模塊基本要求:QPSKQPSK調(diào)制的函數(shù)可以利用matlab函數(shù)庫自帶的QPSK函數(shù)進(jìn)行編寫。但是由于QPSK是M=4進(jìn)行映射的,所以將隨機(jī)產(chǎn)生的信源利用reshape函數(shù)變成兩列,即00映射成,01映射成,10映射成,11映射成。解調(diào)時(shí)利用matlab自帶的demodulate函數(shù)。6、AWGN信道Matlab實(shí)現(xiàn):randn()信噪比與AWGN噪聲的關(guān)系:由于信源經(jīng)過QPSK調(diào)制,相當(dāng)于在兩條坐標(biāo)軸的平面(一條實(shí)數(shù)軸,一條虛數(shù)軸)每一個(gè)方向都有隨機(jī)的高斯白噪聲分布,然后各自乘以相應(yīng)的幅度,將得出的噪聲加入QPSK調(diào)制的信號(hào)里,得到的便是經(jīng)過AWGN信道的信號(hào)。7、輸出統(tǒng)計(jì)誤碼率統(tǒng)計(jì)輸出:橫坐標(biāo)-SNREb/N0(Eb/N0vsEs/N0?)縱坐標(biāo)-BER(誤比特率),BLER(誤塊率)畫圖:semilogy(x,y)程序塊設(shè)計(jì)代碼[1]、MIMO:SNR_dB=0:1:30;%信噪比范圍LOOP=500;%%信源產(chǎn)生%fori=1:length(SNR_dB)snr=10^(SNR_dB(i)/10);%信噪比轉(zhuǎn)換sgma=sqrt(8/snr/3);%噪聲方差error0=0;error1=0;error2=0;error3=0;fora=1:LOOPN=2560;%仿真序列長(zhǎng)度S=randsrc(1,N,[0,1]);%二進(jìn)制序列信源產(chǎn)生n個(gè)隨機(jī)數(shù)%%有信道編碼%S00=convolutionalcode(S);%QPSK調(diào)制s=QPSK(S00);s0=zeros(1,3*N/4);%將調(diào)制后的信息奇偶拆分成兩個(gè)信息以進(jìn)行MIMO發(fā)射s1=zeros(1,3*N/4);forb1=1:2:(3*N/2)s0(ceil(b1/2))=s(b1);s1(ceil(b1/2))=s(b1+1);endN1=size(s0,2);%有信道編碼(2發(fā)2收)h0=sqrt(0.5).*(randn(1,N1)+1i.*randn(1,N1));%設(shè)置信道沖激響應(yīng)h1=sqrt(0.5).*(randn(1,N1)+1i.*randn(1,N1));h2=sqrt(0.5).*(randn(1,N1)+1i.*randn(1,N1));h3=sqrt(0.5).*(randn(1,N1)+1i.*randn(1,N1));%接收到的信號(hào)(沖激響應(yīng)與發(fā)送序列卷積)R0=h0.*s0+h1.*s1;%接收信號(hào)矢量(不含高斯噪聲)R1=-conj(s1).*h0+h1.*conj(s0);%移動(dòng)通信P166R2=h2.*s0+h3.*s1;R3=-conj(s1).*h2+h3.*conj(s0);%通過AWGN信道加入噪聲后的沖擊序列r0=(R0+sgma.*(randn(1,N1)+1i*randn(1,N1)));%接收信號(hào)矢量(有噪聲)r1=(R1+sgma.*(randn(1,N1)+1i*randn(1,N1)));r2=(R2+sgma.*(randn(1,N1)+1i*randn(1,N1)));r3=(R3+sgma.*(randn(1,N1)+1i*randn(1,N1)));s_0=conj(h0).*r0+h1.*conj(r1)+conj(h2).*r2+h3.*conj(r3);%STBC空時(shí)譯碼s_1=conj(h1).*r0-h0.*conj(r1)+conj(h3).*r2-h2.*conj(r3);forl0=1:3*N/4%將接收到的信號(hào)合并Y0(2*l0-1)=s_0(l0);Y0(2*l0)=s_1(l0);endy0=DEQPSK(Y0);%QPSK解調(diào)m0=viterbi(y0);%維特比譯碼[n0,e0]=biterr(m0,S);%計(jì)算誤比特率error0=error0+n0;%有信道編碼2發(fā)1收hr0=sqrt(0.5).*(randn(1,N1)+1i.*randn(1,N1));%瑞利信道函數(shù)hr1=sqrt(0.5).*(randn(1,N1)+1i.*randn(1,N1));Rr0=hr0.*s0+hr1.*s1;%接收信號(hào)矢量(不含高斯噪聲)Rr1=-conj(s1).*hr0+hr1.*conj(s0);rN0=(Rr0+sgma.*(randn(1,N1)+1i*randn(1,N1)));%接收信號(hào)矢量(含復(fù)高斯噪聲)rN1=(Rr1+sgma.*(randn(1,N1)+1i*randn(1,N1)));sr_0=conj(hr0).*rN0+hr1.*conj(rN1);%STBC空時(shí)譯碼sr_1=conj(hr1).*rN0-hr0.*conj(rN1);forl1=1:3*N/4%將接收到的信號(hào)合并Y1(2*l1-1)=sr_0(l1);Y1(2*l1)=sr_1(l1);endy1=DEQPSK(Y1);%QPSK解調(diào)m1=viterbi(y1);%維特比譯碼[n1,e1]=biterr(m1,S);%計(jì)算誤比特率error1=error1+n1;%%無信道編碼%sn=QPSK(S);%QPSK調(diào)制forb2=1:2:(N/2)%將調(diào)制后的信息奇偶拆分成兩個(gè)信息以進(jìn)行MIMO發(fā)射sn0(ceil(b2/2))=sn(b2);sn1(ceil(b2/2))=sn(b2+1);endN2=size(sn0,2);%無信道編碼(2發(fā)2收)hn0=sqrt(0.5).*(randn(1,N2)+1i.*randn(1,N2));%瑞利信道函數(shù)hn1=sqrt(0.5).*(randn(1,N2)+1i.*randn(1,N2));hn2=sqrt(0.5).*(randn(1,N2)+1i.*randn(1,N2));hn3=sqrt(0.5).*(randn(1,N2)+1i.*randn(1,N2));Rn0=hn0.*sn0+hn1.*sn1;%接收信號(hào)矢量(無噪聲)Rn1=-conj(sn1).*hn0+hn1.*conj(sn0);Rn2=hn2.*sn0+hn3.*sn1;Rn3=-conj(sn1).*hn2+hn3.*conj(sn0);rn0=(Rn0+sgma.*(randn(1,N2)+1i*randn(1,N2)));%接收信號(hào)矢量(有噪聲)rn1=(Rn1+sgma.*(randn(1,N2)+1i*randn(1,N2)));rn2=(Rn2+sgma.*(randn(1,N2)+1i*randn(1,N2)));rn3=(Rn3+sgma.*(randn(1,N2)+1i*randn(1,N2)));sn_0=conj(hn0).*rn0+hn1.*conj(rn1)+conj(hn2).*rn2+hn3.*conj(rn3);sn_1=conj(hn1).*rn0-hn0.*conj(rn1)+conj(hn3).*rn2-hn2.*conj(rn3);forl2=1:N/4%將接收到的信號(hào)合并Y2(2*l2-1)=sn_0(l2);Y2(2*l2)=sn_1(l2);endy2=DEQPSK(Y2);%QPSK解調(diào)y2=y2';[n2,e2]=biterr(y2,S);%計(jì)算誤比特率error2=error2+n2;%無信道編碼(2發(fā)1收)hN0=sqrt(0.5).*(randn(1,N2)+1i.*randn(1,N2));%瑞利信道函數(shù)hN1=sqrt(0.5).*(randn(1,N2)+1i.*randn(1,N2));RN0=hN0.*sn0+hN1.*sn1;%發(fā)射序列與接收序列的卷積RN1=-conj(sn1).*hN0+hN1.*conj(sn0);rN0=(RN0+sgma.*(randn(1,N2)+1i*randn(1,N2)));%接收信號(hào)矢量(有噪聲)rN1=(RN1+sgma.*(randn(1,N2)+1i*randn(1,N2)));sN_0=conj(hN0).*rN0+hN1.*conj(rN1);sN_1=conj(hN1).*rN0-hN0.*conj(rN1);forl3=1:N/4%將接收到的信號(hào)合并Y3(2*l3-1)=sN_0(l3);Y3(2*l3)=sN_1(l3);endy3=DEQPSK(Y3);%QPSK解調(diào)y3=y3';[n3,e3]=biterr(y3,S);%計(jì)算誤比特率error3=error3+n3;endBER0(i)=error0/(LOOP*N);BER1(i)=error1/(LOOP*N);BER2(i)=error2/(LOOP*N);BER3(i)=error3/(LOOP*N);endsemilogy(SNR_dB,BER0,'-b+');holdon;semilogy(SNR_dB,BER1,'r');gridon;semilogy(SNR_dB,BER2,'--g');gridon;semilogy(SNR_dB,BER3,'-.k');gridon;legend('2Tx2R:卷積信道編碼','2Tx1R有信道編碼','2Tx2R無信道編碼','2Tx1R無信道編碼');xlabel('SNR/dB');ylabel('BER');[2]、viterbifunctiondecodingsequence=viterbi(m)trel=poly2trellis(9,[557,663,711]);tblen=7;%卷積碼記憶深度decodingsequence=vitdec(m,trel,tblen,'trunc','hard');decodingsequence=decodingsequence';[3]、QPSKfunctionmodulatingsignal=QPSK(s)s=s';H=modem.pskmod('M',4,'InputType','Bit');modulatingsignal=modulate(H,s);modulatingsignal=modulatingsignal';[4]、DEQPSKfunctiondemodulatingsignal=DEQPSK(s)h=modem.pskdemod('M',4,'OutputType','Bit');s=s';demodulatingsignal=demodulate(h,s);[5]、convolutionalcode%卷積碼編碼器%msg信號(hào)%constrainlength約束長(zhǎng)度(寄存器數(shù)目加一)%codegenerator沖擊響應(yīng)g(轉(zhuǎn)換成八進(jìn)制)functioncode=convolutionalcode(msg)constrainlength=9;trel=poly2trellis(constrainlength,[557,663,711]);code=convenc(msg,trel);仿真結(jié)果分析1、仿真圖結(jié)果分析由誤碼率仿真圖看

溫馨提示

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