www.gusucode.com > matlab通信工程仿真源码(张德丰等编著)程序书籍 > matlab_code/matlab通信工程仿真源码(张德丰等编著)/第8章/li8_10.m

    clear all;
sn=0.1:0.01:100;        %定义信噪比序列
snlg=20*log10(sn);      %将信噪比转化为dB表示
sdouble=sqrt(sn);
ssingle=sqrt(sn/2);
bdouble=Qxiufun(sdouble);       %求双极性的误比特率序列
bsingle=Qxiufun(ssingle);       %求单极性的误比特率序列
semilogy(snlg,bdouble);
hold on;
semilogy(snlg,bsingle,'r:');
axis([-20 30 0.0000001 1]);
i=1100;        %通过观察曲线,大致判断出双极性小于给定误比特率的噪比位置
while (i<length(sn))
    if(bdouble(i)<10^(-6))
        bsn=snlg(i);       %记下符合条件的信噪比
        i=length(sn)+1;
    end
    i=i+1;
end
    i=2300;        %通过观察曲线,大致判断出单极性小于给定误比率特的信噪比位置
while(i<length(sn))
    if (bsingle(i)<10^6)
        ssn=snlg(i);       %符合所需要的条件时,记录下此时的对应信噪比值
        i=length(sn)+1;
    end;
    i=i+1;
end
disp('双极性NRZ码所需的信噪比:(dB)');bsn       %显示双极性的信噪比
disp('单极性NRZ码所需的信噪比为:(dB)');ssn     %显示单极性的信噪比