版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、matlab分集+均衡實(shí)驗(yàn)報(bào)告姓 名 李聰 學(xué) 號(hào) 11211060 指導(dǎo)教師 姚冬萍 時(shí) 間 2014年5月25日 分集matlab作業(yè)現(xiàn)給出最大比合并(MRC)、等增益合并(EGC)和選擇性合并的分集合并程序,理解各程序,完成以下習(xí)題。將程序運(yùn)行結(jié)果及各題目的解答寫入word中:1. 用matlab分別運(yùn)行“BPSKMRC.m”、“BPSKEGC.m”以及“BPSKSEL.m” (a)在程序中標(biāo)注“注釋”處加上注釋(英文或中文)MRC% bpsk.m% Simulation program to realize BPSK transmission system%* Preparation
2、part *nd = 10000; % Number of symbols that simulates in each loopsnr_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);%* START CALCULATION *nloop=100; % Number of simulation loopsnoe = 0; % Number of error datanod = 0; % Number of tran
3、smitted datafor iii=1:nloop %* Data generation * data1=rand(1,nd)>0.5; data2=2.*data1-1;%* Attenuation Calculation *%* rayleigh channel * 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); % Rayleigh channel data41=data2.*h1
4、+sigma.*n; h11=conj(h1); %注釋:根據(jù)測(cè)得的信號(hào)幅度相位得到各支路加權(quán)系數(shù) data411 = data41.*h11; %注釋:將各個(gè)支路信號(hào)調(diào)整為同相信號(hào)%* n =randn(1,nd) + j*randn(1,nd); h2 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % Rayleigh channel data42=data2.*h2+sigma.*n; h22=conj(h2); data422 =data42.*h22; %* data4=data411+data422;% 注釋:各個(gè)已調(diào)為同相信號(hào)支路作相關(guān)電壓的疊加
5、%* BPSK Demodulation * demodata1=data4 > 0; %* Bit Error Rate (BER) * noe2=sum(abs(data1-demodata1); nod2=length(data1); noe=noe+noe2;nod=nod+nod2;end %* Output result *ber(snr_num) = noe/nod end; %* end of file *figure; semilogy(snr_in_dB,ber,'O-'); hold on semilogy(snr_in_dB,0.5*erfc(sq
6、rt(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 MRC L=2','theory gngauss BPSK','theory reyleigh' ); %EGC%
7、bpsk.m% Simulation program to realize BPSK transmission system%* Preparation part *nd = 10000; % Number of symbols that simulates in each loopsnr_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);%* START CALCULATION *nloop=100; % Numbe
8、r of simulation loopsnoe = 0; % Number of error datanod = 0; % Number of transmitted datafor iii=1:nloop %* Data generation * data1=rand(1,nd)>0.5; data2=2.*data1-1;%* Attenuation Calculation *%* rayleigh channel * code_rate=1; E=1; sigma=E/sqrt(2*SNR*code_rate); n =randn(1,nd) + j*randn(1,nd); h
9、1 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % Rayleigh channel data41=data2.*h1+sigma.*n; h11=conj(h1)./abs(h1); %注釋:得到各個(gè)支路等增益合并的加權(quán)系數(shù) data411 = data41.*h11; %注釋:將支路信號(hào)調(diào)整為同相信號(hào)%* n =randn(1,nd) + j*randn(1,nd); h2 =1/sqrt(2)*randn(1,nd) + j*randn(1,nd); % Rayleigh channel data42=data2.*h2+sigma.*n; h22=c
10、onj(h2)./abs(h2); data422 =data42.*h22; %* data4=data411+data422; %注釋:各個(gè)已調(diào)為同相信號(hào)的支路作等增益合并 %* BPSK Demodulation * demodata1=data4 > 0; %* Bit Error Rate (BER) * noe2=sum(abs(data1-demodata1); nod2=length(data1); noe=noe+noe2;nod=nod+nod2;end %* Output result *ber1(snr_num) = noe/nod end; %* end of
11、file *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_in_dB/10)./(10.(snr_in_dB/10)+1),'-'); ylabel('BER'); xlabel('E_b/N_0 dB'); legend('sim
12、ulation BPSK EGC L=2','theory gngauss BPSK','theory reyleigh' ); %SEL% close all; % clear all; % clc snr_in_dB=0:15; for k=1:length(snr_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=
13、0; totolnumber=0; while numofber<1 totolnumber=totolnumber+1; for i=1:N H1 =1/sqrt(2)*rand + j*rand; %注釋: 多徑信道某一徑的幅度和相位(多徑信道某一徑系數(shù))H2 =1/sqrt(2)*rand + j*rand; %注釋: 多徑信道某一徑的幅度和相位(多徑信道某一徑系數(shù))H=H1;H2; y1=H(1)*data(i)+sigma*(rand + j*rand); %注釋:信號(hào)某一徑分量y2=H(2)*data(i)+sigma*(rand + j*rand); %注釋:信號(hào)某一徑分量
14、y=abs(y1),abs(y2); s=max(y); %注釋:比較選擇信噪比最大(指示參量最好)的一徑if (s=abs(y2) s=y2/H2;%注釋:對(duì)信噪比最大的支路進(jìn)行解調(diào)else s=y1/H1; %注釋:對(duì)信噪比最大的支路進(jìn)行解調(diào)enddata2=sign(real(s); if (data2=data(i) numofber=numofber+1; %注釋:計(jì)算得到誤比特?cái)?shù)end endend p(k)=numofber/(N*totolnumber); %注釋:得到誤比特率endfigure; semilogy(snr_in_dB,p,'O-'); hold
15、 onsemilogy(snr_in_dB,0.5*erfc(sqrt(2*10.(snr_in_dB/10)/sqrt(2),'+-'); hold onsemilogy(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','theory gngauss BPSK',
16、9;theory reyleigh');(b)觀察信噪比變化10dB,誤比特率變化多少? EGC 信噪比從0變化成10db時(shí)候,誤比特率從0.067變成了0.002,誤比特率下降了97.01%SEL信噪比從0變化成10db時(shí)候,誤比特率從0.1752變成了0.003,誤比特率下降了98.29%MRC信噪比從0變化成10db時(shí)候,誤比特率從0.0576變成了0.0016,誤比特率下降了97.22%從這些數(shù)據(jù)中,我們可以看出,分集的性能是MRC>EGC>SEL,且MRC與SEL在相同信噪比下誤碼率相差不大;在增加信噪比的時(shí)候SEL有顯著提升,而MRC,EGC誤碼率也有比較大的提
17、升,且當(dāng)信噪比為10db的時(shí)候三種分集性能差別不大,說明在信道環(huán)境比較好的情況下,三種分集誤碼率基本上差不多;此外,實(shí)驗(yàn)還說明了MRC和EGC比SEL更能適應(yīng)低信噪比的環(huán)境下。(c)程序中給出的是2分集,將其換為3分集,觀察信噪比變化10dB,誤比特率變化多少? EGC 信噪比從0變化成10db時(shí)候,誤比特率從0.0331變成了2.19*10-4,誤比特率下降了99.34%SEL信噪比從0變化成10db時(shí)候,誤比特率從0.1657變成了2.0*10-4,誤比特率下降了99.88%MRC信噪比從0變化成10db時(shí)候,誤比特率從0.0251變成了1.27*10-4,誤比特率下降了99.49%.相對(duì)
18、比之前的二分集來說,在0db(低信噪比的環(huán)境下)三分集的性能要比二分集誤碼率差不多,三種分集方式誤碼率有比較大的差別,MRC的誤碼率大概是SEL的15%左右,EGC大概是19.97%,說明MRC,EGC適合低信噪比環(huán)境下,并且此時(shí)增加分集支路數(shù)對(duì)誤碼率影響不大;在10db環(huán)境下,誤碼率有顯著下降,且三種分集差別不是太大,數(shù)量級(jí)都是10-4,且是二分集的10%左右。這些數(shù)據(jù)說明了,增加分集支路數(shù)在低信噪比的環(huán)境下對(duì)誤碼率的影響不大,此時(shí)分集方式是影響誤碼率的主要原因;而在高信噪比的條件下,分集方式對(duì)誤碼率影響不大,但是增加分集支路數(shù)能夠很大程度改善瑞利信道下的誤碼率。(d)將最大比合并和等增益合
19、并及選擇式合并的誤比特率曲線,畫在一張圖上,比較這三種合并方法的優(yōu)劣。很顯然,在低信噪比的環(huán)境下,MRC,EGC分集效果比SEL效果好得多,相對(duì)來說MRC和EGC差別不大,但是EGC實(shí)現(xiàn)起來要比MRC容易得多,因此在多數(shù)情況下使用EGC;在高信噪比的環(huán)境下,MRC,EGC,SEL分集誤碼率差別不大,但是當(dāng)增加分集支路數(shù),誤碼率則會(huì)很大程度地改善,由二分集到三分集誤碼率下降90%;此外我們可以看到,在信噪比增加的過程中,sel分集方式誤碼率出現(xiàn)了震蕩,因此綜合各個(gè)方面的因素來說,等增益合并EGC是相對(duì)來說比較好的一種選擇。均衡matlab現(xiàn)給出迫零均衡(ZF)、最小均方誤差均衡中的最小均方算法(
20、LMS)的matlab程序,理解各程序,完成以下習(xí)題。將程序運(yùn)行結(jié)果及各題目的解答寫入word中: 用matlab分別運(yùn)行“main_zf.m”和“main_lms.m” (1)在程序中標(biāo)注“注釋”處加上注釋(英文或中文)。迫零均衡:M=1500; %碼元數(shù)目P=0.5; %1碼概率data=2*round(rand(1,M)+P-0.5)-1; %產(chǎn)生一列01碼h=0.02 0.05 0.1 -0.2 1 -0.2 0.1 0.06 0.01;%歸一化的多徑信道系數(shù)hr=conv(data,h);%迫零均衡N=5;C=force_zero(h,N);dataout=conv(r,C); %注
21、釋:將多徑信道輸出的序列輸入均衡器,得到均衡器輸出序列figure(1)subplot(2,2,1)plot(1:length(data),data,'.')title('發(fā)送信號(hào)序列')subplot(2,2,2)plot(1:length(r),r,'.')title('多徑信號(hào)序列')subplot(2,2,3)plot(1:length(dataout),dataout,'.')title('均衡后的信號(hào)序列')eyediagram(r,2);title('迫零均衡前的眼圖'
22、); eyediagram(dataout,2);title('迫零均衡后的眼圖'); %注釋:得到均衡器輸出序列的眼圖%用不同階數(shù)的迫零均衡器均衡后的誤碼率,并與理想誤碼率曲線比較。snr_in_dB=4:11; %注釋:輸入序列的信噪比的db表示N=1 2 3; %注釋:均衡器的階數(shù)err_rate=zeros(length(N),length(snr_in_dB); %經(jīng)過均衡誤碼率統(tǒng)計(jì)err_rate1=zeros(1,length(snr_in_dB); %未經(jīng)過均衡誤碼率統(tǒng)計(jì)for ii=1:length(N) C=force_zero(h,N(ii); for j
23、j=1:length(snr_in_dB) SNR=10(snr_in_dB(jj)/10); %注釋:輸入序列的信噪比線性表示 err=0; %注釋:用于記錄均衡之后的總的誤碼數(shù) err1=0; %注釋:用于記錄均衡之前的總的誤碼數(shù) for kk=1:103 %注釋:用于進(jìn)行1000次計(jì)算得到平均誤碼率 x=2*round(rand(1,M)+P-0.5)-1; %注釋:產(chǎn)生一列01碼 x2=awgn(x,SNR,'measured','linear'); %注釋:測(cè)量序列的功率,給X添加高斯白噪聲 x1=conv(x2,h); %注釋:添加高斯白噪聲序列的信
24、號(hào)通過多徑信道之后的輸出 y=conv(x1,C); %注釋:多徑信道的輸出經(jīng)過均衡之后輸出 L=(length(y)-M)/2; %信道時(shí)延色散的長(zhǎng)度 y=y(L+1:L+M); %注釋:截取得到N階均衡的輸出 y=sign(y); %注釋:對(duì)得到的序列進(jìn)行判決 err=err+sum(abs(x-y)/2; %均衡之后總的誤碼數(shù)%-不經(jīng)過均衡 L1=(length(x1)-M)/2; %注釋:信道時(shí)延色散導(dǎo)致的碼元展寬長(zhǎng)度 x11=x1(L1+1:L1+M); %注釋:截取多徑信道輸出的到去除展寬之后的碼元 y11=sign(x11); %注釋:對(duì)信道輸出的碼元進(jìn)行抽樣判決 err1=er
25、r1+sum(abs(x-y11)/2; %注釋:計(jì)算得到未均衡輸出的誤碼數(shù) end err_rate(ii,jj)=err/(M*103) %注釋:計(jì)算得到經(jīng)過均衡后,平均每個(gè)碼元在每次實(shí)驗(yàn)中的誤碼率 err_rate1(1,jj)=err1/(M*103) %注釋:計(jì)算得到經(jīng)過均衡之前,平均每個(gè)碼元在每次實(shí)驗(yàn)中的誤碼率 endendfigure(2);semilogy(snr_in_dB,0.5*erfc(sqrt(1*10.(snr_in_dB/10),'g*-');hold on;semilogy(snr_in_dB,err_rate1(1,:),'g-'
26、;); hold on;semilogy(snr_in_dB,err_rate(1,:),'ko');hold on;semilogy(snr_in_dB,err_rate(2,:),'go');hold on;semilogy(snr_in_dB,err_rate(3,:),'ro');title('誤碼率');legend('高斯信道下理想誤碼率特性','未進(jìn)過均衡的誤碼率','三階迫零均衡誤碼率','五階迫零均衡誤碼率','七階迫零均衡誤碼率')
27、;xlabel('SNR');LMS均衡:clear;clc;%*變量設(shè)置區(qū)*%N=10000; %二進(jìn)制信源的長(zhǎng)度,測(cè)誤碼率時(shí)使用的N h = 0.6 -0.3 0.1; %多徑響應(yīng)序列order = 5; %C的階數(shù)(取大于1的奇數(shù))mu = 0.01; % 步長(zhǎng)delta=2; %延遲SNRdB = 5:15; Loops = 100,100,100,100,100,100,100,100,100,100,100; %循環(huán)數(shù),實(shí)現(xiàn)信源長(zhǎng)度106%*%C = zeros(order,1); %初始化自適應(yīng)系數(shù) for i = 1:length(SNRdB) % 注釋:控制信
28、噪比,得到不同信噪比條件下的誤碼率曲線 disp('目前仿真到第',num2str(i),'輪:','SNR=',num2str(SNRdB(i),'dB'); %注釋:在不同的信噪比下實(shí)驗(yàn),得到信噪比和誤碼率曲線 TotalError = 0; % 注釋:用于記錄均衡之前的信噪比 totalerror1=0; SNR = 10(SNRdB(i)/10); % 注釋:將db形式的信噪比轉(zhuǎn)換成線性形式的信噪比 for JJJ = 1:Loops(i) % 注釋:循環(huán)數(shù),在某一信噪比下作100次試驗(yàn) x=randsrc(1,N,0,1
29、;0.5,0.5);%注釋:隨機(jī)生成0,1出現(xiàn)概率均為0.5的單極性碼 x1=1-x*2; %注釋:將單極性碼轉(zhuǎn)換成雙極性碼 x2 = conv(x1,h); % 注釋:信號(hào)通過多徑信道之后輸出 x3 = awgn(x2,SNR,'measured','linear'); %注釋:信號(hào)序列x2加高斯白噪聲 for jjj=order+1:N % iterate rr=x3(jjj:-1:jjj-order+1)'% vector of received signal e=x1(jjj-delta)-C'*rr;%calculate error C
30、=C+mu*e*rr; %update equalizer coefficients end x6=filter(C,1,x3); %注釋:用均衡器對(duì)信道輸出序列進(jìn)行均衡 x7 = (1-sign(x6)/2; %注釋:對(duì)均衡器輸出序列抽樣判決 x8=x3<0; %注釋:對(duì)多徑信道未經(jīng)過均衡器輸出序列進(jìn)行判決 TotalError = TotalError + sum(abs(x-x7(3:end);%注釋:在某一特定信噪比下,計(jì)算得到100次實(shí)驗(yàn)經(jīng)過均衡器輸出的所有序列的誤碼數(shù) totalerror1=totalerror1+ sum(abs(x8(1:end-2)-x);%注釋:在某
31、一特定信噪比下,計(jì)算得到100次實(shí)驗(yàn)未經(jīng)過均衡的所有序列的誤碼數(shù) end BER(i) = TotalError / (N-order) / Loops(i);% 注釋:在某一特定信噪比下,得到平均每次實(shí)驗(yàn)誤比特率 ber1(i)= totalerror1 / N / Loops(i); %注釋:在某一特定信噪比下,得到未經(jīng)過均衡平均每次實(shí)驗(yàn)誤比特率endfigure(1)subplot(2,2,1)plot(1:length(x1),x1,'.')title('發(fā)送信號(hào)序列')subplot(2,2,2)plot(1:length(x2),x2,'.&
32、#39;)title('多徑信號(hào)序列')subplot(2,2,3)plot(1:length(x3),x3,'.')title('多徑加噪聲信號(hào)序列')subplot(2,2,4)plot(1:length(x6),x6,'.')title('均衡后信號(hào)序列')eyediagram(x3,2);title('均衡前的眼圖');eyediagram(x6,2);title('均衡后的眼圖');figure(2)semilogy(SNRdB, BER,'r.-');%注釋:用對(duì)數(shù)坐標(biāo)畫出誤碼率和信噪比曲線hold on;semilogy(SNRdB, ber1,'g.-'); hold on;semilogy(SNRdB,0.5*erfc(sqrt(2*10.(SNRdB/10)/sqrt(2),'-');ylim(10(-6),10(0);legend('均衡后的誤碼率曲
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 維生素c課程設(shè)計(jì)
- 蓋板零件課程設(shè)計(jì)
- 保險(xiǎn)行業(yè)會(huì)計(jì)職責(zé)總結(jié)
- 海底動(dòng)物創(chuàng)意課程設(shè)計(jì)
- 咨詢行業(yè)的營(yíng)銷工作總結(jié)
- 火葬場(chǎng)衛(wèi)生整治工作總結(jié)
- 2024年西雙版納職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫含答案
- 水務(wù)領(lǐng)域數(shù)字經(jīng)濟(jì)發(fā)展的研究計(jì)劃
- 2024年認(rèn)識(shí)圖形二教案
- 2024年秋天的信教案模板
- 《紅色家書》讀書分享會(huì)主題班會(huì)課件
- 2025年廣東省春季高考數(shù)學(xué)仿真模擬試卷試題(含答案解析+答題卡)
- 新媒體運(yùn)營(yíng)工作年終總結(jié)
- 【MOOC】電子技術(shù)-北京科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 米酒釀造工藝
- 點(diǎn)式高層住宅工程施工組織設(shè)計(jì)
- 0-3歲嬰幼兒心理發(fā)展知到智慧樹期末考試答案題庫2024年秋杭州師范大學(xué)
- 2024年1月福建省普通高中學(xué)業(yè)水平合格性考試化學(xué)試題(解析版)
- 齊白石介紹課件
- 窺見中華文明之光- 高中語文統(tǒng)編版(2022)必修下冊(cè)第一單元整體教學(xué)設(shè)計(jì)
- 2024年安徽省公務(wù)員錄用考試《行測(cè)》真題及解析
評(píng)論
0/150
提交評(píng)論