% PRESTAZIONI DI PROBABILITA' DI ERRORE PER SISTEMA BINARIO
%-----------------------------------------------------------
%
%                        y = x + n
%
% n = rumore gaussiano a media nulla di potenza No
%
%
% Codifica   =>   x  = +A (-A) quando TX = 0 (1)
%
%              
% Decodifica =>   RX =  0 (1)  quando y>0  (y<0) 
%
% Rapporto segnale Rumore = SNR = A^2/No
%------------------------------------------------------------


SNR_dB = [ 0 : 14 ] ;   % Rapporto Segnale Rumore in dB
SNR    = 10.^(SNR_dB/10 ); % Rapporto Segnale Rumore in lineare


BER    = 0.5*( 1- erf(sqrt(SNR/2) )) ;
BOUND  = exp( - SNR/2) ;

semilogy( SNR_dB , BER , 'o-r');
hold on ; grid on ;
semilogy( SNR_dB , BOUND , 'x-b');
legend( 'BER Esatta' , 'Chernoff Bound' );

xlabel( ' SNR (dB) ' );
ylabel( ' BER ');
title( 'Confronto Prestazione Esatta e Chernoff Bound per sistema discreto binario');
