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

📄 ber_snr.m

📁 Given signal-to-noise ratio and bit error rate performance curve is a good beginner s reference prog
💻 M
字号:
function [BER] = BER_SNR(k)
% clear,clc;

%[1]initial Parameter
% k=10;% k=10;% m=k;% k 用户数
Lc=32;%扩频增益
x_num=5000;%信息序列长度
SNRindB=1:8;
Tc=1;
Ts=Lc*Tc;
% NumOfErrorBit=0;
for i=1:length(SNRindB)
    SNRline=10^(SNRindB(i)/10);
    Sigma=1;%噪声标准差
    Eb=Sigma^2*SNRline; %信号能量
    Pow=Eb/Ts;%信号功率
    x=GenSignal(x_num);%产生信号,信号长度已经确定,均匀分布
    %[2]spread spectrum
    PNcode=walsh_sequence_generator(Lc);%产生用户PN序列
    c=PNcode(1,:)';
    y=dsmod(c,x);
    
    %加入其他用户信息作为干扰
    for j=2:k
        xtemp=GenSignal(x_num);
        ctemp=PNcode(j,:)';
        ytemp=dsmod(ctemp,xtemp);
        y=y+ytemp;
    end
    y=sqrt(Pow)*y;
    %[3]Add AWGN
    AWGN=Sigma*randn(1,Lc*x_num);
    y=y+AWGN;
    %[4]despread spectrum
    r=dsdemode(c,y);
     
    %[5]decision
    r=sign(r);
    Errorbit=length(find(abs(r-x)>1e-004));
%     Errorbit=length(find(r-x));
    BER(i)=Errorbit/length(r);
      
end
% semilogy(SNRindB,BER,'r*-');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -