📄 spead_multipath.m
字号:
clc;
clear all;
EbNodB=3:2:26;
sigma2=1./(2.*10.^(EbNodB./10));
sf=31;
fbconnection=[0 1 0 0 1];
spead=m_sequence(fbconnection);
%spead=randint(1,sf);
spead=1-2*spead;
spead=spead./sqrt(sf);
spead_(1)=spead(31);
spead_(2:31)=spead(1:30);
N=100;
errLim=50;
totalN=1000000;
chan=[0.4 0.4 0.2];
rev_spead=conv(spead,chan);
rev_spead=rev_spead(1,1:length(spead));
for l=1:length(EbNodB)
errCount=0;
totalSim=0;
while errCount<errLim && totalSim<totalN
u1=randint(1,N);
u2=1-2*u1;
for k=1:length(u2)
u3((k-1)*sf+1:k*sf)=u2(k).*spead;
end
ray1=chan(1)*abs(sqrt(1/2)*randn()+sqrt(1/2)*i*randn());
ray2=chan(2)*abs(sqrt(1/2)*randn()+sqrt(1/2)*i*randn());
ray3=chan(2)*abs(sqrt(1/2)*randn()+sqrt(1/2)*i*randn());
ray(1)=ray1;ray(2)=ray2;ray(3)=ray3;
u4=conv(u3,ray);
%u4=u3.*ray1;%+u3_.*ray2_;
%u4=u4(1,1:length(u3));
u5=u4+sqrt(sigma2(l))*randn(1,length(u4));
for k=1:length(u2)
u6(k)=u5((k-1)*sf+1:k*sf)*spead';
u8(k)=u5((k-1)*sf+2:k*sf+1)*spead';
u9(k)=u5((k-1)*sf+3:k*sf+2)*spead';
end
u7=(u6+u8+u9)<0;
err=sum(abs(u1-u7));
errCount=errCount+err;
totalSim=totalSim+N;
end
ber(l)=errCount/totalSim;
end
semilogy(EbNodB,ber,'-*r');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -