📄 新建 文本文档 (10).txt
字号:
clear;
clc;
A11=1;
ber11=simulate(A11);
% A22=2;
% [ber22]=simulate(A22);
% A33=3;
% [ber33]=simulate(A33);
% A44=4;
% [ber44]=simulate(A44);
% A55=5;
% [ber55]=simulate(A55);
hold on
plot(snr(:),log10(ber11+0.01),'k--o');%画图,其中误码率以对数表示;
% plot(snr(:),log10(ber22),'m--p');
% plot(snr(:),log10(ber33),'g-.x');
% plot(snr(:),log10(ber44),'b--+');
% plot(snr(:),log10(ber55),'r--+');
% legend('sf=16','sf=15','sf=7','sf=31')
grid;
xlabel('SNR/dB');
ylabel('误码率、以对数表示');
title('扩频抗噪声性能仿真');
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 + -