La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Tema 5: Misura di un segnale costante in rumore Modello scalare dellosservato: Modello vettoriale dellosservato: Matrice di covarianza degli osservati:

Presentazioni simili


Presentazione sul tema: "Tema 5: Misura di un segnale costante in rumore Modello scalare dellosservato: Modello vettoriale dellosservato: Matrice di covarianza degli osservati:"— Transcript della presentazione:

1 Tema 5: Misura di un segnale costante in rumore Modello scalare dellosservato: Modello vettoriale dellosservato: Matrice di covarianza degli osservati: campioni di rumoresegnale costante aleatorio Vettore valor medio degli osservati: Significato della ddp a priori versus la ddp a posteriori Varianza degli osservati:

2 Segnale costante in rumore: tre realizzzioni N.B. Vogliamo misurare il valore s assunto da S nella particolare realizzazione che viene osservata!! s=9.4 s=12.8 s=7.99

3 % Grafico di una realizzazione del segnale osservato % tempo-continuo e tempo-discreto clc clear N=10; % numero di campioni prelevati sc=20; % fattore di sovracampionamento per simulare il "tempo continuo" etas=10 % valor medio del segnale costante sig2s=4 % varianza del segnale costante sig2w=4 % varianza del rumore s=randn(1,1)*sqrt(sig2s)+etas; % genera un valore di S con ddp Gaussiana wtc=randn(N*sc,1)*sqrt(sig2w); % genera il rumore "tempo continuo" con ddp Gaussiana ytc=s+wtc; % calcola il segnale "tempo continuo" totale y=ytc(1:sc:N*sc); % estrae gli N campioni osservati plot(ytc,'r') % traccia il grafico del segnale totale tempo-continuo xlabel('(msec)') % scala temporale – esemplificativa - %(tempo di campionamento= sc msec) ylabel('volt') axis([0 N*sc etas-5*sqrt(sig2s) etas+5*sqrt(sig2s)]) hold on; plot([0 N*sc],[s s],'k') % traccia il grafico del livello costante; hold on; stem([1:sc:N*sc],y) % traccia i campioni osservati segncost_realiz.m File.m: segncost_realiz.m

4 Misura di un segnale costante in rumore Algoritmo di misura: Errore della misura Indici di qualità dellalgoritmo: valore medio e potenza media dellerrore Significato della ddp a priori: Ho a disposizione solo f S (s), ovvero nessun osservato; cosa possiamo fare? Significato della ddp a posteriori: Avendo a disposizione N osservati, cosa possiamo fare per migliorare laccuratezza della misura?

5 Misura del segnale costante in rumore Valore medio dellerrore di misura: media campionaria Algoritmo A: media campionaria Algoritmo B: minimo errore quadratico medio Potenza media statistica dellerrore di misura: Nota bene: entrambi sono combinazione lineare di v.a. Gaussiane, quindi entrambe sono v.a. Gaussiane

6 calcolo dellerrore quadratico medio Algoritmo B: calcolo dellerrore quadratico medio Potenza media statistica dellerrore di misura: Nota bene:

7 Misura della matrice di covarianza Misura_mat_cov = Valore effettivo: Misura della matrice di covarianza del vettore degli osservati, utilizzando K realizzazioni del vettore y Coeff. di correlazione tra Y i e Y j

8 segncost_matcov.m File.m: segncost_matcov.m % Misura della matrice di covarianza degli osservati di segnale costante in rumore clc clear N=4; % numero di campioni K=5000; % numero di esperimenti (prove) Monte Carlo etas=10 % valor medio del segnale costante sig2s=4 % varianza del segnale costante sig2w=4 % varianza del rumore s=randn(1,K)*sqrt(sig2s)+etas; % genera ne valori di segnale costante con ddp Gaussiana w=randn(N,K)*sqrt(sig2w); % genera ne vettori di rumore con ddp Gaussiana, % organizzati in una matrice y=repmat(s,N,1)+w; % calcola ne vettori osservati, organizzati in una matrice valvettmedio=mean(y.'); % calcola il vettor valor medio degli osservati y=y-repmat(valvettmedio.',1,K); % sottrae dagli osservati il vettore valor medio valmatcov=y*y.'/ne; % calcola la matrice di covarianza degli osservati, % sfruttando la loro organizzazione in matrice valmatcov % stampa la valutazione della matrice di covarianza % degli osservati

