⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simulate.m

📁 扩频通信中误码率随扩频序列的长度的变化计算
💻 M
字号:
function ber=simulate(A)
global snr;
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 + -