Ricordiamo la forma generale per l’equazione alle differenze e la sua H(z)
Coefficienti e Nomi per i filtri
Molti nomi standard per i filtri riflettono il numero ed il tipo di coefficienti a e b presenti nella H(z):
Quando N≠0 ed M=0 il vettore dei coefficienti b, contiene un solo valore, b0. Il filtro, in tal caso, è un sistema a risposta all’impulso infinita (IIR), a tutti poli, ricorsivo detto anche filtro autoregressivo (AR).
Quando M≠0 ed N = 0 il vettore dei coefficienti a contiene un solo valore, a0. Il filtro è un sistema a risposta all’impulso finita (FIR), a tutti zeri, non ricorsivo, detto anche filtro moving-average (MA).
Se M ed N sono maggiori di zero il filtro è un IIR, con poli e zeri, ricorsivo e viene detto filtro autoregressive moving-average (ARMA).
Il piu semplice filtro numerico ricorsivo: un sistema LTI rappresentato dall’equazione alle differenze y[n]= x[n]+ay[n-1] ottenuta da
con N=1 ed M= 0, a0 =1 a1 =-a e b0 =1 .
Ricordiamo le principali Tipologie di filtri analogici:
In generale un sistema LTI modifica lo spettro del segnale di ingresso X(e jω) e fornisce un output con spettro Y(e jω) = H(e jω ) · X(e jω ).
H(e jω) agisce come una funzione peso (detta anche spectral shaping function) per le diverse componenti in frequenza del segnale.
Useremo “sistemi lineari tempo invarianti ” e “filtri” come sinonimi.
I filtri ideali hanno due importanti caratteristiche:
1. hanno guadagno costante (di solito guadagno unitario nella loro banda passante e guadagno zero nella loro banda oscura);
2. hanno risposta in fase lineare.
Infatti se x[n] con componenti in frequenza nel range (ω1 < ω <ω2) ed H(ejω) tale che:
dove C ed n0 sono costanti, allora il segnale di uscita nel dominio della frequenza è tale che:
A lato le risposte in frequenza per i seguenti filtri ideali:
Passa basso (lp): passano inalterate solo le frequenze < ωc.
Passa alto (hp): passano inalterate solo le frequenze>ωc.
Applicando le proprietà di time scaling e time shifting della DTFT, si ha, nel dominio del tempo, un corrispondente segnale: y[n]= C x[n-n0]. L’uscita del filtro è semplicemente il segnale di ingresso ritardato e scalato in ampiezza. Un semplice ritardo viene di solito considerato un fatto accettabile e non una distorsione del segnale. Non è una distorsione neanche lo ’scaling’ in ampiezza. Da ciò segue che i filtri ideali hanno una caratteristica in fase di tipo lineare.
A lato le risposte in frequenza per i seguenti filtri ideali:
Passa banda (bp) passano inalterate solo le frequenze ω: ωa < ω < ωb.
Eliminatore di banda (br) passano inalterate solo le frequenze ω: 0< ωa e le frequenze ω > ωb.
In conclusione possiamo dire che i filtri ideali hanno modulo della H(e jω) costante nella banda passante, modulo zero in banda oscura e fase lineare.
I filtri ideali non sono fisicamente realizzabili, ma servono come idealizzazione matematica per i filtri pratici.
Il passa basso ideale non è fisicamente realizzabile, infatti ha una risposta all’impulso infinita,
tuttavia la sua risposta in frequenza si può approssimare abbastanza bene.
Per analizzare il comportamento di un filtro descritto da un’equazione alle differenze
Nel dominio del tempo abbiamo:
Nel dominio della frequenza abbiamo:
Per un’analisi complessiva del comportamento di un filtro con parametri come i coefficienti [a ] e [b] delle polinomiali dell’equazione alle differenze, fissati dall’utente, abbiamo, nell’ambiente software matlab-Signal-Processing toolbox: l’nterfaccia grafica fvtool (filter visualization tool).
Per l’analisi ed il progetto, a partire dalle specifiche abbiamo: l’interfaccia grafica di matlab fdatool (filter design and analization tool).
Esempio: per un progetto in Matlab di un filtro numerico passa basso occorrono le seguenti specifiche:
A lato le specifiche estratte dall’interfaccia grafica Matlab ‘fdatool’.
Ricordiamo che entrambe le risposte sono utili per capire il funzionamento di un filtro.
Con la risposta all’impulso possiamo subito osservare il comportamento nel dominio del tempo guardando l’andamento al crescere del tempo, se va a zero possiamo dire che è stabile. Poi possiamo farne la DTFT per tornare al suo comportamento in frequenza.
Utilizzando il progetto precedente , il filtro è stato alterato, reso instabile con l’editing del diagramma poli-zeri con i tasti nel cerchio rosso dell’interfaccia grafica ‘fdatool’.
È ovviamente cambiata anche la risposta in frequenza.
Risposta al gradino
Tra le due risposte, quella più interessante è la risposta al gradino. Con la risposta al gradino vediamo il comportamento del dispositivo all’applicazione di una variazione del segnale in input. Vediamo se ci sono sovrascillazioni ed in quanto tempo l’uscita si stabilizza in una condizione stazionaria valutando il tempo di salita e il tempo di assestamento o ’settling time’.
I parametri importanti della forma d’onda di risposta al gradino sono:
Facciamo il confronto tra due filtri con le stesse specifiche, ma con tipologia diversa: filtro Butterworth e filtro Ellittico.
A lato sono mostrate le specifiche.
(Per maggiori dettagli sulle tipologie di filtri vedi appendice B di Oppenheim _Schafer- Buck).
Il tempo di salita ed il settling time sono diversi per i due filtri: Il tipo Butter, che nel dominio della frequenza ha una banda di transizione molto più ampia di quella del tipo ellittico, ha una risposta allo step migliore sia sotto il profilo del tempo di salita che di quello del settling time.
Ancora una volta verifichiamo che questo comportamento è in relazione con il principio di indeterminazione: una data localizzazione in frequenza (banda di transizione stretta) comporta incertezza nella localizzazione temporale e viceversa.
Data l’equazione alle differenze y[n]= x[n] + a y[n-1] con a=.7 vediamo la risposta di questo filtro
all’impulso e la risposta al gradino.
y[n]=x[n]+.7y[n-1].
Grafici realizzati con le functions Matlab ‘impz’ e ’stepz’ (la risposta all’impulso è la derivata della risposta al gradino).
(Verificare con la function matlab ‘diff’, se s= risposta allo step, diff(s) è la risposta all’impulso a partire dal secondo campione.) In questo caso la risposta allo step è senza oscillazioni e la condizione stazionaria viene raggiunta dopo pochi campioni. (tempo=sample/fs).
Familiarizzarsi con l’interfaccia grafica ‘fvtool‘, esercitarsi dopo aver visionato l’help di ‘fvtool‘ e la documentazione.
Le analisi che seguono sul l comportamento del filtro esempio: y[n]=x[n]+.7y[n-1] sono tutte realizzate con ‘fvtool‘.
Per studiare la risposta in frequenza di questo sistema utilizziamo la z-transf e calcoliamo la funzione di trasferimento (system function) H(z).
Y(z)=X(z)+ az-1 Y(z)
Esaminiamo la H(z) nel piano z con la function Matlab zplane, se a=.7 i vettori dei coefficienti dell’equazione alle differenze sono:
a=[1 -.7] e b=[1].
In zplane viene mostrata la H(z) con un polo in z=.7 e uno zero in z=0.
La regione di convergenza, l’area tratteggiata in verde, include il cerchio unitario,quindi esiste la trasformata di Fourier e di conseguenza la risposta in frequenza H(e jω ).
Quest’ultima si può anche intendere come l’intersezione della superfice della H(z) con il cerchio unitario. Per il fatto che Il polo è vicino alle basse frequenze deduciamo che si tratta di un passa basso,anche se è molto lontano dal comportamento di un passa basso ideale.
Il filtro è stabile, perché la ROC include il cerchio unitario.
A lato la risposta in frequenza del filtro .
Primo grafico Ampiezze , modulo di H(ejω ), secondo grafico fasi angle di H(ejω ).
L’asse delle frequenze è normalizzato alla frequenza di Nyquist vedi help di ‘freqz’.
Abbiamo detto che i filtri ideali hanno una caratteristica in fase di tipo lineare.
La derivata della fase rispetto alla frequenza ha le dimensioni di un ritardo.
Possiamo definire il ritardo del segnale come una funzione della frequenza
Questo ritardo viene detto anche ritardo di gruppo ed è indice del il ritardo che le componenti del segnale subiscono quando passano dall’input all’output del sistema.
Quando = costante = n0, la fase è lineare.
Ttutte le componenti in frequenza dell’input subiscono lo stesso ritardo.
In altri casi il ritardo di gruppo varia con la frequenza. Questo significa che le varie frequenze componenti il segnale passano attraverso il filtro con tempi diversi.
2. Segnali ed operazioni sui segnali
3. Sistemi e proprietà dei sistemi
4. Approfondimento su convoluzione e correlazione
5. Sistemi lineari tempo invarianti e equazioni alle differenze
7. Rappresentazione in serie di Fourier di segnali periodici a tempo discreto
9. Trasformata di Fourier a tempo discreto
10. DFT e convoluzione circolare
11. Applicazione della dft leakage spettrale
12. Dualità e trasformata coseno
13. Trasformata di F. dipendente dal tempo - time dependent Fourie transform TDFT
14. Trasformata z
17. Campionamento - parte prima
Filtri: Cap. 5 - Discrete Time Signal Processing – Oppenheim, Schafer, Buck.
Cap. 6 - Signals & Systems Oppenheim Willsky (per approfondimenti).
Manuale Matalb Signal Processing Toolbox.
Vedere l'help per come utilizzare le functions: fir1 butter, cheby1, cheby2,ellip per il progetto di vari tipi di filtri.
Familiarizzarsi con l'interfaccia grafica 'fvtool', esercitarsi dopo aver visionato l'help di 'fvtool'e la documentazione.
Function 'filter' per realizzare i filtri nel dominio del tempo.