9 Simulazione stimatori e istogramma degli errori - Generare K=50000 realizzazioni del vettore osservato Y di N=2 campioni, per [istruzioni utili: randn, repmat ] - Implementare i due stimatori, calcolare e visualizzare listogramma normalizzato dei loro errori di stima e confrontarli con gli andamenti teorici (ddp Gaussiane a valor medio nullo e varianza P ) [istruzioni utili: mean, hist, bar ]

10 Istogrammi (normalizzati) degli errori K=50000 realizzazioni

11 stimesegncost_istog.m File.m: stimesegncost_istog.m % Calcolo istogrammi degli errori degli algoritmi di misura del segnale costante clc clear N=2; % numero di campioni K=50000; % numero di esperimenti (prove) Monte Carlo etas=10 % valor medio del segnale costante sig2s=4 % varianza del segnale costante sig2w=4 % varianza del rumore g=sig2s/sig2w; % gamma s=randn(1,K)*sqrt(sig2s)+etas; % genera K valori di segnale costante con ddp Gaussiana w=randn(N,K)*sqrt(sig2w); % genera K vettori di rumore con ddp Gaussiana, % organizzati in una matrice y=repmat(s,N,1)+w; % calcola K vettori osservati, organizzati in una matrice sa=mean(y); % calcola K misure di tipo a sb=g*N/(g*N+1)*sa+etas/(g*N+1); % calcola K misure di tipo b esa=sa-s; % calcola i K errori delle misure di tipo a esb=sb-s; % calcola i K errori delle misure di tipo b [ista,aa]=hist(esa,50); % calcola l'istogramma degli errori delle misure di tipo a [istb,ab]=hist(esb,50); % calcola l'istogramma degli errori delle misure di tipo b figure % esegue i grafici degli istogrammi normalizzati bar(aa,ista/K/(aa(2)-aa(1))) xlabel('errore') ylabel('ddp') title('a') figure bar(ab,istb/K/(ab(2)-ab(1))) xlabel('errore') ylabel('ddp') title('b')

12 Curve di prestazioni degli algoritmi di misura - Ripetere la simulazione per un numero di campioni N variabile da 2 a 50, con 1000 realizzazioni, per, quindi valutare e visualizzare la potenza media degli errori P di entrambi gli algoritmi al variare di N [istruzioni utili: randn, repmat, for, mean, std, plot ] - Ripetere la simulazione per variabile, per ; valutare e visualizzare la potenza media degli errori P di entrambi gli algoritmi al variare di [istruzioni utili: randn, repmat, for, mean, std, plot ]

13 Prestazioni degli algoritmi in funzione di N K=1000 realizzazioni Il valore medio dellerrore è nullo per entrambi gli stimatori La precisione della misura migliora con il numero N di campioni osservati Il vantaggio dovuto alla conoscenza a priori si riduce allaumentare di N

14 K=1000 realizzazioni Prestazioni degli algoritmi in funzione di Il valore medio dellerrore è nullo per entrambi gli stimatori Al crescere di per ed N fissati, lutilità delle informazioni a priori si riduce

