📄 rake_receiver.m
字号:
%rake receiver design
clear;clc;num=4;
t=linspace(0,5,1000);
s=sin(2*pi*t)+cos(4*pi*t);
decay=rand(num,1000);
noise=sqrt(0.65)*rand(1,1000)+0.2;
for k=1:num
x(k,:)=s.*decay(k,:)+noise;
end
for i=1:1000
%MRC:Maximum ratio combining
Ymrc(i)=sum((x(:,i).^2)/(noise(i)^2));
Snr_mrc(i)=Ymrc(i)^2/(noise(i)^2);
%EGC:equal gain combining
Yegc(i)=sum(x(:,i));
Snr_egc(i)=Yegc(i)^2/(noise(i)^2);
%SC:select combining
Ysc(i)=max(x(:,i));
Snr_sc(i)=Ysc(i)^2/(noise(i)^2);
end
t=1:1000;
figure(1);
plot(t,s,'r',t,Ymrc,'g',t,Yegc,'b',t,Ysc,'k');
title('三种分集合并方法的信号比较');
ylabel('幅度');xlabel('时刻');
legend('Original signal','MRC','EGC','SC');
figure(2);
plot(t,10*log10(Snr_mrc),t,10*log10(Snr_egc),t,10*log10(Snr_sc));
title('三种分集合并方法的信噪比比较');
ylabel('SNR');xlabel('时刻');
legend('MRC','EGC','SC');
for j=1:20
num=j;
t=linspace(0,5,1000);
s=sin(2*pi*t)+cos(4*pi*t);
decay=rand(num,1000);
noise=sqrt(0.65)*rand(1,1000)+0.2;
for k=1:num
x(k,:)=s.*decay(k,:)+noise;
end
for i=1:1000
%MRC:Maximum ratio combining
Ymrc(i)=sum((x(:,i).^2)/(noise(i)^2));
Snr_mrc(i)=Ymrc(i)^2/(noise(i)^2);
%EGC:equal gain combining
Yegc(i)=sum(x(:,i));
Snr_egc(i)=Yegc(i)^2/(noise(i)^2);
%SC:select combining
Ysc(i)=max(x(:,i));
Snr_sc(i)=Ysc(i)^2/(noise(i)^2);
end
Amrc(j)=10*log10(sum(Snr_mrc)/1000);
Aegc(j)=10*log10(sum(Snr_egc)/1000);
Asc(j)=10*log10(sum(Snr_sc)/1000);
end
j=1:20;
figure(3);
plot(j,Amrc,'r',j,Aegc,'b',j,Asc,'k');
title('三种分集合并方法的平均信噪比比较');
ylabel('平均信噪比');xlabel('支路数N');
legend('MRC','EGC','SC');
figure(4);
for N=1:20
s1(N)=log2(N);
s2(N)=log2(1+(N-1)*pi/4);
s3(N)=0;
for iii=1:N
s3(N)=s3(N)+1/iii;
end
s3(N)=log2(s3(N));
end
N=1:20;
plot(N,s1,'r',N,s2,'b',N,s3,'k');
title('三种分集合并方法的性能比较');
ylabel('合并增益');xlabel('支路数N');
legend('MRC','EGC','SC');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -