?? pe.m
字號:
%實(shí)驗(yàn)四 多徑傳播誤碼率與信噪比%本程序中時間單位是微秒%頻率單位為MHz%碼速率單位是Mb/sglobal dt t f df Nclose allN=2^13; %采樣點(diǎn)數(shù)L=16; %每碼元的采樣點(diǎn)數(shù)M=N/L %碼元數(shù)Rb=2; %碼速率是2Mb/sTs=1/Rb; %碼元間隔dt=Ts/L; %時域采樣間隔df=1/(N*dt) %頻域采樣間隔T=N*dt %截短時間Bs=N*df/2 %系統(tǒng)帶寬Na=6; %示波器掃描寬度為6個碼元alpha=0.5;t=linspace(-T/2,T/2,N); %時域橫坐標(biāo)f=linspace(-Bs,Bs,N)+eps; %頻域橫坐標(biāo)%升余弦hr1=sin(pi*t/Ts)./(pi*t/Ts);hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);hr=hr1.*hr2; HR=t2f(hr);tao=0.5*Ts;C=1-0.5*exp(-j*(2*pi*f*tao)); %多徑信道的傳遞函數(shù) H=C.*HR; h=real(f2t(H));for loop1=1:20 Eb_N0(loop1)=(loop1-1); %分貝值變?yōu)榫€性值 eb_n0(loop1)=10^(Eb_N0(loop1)/10); Eb=1; n0=Eb/eb_n0(loop1); %信道噪聲譜密度 sita=n0*Bs; %噪聲功率 n_err=0; %誤碼計(jì)數(shù) for loop2=1:10 a=sign(randn(1,M)); %發(fā)送碼元 imp=zeros(1,N); imp(L/2:L:N)=a/dt; IMP=t2f(imp); n_ch=sqrt(sita)*randn(size(t)); %信道噪聲 nr=real(f2t(t2f(n_ch).*sqrt(HR))); sr=real(f2t(IMP.*H))+nr; %多徑信道的接收信號 y=sign(sr(L*0.5:L:N));%取樣判決 n_err=n_err+length(find(y~=a)) ;%多徑信道誤碼 end Pe(loop1)=n_err/(M*loop2); %誤碼率 eb_n0=10.^(Eb_N0/10); %還原為線性值 figure(1) semilogy(Eb_N0,0.5*erfc(sqrt(eb_n0)),'r'); hold on; semilogy(Eb_N0,Pe+eps,'g'); axis([0,9,1e-4,1]); legend('紅色:理想誤碼率曲線', '綠色:通過多徑信道后的誤碼率曲線','Location','SouthWest'); title(['取樣時間偏差為0Ts,滾降系數(shù)為0.5的誤碼率曲線']); xlabel('Eb/N0 (dB)') ylabel('Pe') end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -