La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

FILTRI NUMERICI. Introduzione Nel campo nei segnali (analogici o digitali), un sistema lineare tempo-invariante è in grado di effettuare una discriminazione.

Presentazioni simili


Presentazione sul tema: "FILTRI NUMERICI. Introduzione Nel campo nei segnali (analogici o digitali), un sistema lineare tempo-invariante è in grado di effettuare una discriminazione."— Transcript della presentazione:

1 FILTRI NUMERICI

2 Introduzione Nel campo nei segnali (analogici o digitali), un sistema lineare tempo-invariante è in grado di effettuare una discriminazione o un filtraggio tra le varie componenti di frequenza al suo ingresso. La natura di questa azione di filtraggio è determinata dalle caratteristiche della risposta in frequenza H(ω) del filtro, la quale a sua volta dipende dalla scelta dei parametri del sistema (ad esempio, i coefficienti {a k } e {b k } che compaiono nell’equazione differenziale che lega l’ingresso e l’uscita, nel dominio del tempo, del sistema stesso). Quindi, tramite una appropriata scelta dei coefficienti, possiamo progettare filtri selettivi in frequenza che lasciano passare segnali con componenti spettrali in determinate bande mentre attenuano segnali contenenti componenti spettrali in altre bande. In generale, un sistema lineare tempo-invariante modifica lo spettro X(ω) del segnale in ingresso in accordo alla propria funzione di trasferimento (o risposta in frequenza) H(ω): lo spettro del segnale di uscita è quindi Y(ω)=H(ω)X(ω), il che indica sostanzialmente che H(ω) è una funzione peso per le diverse componenti spettrali del segnale in ingresso. In generale, noi definiamo filtro un sistema lineare tempo-invariante usato per ottenere una determinata sagomatura spettrale o un filtraggio selettivo in frequenza.

3 CARATTERISTICHE DEI FILTRI IDEALI (1) I filtri sono generalmente classificati a seconda delle caratteristiche della loro funzione di trasferimento H(ω): passa-basso passa-alto passa-banda arresta-banda passa-tutto per quanto riguarda il modulo di H(ω), possiamo dire che filtri ideali hanno guadagno costante (generalmente unitario) nella banda passante e guadagno nullo nella banda arrestata. Caratteristica di fase Θ(ω)  è sempre opportuno (tranne che in particolari applicazioni) che il filtro abbia una caratteristica di fase lineare, almeno nella banda passante:

4 NOTA  I filtri ideali non sono fisicamente realizzabili e servono perciò solo come una idealizzazione matematica dei filtri reali. L’importanza di avere un filtro con una fase lineare e un guadagno costante risiede nel fatto che permetterà di ottenere in uscita un segnale che risulterà semplicemente una versione scalata e ritardata dell’ingresso. Se la fase del filtro non fosse stata lineare, ma avesse avuto una dipendenza non lineare da ω, l’uscita del filtro sarebbe stato una versione più o meno distorta dell’ingresso. Un’altro concetto fondamentale è il ritardo di gruppo introdotto dal filtro sul segnale di ingresso : Il ritardo di gruppo introdotto dal filtro si può interpretare come il ritardo temporale che ciascuna componente spettrale (sinusoidale) del segnale subisce quando passa dall’ingresso all’uscita del filtro stesso. Quindi se il ritardo di gruppo è costante (come appunto nel caso dei filtri a fase lineare) tutte le componenti spettrali subiscono lo stesso ritardo, il che non crea distorsioni. CARATTERISTICHE DEI FILTRI IDEALI (2)

5 CARATTERISTICHE DEI FILTRI IDEALI (3) Nei prossimi lucidi verranno progettati alcuni semplici filtri digitali, sistemando opportunamente poli e zeri nel piano-z (ci riferiamo perciò a poli e zeri del polinomio H(z) che si ottiene calcolando la trasformata-zeta della risposta all’impulso dei filtri). Il metodo di posizionamento dei poli e gli zeri si basa su due principi essenziali: sistemare i poli vicino a quei punti del cerchio unitario corrispondenti alle frequenze da enfatizzare; sistemare gli zeri vicino a quei punti del piano-z corrispondenti alle frequenze da attenuare maggiormente.

