Filtri di Butterworth
In questa pagina 7
Per usare la Trasformazione bilinearePer progettare un IIR si parte da un filtro analogico noto $H_a(s)$ e si sostituisce $s=\frac{z-1}{z+1}$ (trasformazione bilineare): $H(z)=H_a!\big(\frac{z-1}{z+1}\big)$. Questa mappa manda funzioni razionali in funzioni razionali, l'asse immaginario $s=j\Omega$ nella circonferenza unitaria $z=e^{j\hat\omega}$ e il semipiano sinistro nel disco unitario, quindi conserva la stabilità. Poli e zeri vanno in $\hat z=\frac{1+\hat s}{1-\hat s}$ ($s=0\to z=1$, $s=\infty\to z=-1$). Le frequenze si corrispondono con $\Omega=\tan\frac{\hat\omega}{2}$, cioè $\hat\omega=2\arctan\Omega$: relazione non lineare che comprime l'asse e distorce le frequenze (warping). Il modulo si conserva (oscillazioni, tolleranze $\delta_p,\delta_s$) ma la fase no: si perde la fase lineare. Per i filtri selettivi in frequenza la distorsione si compensa progettando il filtro analogico alle frequenze trasformate $\Omega_p=\tan\frac{\hat\omega_p}2$, $\Omega_s=\tan\frac{\hat\omega_s}2$ (prewarping).Trasformazione bilineare → serve un prototipo analogico passa-basso. I due grandi gruppi di soluzioni analogiche sono quelli tutti-poli (all-pole) e quelli con zeri finiti. Il filtro di Butterworth è il più semplice del primo gruppo e il principale del corso.
Specifiche analogiche e famiglie di filtri
Per un passa-basso analogico passivo () le specifiche sono le stesse del caso digitale (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 →) con pulsazioni analogiche ed errori . In ambito analogico si preferisce chiamare
- , con detta attenuazione in banda oscura;
- , con legato all'ondulazione in banda passante.
Per i due valori in decibel valgono cioè e . Le due condizioni sul modulo quadro sono e .
Esempio. dB e dB: () e .
Famiglie di filtri analogici passa-basso:
- tutti-poli: , con polinomio; tutti gli zeri sono all'infinito, quindi per . Sono i filtri di Butterworth e di Chebyshev di tipo 1;
- con zeri finiti: con : i Chebyshev di tipo 2 e gli ellittici (o di Cauer).
| filtro | banda passante | banda oscura |
|---|---|---|
| Butterworth | monotona | monotona |
| Chebyshev tipo 1 | equiripple | monotona |
| Chebyshev tipo 2 | monotona | equiripple |
| ellittico | equiripple | equiripple |
Il modulo quadro di Butterworth
Il filtro di Butterworth è definito dalla massima piattezza del modulo in . Si lavora sul modulo quadro, che per un filtro reale è una funzione pari di : Solo potenze pari: se è reale, è pari. Tre vincoli, nell'ordine:
- Guadagno unitario in continua: , quindi .
- Massima piattezza in : deve valere il più a lungo possibile vicino all'origine, cioè deve essere un infinitesimo di ordine massimo in . Per , è molto più grande di : conviene quindi annullare tutti i coefficienti bassi, , e lasciare solo l'ultimo: .
- Vincolo sul taglio: (cioè dB, modulo : il segnale esce al dell'ampiezza). Da segue .
Formula (Butterworth analogico). con ordine e pulsazione di taglio a dB. Vale in , in per ogni , ed è monotona decrescente fino a per ; per tende al rettangolo ideale.
Esempio. Con e : , (circa dB). A (un'ottava sopra il taglio) l'attenuazione è dB: dB per , dB per .
Grafico interattivo: Butterworth analogico, |H_a(jΩ)| = 1/√(1+(Ω/Ω0)^(2N)) con Ω0 = 1: tutte le curve passano per 1/√2 ≈ 0,707 in Ω = Ω0; più N è grande, più la transizione è ripida
Dal modulo alla funzione di trasferimento
Il modulo quadro non dà la fase. Si cerca la funzione razionale stabile tale che (per reale ). Estendendo a tutto il piano con : I poli di sono le soluzioni di , cioè e Sono poli sulla circonferenza di raggio , simmetrici rispetto agli assi reale e immaginario (se è un polo, lo sono anche e ): metà nel semipiano sinistro, metà nel destro. Per ottenere un sistema causale e stabile (Laplace unilatera, funzione di trasferimento e stabilitàCon la trasformata unilatera $X(s)=\int_{0^-}^\infty x(t)e^{-st}dt$ le derivate diventano $\mathcal L[y']=sY-y(0^-)$: un problema di Cauchy causale si riduce a un'equazione algebrica, $Y=\frac{b}{a}X+\frac{\text{termini iniziali}}{a}$ (forzata + libera). La funzione di trasferimento è $H(s)=b(s)/a(s)$; il sistema causale è BIBO stabile se e solo se $H$ è propria e tutti i poli hanno parte reale negativa.Laplace unilatera, funzione di trasferimento e stabilità →) prende i poli con (gli altri appartengono a ). Con la formula e si scrivono
La costante si fissa con : (i poli hanno tutti modulo e vengono in coppie coniugate, quindi il prodotto è reale e positivo). Dunque .
Esempio (). : , . : e , . : gli otto poli sono ai e tiene i quattro con parte reale negativa.
Grafico interattivo: Piano s, Butterworth con N = 4 e Ω0 = 1: gli 8 poli di M_a(s) = 1/(1+(s/jΩ0)^8) stanno su una circonferenza di raggio 1; H_a(s) tiene i 4 poli del semipiano sinistro (colore 3), gli altri 4 (colore 1) sono i loro opposti
Un filtro di Butterworth è completamente specificato da due parametri: e .
Il filtro digitale
Con la bilineare (Trasformazione bilinearePer progettare un IIR si parte da un filtro analogico noto $H_a(s)$ e si sostituisce $s=\frac{z-1}{z+1}$ (trasformazione bilineare): $H(z)=H_a!\big(\frac{z-1}{z+1}\big)$. Questa mappa manda funzioni razionali in funzioni razionali, l'asse immaginario $s=j\Omega$ nella circonferenza unitaria $z=e^{j\hat\omega}$ e il semipiano sinistro nel disco unitario, quindi conserva la stabilità. Poli e zeri vanno in $\hat z=\frac{1+\hat s}{1-\hat s}$ ($s=0\to z=1$, $s=\infty\to z=-1$). Le frequenze si corrispondono con $\Omega=\tan\frac{\hat\omega}{2}$, cioè $\hat\omega=2\arctan\Omega$: relazione non lineare che comprime l'asse e distorce le frequenze (warping). Il modulo si conserva (oscillazioni, tolleranze $\delta_p,\delta_s$) ma la fase no: si perde la fase lineare. Per i filtri selettivi in frequenza la distorsione si compensa progettando il filtro analogico alle frequenze trasformate $\Omega_p=\tan\frac{\hat\omega_p}2$, $\Omega_s=\tan\frac{\hat\omega_s}2$ (prewarping).Trasformazione bilineare →) si ottiene, con zeri all'infinito che diventano uno zero di molteplicità in , dove è il guadagno scelto in modo che (infatti ). I poli giacciono su una circonferenza del piano che è l'immagine della circonferenza di raggio del piano , e sono dentro il cerchio unitario. Il modulo digitale si ricava sostituendo :
Il taglio digitale a dB è : per è e le curve per ogni passano tutte per in (verificato numericamente con scipy.signal.butter: la differenza con la formula è dell'ordine di ).
Grafico interattivo: Butterworth digitale con la bilineare e ω0 = π/2: |H(e^{jω})| = 1/√(1+tan(ω/2)^(2N)). Tutte le curve passano per 0,707 in ω = π/2 e valgono 0 in π
Esempio (, ). con (angoli , , , ). I poli digitali sono , tutti dentro ; lo zero di molteplicità sta in .
Grafico interattivo: Piano z, Butterworth digitale N = 4 con Ω0 = 1 (ω0 = π/2): i 4 poli (colore 3) sono dentro la circonferenza unitaria, lo zero di molteplicità 4 sta in z = -1
Scelta dell'ordine dalle specifiche
Dato un passa-basso digitale con , si trasformano le frequenze con , e si impongono le due condizioni sul modulo quadro con il segno di uguaglianza: equivalenti a e . Dividendo la seconda per la prima si elimina : , da cui
e si prende il più piccolo intero maggiore o uguale. L'ordine dipende da , da e dal rapporto (più la transizione è stretta, più alto è l'ordine). Poi si sceglie con una delle due condizioni: Poiché è stato arrotondato per eccesso, una delle due condizioni sarà soddisfatta con margine; ogni valore di fra i due soddisfa entrambe.
Esempio (specifiche delle dispense). kHz, kHz, kHz, dB, dB. , , , , , : , quindi . I due valori di sono e . Il progetto completo (poli e coefficienti) è in Esercizio - Progetto di un Butterworth con la bilineare.
Grafico interattivo: Esempio di progetto (Fs = 8 kHz, fp = 1 kHz, fs = 2 kHz, Rp = 0,1 dB, Rs = 40 dB): Butterworth N = 8 con Ω0 = 0,5623. La curva sta sopra -0,1 dB in banda passante e sotto -40 dB da ωs = π/2
Fase e ritardo
Come tutti i filtri IIR il Butterworth non ha fase lineare: il suo ritardo di gruppo cresce vicino al taglio (Filtri IIR - definizione e confronto con i FIRUn filtro IIR (infinite impulse response) è un sistema LTI descritto da $y[n]=\sum_{\ell=1}^{N}a_\ell y[n-\ell]+\sum_{k=0}^{M}b_kx[n-k]$: l'uscita usa anche le uscite passate (retroazione), per questo si chiama ricorsivo. Con le condizioni di riposo iniziale è LTI, $H(z)=\frac{\sum b_kz^{-k}}{1-\sum a_\ell z^{-\ell}}$ è un rapporto di polinomi, l'ordine è $N$ (numero di poli) e la risposta impulsiva ha durata infinita. Nel primo ordine $y[n]=a_1y[n-1]+b_0x[n]$ si ha $h[n]=b_0a_1^nu[n]$, ROC $|z|>|a_1|$, stabile se $|a_1|<1$; il gradino dà $b_0\frac{1-a_1^{n+1}}{1-a_1}\to\frac{b_0}{1-a_1}$. Si implementa iterando l'equazione alle differenze, non con la convoluzione. Rispetto ai FIR gli IIR rispettano le stesse specifiche di modulo con ordine molto più basso, ma possono essere instabili e non hanno fase lineare. Progetto: per tentativi (notch), con la trasformazione $s\to z$ dai filtri analogici, o con ottimizzazione numerica.Filtri IIR - definizione e confronto con i FIR →, 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 →). Se serve una transizione ripida con ordine basso si usano Chebyshev o ellittici, che ammettono ondulazioni (sono in tabella sopra) e a parità di specifiche hanno ordini molto più bassi: per le specifiche , , dB, dB si ottengono ordine (Butterworth), (Chebyshev 1), (ellittico).
Domande d'esame
- Ricava la funzione di trasferimento del filtro di Butterworth analogico di ordine e discuti la posizione dei poli. Traccia: modulo quadro pari, , massima piattezza , taglio a dB ; , poli su una circonferenza di raggio ; si tengono quelli con , .
- Come si determina l'ordine di un filtro di Butterworth digitale dalle specifiche? Traccia: prewarping , e da , formula di con arrotondamento per eccesso, scelta di e perché una delle due condizioni ha margine.
- Descrivi il progetto di un passa-basso digitale di Butterworth con la bilineare e le sue proprietà. Traccia: poli e zero in di molteplicità , ; ; monotono, dB in ; fase non lineare.
Versione ripasso
- Modulo quadro. : massimamente piatto in , monotono, in per ogni . Per tende al rettangolo ideale. Esempio con , : , circa dB.
- Vincoli di costruzione. Guadagno unitario ; massima piattezza ; taglio .
- Poli. , : poli su una circonferenza di raggio ; prende i nel semipiano sinistro. Forma: , con per avere .
- Esempi con . : . : .
- Digitale. , , per . Poli dentro il cerchio unitario, zero di molteplicità in .
- Modulo digitale. . Taglio a dB: , cioè per .
- Esempio digitale. , : poli a , e opposti.
- Ordine. Con e : , quindi , arrotondato per eccesso.
- Scelta di . . Una delle due condizioni è soddisfatta con uguaglianza.
- Esempio di progetto. kHz, kHz, kHz, dB, dB: , , , . , quindi ; fra e .
- Fase. Come ogni IIR, il Butterworth non ha fase lineare: il ritardo di gruppo cresce vicino al taglio.
- Confronto degli ordini. Specifiche , , dB, dB: Butterworth ordine , Chebyshev tipo 1 ordine , ellittico ordine .
- Specifiche analogiche. Passa-basso passivo con : e . In dB: , . Le condizioni sul modulo quadro sono e .
- Esempio di e . dB e dB danno e .
- Famiglie. Tutti-poli (, tutti gli zeri all'infinito): Butterworth e Chebyshev tipo 1. Con zeri finiti: Chebyshev tipo 2 ed ellittici. Butterworth: monotono in entrambe le bande. Chebyshev tipo 1: equiripple in passante. Chebyshev tipo 2: equiripple in oscura. Ellittico: equiripple in entrambe.
- Perché la massima piattezza. Per il termine domina su : annullare i coefficienti bassi di rende vicino a per il maggior tratto possibile.
- Attenuazione per ottava. A l'attenuazione è dB: dB per , dB per .
- Confronto grafico. con : tutte le curve passano per in ; più è grande, più la transizione è ripida.
- Poli digitali di . Angoli analogici , , , ; i poli digitali sono tutti dentro , lo zero di molteplicità sta in .
- Verifica. Con
scipy.signal.butterla differenza dalla formula è dell'ordine di . - Errore tipico. Dimenticare di arrotondare per eccesso al primo intero, o confondere con la frequenza digitale .