c9_mcbpsk.m

来自「motecalo仿真实现源代码」· M 代码 · 共 37 行

M
37
字号
snrdB_min=-3;
snrdB_max=8;

snrdB=snrdB_min:snrdB_max;
Nsymbols=input('enter number of symbols:');
snr=10.^(snrdB/10);
h=waitbar(0,'SNR Iteration');
len_snr=length(snrdB);
for j=1:len_snr
    waitbar(j/len_snr)
    sigma=sqrt(1/(2*snr(j)));
    error_count=0;
    for k=1:Nsymbols
        d=round(rand(1));
        x_d=2*d-1;
        n_d=sigma*randn(1);
        y_d=x_d+n_d;
        if y_d>0
            d_est=1;
        else
            d_est=0;
        end
        if (d_est~=d)
            error_count=error_count+1;
        end
    end
    errors(j)=error_count;
end

close(h)
ber_sim=errors/Nsymbols;
ber_theor=q(sqrt(2*snr));
semilogy(snrdB,ber_theor,snrdB,ber_sim,'o');
axis([snrdB_sim snrdB_max 0.0001 1]);
xlabel('SNR in dB');
ylabel('BER');
legend('theoretical','simulation');

⌨️ 快捷键说明

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