Tema 5 Misura di un segnale costante in
















- Slides: 16
Tema 5: Misura di un segnale costante in rumore Significato della ddp a priori versus la ddp a posteriori Modello scalare dell’osservato: campioni di rumore Modello vettoriale dell’osservato: Vettore valor medio degli osservati: Matrice di covarianza degli osservati: Varianza degli osservati: segnale costante aleatorio
Segnale costante in rumore: tre realizzzioni N. B. Vogliamo misurare il valore s assunto da S nella particolare realizzazione che viene osservata!! s=12. 8 s=9. 4 s=7. 99
File. m: segncost_realiz. m % Grafico di una realizzazione del segnale osservato % “tempo-continuo” e tempo-discreto clc clear N=10; sc=20; % numero di campioni prelevati % fattore di sovracampionamento per simulare il "tempo continuo" etas=10 sig 2 s=4 sig 2 w=4 % valor medio del segnale costante % varianza del rumore s=randn(1, 1)*sqrt(sig 2 s) +etas; % genera un valore di S con ddp Gaussiana wtc=randn(N*sc, 1)*sqrt(sig 2 w); ytc=s+wtc; % genera il rumore "tempo continuo" con ddp Gaussiana % calcola il segnale "tempo continuo" totale y=ytc(1: sc: N*sc); % estrae gli N campioni osservati plot(ytc, 'r') xlabel('(msec)') % traccia il grafico del segnale totale “tempo-continuo“ % scala temporale – esemplificativa % (tempo di campionamento= sc msec) ylabel('volt') axis([0 N*sc etas-5*sqrt(sig 2 s) etas+5*sqrt(sig 2 s)]) 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
Misura di un segnale costante in rumore Algoritmo di misura: Errore della misura Indici di qualità dell’algoritmo: valore medio e potenza media dell’errore 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 l’accuratezza della misura?
Misura del segnale costante in rumore Algoritmo A: media campionaria Valore medio dell’errore di misura: Algoritmo B: minimo errore quadratico medio Potenza media statistica dell’errore di misura: Nota bene: entrambi sono combinazione lineare di v. a. Gaussiane, quindi entrambe sono v. a. Gaussiane
Algoritmo B: calcolo dell’errore quadratico medio Potenza media statistica dell’errore di misura: Nota bene:
Misura della matrice di covarianza del vettore degli osservati, utilizzando K realizzazioni del vettore y Coeff. di correlazione tra Yi e Yj Valore effettivo: Misura_mat_cov = 8. 0342 3. 9898 4. 1356 4. 1333 8 4 4 4 3. 9898 8. 0060 3. 9277 4. 0460 4 8 4 4 4. 1356 3. 9277 8. 1985 4. 1425 4 4 8 4 4. 1333 4. 0460 4. 1425 8. 0706 4 4 4 8
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 sig 2 s=4 sig 2 w=4 % valor medio del segnale costante % varianza del rumore s=randn(1, K)*sqrt(sig 2 s) +etas; w=randn(N, K)*sqrt(sig 2 w); % % genera ne valori di segnale costante con ddp Gaussiana genera ne vettori di rumore con ddp Gaussiana, organizzati in una matrice calcola ne vettori osservati, organizzati in una matrice valvettmedio=mean(y. '); y=y-repmat(valvettmedio. ', 1, K); valmatcov=y*y. '/ne; % % calcola il vettor valor medio degli osservati sottrae dagli osservati il vettore valor medio calcola la matrice di covarianza degli osservati, sfruttando la loro organizzazione in matrice valmatcov % stampa la valutazione della matrice di covarianza % degli osservati y=repmat(s, N, 1)+w;
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 l’istogramma normalizzato dei loro errori di stima e confrontarli con gli andamenti teorici (ddp Gaussiane a valor medio nullo e varianza Pe ) [istruzioni utili: mean, hist, bar]
Istogrammi (normalizzati) degli errori K=50000 realizzazioni
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 sig 2 s=4 sig 2 w=4 % valor medio del segnale costante % varianza del rumore g=sig 2 s/sig 2 w; % gamma s=randn(1, K)*sqrt(sig 2 s)+etas; % genera K valori di segnale costante con ddp Gaussiana w=randn(N, K)*sqrt(sig 2 w); % 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; esb=sb-s; % calcola i K errori delle misure di tipo a % calcola i K errori delle misure di tipo b [ista, aa]=hist(esa, 50); [istb, ab]=hist(esb, 50); % calcola l'istogramma degli errori delle misure di tipo a % calcola l'istogramma degli errori delle misure di tipo b figure 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') % esegue i grafici degli istogrammi normalizzati
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 Pe 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 Pe di entrambi gli algoritmi al variare di g [istruzioni utili: randn, repmat, for, mean, std, plot]
Prestazioni degli algoritmi in funzione di N K=1000 realizzazioni • Il valore medio dell’errore è 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 all’aumentare di N
Prestazioni degli algoritmi in funzione di g K=1000 realizzazioni • Il valore medio dell’errore è nullo per entrambi gli stimatori • Al crescere di g per a priori si riduce ed N fissati, l’utilità delle informazioni
File. m: stimesegncost_N. m % Calcolo della media e della varianza dell’errore 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 sig 2 s=4 % varianza del segnale costante sig 2 w=4 % varianza del rumore g=sig 2 s/sig 2 w; % gamma s=randn(1, ne)*sqrt(sig 2 s)+etas; % genera ne valori di segnale costante con d. d. p. Gaussiana w=randn(Nmax, ne)*sqrt(sig 2 w); % 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, N=indice*2; % per numero di campioni N variabile a passi di 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; esb=sb-s; msa(indice)=mean(sa); vesa(indice)=mean(esa. ^2); msb(indice)=mean(sb); vesb(indice)=mean(esb. ^2); end % % % calcola calcola a=2*[1: Nmax/2]; 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, sig 2 w. /a, 'r', a, sig 2 w*g. /(g*a+1), 'b') xlabel('num. campioni') ylabel('varianze') legend('stimatore a', 'stimatore b') gli ne errori delle stime di tipo a gli ne errori delle stime di tipo b media delle stime di tipo a potenza errore delle stime di tipo a media delle stime di tipo b potenza errore delle stime di tipo b % esegue i grafici % anche delle varianze teoriche
File. m: stimesegncost_gamma. m % Calcolo della media e della varianza dell’errore 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 sig 2 si=1 % varianza iniziale del segnale costante sig 2 w=4 % varianza del rumore for indice=1: 20, sig 2 s=sig 2 si*indice; g=sig 2 s/sig 2 w; % per rapporto gamma variabile: % gamma s=randn(1, ne)*sqrt(sig 2 s)+etas; % genera ne valori di segnale costante con d. d. p. Gaussiana w=randn(N, ne)*sqrt(sig 2 w); % 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; esb=sb-s; msa(indice)=mean(sa); vesa(indice)=mean(esa. ^2); ; msb(indice)=mean(sb); vesb(indice)=mean(esb. ^2); ; end % % % calcola calcola gli ne errori delle stime di tipo b media delle stime di tipo a potenza errore delle stime di tipo a media delle stime di tipo b potenza errore delle stime di tipo b a=sig 2 si*[1: 20]/sig 2 w; % 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)], [sig 2 w/N], 'r', a, sig 2 w*a. /(a*N+1), 'b') % anche delle varianze teoriche xlabel('gamma') ylabel('varianze') legend('stimatore a', 'stimatore b') title('sigw^2=4')
















