One Hop Error Rate of AWGN Channel

MATLAB PROGRAM

clc;

clear all;


N = 10^5;


ip0 = randi([0,1], 1,N);


s = 2*ip0-1;


snr_dB = 0:10;


noise = 1/sqrt(2)*(randn(1,N)+1i*randn(1,N));


for ii = 1:length(snr_dB)

  snr = 10^(snr_dB(ii)/10);

  

  r = sqrt(snr)*s + noise;

  

  s_hat = real(r)>0;

  

  n_err = size(find(s_hat-ip0),2);

  

  err_sim(ii) = n_err/N;

  

end


err_ana = qfunc(sqrt(10.^(snr_dB/10)*2));


figure;

semilogy(snr_dB, err_sim,'--+k');

hold on; grid on;

semilogy(snr_dB, err_ana,'-ok');


xlabel('SNR (dB)');

ylabel('Error rate');

legend('simulation', 'analytical');

title('BPSK - AGWN')

SIMULATED OUTPUT

DOWNLOAD LINK