90 likes | 327 Views
Simboli. Campionamento. binari decisi. Decisore. a 2 livelli. t k =kT b. a k. s(t). Z k. a k. Sorgente binaria. g. (t). g. (t). T. R. cadenza T b. n(t). 1. Tema 1: Misura della probabilità di eventi Esempio: Sistema di trasmissione dati.
E N D
Simboli Campionamento binari decisi Decisore a 2 livelli tk=kTb ak s(t) Zk ak Sorgente binaria g (t) g (t) T R cadenza Tb n(t) 1 Tema 1: Misura della probabilità di eventi Esempio: Sistema di trasmissione dati Schema di principio di un semplice sistema di trasmissione dati binario in banda base Ex.: Ethernet, Tx. dati PC-stampante ak: sequenza di bit da trasmettere gT(t): risposta impulsiva filtro sagomatore d’impulsi in Tx. s(t): segnale trasmesso n(t): disturbo in ricezione gR(t): risposta impulsiva filtro anti-disturbo in Ric. Tb: intervallo temporale tra i bit Zk: variabile aleatoria (v.a.) campione in ingresso al decisore Wk: v.a. effetto del disturbo filtrato
Variabili Aleatorie Binarie & Binomiali Teorema di Bernoulli (o Legge dei grandi numeri): ovvero, la frequenza di presentazione F tende alla probabilità p che l’evento si verifichi
Statistiche della sorgente binaria • Generare una sequenza di n=105 bit {ak} equiprobabili (p=0.5)Sugg.: si utilizzi una trasformazione di v.a. del tipo funzione a gradino, applicandola ad una v.a. uniforme su [0,1] [istruzioni utili:rand, round, save] • Verificare che i bit trasmessi sono equiprobabili (ovvero misurare p) • Sugg.: interpretazione della probabilità come frequenza relativa ... • [istruzioni utili:load, mean] • Ripetere la verifica utilizzando solo i primi m bit e tracciare un grafico della frequenza relativa di presentazione dell’evento {ak =1} in funzione di m, con 1<m<n
Esempio di file.m & risultati % Generatore sequenza bit trasmessi: genseq.m % OUT: fileseqtx con la sequenza dei simboli binari ed equiprobab. clearclc %bit trasmessi equiprobabilins=1e4 %lunghezza sequenza seqtx=rand(1,ns); % genera v.a. uniforme su [0,1] seqtx=round(seqtx); % trasf. di v.a. per ottenere la v.a. % discreta valore del bit save fileseqtx seqtx Valutazione sperimentale di Pr{ak=1}: con n=105 bit Ex.: con m=50 bit per un generico m<n = 0.4931 = 0.5600 >>mean(seqtx) >>mean(seqtx(1:50)) >>mean(seqtx(1:m)) Valore effettivo: p=Pr{Ak=1}=0.5
Statistiche del segnale decodificato V.A. campione in ricezione al decisore: con v.a. Gaussiana a media nulla e varianza Regola del decisore: La probabilità di errore sui bit è, per il Teorema della Probabilità Totale, La soglia di decisione è equidistante rispetto ai valori La Gaussiana è una distribuzione simmetrica rispetto al val. medio Uguali probabilità di errore per la decisione sui bit 1 e sui bit 0
Statistiche del segnale decodificato (2) • Generare i campioni osservati Zk in ricezione, in ingresso al decisore, a partire dalla sequenza di bit trasmessi, includendo il disturbo Gaussiano, e ricavare i bit decodificati Utilizzare i valori e [istruzioni utili: load, size, randn, sign] • Valutare sperimentalmente la probabilità di errore (BER, bit error rate) confrontando la sequenza trasmessa (n=105 bit) e quella ricevuta per i due valori di [istruzioni utili: xor, mean] • Confrontare il risultato sperimentale con quello teorico [istruzioni utili: normcdf] • Ripetere la valutazione sperimentale utilizzando solo i primi m=500 bit
Esempio di file.m & risultati % Simulazione decisore e valutazione della BER: valber.m function ber = valber(sigma)% IN: deviaz. standard disturbo load fileseqtx seqtx % carica la sequenza bit trasmessi zeta=seqtx+randn(1,size(seqtx,2))*sigma; % simula i campioni al decisore seqri=(1+sign(zeta-1/2))/2; % effettua le decisioni seqer=xor(seqri,seqtx); % calcola la sequenza degli errori ber=mean(seqer) % calcola la probabilità di errore Valutazione sperimentaledi Pe utilizzando n=105bit: con con = 0.0103 = 0.1019 (valore effettivo: BER=10-2) (valore effettivo: BER=10-1) = 0.0140 = 0.1160 Utilizzando solo m=500 bit: (valore effettivo: BER=10-2) (valore effettivo: BER=10-1)
Pe misurata utilizzando n=105 bit Pe misurata utilizzando n=10000 bit Pe misurata utilizzando m=500 bit Esempio di risultati: Misura della BER Andamento teorico della BER: BER misurata:
% bersnr.m % Confronto tra valutazione e valore teorico della BER % al variare della deviazione standard del disturbo % generatore sequenza bit trasmessi clear clc % bit trasmessi equiprobabili ns=10000 % lunghezza sequenza seqtx=rand(1,ns); % genera v.a. uniforme su [0,1] seqtx=round(seqtx); % trasf. di v.a. per ottenere la v.a. discreta valore del bit % simulazione decisore e valutazione probabilita' di errore sequenza bit ricevuti sigma2i=[.001:5:80]; % valori di 1/sigma^2 del termine di disturbo (SNR=1/sigma^2) sigma=sqrt(1./sigma2i); % valori di sigma zeta=repmat(seqtx.',1,size(sigma,2))+randn(1,size(seqtx,2)).'*sigma; % simula i campioni al decisore % per le varie deviazioni standard seqri=(1+sign(zeta-1/2))/2; % effettua le decisioni % per le varie sequenze seqer=xor(seqri,repmat(seqtx.',1,size(sigma,2))); % calcola le sequenze degli errori ber=mean(seqer); % calcola le probabilità di errore semilogy(sigma2i,ber,'-o') % grafica le probabilità di errore grid axis([min(sigma2i) max(sigma2i) 1e-5 1]) xlabel('SNR(db)') ylabel('BER') hold on semilogy(sigma2i,1-normcdf(.5./sigma),'-xr') % grafica i valori teorici