dpsk_pe.m

来自「一个基于matlab的dpsk仿真」· M 代码 · 共 41 行

M
41
字号
for(snr=0:10)
    m=0;
    for(l=1:100000)
      a=rand(1,1);
       a=2*a-1;
       a=ceil(a);
       da=xor(a,1);
       if(da==0)
          b=zeros(1,2001);
          b(1:1000)=1;
       else
          b=ones(1,2001);
       end;
       c=2*b-1;
       n=[-1:0.001:1];
        d=c.*cos(4*pi*n);
        y=awgn(d,snr-27,'measured');
        z1=y.*cos(4*pi*n);
        z=sum(z1(1:1000))*0.001;
        if(z<0)
           o1=0;
        else
           o1=1;
        end;
        z=sum(z1(1000:2001))*0.001;
        if(z<0)
            o2=0;
        else
           o2=1;
        end;
        o=xor(o1,o2);
        if(o~=a)
            m=m+1;
        end;
    end;
pe(snr+1)=m/100000;
end;
snr=[0:10];
plot(snr,pe,'V-')
hold on;
plot(snr,erfc(sqrt(10.^(snr/10))),'.r-')

⌨️ 快捷键说明

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