📄 mrc_egc_slc_rake.asv
字号:
clear all;
%%
L=32;
%Tw=2*10^(-9); %脉冲宽度
%tp=0.4395*10^(-9); %PPM时延
Tf=2*10^(-6);
fc=1.1*10^9;
t0=2.2*10^(-9);
tt=zeros(1,L);
ttp=zeros(1,L);
for l=1:L
tt(l)=l*2.2*10^(-9)+0.5e-9; %定义抽头时延值
end
for s1=1:100
a=random('rayl',0.9,1,L); %信道幅度选择瑞利分布的随机数
a1=a.*exp(i*2*pi*fc*tt); %定义多径衰落a(tl)
a2=abs(sum(a1.^2));
a3=abs(sum(a1).^2);
SNR=0:0.25:15;
for i2=1:length(SNR)
snr=10^(SNR(i2)/10);
PPM_Pe1(s1,i2)=0.5.*erfc(sqrt(snr)/sqrt(2));
MRC_x=sqrt(snr.*a2);
MRC_Pe1(s1,i2)=0.5.*erfc(MRC_x/sqrt(2));
SLC_x=sqrt(a2.*snr./(2+L./(a2.*snr)));
SLC_Pe1(s1,i2)=0.5.*erfc(SLC_x/sqrt(2)); %求误码率
EGC_x=sqrt(a3.*snr/L);
EGC_Pe1(s1,i2)=0.5.*erfc(EGC_x/sqrt(2));
end
end
%%
PPM_Pe=sum(PPM_Pe1)/100;
MRC_Pe=sum(MRC_Pe1)/100;
SLC_Pe=sum(SLC_Pe1)/100;
EGC_Pe=sum(EGC_Pe1)/100;
figure(1); %画图
semilogy(SNR,MRC_Pe,'r:',SNR,SLC_Pe,'b',SNR,EGC_Pe,'g*'); %overlapped PPM
grid on;
hold on;
axis([0,15,10^(-5),1]);
xlabel('SNR(dB)');
ylabel('BER');
legend('MRC-Rake','SLC-Rake','EGC-Rake');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -