📄 rake.m
字号:
load aa m3;
load mm2 m2;
l=25;
for t=1:l
d=100;
y1=rand(d,1);
y1=(y1>=0.5);
y2=rand(d,1);
y2=(y2>=0.5);
b1=y1;
b2=y2;
s1=zeros(1,1);
s2=zeros(1,1);
for m=1:d
r1=m2(:,1)*b1(1,m);
r2=m3(:,1)*b2(1,m);
s1=[s1;r1];
s2=[s2;r2];
end
s1=s1(2:31*d+1,1);
s2=s2(2:31*d+1,1);
Noi11=normrnd(0,t,31*d,1);
Noi12=normrnd(0,t,31*d,1);
Noi21=normrnd(0,t,31*d,1);
Noi22=normrnd(0,t,31*d,1);
s11=s1+Noi11;
s12=s1+Noi12;
s21=s2+Noi21;
s22=s2+Noi22;
s=zeros(31*d+3,1);
s(1,1)=s11(1,1);
s(2,1)=s11(2,1)+s12(1,1);
s(3,1)=s11(3,1)+s12(2,1)+s21(1,1);
s(4,1)=s11(4,1)+s12(3,1)+s21(2,1)+s22(1,1);
for i=5:31*d
s(i,1)=s11(i,1)+s12(i-1,1)+s21(i-2,1)+s22(i-3,1);
end
s(31*d+1,1)=s12(31*d,1)+s21(31*d-1,1)+s22(31*d-2,1);
s(31*d+2,1)=s21(31*d,1)+s22(31*d-1,1);
s(31*d+3,1)=s22(31*d,1);
%取第一、二路第一个信号
for i=1:d
for j=1:31
y1((i-1)*31+j,1)=s((i-1)*31+j,1)*c(j,1);
y2((i-1)*31+j,1)=s((i-1)*31+j+2,1)*c1(j,1);
end
end
%9被换成了*号
x19=zeros(d,1);
x29=zeros(d,1);
for i=1:d
for j=1:31
x19(i,1)=x19(i,1)+y1((i-1)*31+j,1);
x29(i,1)=x29(i,1)+y2((i-1)*31+j,1);
end
x19(i,1)=sign(x19(i,1));
x29(i,1)=sign(x29(i,1));
end
z1=b1'-x19;
z2=b2'-x29;
z19=0;
z29=0;
for i=1:d
z19=z19+z1(i,1)^2;
z29=z29+z2(i,1)^2;
end
z199(t,1)=z19/(4*d);
z299(t,1)=z29/(4*d);
end
figure(1)
%plot(z199);
L=zeros(l,1);
for i=1:l
L(i,1)=1/i;
end
semilogy(z199,L,'-r*');
grid on;
hold on
semilogy(z299,L,'-gd');
hold off
title('Rake接收')
xlabel('SINR')
ylabel('误码率')
legend('user1','user2')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -