La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

MATLAB: w=randn(N,1) x=filter(b,a,w) Processi Autoregressivi AR(1)

Presentazioni simili


Presentazione sul tema: "MATLAB: w=randn(N,1) x=filter(b,a,w) Processi Autoregressivi AR(1)"— Transcript della presentazione:

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

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

3 Periodogramma del processo di ingresso WGN

4 Generazione processo AR(1)
Generare e graficare tre realizzazioni di un p.a. AR(1) Gaussiano. Parametri: Intervallo temporale discreto di osservazione: N= 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.

5 Esempio di risultati r=0.1

6 Esempio di risultati r=0.5

7 Esempio di risultati r=0.9

8 Esempio di risultati r=-0.9

9 Confronto ….. r=0.1 r=0.9

10 Funzione di autocorrelazione (1/2)
 = 0.5

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

12 Densità spettrale di potenza (1/2)

13 Densità spettrale di potenza (2/2)
 = 0.9  = - 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); subplot(nr,1,i) stem(x(i,:)) xlabel(‘n’) ylabel(‘x(n)’) axis([0 Nc ])

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)]) xlabel('frequenza') ylabel ('Sx(f)') title('Densità Spettrale di Potenza') end;

16 Periodogramma mediato di processo AR(1)
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= 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]

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 "MATLAB: w=randn(N,1) x=filter(b,a,w) Processi Autoregressivi AR(1)"

Presentazioni simili


Annunci Google