MATLAB仿真報(bào)告_第1頁(yè)
MATLAB仿真報(bào)告_第2頁(yè)
MATLAB仿真報(bào)告_第3頁(yè)
MATLAB仿真報(bào)告_第4頁(yè)
MATLAB仿真報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、無(wú)線通信(MATLAB課后作業(yè)仿真)姓 名: 學(xué) 院: 學(xué) 號(hào): 班 級(jí): 指導(dǎo)教師: 無(wú)線通信matlab仿真報(bào)告一、分集仿真現(xiàn)給出最大比合并(MRC)、等增益合并(EGC)和選擇性合并的分集合并程序,理解各程序,完成以下習(xí)題。將程序運(yùn)行結(jié)果及各題目的解答寫(xiě)入word中:1. 用matlab分別運(yùn)行“BPSKMRC.m”、“BPSKEGC.m”以及“BPSKSEL.m” (a)在程序中標(biāo)注“注釋”處加上注釋?zhuān)ㄓ⑽幕蛑形模〣PSKMRC.m注釋nd = 10000; %設(shè)置每個(gè)循環(huán)中的符號(hào)數(shù)snr_in_dB=0:15 ; ber=zeros(1,length(snr_in_dB);for s

2、nr_num=1:length(snr_in_dB)SNR=exp(snr_in_dB(snr_num)*log(10)/10); nloop=100; % 循環(huán)次數(shù)noe = 0; % 錯(cuò)誤數(shù)nod = 0; % 傳輸?shù)臄?shù)量for iii=1:nloop data1=rand(1,nd)>0.5; data2=2.*data1-1;%以下為衰減量的計(jì)算%在瑞利信道下 code_rate=1; E=1; sigma=E/sqrt(2*SNR*code_rate); n =randn(1,nd) + j*randn(1,nd); h1 =1/sqrt(2)*randn(1,nd) + j*

3、randn(1,nd); % 瑞利信道 data41=data2.*h1+sigma.*n; h11=conj(h1); %計(jì)算信道質(zhì)量指數(shù)的復(fù)共軛 data411 = data41.*h11; %計(jì)算組合后的價(jià)值%* n =randn(1,nd) + j*randn(1,nd); h2 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % 瑞利信道 data42=data2.*h2+sigma.*n; h22=conj(h2); data422 =data42.*h22;%* data4=data411+data422;%在兩個(gè)不相關(guān)的信道下的信號(hào)進(jìn)行組合% B