15 stimesegncost_N.m File.m: stimesegncost_N.m % Calcolo della media e della varianza dellerrore dei due algoritmi al variare del numero di campioni N clc clear Nmax=50; % numero massimo di campioni ne=1000; % numero di esperimenti (prove) Monte Carlo etas=10 % valor medio del segnale costante sig2s=4 % varianza del segnale costante sig2w=4 % varianza del rumore g=sig2s/sig2w; % gamma s=randn(1,ne)*sqrt(sig2s)+etas; % genera ne valori di segnale costante con d.d.p. Gaussiana w=randn(Nmax,ne)*sqrt(sig2w); % genera ne vettori di rumore con d.d.p. Gaussiana, % organizzati in una matrice y=repmat(s,Nmax,1)+w; % calcola ne vettori osservati, organizzati in una matrice for indice=1:Nmax/2, % per numero di campioni N variabile a passi di 2: N=indice*2; sa=mean(y(1:N,:)); % calcola ne stime di tipo a con numero di campioni sb=g*N/(g*N+1)*sa+etas/(g*N+1); % calcola ne stime di tipo b con numero di campioni N esa=sa-s; % calcola gli ne errori delle stime di tipo a esb=sb-s; % calcola gli ne errori delle stime di tipo b msa(indice)=mean(sa); % calcola media delle stime di tipo a vesa(indice)=mean(esa.^2); % calcola potenza errore delle stime di tipo a msb(indice)=mean(sb); % calcola media delle stime di tipo b vesb(indice)=mean(esb.^2); % calcola potenza errore delle stime di tipo b end a=2*[1:Nmax/2]; % esegue i grafici figure plot(a,msa,'r*',a,msb,'b*') xlabel('num. campioni') ylabel('medie') legend('stimatore a','stimatore b') axis([0 Nmax 0 2*etas]) figure plot(a,vesa,'r*',a,vesb,'b*') hold on; plot(a,sig2w./a,'r',a,sig2w*g./(g*a+1),'b') % anche delle varianze teoriche xlabel('num. campioni') ylabel('varianze') legend('stimatore a','stimatore b')

16 stimesegncost_gamma.m File.m: stimesegncost_gamma.m % Calcolo della media e della varianza dellerrore dei due algoritmi al variare del rapporto gamma clc clear N=2; % numero di campioni ne=10000; % numero di esperimenti (prove) Monte Carlo etas=10 % valor medio del segnale costante sig2si=1 % varianza iniziale del segnale costante sig2w=4 % varianza del rumore for indice=1:20, % per rapporto gamma variabile: sig2s=sig2si*indice; g=sig2s/sig2w; % gamma s=randn(1,ne)*sqrt(sig2s)+etas; % genera ne valori di segnale costante con d.d.p. Gaussiana w=randn(N,ne)*sqrt(sig2w); % genera ne vettori di rumore con d.d.p. Gaussiana, % organizzati in una matrice y=repmat(s,N,1)+w; % calcola ne vettori osservati, organizzati in una matrice sa=mean(y); % calcola ne stime di tipo a sb=g*N/(g*N+1)*sa+etas/(g*N+1); % calcola ne stime di tipo b esa=sa-s; % calcola gli ne errori delle stime di tipo a esb=sb-s; % calcola gli ne errori delle stime di tipo b msa(indice)=mean(sa); % calcola media delle stime di tipo a vesa(indice)=mean(esa.^2);; % calcola potenza errore delle stime di tipo a msb(indice)=mean(sb); % calcola media delle stime di tipo b vesb(indice)=mean(esb.^2);; % calcola potenza errore delle stime di tipo b end a=sig2si*[1:20]/sig2w; % esegue i grafici figure plot(a,msa,'r*',a,msb,'b*') xlabel('gamma') ylabel('medie') legend('stimatore a','stimatore b') axis([min(a) max(a) 0 2*etas]) figure plot(a,vesa,'r*',a,vesb,'b*') hold on; plot([a(1) a(20)],[sig2w/N sig2w/N],'r',a,sig2w*a./(a*N+1),'b') % anche delle varianze teoriche xlabel('gamma') ylabel('varianze') legend('stimatore a','stimatore b') title('sigw^2=4')


Scaricare ppt "Tema 5: Misura di un segnale costante in rumore Modello scalare dellosservato: Modello vettoriale dellosservato: Matrice di covarianza degli osservati:"

Presentazioni simili


Annunci Google