6 Concetti fondamentali Lavoriamo in tempo discreto con passo di campionamento T c =1/f c quindi il corrispondente dominio della frequenza è periodico (con riferimento alle pulsazioni)  [-  /T,+  /T ], di ampiezza 2  /T, dove  /T è la pulsazione corrispondente alla frequenza di Nyquist 1/2T f=ω/2π corrispondenza tra frequenze nel dominio di Fourier e punti nel piano-z è mostrata in figura. Con riferimento ai punti sulla circonferenza: 1.gli angoli compresi tra  =0 e  =  sono rappresentativi di frequenze comprese tra 0 a 1/2T (cioè pulsazioni comprese tra 0 e  /T), 2.gli angoli compresi tra  =-  e  =  sono rappresentativi di frequenze comprese tra -1/2T a 0 (cioè pulsazioni comprese tra –  e  ).

7 Filtri passa-basso Per ottenere un filtro passa-basso, dovremo quindi seguire due regole: I poli della funzione di sistema H(z) vanno sistemati nei pressi del cerchio unitario (sempre all’interno per garantire la stabilità), nei punti corrispondenti alle basse frequenze (quindi vicino a ω=0); gli zeri della funzione H(z) vanno invece sistemati vicino o anche sul cerchio unitario, in corrispondenza delle alte frequenze (vicino a ω=  /T). Tipiche mappe poli-zeri di filtri passa-basso sono illustrate nella figura seguente:

8 Esempio filtro passa-basso 1.1 Consideriamo un filtro a singolo polo (p=+a) e con uno zero nell’origine, la corrispondente funzione di sistema sarà: Al numeratore è stato posto un guadagno 1-a che serve alla normalizzazione, in quanto esso fa in modo che il guadagno a frequenza ω=0 sia unitario. Quanto più il polo si trova vicino al cerchio unitario, tanto più il filtro è selettivo nei confronti delle basse frequenze.

9 Esempio filtro passa-basso 1.2 Definiamo ora in Matlab il filtro descritto precedentemente, con a=0.9, e analizziamo il modulo della corrispondente risposta armonica |H1(ω/T)|. >> z = tf('z',0.05) Transfer function: z Sampling time: 0.05 >> H1=(1-0.9)/(1-z^-1*0.9) Transfer function: 0.1 z ------- z - 0.9 Sampling time: 0.05 >> bode(H1) Si nota che il guadagno alle alte frequenze è relativamente piccolo, mentre è unitario per le basse frequenze

10 Esempio filtro passa-basso 1.3 Avvicinando eccessivamente il polo del filtro all’origine, perdiamo quelle che sono le caratteristiche del filtro, ossia il guadagno alle alte frequenze aumenta non attenuandole più adeguatamente (come mostrato in figura). >>%poniamo polo a=0.3 >> H2=(1-0.3)/(1-z^-1*0.3) Transfer function: 0.7 z ------- z - 0.3 Sampling time: 0.05 >> bode(H1,'b',H2,'r')

11 Esempio filtro passa-basso 1.4 Dato che vogliamo attenuare le alte frequenze, ci conviene piazzare lo zero in z  1 corrispondente a ω   /T  f  ±1/2T). >> H3=((1-0.9)/2)*((z+1)/(z-0.9)) Transfer function: 0.05 z + 0.05 ------------- z - 0.9 Sampling time: 0.05 >> bode(H1,‘b',H3,‘r') >>%dove H1 rappresenta il filtro >>%con a=0.9 e z=0 Il guadagno (1-0.9)/2 serve alla normalizzazione Alle alte frequenze l’attenuazione è maggiore rispetto al filtro H1, mentre alle basse frequenze l’andamento è praticamente lo stesso.

12 Esempio filtro passa-basso 1.5 Analizziamo ora le caratteristiche di fase dei due filtri: In entrambi i casi, abbiamo un andamento praticamente lineare per le basse frequenze (cioè nella banda passante). Si nota inoltre che H1 è un filtro a fase minima: un filtro IIR (tale è un filtro che presenta almeno un polo) si definisce a fase minima quando tutti i suoi zeri ed I suoi poli sono all’interno del cerchio unitario; la terminologia “a fase minima” deriva dal fatto che risulta nulla la differenza   (0)-  1   /T  tra la fase del filtro in ω=0 e quella in ω=  /T.

