Esercizio - Passa-basso FIR di ordine 8 con finestra rettangolare e di Hamming
In questa pagina 4
Testo (esercizio costruito sul progetto per finestre della lezione 18 del corso Multimedia Signal Processing, UniPD). Si progetta con il metodo delle finestre un filtro FIR causale a fase lineare di tipo I e ordine che approssima il passa-basso ideale con pulsazione di taglio .
- Calcolare e i coefficienti () con la finestra rettangolare.
- Ripetere con la finestra di Hamming.
- Scrivere l'ampiezza e calcolarla in per i due filtri.
- Quale ordine serve con la finestra di Kaiser per dB e banda di transizione centrata in ?
Teoria usata: Progetto di filtri FIR con il metodo delle finestreUn filtro FIR a fase lineare di tipo I (ordine $N$ pari, $h[n]=h[N-n]$) ha risposta $H(e^{j\hat\omega})=e^{-j\hat\omega N/2}\bar H(\hat\omega)$ con ampiezza $\bar H(\hat\omega)=\sum_{n=0}^{N/2}p_n\cos(n\hat\omega)$. Per approssimare un'ampiezza desiderata $D(\hat\omega)$ (passa-basso: $1$ in banda passante, $0$ in banda oscura, con tolleranze $\delta_p,\delta_s$ e frequenze $\hat\omega_p,\hat\omega_s$) ci sono tre metodi. Finestre: si tronca la serie di Fourier di $D$, cioè $h[n]=h_d[n-N/2],w[n]$ con $h_d[n]=\frac{\hat\omega_0}{\pi}\operatorname{sinc}\frac{\hat\omega_0 n}{\pi}$; la rettangolare è ottima in errore quadratico ma dà il fenomeno di Gibbs (9%, $21$ dB), le finestre rastremate (Hann, Hamming, Blackman, Kaiser) abbassano i lobi laterali allargando la transizione ($\hat\omega_s-\hat\omega_p\simeq\alpha,2\pi/L$). Campionamento in frequenza: $h=\mathrm{IDFT}$ dei campioni di $D$, esatto solo sui campioni. Minimax (Parks-McClellan): errore pesato minimo nel caso peggiore, soluzione equiripple con almeno $r+2$ alternanze, ordine più basso a parità di specifiche.Progetto di filtri FIR con il metodo delle finestre →, 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 →, 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 →.
1. Finestra rettangolare
La risposta impulsiva ideale del passa-basso con taglio è , quindi e, con l'indice centrato: (Tutti i coefficienti con pari e sono nulli perché : un filtro con taglio a metà banda ha questa struttura.) Il filtro causale è : Con la rettangolare i due coefficienti sono già nulli, quindi di fatto il filtro è di ordine . Somma dei coefficienti (guadagno in continua): .
2. Finestra di Hamming
La finestra causale è , ; in forma centrata : vale per ; per ; per ; per ; per . Si moltiplica per : Con Hamming il guadagno in continua è invece di : i coefficienti più esterni, che nella rettangolare creano le oscillazioni, sono stati ridotti.
3. Ampiezza e confronto
Per un tipo I con (): , , quindi , , , :
- rettangolare: ;
- Hamming: .
| rettangolare | |||||
| Hamming |
Verifica di : i termini in coseno di indice dispari si annullano () e resta : il valore a metà banda è per entrambe. Infatti per ogni filtro con nulla sugli pari e finestra simmetrica vale (si è controllato numericamente: errore ): è un filtro halfband. Con la rettangolare si vede il fenomeno di Gibbs: massimo (sovraelongo del ) e minimo in banda oscura; con Hamming gli estremi sono e : le oscillazioni quasi spariscono, a prezzo di una transizione molto più dolce (il valore a scende a e a vale ). Con la transizione ( rad per Hamming secondo la tabella) è più larga dell'intera banda: serve un ordine più alto.
4. Ordine con la finestra di Kaiser
Con dB e (cioè ): e quindi (pari, per un tipo I). Verifica: progettando il filtro con taglio e controllando gli errori in e si trova con (non basta), con e con : il limite è , quindi è il primo ordine pari che soddisfa la specifica.
Versione ripasso
Ideale. Taglio , con centrato: . Valori: : ; : ; : ; : ; : .
Rettangolare. , somma .
Hamming. : , . , somma .
Ampiezza. con , , .
- Rettangolare: .
- Hamming: . In entrambe valgono : il filtro è halfband, . Rettangolare: massimo e minimo (Gibbs). Hamming: e , con transizione più larga.
Kaiser, dB, . , , quindi (pari, tipo I). Verifica numerica: con , con , limite .
Teoria: Progetto di filtri FIR con il metodo delle finestreUn filtro FIR a fase lineare di tipo I (ordine $N$ pari, $h[n]=h[N-n]$) ha risposta $H(e^{j\hat\omega})=e^{-j\hat\omega N/2}\bar H(\hat\omega)$ con ampiezza $\bar H(\hat\omega)=\sum_{n=0}^{N/2}p_n\cos(n\hat\omega)$. Per approssimare un'ampiezza desiderata $D(\hat\omega)$ (passa-basso: $1$ in banda passante, $0$ in banda oscura, con tolleranze $\delta_p,\delta_s$ e frequenze $\hat\omega_p,\hat\omega_s$) ci sono tre metodi. Finestre: si tronca la serie di Fourier di $D$, cioè $h[n]=h_d[n-N/2],w[n]$ con $h_d[n]=\frac{\hat\omega_0}{\pi}\operatorname{sinc}\frac{\hat\omega_0 n}{\pi}$; la rettangolare è ottima in errore quadratico ma dà il fenomeno di Gibbs (9%, $21$ dB), le finestre rastremate (Hann, Hamming, Blackman, Kaiser) abbassano i lobi laterali allargando la transizione ($\hat\omega_s-\hat\omega_p\simeq\alpha,2\pi/L$). Campionamento in frequenza: $h=\mathrm{IDFT}$ dei campioni di $D$, esatto solo sui campioni. Minimax (Parks-McClellan): errore pesato minimo nel caso peggiore, soluzione equiripple con almeno $r+2$ alternanze, ordine più basso a parità di specifiche.Progetto di filtri FIR con il metodo delle finestre →, 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 →, 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 →.
Errori tipici:
- Usare invece di per la simmetria: il filtro causale è .
- Contare il guadagno in continua come senza sommare i coefficienti: con la rettangolare vale .
- Scegliere per Kaiser: non soddisfa la specifica, serve .