Filtri FIR
Progetto filtri FIR Vantaggi: Svantaggi: Stabilità intrinseca. Facilità nell’ottenere fase lineare. Assenza di retroazione gli errori non vengono rimessi in “circolo” Svantaggi: Prestazioni contenute. Per ottenere buone caratteristiche la lunghezza del filtro può risultare notevole struttura complessa Ritardo considerevole tra ingresso e uscita. Il progetto in termini di “maschere” risulta difficile da affrontare in forma analitica (in pratica risulta difficile stimare ripple e attenuazione in forma chiusa)
Linearità di fase E’ garantita da vincoli di simmetria/antisimmetria nella risposta impulsiva del filtro Questi vincoli si traducono in opportuni accoppiamenti di zeri sul piano z
Linearità di fase (caso 1) Ipotesi: Parte reale Parte immaginaria soluzione banale: α=0 una somma pesata di sinusoidi e’ nulla solo se tutti i pesi sono nulli (Fourier)
Linearità di fase (caso 1) Ipotesi: Parte reale Parte immaginaria soluzione non banale: In pratica le sinusoidi sono a 2 a 2 uguali e con pesi opposti ovviamente si puo’ anche qui trovare una soluzione quasi banale [ 1 2 3 2 1 0 0 0 0 0 0] simmetria dei coefficienti h(n) La soluzione è unica (Serie di Fourier)
Linearita’ di fase Affinche’ la somma si annulli per qualunque valore di x si impone che a=b e c=d ovvero le sinusoidi rispettivamente in fase e contro-fase si devono elidere a 2 a 2
Linearità di fase (caso 1) La simmetria su h(n) comporta che: ovvero per ogni zero in ‘z’ ne deve esistere uno in ‘1/z’ Inoltre se h(n) è reale per ogni zero deve esistere il suo complesso-coniugato
Esempio 1 h(n)= [ 1 2 3 2 3 2 1]
Esempio 2 h(n)= [ 1 2 3 1 1 3 2 1]
Linearità di fase (caso 2) Ipotesi: Parte reale Parte immaginaria soluzione: Una somma di sinusoidi (TUTTE a diversa frequenza e’ nulla solo se tutte le ampiezze sono nulle) In pratica le sinusoidi devono essere in fase (o contro-fase) ed annullarsi a 2 a due. Ora ho beta per metterle in contro-fase. antisimmetria dei coefficienti h(n) La soluzione è unica (Serie di Fourier)
Linearita’ di fase Affinche’ la somma si annulli per qualunque valore di x si impone che a=-b e c=-d ovvero le sinusoidi rispettivamente in fase tra loro si devono elidere a 2 a 2
Linearità di fase (caso 1) La antisimmetria su h(n) comporta che: ovvero per ogni zero in ‘z’ ne deve esistere uno in ‘1/z’ Inoltre se h(n) è reale per ogni zero deve esistere il suo complesso-coniugato
Esempio 3 h(n)= [ 1 2 3 0 -3 -2 -1]
Esempio 4 h(n)= [ 1 2 3 -3 -2 -1]
Campionamento in frequenza Si scelga un opportuno numero di campioni in frequenza e si calcola h(n) imponendo che l’H(ω) corrispondente passi per i campioni voluti La soluzione puo’ avvenire attraverso: L’impiego della IDFT (campioni equispaziati) La soluzione di un sistema lineare Equazioni dirette
Campionamento in Frequenza (IDFT) Scelti N campioni equispaziati sul cerchio unitario detti campioni godano della simmetria coniugata il primo campione sia posto in 1 Si applichi la IDFT a detti campioni per ottenere h(n) La risposta in frequenza della sequenza ottenuta sara’ vincolata a passare per i campioni iniziali
Campionamento in frequenza Si definisce la maschera ideale in frequenza Si opera un campionamento della medesima su N punti equidistanti Sui campioni così ottenuti si applica la IDFT Il risultato fornisce la risposta impulsiva del filtro Questo procedimento garantisce che la risposta in frequenza del filtro così ottenuto passerà ESATTAMENTE per i punti di campionamento della maschera ideale 1 2 3 4 5 6 0.2 0.4 0.6 0.8
Simmetrici – N dispari Si può realizzare un filtro che soddisfi certe specifiche in ampiezza risolvendo un sistema lineare in k equazioni k incognite, dove siano ωj le pulsazioni alle quali il guadagno debba valere Hd(ωj)
Simmetrici – N pari Si può realizzare un filtro che soddisfi certe specifiche in ampiezza risolvendo un sistema lineare in k equazioni k incognite, dove siano ωj le pulsazioni alle quali il guadagno debba valere Hd(ωj)
Antisimmetrici – N dispari Si può realizzare un filtro che soddisfi certe specifiche in ampiezza risolvendo un sistema lineare in k equazioni k incognite, dove siano ωj le pulsazioni alle quali il guadagno debba valere Hd(ωj)
Antisimmetrici – N pari Si può realizzare un filtro che soddisfi certe specifiche in ampiezza risolvendo un sistema lineare in k equazioni k incognite, dove siano ωj le pulsazioni alle quali il guadagno debba valere Hd(ωj)
Scelta dei campioni in frequenza In teoria i campioni possono essere scelti in qualunque punto del cerchio unitario pur di rispettare alcuni vincoli: Devono essere in numero uguale ai campioni indipendenti della risposta impulsiva “h(n)” Simmitrico dispari: (N+1)/2 Simmetrico pari: N/2 Antisimmetrico dispari: (N-1)/2 (il campione centrale e’ nullo) Antisimmetrico pari: N/2 Non devono portare ad una matrice singolare Simmitrico dispari: Nessun vincolo Simmetrico pari: Nessun campione in π Antisimmetrico dispari: Nessun campione in 0 o π Antisimmetrico pari: Nessun campione in 0 Più comunemente essi vengono presi equispaziati sul cerchio unitario, ma sempre rispettando le regole di cui sopra
Scelta dei campioni in frequenza Filtro simmetrico dispari Es: N=9 , α=0 Nessuna particolare nota
Scelta dei campioni in frequenza Filtro simmetrico pari Es: N=8 , α=0 Ovviamente non si puo’ prendere il campione in π
Scelta dei campioni in frequenza Filtro antisimmetrico dispari Es: N=9 , α=0 Ovviamente non si puo’ prendere il campione in 0, ma comunque il numero dei campioni indipendenti di h(n) sono (N-1)/2
Scelta dei campioni in frequenza Filtro antisimmetrico pari Es: N=8 , α=0 Ovviamente non si puo’ prendere il campione in 0, ma si puo’ ovviare aggiungendo invece il campione in π
Scelta dei campioni in frequenza Un’altra possibilità per evitare la presenza di campioni nello 0 (o a π) è quella di scegliere un valore per ‘α’ uguale ad ½ (ovvero si applica una rotazione di ‘π/M’ a tutti i campioni)
IDFT Quando i campioni sono scelti equispaziati sul cerchio unitari si può utilizzare la IDFT per calcolare la ‘h(n)’ si scelgono N campioni equispaziati sul cerchio unitario si applichi la IDFT per definizione l’ H(ω) passerà per I punti scelti NOTA: questo a priori non garantisce la linearità di fase ci sono vari g.d.l. sfruttabili Fase dei campioni Segno dei campioni
Equazioni dirette Sfruttando alcuni vincoli si possono calcolare i campioni della risposta in frequenza direttamente dai campioni in frequenza (senza IDFT e senza l’inversa di una matrice) Vincoli: Fase lineare → simmetrie su h(n) h(n) reale → simmetria coniugata su H(ω) equispaziatura dei campini sul cerchio unitario Definiamo: -1 -0.5 0.5 1 -0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8 Real Part Imaginary Part I campioni in frequenza equispaziati sul cerchio unitario (α assume il valore 0 oppure ½)
Calcolo di h(n) (caso generale) per definizione moltiplicando per exp(..) sommando su k ma:
Considerazioni Quanto trovato ricorda la IDFT (ma con α) Vale per qualunque h(n) anche privo di simmetrie Vale per campioni H(k+α) equispaziati Su questi campioni per il momento non si sono fatte altre ipotesi
Caso 1 (h(n) simmetrica , α=0) sia h(n) reale, simmetrica ed α=0 H(k) possono essere calcolati sfruttando la simmetria: Ovvero H(k) deve presentare una certa fase per soddisfare le ipotesi di partenza H(k) avrà un certo modulo, un certo segno ed una certa fase
Relazione tra G(k) e G(N-k) essendo h(n) reale vale la seguente relazione: ovvero: quindi: I campioni simmetrici devono presentare segno opposto NOTA: inoltre G(N/2)=0 !!!
Calcolo di h(n) (Caso 1) Sfruttando la relazione vista per il calcolo di h(n) e combinando a 2 a 2 i G(k) simmetrici, gli esponenziali si combinano rispettivamente:
Calcolo di h(n) (Caso 1) Concludendo Senza ricorrere all’inversa della matrice o alla IDFT
Caso 2 (h(n) simmetrica , α=1/2) sia h(n) reale, simmetrica ed α=1/2 H(k) possono essere calcolati sfruttando la simmetria: Ovvero H(k+1/2) deve presentare una certa fase per soddisfare le ipotesi di partenza H(k) avrà un certo modulo, un certo segno ed una certa fase
Relazione tra G(k+1/2) e G(N-k-1/2) essendo h(n) reale vale la seguente relazione: ovvero: quindi: I campioni simmetrici devono presentare segno concorde
Calcolo di h(n) (Caso 2) Sfruttando la relazione vista per il calcolo di h(n) e combinando a 2 a 2 i G(k) simmetrici, gli esponenziali si combinano rispettivamente:
Calcolo di h(n) (Caso 2) Concludendo Senza ricorrere all’inversa della matrice o alla IDFT
Caso 3 (h(n) antisimmetrica , α=0) sia h(n) reale, antisimmetrica ed α=0 H(k) possono essere calcolati sfruttando la antisimmetria: Ovvero H(k) deve presentare una certa fase per soddisfare le ipotesi di partenza H(k) avrà un certo modulo, un certo segno ed una certa fase
Relazione tra G(k) e G(N-k) essendo h(n) reale vale la seguente relazione: ovvero: quindi: I campioni simmetrici devono presentare segno uguale NOTA: inoltre G(0)=0 nei filtri antisimmetrici
Calcolo di h(n) (Caso 3) Sfruttando la relazione vista per il calcolo di h(n) e combinando a 2 a 2 i G(k) simmetrici, gli esponenziali si combinano rispettivamente:
Calcolo di h(n) (Caso 3) Concludendo IN quanto il campione in G(N/2) contribuisce una sola volta nella sommatoria inoltre il campione G(0)=0
Caso 4 (h(n) antisimmetrica , α=1/2) sia h(n) reale, antisimmetrica ed α=1/2 H(k) possono essere calcolati sfruttando la antisimmetria: Ovvero H(k) deve presentare una certa fase per soddisfare le ipotesi di partenza H(k) avrà un certo modulo, un certo segno ed una certa fase
Relazione tra G(k) e G(N-k) essendo h(n) reale vale la seguente relazione: ovvero: quindi: I campioni simmetrici devono presentare segno opposto NOTA: inoltre G(N/2)=-G(N/2)=0 nei filtri dispari
Calcolo di h(n) (Caso 4) Sfruttando la relazione vista per il calcolo di h(n) e combinando a 2 a 2 i G(k) simmetrici, gli esponenziali si combinano rispettivamente:
Calcolo di h(n) (Caso 4) Concludendo
Funzioni finestra Partendo dalle specifiche richieste si progetta analiticamente un filtro ideale detto filtro ideale richiederebbe infiniti campioni. Si riduce il numero di campioni operando una “finestratura” dei coefficienti del filtro. Il prodotto termine a termine di due segnali digitali comporta nel dominio delle frequenze una convoluzione tra gli spettri. La risposta in frequenza del filtro così realizzato sarà quindi la convoluzione delle specifiche ideali con lo spettro della finestra utilizzata L’impiego di diversi tipi di finestre comporta prestazioni diverse che possono migliorare questo o quel particolare del filtro quali: ripidità del taglio, ampiezza delle oscillazioni.
Funzioni finestra (analisi) Genericamente: In un filtro passa-basso(ideale): ...
Funzioni finestra (Esempio)
Filtro di Remez Calcolo iterativo dei coefficienti Ottimizzazione basata sulla tecnica del: “minimo errore massimo” Vi è la possibilità di dare un “peso” diverso all’errore nelle diverse bande.
Filtri di Lagrange E’ una topologia realizzativa per filtri FIR E’ legata strettamente al campionamento in frequenza Interpolazione polinomiale di Lagrange su N punti qualunque del piano z
Filtri di Lagrange Se i punti vengono scelti equidistanti sul cerchio unitario Infatti il produttorio realizza in pratica le N radici di 1 mentre Am si puo’ ricavare: limite calcolato sfruttando il teorema de l’Hopital
Filtri di Lagrange Struttura Un filtro Comb di ordine N realizza N zeri sul cerchio unitario N risuonatori (uno per ogni frequenza) realizzano una cancellazione zero-polo COMB Ris.1 H1 Ris.2 H2 Ris.N HN + . Ogni canale (completo) fa passare una sola frequenza e sopprime le altre; a quella frequenza si può impostare il guadagno desiderato
Analisi Spettrale La risposta in frequenza in z1 è Si rovesci la sequenza (le comp. spettrali rimangono sostanzialmente le stesse) z-n + -z1-n z-1 z1-1 x(n) Sn(z1)
Analisi Spettrale Se z1 viene scelto opportunamente sul cerchio unitario La prima parte diventa un filtro COMB Nel complesso si ottiene un filtro di Lagrange con frequenza centrale in z1 Nota: L ed N non devono per forza coincidere N=32 N=8
Filtri di Savitzky-Golay Risolvono il problema del filtraggio dal punto di vista del miglior interpolatore polinomiale (per rimuovere il rumore preservando il segnale utile di bassa frequenza) IDEA: si prendono N campioni del segnale originale si calcola il miglior interpolatore polinomiale di ordine prefissato si sostituisce al campione centrale il corrispondente valore della funzione polinomiale approssimante Si puo’ dimostrare che questa operazione puo` essere effettuata usando un FIR con opportuni coefficienti
Polinomio interpolante Il polinomio interpolante sia: Si vogliono calcolare i coeff. ai tali che: Ovvero
Polinomio interpolante Se la matrice X fosse invertibile (ovvero l’ordine del polinomio fosse uguale a N-1: Ovvero la soluzione fornisce un polinomio che passa esattamente per tutti i punti Nel caso in esame, viceversa vi sono piu’ equazioni che incognite e pertanto la matrice risulta rettangolare ed il problema va risolto nei termini dei minimi quadrati. Si puo’ dimostrare che la soluzione richiede nell’uso della “pseudoinversa”
Filtri di Savitzky-Golay Nel caso di campioni equispaziati e centrati nello 0 La matrice X risulta Pertanto i valori dell’equazione : Possono essere ricavati usando dei filtri FIR sul segnale y, si noti inoltre che l’interesse e’ centrato su ricavare a0Ovvero i coefficienti del FIR sono i valori della prima riga della pseudoinversa di X
Filtri di Savitzky-Golay Filtro FIR a N=11 campioni tutti uguali
Filtri di Savitzky-Golay Filtro FIR a N=11 finestra di Hanning
Filtri di Savitzky-Golay Filtro FIR SG N=11, ord=5