La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Processi Autoregressivi AR(1) AR(1): eq. alle differenze ricorsiva di ordine 1 MATLAB: w=randn(N,1) x=filter(b,a,w) White Gaussian Noise (WGN) Filtro IIR.

Presentazioni simili


Presentazione sul tema: "Processi Autoregressivi AR(1) AR(1): eq. alle differenze ricorsiva di ordine 1 MATLAB: w=randn(N,1) x=filter(b,a,w) White Gaussian Noise (WGN) Filtro IIR."— Transcript della presentazione:

1 Processi Autoregressivi AR(1) AR(1): eq. alle differenze ricorsiva di ordine 1 MATLAB: w=randn(N,1) x=filter(b,a,w) White Gaussian Noise (WGN) Filtro IIR di ordine 1

2 ACF e PSD di un processo AR(1) passa-basso

3 N=64 N=1024 Periodogramma del processo di ingresso WGN

4 - Generare e graficare tre realizzazioni di un p.a. AR(1) Gaussiano. Parametri: Intervallo temporale discreto di osservazione: N=128 Potenza del processo: Parametro AR(1): [istruzioni utili: randn, for, filter, subplot, stem] - Rappresentare i grafici della funzione di autocorrelazione e della densità spettrale di potenza. Generazione processo AR(1)

5 Esempio di risultati =0.1

6 Esempio di risultati =0.5

7 Esempio di risultati =0.9

8 Esempio di risultati =-0.9

9 Confronto ….. =0.1 =0.9

10 Funzione di autocorrelazione (1/2) = 0.5

11 Funzione di autocorrelazione (2/2) = = 0.9

12 Densità spettrale di potenza (1/2)

13 Densità spettrale di potenza (2/2) = = 0.9

14 Esempio di risultati (1/2) % generazione realizzazioni p.a. AR(1) Gaussiano di potenza unitaria % function [x] = genproar1(Nc,nr,a) % in: numero di campioni, Nc; % numero di realizzazioni, nr; % coefficiente di reazione, a; % out: matrice di realizzazioni, una per riga; % uscita su video di grafico delle nr realizzazioni. sigmaw=sqrt(1-a^2); % calcola la deviazione standard per il processo di forzamento; w=sigmaw*randn(nr,Nc); % genera nr realiz. di durata Nc del processo di forzamento; for i=1:nr; x(i,:)=filter(1,[1 -a],w(i,:),0); % filtraggio IIR del primo ordine di ogni realiz.; end figure; % grafica le nr realizzazioni del p.a. AR(1); for i=1:nr; subplot(nr,1,i) stem(x(i,:)) xlabel(n) ylabel(x(n)) axis([0 Nc ]) end

15 Esempio di risultati (2/2) % Funzione di autocorrelazione m=1:Nc; sigmax=sqrt(sigmaw^2/(1-a^2)); Rx=sigmax^2*a.^m; figure(2); stem(Rx); axis([0 Nc -sigmax^2 sigmax^2]) grid on xlabel('m') ylabel ('Rx(m)') title('Funzione di autocorrelazione') % Densità spettrale di potenza aa=[ ] for n=1:3 Nf=1024; Df=1/Nf; f=-0.5:Df:0.5-Df; Sx=sigmaw^2./(1+aa(n)^2-2*aa(n)*cos(2*pi*f)); plot(f,Sx); hold on axis([ max(Sx)]) grid on xlabel('frequenza') ylabel ('Sx(f)') title('Densità Spettrale di Potenza') end;

16 - Generare N campioni di una realizzazione di un p.a. AR(1) Gaussiano, calcolare e graficare il periodogramma mediato su M segmenti dati, e confrontarlo con la PSD teorica - Parametri: Intervallo temporale discreto di osservazione: N=2048 Potenza del processo: Parametro AR(1): Numero di segmenti: M=16 (ciascuno di L=N/M=128 campioni) [istruzioni utili: randn, filter, fft, fftshift, abs, mean] Periodogramma mediato di processo AR(1)

17 Periodogramma: esempio di risultati (1/3) = 0.5

18 Periodogramma: esempio di risultati (2/3) = 0.9

19 Periodogramma: esempio di risultati (3/3) % Stima spettrale AR(1) clear all close all clc N=2048; M=16; L=N/M; sigmax=1; a=0.5; sigmaw=sigmax*sqrt(1-a^2); w=sigmaw*randn(1,N); x=filter(1,[1 -a],w,0); Nfft=1024; Df=1/Nfft; f=[-0.5:Df:0.5-Df]; % periodogramma TDFx=fftshift(fft(x,Nfft)); modx=abs(TDFx); modx2=modx.^2; period=modx2./N; figure(1); plot(f,10*Log10(period)); xlabel('frequenza'); ylabel('DSP stimata'); grid on; title('periodogramma'); % periodogramma mediato for i=1:M TDFxmed(i,:)=fftshift(fft(x(((i-1)*L+1):i*L),Nfft)); modxmed=abs(TDFxmed); modx2med=modxmed.^2; period_med=modx2med./N; end; period_fin=mean(period_med,1); figure(2); plot(f,10*Log10(period_fin)); xlabel('frequenza'); ylabel('DSP stimata'); grid on; title('periodogramma mediato su L blocchi');


Scaricare ppt "Processi Autoregressivi AR(1) AR(1): eq. alle differenze ricorsiva di ordine 1 MATLAB: w=randn(N,1) x=filter(b,a,w) White Gaussian Noise (WGN) Filtro IIR."

Presentazioni simili


Annunci Google