MATLAB仿真報(bào)告
《MATLAB仿真報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《MATLAB仿真報(bào)告(22頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 無(wú)線通信 (MATLAB課后作業(yè)仿真) 姓 名: 學(xué) 院: 學(xué) 號(hào): 班 級(jí): 指導(dǎo)教師: 一、分集仿真 現(xiàn)給出最大比合并(MRC)、等增益合并(EGC)和選擇性合并的分集合并程序,理解各程序,完成以下習(xí)題。將程序運(yùn)行結(jié)果及各題目的解答寫入word中: 1. 用matlab分別運(yùn)行“BPSKMRC.m”、“BPSKEGC.m”以及“BPSKSEL.m” (a)在程序中標(biāo)注“注釋
2、”處加上注釋(英文或中文) BPSKMRC.m注釋 nd = 10000; %設(shè)置每個(gè)循環(huán)中的符號(hào)數(shù) snr_in_dB=[0:15] ; ber=zeros(1,length(snr_in_dB)); for snr_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; dat
3、a2=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*randn(1,nd)]; % 瑞利信道 data41=data2.*h1+sigma.*n; h11=conj(h1); %計(jì)算信道質(zhì)量指數(shù)的復(fù)共軛 data411 = data41.*h11; %計(jì)算組合后的價(jià)值
4、 %***************************************** 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)行
5、組合 % BPSK 解調(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
6、/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 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=z
7、eros(1,length(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*
8、code_rate); n =[randn(1,nd) + j*randn(1,nd)]; h1 =1/sqrt(2)*[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*ra
9、ndn(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; %***************************************** data4=data411+data422; %BPSK 解調(diào) demodata1=data4 > 0; %誤碼率計(jì)算 noe2=sum(abs(data1-demoda
10、ta1)); 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)),+-); hold on semilogy(snr_in_dB,0.5.*(1-sqrt((10.^(snr
11、_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(snr_in_dB) k N=10000; E=1; SNR=10^(snr_in_dB(k)/10); sigma=E/sqrt(2*SNR); f
12、or 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;H2]; y1=H(1)*data(i)+sigma*(rand + j*r
13、and); %在第一個(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; end data2=sign(real(s)); if (data2~=data(i)) numofber=numofber+1; %計(jì)算誤比特率 end end end p(k)=numofber/(N*totolnumber); %
14、計(jì)算誤碼率 end figure; 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 BPSK SEL L=2,theo
15、ry gngauss BPSK,theory reyleigh); (b)觀察信噪比變化10dB,誤比特率變化多少? MRC誤比特率變化:0.0588-0.0017=0.0571 EGC誤比特率變化:0.0650-0.0018=0.0632 SEL 誤比特率變化:0.1733-0.0030=0.1703 (c)程序中給出的是2分集,將其換為3分集,觀察信噪比變化10dB,誤比特率變化多少? MRC 誤比特率變化:0.0248-0.0001=0.0247 EGC 誤比特率變化:0.0330-0.0002=0.0328 SEl 誤比特率變化
16、:0.1780-0.0003=0.1777 (d)將最大比合并和等增益合并及選擇式合并的誤比特率曲線,畫在一張圖上,比較這三種合并方法的優(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及“書上習(xí)題”的調(diào)制解調(diào)程序,理解各程序,完成以下習(xí)題。將程序運(yùn)行結(jié)果及各題目的解答寫入word中
17、: 1.用matlab運(yùn)行書上習(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ì)產(chǎn)生錯(cuò)誤的判決。 QPSK:if the constellation point angle is within pi/4 ang -pi/4 a corerect decision is made. 如果星座點(diǎn)上的角偏
18、差在pi/4和-pi/4之間的話,判決就正確了。 (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)制,而BPSK為二元相位調(diào)制。因此,從判決的區(qū)域來(lái)看BPSK的誤碼率(誤符號(hào)率)是必然大于QPSK的。但是從另一個(gè)角度看,每一個(gè)QPSK的符號(hào)相當(dāng)于是由兩個(gè)BPSK的符號(hào)組合而成
19、(如11是由二進(jìn)制的兩個(gè)1組成),最基本的比特的差錯(cuò)性能都是一樣的,因此BPSK和QPSK的誤比特率是相同的。 (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)注“注釋”處加上注釋(英文或中文) BPSK: data1=rand(1,nd)>0.5; %返回一組行向量 code_rate=1; E=1; sig
20、ma=E/sqrt(2*SNR*code_rate)%計(jì);算編碼后高斯分布隨機(jī)變量標(biāo)準(zhǔn)差 for i=1:nd if (data1(i)==0), data4(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比較 %
21、誤碼率 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,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ù)
22、 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*code_rate); %計(jì)算編碼后高斯分布隨機(jī)變量標(biāo)準(zhǔn)差 for i=1:nd, [gsrv1,gsrv2]=Gngauss(sig
23、ma); 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 %注釋:另一種高斯白噪聲產(chǎn)生方法 end; %QPSK 解調(diào) [demodata]=qpskdemod(tout,1,nd,ml); demodata1=demodata > 0; %與原始碼元對(duì)比判決,得到正確的碼元數(shù) demodata=demoda
24、ta1; %誤碼率 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.m if nargin == 0, m=0; sgma=1; elseif nargin == 1, sgma=m; m=0; end; u=rand;
25、 z=sgma*(sqrt(2*log(1/(1-u)))); 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; d
26、ata4=awgn(data2,snr_in_dB(snr_num)) (c)參考“bpskqpsk125.m”的畫圖功能,給出Eb/N0---誤比特率曲線和高斯信道下的理論誤比特率曲線。 Bpsk時(shí),在末尾加上如下程序段,得到圖樣: 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)),+); ylabel(BER); xlabel(E_b/N_0 [dB]); legend(simulation BPSK,theo
27、ry gngauss BPSK ); Qpsk時(shí),在末尾加上如下程序段,得到圖樣: 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)),+); 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足夠大
28、時(shí),Eb/N0---誤比特率曲線越平滑,可以從圖得到信噪比越大誤碼率越小的結(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)畫出不同信噪比條件下的的星座圖,解釋其對(duì)誤碼率的影響。 BPSK的不同性噪比條件下
29、的星座圖如下: QPSK的不同性噪比條件下的星座圖如下: 結(jié)論:性噪比越大,落在判決范圍內(nèi)的的點(diǎn)越多,即誤碼率越低。 (f)通過(guò)程序畫出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
30、./2; paradata2=paradata; count2=0; for jj=1:nd isi = zeros(para,1); isq = zeros(para,1); for ii = 1 : m2 isi = isi + 2.^( m2 - ii ) isq = isq + 2.^( m2 - ii ) ; end iout((1:para),jj)=isi/sqrt(2); qout((1:para),jj)=isq/sqrt(2); count2=count2+ml; end 用isi和isp這兩個(gè)集合存儲(chǔ)虛
31、部和實(shí)部,每次取出兩個(gè)信號(hào)進(jìn)行調(diào)制,得到編碼為11(1/sqrt(2), 1/sqrt(2)),10(1/sqrt(2), -1/sqrt(2)),01(-1/sqrt(2), 1/sqrt(2)),00(-1/sqrt(2), -1/sqrt(2)) 解調(diào) demodata=zeros(para,ml*nd); demodata((1:para),(1:ml:ml*nd-1))=idata((1:para),(1:nd)); demodata((1:para),(2:ml:ml*nd))=qdata((1:para),(1:nd)); 解調(diào)時(shí)將數(shù)據(jù)按先虛部后實(shí)部的順序存入demod
32、ata里面,在根據(jù)主程序的方法demodata1=demodata > 0,判斷0或是1 4.針對(duì)題目2中的BPSK、QPSK, (a)若信道使信號(hào)幅度呈瑞利衰落,畫出Eb/N0---誤比特率曲線和瑞利衰落下的理論誤比特率曲線 ,說(shuō)明與題目2觀察結(jié)果的異同,并說(shuō)明原因。 (a)bpsk: Qpsk: 結(jié)論:加性高斯噪聲的誤比特率比瑞利信道的誤比特率高,說(shuō)明在瑞利信道對(duì)信號(hào)的影響大,我們可以通過(guò)提高信噪比來(lái)降低誤碼率。 (b)若信道使信號(hào)幅度呈萊斯衰落,更改K值的大小,畫出Eb/N0---誤比特率曲線、瑞利衰落下的理論誤比特率曲線和高斯信道下的理論誤比特率曲線,觀察曲線的現(xiàn)象,能得出什么結(jié)論。 Bpsk: Qpsk 從上述兩圖可以看出當(dāng)信噪比較小時(shí),萊斯信道衰落接近于瑞利信道 ,當(dāng)信噪比逐漸增大時(shí),萊斯信道越來(lái)越接近高斯信道。
- 溫馨提示:
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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹問(wèn)題講課
- 小小圖書館賈世喜
- 小班數(shù)學(xué):變得一樣多
- 蘇教版三年級(jí)數(shù)學(xué)上冊(cè)教學(xué)ppt課件58:解決問(wèn)題的策略復(fù)習(xí)
- 小學(xué)科學(xué)六下《拓展與應(yīng)用》-公開課一等獎(jiǎng)ppt課件
- 高中英語(yǔ)人教版選修七Unit-2-Robots-ppt課件
- 第九章長(zhǎng)期負(fù)債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場(chǎng)消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應(yīng)用
- 《永遇樂(lè)&#183;京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護(hù)患溝通技巧-課件
- 《高等數(shù)學(xué)B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(yǔ)(人教版)九年級(jí)總復(fù)習(xí)題型訓(xùn)練補(bǔ)全對(duì)話(含最新原創(chuàng)題)課件