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

    function Y=biterrgray(M)
sn=0.1:0.01:1000;
snlg=20*log10(sn);
s=sqrt(sn*3/(M^2-1));
bgray=2*(M-1)*Qxiu(s)/M;
semilogy(snlg,bgray);
axis([-20 60 0.0000001 2]);
i=4500;
while(i<length(sn))
    if(bgray(i)<10^(-6))
        bg=snlg(i);        %记录下满足条件的信噪比
        i=length(sn)+1;    %跳出循环
    end
    i=i+1;
end
disp('8电平格雷码所需的信噪比为(dB)');bg