smldpe58.m

来自「PAM误码率的程序,可以直接运行,有图片」· M 代码 · 共 43 行

M
43
字号
function [p]=smldPe58(snr_in_dB)
d=1;
SNR=exp(snr_in_dB*log(10)/10);
sgma=sqrt((5*d^2)/(4*SNR));
N=10000;
for i=1:N,
    temp=rand;
    if(temp<0.25),
        dsource(i)=0;
    elseif(temp<0.5),
        dsource(i)=1;
    elseif(temp<0.75),
        dsource(i)=2;
    else
        dsource(i)=3;
    end
end;
numoferr=0;
for i=1:N,
    if(dsource(i)==0),
        r=-3*d+gngauss(sgma);
    elseif(dsource(i)==1),
        r=-d+gngauss(sgma);
    elseif(dsource(i)==2),
        r=d+gngauss(sgma);
    else 
        r=3*d+gngauss(sgma);
    end;
    if(r<-2*d),
        decis=0;
    elseif(r<0),
        decis=1;
    elseif(r<2*d),
        decis=2;
    else
        decis=3;
    end;
    if(decis~=dsource(i)),
        numoferr=numoferr+1;
    end;
end;
p=numoferr/N;

⌨️ 快捷键说明

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