13 Esempio filtro passa-basso 1.6 >> H1=(1/20)*(z+1)/(z-0.9); >> H2=(1/6.667)*(z+1)/(z-0.7); >> H3=(1/200)*((z+1)/((z-0.9)*(z-0.9))); >> bode(H1,’b’,H2,’g’,H3,’r’) Esempio con tre filtri diversi: H1  un polo a=0.9 H2  un polo a=0.7 H3  due poli coincidenti a 1,2 =0.9 Tutti e tre i filtri presentano uno zero z=-1. Come si può notare modificando opportunamente la posizione e il numero di poli e zeri si può aumentare o diminuire la selettività del filtro.

14 Filtri passa-alto Per progettare un filtro passa-alto possiamo seguire delle regole esattamente duali di quelle viste per un filtro passa-basso: i poli della funzione di sistema H(z) vanno sistemati nei pressi del cerchio unitario (sempre all’interno), nei punti corrispondenti alle alte frequenze (quindi vicino a ω   /T  gli zeri della funzione H(z) vanno invece sistemati vicino o anche sul cerchio unitario, in corrispondenza delle basse frequenze (vicino a ω=0). Tipiche mappe poli-zeri di filtri passa-alto sono allora quelle illustrate nella figura seguente:

15 Esempio filtri passa-alto Qui di seguito due esempi di filtri passa-alto, che sono i duali dei filtri passa-basso introdotti negli esempi (con segni di poli e zeri del sistema invertiti): >> H1=1/20*((z-1)/(z+0.9)) Transfer function: 0.05 z - 0.05 ------------- z + 0.9 Sampling time: 0.05 >> H2=(1/200)*(z-1)/((z+0.9)^2) Transfer function: 0.005 z - 0.005 ------------------ z^2 + 1.8 z + 0.81 Sampling time: 0.05 >> bode(H1,’b’,H2,’r’) Il guadagno alle alte frequenze è unitario, mentre è relativamente piccolo per le basse frequenze. Inoltre la banda passante del filtro H2 è minore rispetto a quella del filtro H1.

16 Filtri passa-banda Per il progetto dei filtri numerici passa-banda i criteri da seguire sono simili a quelli visti per i filtri passa-basso e passa-alto: un filtro passa-banda dovrà contenere una o più coppie di poli complessi coniugati vicini al cerchio unitario e, in particolare, nei pressi della banda di frequenze che costituisce la banda passante. Progettiamo un filtro passa-banda, a 2 poli, che abbia le seguenti caratteristiche: 1.la banda passante centrata su  = (  / 2)/T  poli complessi disposti nel modo seguente : p 1/2 =re ±j  /2 =±jr (|r|<1); 2.la funzione di trasferimento H(  ) deve valere zero sia per  = 0 sia per  =  /T  due zeri di H(z) in corrispondenza di tali frequenze, ossia in z=1 e z=-1. La funzione di sistema assume dunque la forma

17 Esempio filtri passa-banda 1.1 Definiamo ora in Matlab il filtro descritto e analizziamo il modulo della corrispondente risposta armonica |H1(ω/T)|: >> z = tf('z',0.05); >> f = (pi/2)/0.05/(2*pi); >> H1=(z^2-1)/(z^2+0.9^2); >> G=freqresp(H,f) G = 10.5263 >> H1= (1/10.5263) *H Transfer function: 0.095 z^2 - 0.095 ----------------- z^2 + 0.81 Sampling time: 0.05 Frequenza corrispondente alla pulsazione ω=  calcolata per tempo di campionamento T=0.05. f=(ω/2π)/T Guadagno filtro alla frequenza ‘ f ’ calcolata Il guadagno 1/10.5263 serve alla normalizzazione, ossia permette di avere guadagno unitario per ω=(π/2)/T Funzione di trasferimento del filtro

18 Esempio filtri passa-banda 1.2 Come si può notare dal grafico del modulo della risposta armonica H 1 (ω/T), il filtro progettato è un filtro passa banda, la cui banda passante è centrata in ω=(  /2)/ T, come progettato. >> bode(H1)


Scaricare ppt "FILTRI NUMERICI. Introduzione Nel campo nei segnali (analogici o digitali), un sistema lineare tempo-invariante è in grado di effettuare una discriminazione."

Presentazioni simili


Annunci Google