4、PSK 解調(diào) demodata1=data4 > 0; %誤碼率 noe2=sum(abs(data1-demodata1); nod2=length(data1); noe=noe+noe2; nod=nod+nod2;end %輸出結(jié)果ber(snr_num) = noe/nod end; %結(jié)尾figure; semilogy(snr_in_dB,ber,'O-'); hold on semilogy(snr_in_dB,0.5*erfc(sqrt(2*10.(snr_in_dB/10)/sqrt(2),'+-'); hold on semilogy

5、(snr_in_dB,0.5.*(1-sqrt(10.(snr_in_dB/10)./(10.(snr_in_dB/10)+1),'-'); ylabel('BER'); xlabel('E_b/N_0 dB'); legend('simulation BPSK MRC L=2','theory gngauss BPSK','theory reyleigh' );BPSKEGC.m注釋nd = 10000; %設(shè)置每個(gè)循環(huán)中的符號(hào)數(shù)snr_in_dB=0:15 ; ber=zeros(1,lengt

6、h(snr_in_dB);for snr_num=1:length(snr_in_dB)SNR=exp(snr_in_dB(snr_num)*log(10)/10); nloop=100; % 設(shè)置循環(huán)次數(shù)noe = 0; % 錯(cuò)誤數(shù)量nod = 0; % 傳輸數(shù)量for iii=1:nloop data1=rand(1,nd)>0.5; data2=2.*data1-1;%衰減量的計(jì)算%瑞利信道下 code_rate=1; E=1; sigma=E/sqrt(2*SNR*code_rate); n =randn(1,nd) + j*randn(1,nd); h1 =1/sqrt(2)*

7、randn(1,nd) + j*randn(1,nd); % 瑞利信道 data41=data2.*h1+sigma.*n; h11=conj(h1)./abs(h1); %取信道質(zhì)量指數(shù)的單位向量 data411 = data41.*h11; %計(jì)算組合后在信道1下的價(jià)值%* n =randn(1,nd) + j*randn(1,nd); h2 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); %瑞利信道 data42=data2.*h2+sigma.*n; h22=conj(h2)./abs(h2); data422 =data42.*h22; %* data

8、4=data411+data422; %BPSK 解調(diào) demodata1=data4 > 0; %誤碼率計(jì)算 noe2=sum(abs(data1-demodata1); nod2=length(data1); noe=noe+noe2; nod=nod+nod2;end %結(jié)果輸出ber1(snr_num) = noe/nod end; %結(jié)尾figure; semilogy(snr_in_dB,ber1,'O-'); hold on semilogy(snr_in_dB,0.5*erfc(sqrt(2*10.(snr_in_dB/10)/sqrt(2),'+

9、-'); hold on semilogy(snr_in_dB,0.5.*(1-sqrt(10.(snr_in_dB/10)./(10.(snr_in_dB/10)+1),'-'); ylabel('BER'); xlabel('E_b/N_0 dB'); legend('simulation BPSK EGC L=2','theory gngauss BPSK','theory reyleigh' );BPSKSEL.m注釋snr_in_dB=0:15; for k=1:length(sn

10、r_in_dB) kN=10000; E=1; SNR=10(snr_in_dB(k)/10); sigma=E/sqrt(2*SNR); for i=1:N a=rand; if(a<0.5) data(i)=-1; else data(i)=1; end end numofber=0; totolnumber=0; while numofber<1 totolnumber=totolnumber+1; for i=1:N H1 =1/sqrt(2)*rand + j*rand; %第一個(gè)瑞利信道H2 =1/sqrt(2)*rand + j*rand; %第二個(gè)瑞利信道H=H1;

11、H2; y1=H(1)*data(i)+sigma*(rand + j*rand); %在第一個(gè)信道下計(jì)算數(shù)據(jù)y2=H(2)*data(i)+sigma*(rand + j*rand); %在第二個(gè)信道下計(jì)算數(shù)據(jù)y=abs(y1),abs(y2); s=max(y); %選擇其中最大的數(shù)據(jù)if (s=abs(y2) s=y2/H2; else s=y1/H1; enddata2=sign(real(s); if (data2=data(i) numofber=numofber+1; %計(jì)算誤比特率end endend p(k)=numofber/(N*totolnumber); %計(jì)算誤碼率e

12、ndfigure; semilogy(snr_in_dB,p,'O-'); hold on semilogy(snr_in_dB,0.5*erfc(sqrt(2*10.(snr_in_dB/10)/sqrt(2),'+-'); hold on semilogy(snr_in_dB,0.5.*(1-sqrt(10.(snr_in_dB/10)./(10.(snr_in_dB/10)+1),'-'); ylabel('BER'); xlabel('E_b/N_0 dB'); legend('simulation

13、 BPSK SEL L=2','theory gngauss BPSK','theory reyleigh'); (b)觀察信噪比變化10dB,誤比特率變化多少? MRC誤比特率變化:0.0588-0.0017=0.0571EGC誤比特率變化:0.0650-0.0018=0.0632SEL 誤比特率變化:0.1733-0.0030=0.1703 (c)程序中給出的是2分集,將其換為3分集,觀察信噪比變化10dB,誤比特率變化多少? MRC 誤比特率變化:0.0248-0.0001=0.0247EGC 誤比特率變化:0.0330-0.0002=0.0328

14、SEl 誤比特率變化:0.1780-0.0003=0.1777 (d)將最大比合并和等增益合并及選擇式合并的誤比特率曲線,畫(huà)在一張圖上,比較這三種合并方法的優(yōu)劣。由圖可得,MRC方法所得到的誤碼率是最小的,性能也最穩(wěn)定;EGC方法在誤碼率和穩(wěn)定性方面次之;SEL方法在同一SNR下得到的誤碼率最高,而且穩(wěn)定性很差,有時(shí)候能夠得到比MRC、EGC更低的誤碼率,有時(shí)候就不行,增大SNR只能使BER總體趨向下降,不保證增大SNR就能直接降低BER。二、調(diào)制解調(diào)仿真現(xiàn)給出bpsk、qpsk及“書(shū)上習(xí)題”的調(diào)制解調(diào)程序,理解各程序,完成以下習(xí)題。將程序運(yùn)行結(jié)果及各題目的解答寫(xiě)入word中:1.用matla

15、b運(yùn)行書(shū)上習(xí)題中的“bpskqpsk125.m”(a)說(shuō)明bpsk、qpsk解調(diào)判決方法答:由該m文件可得,其中的判決設(shè)置為:BPSK:if a (zero mean)noise sample is larger than sqrt(Eb) a wrong decsion is made.如果一個(gè)噪聲的樣值比平均比特能量大的話(huà),那么就會(huì)產(chǎn)生錯(cuò)誤的判決。QPSK:if the constellation point angle is within pi/4 ang -pi/4 a corerect decision is made.如果星座點(diǎn)上的角偏差在pi/4和-pi/4之間的話(huà),判決就正確了

16、。(b)誤比特率為1e-2、1e-3及1e-4時(shí)的Eb/N0分別是多少?答:運(yùn)行該程序,可以得出如下的圖像:當(dāng)誤比特率在1e-2時(shí)其Eb/N0=4.3dB當(dāng)誤比特率在1e-3時(shí)其Eb/N0=6.8dB當(dāng)誤比特率在1e-4時(shí)其Eb/N0=8.3dB(c)從物理意義上說(shuō)明為什么bpsk、qpsk誤比特率曲線是重疊的答:QPSK為四元相位調(diào)制,而B(niǎo)PSK為二元相位調(diào)制。因此,從判決的區(qū)域來(lái)看BPSK的誤碼率(誤符號(hào)率)是必然大于QPSK的。但是從另一個(gè)角度看,每一個(gè)QPSK的符號(hào)相當(dāng)于是由兩個(gè)BPSK的符號(hào)組合而成(如11是由二進(jìn)制的兩個(gè)1組成),最基本的比特的差錯(cuò)性能都是一樣的,因此BPSK和QP

17、SK的誤比特率是相同的。(d)當(dāng)samples減少為100000,10000,1000時(shí)觀察誤比特率曲線的變化,你得出什么結(jié)論。答:當(dāng)samples=100000,10000,1000時(shí),圖像分別為:此時(shí)誤差已經(jīng)非常明顯2.用matlab運(yùn)行“bpsk.m”、“qpsk.m” (a)在各程序中標(biāo)注“注釋”處加上注釋?zhuān)ㄓ⑽幕蛑形模〣PSK:data1=rand(1,nd)>0.5; %返回一組行向量 code_rate=1; E=1; sigma=E/sqrt(2*SNR*code_rate)%計(jì);算編碼后高斯分布隨機(jī)變量標(biāo)準(zhǔn)差for i=1:nd if (data1(i)=0), dat

18、a4(i)=-E+Gngauss(sigma); %傳0碼時(shí)加入高斯分布白噪聲干擾 else data4(i)=E+Gngauss(sigma); %傳1碼時(shí)加入高斯分布白噪聲干擾 end; end; %BPSK 解調(diào) demodata1=data4 > 0; % data4中每個(gè)元素和0比較 %誤碼率 noe2=sum(abs(data1-demodata1); %計(jì)算誤碼個(gè)數(shù)nod2=length(data1); %計(jì)算總碼數(shù)noe=noe+noe2;nod=nod+nod2;end ber(snr_num) = noe/nod %計(jì)算誤碼率end; QPSK:ber=zeros(1

19、,length(snr_in_dB); for snr_num=1:length(snr_in_dB)SNR=exp(snr_in_dB(snr_num)*log(10)/10);%計(jì)算信噪比nloop=100; % 設(shè)置循環(huán)次數(shù)noe = 0; % 錯(cuò)誤數(shù)量nod = 0; %傳輸數(shù)量for iii=1:nloop data=rand(1,nd*ml)>0.5; %生成同相分量 data1=2*data-1 %此為正交分量% QPSK 調(diào)制 tout=qpskmod(data1,1,nd,ml); code_rate=1; E=1/sqrt(2); sigma=E/sqrt(2*SNR

20、*code_rate); %計(jì)算編碼后高斯分布隨機(jī)變量標(biāo)準(zhǔn)差 for i=1:nd, gsrv1,gsrv2=Gngauss(sigma); tout(i)=tout(i)+gsrv1+j*gsrv2; %sigma=E/sqrt(2*SNR*code_rate); %n = 1/sqrt(2)*randn(1,nd) + j*randn(1,nd); %sigma.*n %注釋?zhuān)毫硪环N高斯白噪聲產(chǎn)生方法 end;%QPSK 解調(diào) demodata=qpskdemod(tout,1,nd,ml); demodata1=demodata > 0; %與原始碼元對(duì)比判決,得到正確的碼元數(shù) d

21、emodata=demodata1;%誤碼率 noe2=sum(abs(data-demodata); %錯(cuò)誤碼元數(shù)nod2=length(data1); %總碼元數(shù)noe=noe+noe2;nod=nod+nod2;end ber(snr_num) = noe/nod; %計(jì)算誤碼率(b)說(shuō)明加性高斯白噪聲的產(chǎn)生方法,請(qǐng)?jiān)俳o出一種加性高斯白噪聲的產(chǎn)生方法,并驗(yàn)證其正確性。原始方法為Gngauss.mif nargin = 0, m=0; sgma=1;elseif nargin = 1, sgma=m; m=0;end;u=rand; z=sgma*(sqrt(2*log(1/(1-u);

22、u=rand; gsrv1=m+z*cos(2*pi*u);gsrv2=m+z*sin(2*pi*u);nargin為輸入變量的個(gè)數(shù),如果nargin為零,即空號(hào),產(chǎn)生均值為0,標(biāo)準(zhǔn)差為1的高斯分布系列。如果傳號(hào),產(chǎn)生均值為0,方差為m的隨機(jī)序列。另一種方法:y = awgn(m,n,p) 產(chǎn)生一個(gè)m行n列的高斯白噪聲的矩陣,p以dBW為單位指定輸出噪聲的強(qiáng)度。但與實(shí)際差距較大。data2=2*data1-1; data4=awgn(data2,snr_in_dB(snr_num)(c)參考“bpskqpsk125.m”的畫(huà)圖功能,給出Eb/N0-誤比特率曲線和高斯信道下的理論誤比特率曲線。B

23、psk時(shí),在末尾加上如下程序段,得到圖樣:figure;semilogy(snr_in_dB,ber,'O');hold onsemilogy(snr_in_dB,0.5*erfc(sqrt(2*10.(snr_in_dB/10)/sqrt(2),'+');ylabel('BER');xlabel('E_b/N_0 dB');legend('simulation BPSK','theory gngauss BPSK' );Qpsk時(shí),在末尾加上如下程序段,得到圖樣:figure;semilogy(s

24、nr_in_dB,ber,'O');hold onsemilogy(snr_in_dB,0.5*erfc(sqrt(2*10.(snr_in_dB/10)/sqrt(2),'+');ylabel('BER');xlabel('E_b/N_0 dB');legend('simulation QPSK','theory gngauss QPSK' ); (d)觀察nd及nloop參數(shù)變化時(shí),曲線的現(xiàn)象,并說(shuō)明原因。答:當(dāng)參數(shù)nd、參數(shù)nloop足夠大時(shí),Eb/N0-誤比特率曲線越平滑,可以從圖得到信噪比

25、越大誤碼率越小的結(jié)論;當(dāng)參數(shù)nd、參數(shù)nloop足夠小時(shí),Eb/N0-誤比特率曲線越不平滑,不能從圖得到信噪比越大誤碼率越小的結(jié)論。原因:參數(shù)nd的意義為Number of symbols that simulates in each loop,即每個(gè)循環(huán)運(yùn)算中取的符號(hào)個(gè)數(shù),而nloop的意義為Number of simulation loops,即循環(huán)次數(shù)。參數(shù)取得越大,當(dāng)然仿真精確性越高,參數(shù)越低,仿真精確性就越低。(此處就不附圖樣了)(e)畫(huà)出不同信噪比條件下的的星座圖,解釋其對(duì)誤碼率的影響。BPSK的不同性噪比條件下的星座圖如下:QPSK的不同性噪比條件下的星座圖如下:結(jié)論:性噪比越大,落在判決范圍內(nèi)的的點(diǎn)越多,即誤碼率越低。(f)通過(guò)程序畫(huà)出QPSK和BPSK的Eb/N0-誤比特率曲線,觀察曲線的現(xiàn)象,能得出什么結(jié)論。答:由之前的結(jié)果可以看到,二者的誤比特率曲線是一致的。3.若信源是你的學(xué)號(hào),結(jié)合程序說(shuō)明其在qpsk (調(diào)制mod)和(解調(diào)demod)子程序中的具體實(shí)現(xiàn)過(guò)程。學(xué)號(hào)為11211041,將其編碼:0001 0001 0010 0001 0001 0000 0100 0001 ,將其做正負(fù)電平值變換,之后編程:Qpsk調(diào)制:m2=ml./2;paradata2=paradata;count2=0;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論