📄 pe.m
字号:
%实验四 多径传播误码率与信噪比%本程序中时间单位是微秒%频率单位为MHz%码速率单位是Mb/sglobal dt t f df Nclose allN=2^13; %采样点数L=16; %每码元的采样点数M=N/L %码元数Rb=2; %码速率是2Mb/sTs=1/Rb; %码元间隔dt=Ts/L; %时域采样间隔df=1/(N*dt) %频域采样间隔T=N*dt %截短时间Bs=N*df/2 %系统带宽Na=6; %示波器扫描宽度为6个码元alpha=0.5;t=linspace(-T/2,T/2,N); %时域横坐标f=linspace(-Bs,Bs,N)+eps; %频域横坐标%升余弦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)); %多径信道的传递函数 H=C.*HR; h=real(f2t(H));for loop1=1:20 Eb_N0(loop1)=(loop1-1); %分贝值变为线性值 eb_n0(loop1)=10^(Eb_N0(loop1)/10); Eb=1; n0=Eb/eb_n0(loop1); %信道噪声谱密度 sita=n0*Bs; %噪声功率 n_err=0; %误码计数 for loop2=1:10 a=sign(randn(1,M)); %发送码元 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,滚降系数为0.5的误码率曲线']); xlabel('Eb/N0 (dB)') ylabel('Pe') end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -