Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoLothario Perrone Modificato 11 anni fa
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');
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.