Esercizio - Fase lineare e zeri dei filtri FIR
In questa pagina 4
Testo (esercizio di ripasso sulle lezioni 11 e 13 del corso Multimedia Signal Processing, UniPD; dati scelti dall'esempio delle slide). Sono dati cinque FIR causali:
- Per ciascuno dire se ha fase lineare; in caso affermativo indicare il tipo (I-IV), l'ordine , il ritardo di gruppo e quali zeri in sono forzati; verificare calcolando e .
- Fattorizzare , , come prodotto di , o per un tipo I.
- Costruire un FIR di tipo II di ordine con zeri in .
- Quali di questi filtri possono essere passa-basso? Passa-alto?
Teoria usata: Sistemi a fase lineare e assenza di distorsioneUn sistema non deforma il segnale se y[n] = K x[n-n0]: modulo costante e fase lineare -n0 w, cioè ritardo di gruppo costante n0. Un sistema reale e causale ha fase lineare (generalizzata) se e solo se è FIR con risposta impulsiva simmetrica h[n] = h[N-n] (ampiezza pari, fase -N w/2) o antisimmetrica h[n] = -h[N-n] (ampiezza dispari, fase -N w/2 + pi/2). Il ritardo di gruppo è N/2: intero se N è pari (vale la condizione di non distorsione), semi-intero se N è dispari (uscita interpolata e ritardata). Un IIR causale non può essere simmetrico, quindi non ha fase lineare esatta.Sistemi a fase lineare e assenza di distorsione →, Filtri FIR a fase lineare - tipi e zeriI FIR a fase lineare di ordine N si dividono in quattro tipi: I (N pari, h simmetrica), II (N dispari, simmetrica), III (N pari, antisimmetrica), IV (N dispari, antisimmetrica). Si scrive H = e^{-jwN/2} e^{jb} A(w), con A somma di coseni (tipi I e II) o di seni (III e IV). Dalla relazione H(z) = ±z^{-N} H(1/z) segue che gli zeri vengono in gruppi (z0, z0*, 1/z0, 1/z0*) e che ci sono zeri forzati: tipo II in z = -1, tipo III in z = 1 e z = -1, tipo IV in z = 1, tipo I nessuno. Quindi II non fa passa-alto, III non fa passa-basso né passa-alto, IV non fa passa-basso. Ogni tipo II, III, IV è un tipo I moltiplicato per (1+z^-1), (1-z^-2), (1-z^-1).Filtri FIR a fase lineare - tipi e zeri →, Funzione di sistema, poli, zeri e stabilitàLa funzione di sistema H(z) è la trasformata zeta della risposta impulsiva: con ingresso z^n l'uscita è H(z) z^n. Per un FIR H(z) = Σ b_k z^{-k} è un polinomio con M zeri e M poli in z = 0; in generale H = B(z)/A(z) dall'equazione alle differenze. Sulla circonferenza unitaria H(e^{jω̂}) è la risposta in frequenza: |H| = prodotto delle distanze dagli zeri / prodotto delle distanze dai poli, quindi gli zeri bloccano frequenze e i poli le esaltano. Un LTI causale è BIBO stabile se e solo se tutti i poli hanno modulo < 1 (a meno di cancellazioni polo-zero); i FIR sono sempre stabili.Funzione di sistema, poli, zeri e stabilità →.
Punto 1: tipo, ritardo e zeri forzati
Si controlla la simmetria e la lunghezza ( campioni).
| filtro | simmetria | tipo | ritardo | zeri forzati | |||
|---|---|---|---|---|---|---|---|
| 4 | simmetrica | I | nessuno (vedi nota) | ||||
| 5 | simmetrica | II | |||||
| 4 | antisimmetrica | III | e | ||||
| 3 | antisimmetrica | IV | |||||
| 3 | né simmetrica né antisimmetrica | no fase lineare | non costante |
Calcoli: e . Per : ; per : ; per : (e quindi , perché il tipo IV non ha lo zero in ). Il ritardo di gruppo calcolato numericamente (scipy.signal.group_delay) è costante e vale , , , per ; per varia ( in rad, in rad, in rad), quindi distorce la fase.
Nota su . È di tipo I, quindi il tipo non forza zeri in ; ma può averne: qui per i valori scelti. Basta cambiare un coefficiente (per esempio ha ) per perdere lo zero: non è un vincolo del tipo. Gli zeri di sono (doppio) e , che sta sulla circonferenza (); la coppia è coniugata e coincide con la propria reciproca, come previsto.
Punto 2: fattorizzazioni
Si divide per il fattore noto (divisione di polinomi in ):
- , con simmetrico di ordine (tipo I);
- , con il tipo I (ordine ): zero semplice in e triplo in ( dal fattore e dal tipo I), come confermano le radici calcolate con
np.roots; - con di tipo I (ordine ), di zeri e (coppia reale reciproca: ).
Le ampiezze di conseguenza: , , , con ampiezza del fattore di tipo I.
Punto 3: tipo II con zeri in
Un tipo II di ordine ha coefficienti, quindi zeri: uno è forzato in , gli altri due sono la coppia coniugata (sulla circonferenza: coppia coniugata, già reciproca di se stessa). Il polinomio è
cioè , simmetrica con (tipo II) ✓. Gli zeri di sono le soluzioni di : , ✓ (verificato con np.roots). La risposta è : ritardo campioni, ampiezza che si annulla in .
Punto 4: filtri selettivi
Si guarda e :
- (tipo I): senza vincoli; e : ha guadagno non nullo in e nullo in , quindi può essere un passa-basso.
- (tipo II): , : passa-basso, mai passa-alto.
- (tipo III): : né passa-basso né passa-alto; compatibile con un passa-banda (ampiezza ).
- (tipo IV): , : passa-alto, mai passa-basso.
- : nessuna conclusione sulla fase lineare; come selettività, e (è passa-basso, ma distorce la fase).
Versione ripasso
Punto 1 - tipo, ritardo, zeri forzati. Il FIR è a fase lineare se . Ritardo di gruppo . Zeri forzati dal tipo: tipo II in ; tipo III in ; tipo IV in .
- : simmetrico, tipo I, , ritardo . , per i valori scelti, ma lo zero in non è forzato dal tipo.
- : simmetrico, tipo II, , ritardo . , .
- : antisimmetrico, tipo III, , ritardo . .
- : antisimmetrico, tipo IV, , ritardo . , .
- : non simmetrico né antisimmetrico, non ha fase lineare.
Punto 2 - fattorizzazioni. ; , con zero semplice in e triplo in ; , zeri e .
Punto 3 - tipo II di ordine con zeri in . cioè , simmetrico con . Risposta , ampiezza nulla in e .
Punto 4 - selettività.
- e : possono essere passa-basso, mai passa-alto ( ha zero in ).
- : nulla in e , compatibile con un passa-banda.
- : , passa-alto.
Teoria: Sistemi a fase lineare e assenza di distorsioneUn sistema non deforma il segnale se y[n] = K x[n-n0]: modulo costante e fase lineare -n0 w, cioè ritardo di gruppo costante n0. Un sistema reale e causale ha fase lineare (generalizzata) se e solo se è FIR con risposta impulsiva simmetrica h[n] = h[N-n] (ampiezza pari, fase -N w/2) o antisimmetrica h[n] = -h[N-n] (ampiezza dispari, fase -N w/2 + pi/2). Il ritardo di gruppo è N/2: intero se N è pari (vale la condizione di non distorsione), semi-intero se N è dispari (uscita interpolata e ritardata). Un IIR causale non può essere simmetrico, quindi non ha fase lineare esatta.Sistemi a fase lineare e assenza di distorsione →, Filtri FIR a fase lineare - tipi e zeriI FIR a fase lineare di ordine N si dividono in quattro tipi: I (N pari, h simmetrica), II (N dispari, simmetrica), III (N pari, antisimmetrica), IV (N dispari, antisimmetrica). Si scrive H = e^{-jwN/2} e^{jb} A(w), con A somma di coseni (tipi I e II) o di seni (III e IV). Dalla relazione H(z) = ±z^{-N} H(1/z) segue che gli zeri vengono in gruppi (z0, z0*, 1/z0, 1/z0*) e che ci sono zeri forzati: tipo II in z = -1, tipo III in z = 1 e z = -1, tipo IV in z = 1, tipo I nessuno. Quindi II non fa passa-alto, III non fa passa-basso né passa-alto, IV non fa passa-basso. Ogni tipo II, III, IV è un tipo I moltiplicato per (1+z^-1), (1-z^-2), (1-z^-1).Filtri FIR a fase lineare - tipi e zeri →, Funzione di sistema, poli, zeri e stabilitàLa funzione di sistema H(z) è la trasformata zeta della risposta impulsiva: con ingresso z^n l'uscita è H(z) z^n. Per un FIR H(z) = Σ b_k z^{-k} è un polinomio con M zeri e M poli in z = 0; in generale H = B(z)/A(z) dall'equazione alle differenze. Sulla circonferenza unitaria H(e^{jω̂}) è la risposta in frequenza: |H| = prodotto delle distanze dagli zeri / prodotto delle distanze dai poli, quindi gli zeri bloccano frequenze e i poli le esaltano. Un LTI causale è BIBO stabile se e solo se tutti i poli hanno modulo < 1 (a meno di cancellazioni polo-zero); i FIR sono sempre stabili.Funzione di sistema, poli, zeri e stabilità →.
Errori tipici:
- Dire che il tipo I forza uno zero in : non è vero, lo zero in può esserci per caso.
- Confondere il tipo II (zero forzato in ) con il tipo IV (zero forzato in ).
- Calcolare senza il segno sui campioni dispari.