📄 simulate.m
字号:
function ber=simulate(A)
sf=16; %扩频因子
sf_code=[1,1,1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1 1];%扩频码
L=10000;%仿真数据长度
AA=A;
snr=[-10:1:5];%噪声范围,以dB表示
tt=length(snr);
for j=1:L %生成数据
data(j)=rand;
if data(j)>=0.5
data(j)=1;
else
data(j)=-1;
end
end
for i=1:tt
for j=1:L
if data(j)==1
data_code((j-1)*sf+1:j*sf)=sf_code;%扩频
else
data_code((j-1)*sf+1:j*sf)=-sf_code;;%扩频
end
end
data_code=data_code+AA*[0 0 0 0 0 0 0 data_code(1:sf*L-7)];%加多径
data_code=data_code+(1/10^(snr(i)/10))*randn(1,sf*L);%加噪声
for j=1:L
data_uncode(j)=sum(data_code((j-1)*sf+1:j*sf).*sf_code);%解扩
end
for j=1:L
if data_uncode(j) >= 0
data_uncode(j)=1;%判决
elseif data_uncode(j) < 0
data_uncode(j)=-1;
end
end
ber(i)=0;
for j=1:L
if data_uncode(j)~=data(j)
ber(i)=ber(i)+1;
end
end
ber(i)=ber(i)/L;%统计误码率
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -