Salta al contenuto
Note per Studenti Filtri di Butterworth

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 (max⁡∣Ha∣=1\max|H_a|=1) 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 Ωp<Ωs\Omega_p<\Omega_s ed errori δp,δs\delta_p,\delta_s. In ambito analogico si preferisce chiamare

  • 1A=δs\dfrac1A=\delta_s, con AA detta attenuazione in banda oscura;
  • 11+ε2=1−δp\dfrac1{\sqrt{1+\varepsilon^2}}=1-\delta_p, con ε\varepsilon legato all'ondulazione in banda passante.

Per i due valori in decibel valgono Rp=20log⁡1011−δp=10log⁡10(1+ε2),Rs=−20log⁡10δs=20log⁡10A,R_p=20\log_{10}\frac{1}{1-\delta_p}=10\log_{10}(1+\varepsilon^2),\qquad R_s=-20\log_{10}\delta_s=20\log_{10}A, cioè ε2=10Rp/10−1\varepsilon^2=10^{R_p/10}-1 e A=10Rs/20A=10^{R_s/20}. Le due condizioni sul modulo quadro sono ∣Ha(jΩp)∣2≥11+ε2|H_a(j\Omega_p)|^2\ge\frac1{1+\varepsilon^2} e ∣Ha(jΩs)∣2≤1A2|H_a(j\Omega_s)|^2\le\frac1{A^2}.

Esempio. Rp=0,1R_p=0{,}1 dB e Rs=40R_s=40 dB: ε2=100,01−1=0,02329\varepsilon^2=10^{0{,}01}-1=0{,}02329 (ε=0,1526\varepsilon=0{,}1526) e A=100A=100.

Famiglie di filtri analogici passa-basso:

  • tutti-poli: Ha(s)=1Da(s)H_a(s)=\frac1{D_a(s)}, con DaD_a polinomio; tutti gli zeri sono all'infinito, quindi Ha(jΩ)→0H_a(j\Omega)\to0 per Ω→∞\Omega\to\infty. Sono i filtri di Butterworth e di Chebyshev di tipo 1;
  • con zeri finiti: Ha(s)=Na(s)Da(s)H_a(s)=\frac{N_a(s)}{D_a(s)} con deg⁡Na<deg⁡Da\deg N_a<\deg D_a: 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 Ω=0\Omega=0. Si lavora sul modulo quadro, che per un filtro reale è una funzione pari di Ω\Omega: Ma(Ω)=∣Ha(jΩ)∣2=1PN(Ω2),PN(Ω2)=p0+p1Ω2+⋯+pNΩ2N.M_a(\Omega)=|H_a(j\Omega)|^2=\frac{1}{P_N(\Omega^2)},\qquad P_N(\Omega^2)=p_0+p_1\Omega^2+\dots+p_N\Omega^{2N}. Solo potenze pari: se HaH_a è reale, Ma=Ha(jΩ)Ha∗(jΩ)M_a=H_a(j\Omega)H_a^*(j\Omega) è pari. Tre vincoli, nell'ordine:

  1. Guadagno unitario in continua: Ma(0)=1M_a(0)=1, quindi PN(0)=p0=1P_N(0)=p_0=1.
  2. Massima piattezza in 00: MaM_a deve valere 11 il più a lungo possibile vicino all'origine, cioè PN(Ω2)−1P_N(\Omega^2)-1 deve essere un infinitesimo di ordine massimo in Ω=0\Omega=0. Per Ω≪1\Omega\ll1, 3Ω23\Omega^2 è molto più grande di 5Ω85\Omega^8: conviene quindi annullare tutti i coefficienti bassi, p1=⋯=pN−1=0p_1=\dots=p_{N-1}=0, e lasciare solo l'ultimo: PN(Ω2)=1+pNΩ2NP_N(\Omega^2)=1+p_N\Omega^{2N}.
  3. Vincolo sul taglio: ∣Ha(jΩ0)∣2=12|H_a(j\Omega_0)|^2=\frac12 (cioè −3-3 dB, modulo 12≃0,707\frac1{\sqrt2}\simeq0{,}707: il segnale esce al 70,7%70{,}7\% dell'ampiezza). Da 11+pNΩ02N=12\frac1{1+p_N\Omega_0^{2N}}=\frac12 segue pN=Ω0−2Np_N=\Omega_0^{-2N}.

Formula (Butterworth analogico). ∣Ha(jΩ)∣2=11+(ΩΩ0)2N|H_a(j\Omega)|^2=\frac{1}{1+\big(\frac{\Omega}{\Omega_0}\big)^{2N}} con NN ordine e Ω0\Omega_0 pulsazione di taglio a −3-3 dB. Vale 11 in 00, 12\frac12 in Ω0\Omega_0 per ogni NN, ed è monotona decrescente fino a 00 per Ω→∞\Omega\to\infty; per N→∞N\to\infty tende al rettangolo ideale.

Esempio. Con Ω0=1\Omega_0=1 e N=4N=4: ∣Ha(j0,5)∣2=11+0,58=0,9961|H_a(j0{,}5)|^2=\frac1{1+0{,}5^8}=0{,}9961, ∣Ha(j2)∣2=11+28=0,00389|H_a(j2)|^2=\frac1{1+2^8}=0{,}00389 (circa −24-24 dB). A Ω=2Ω0\Omega=2\Omega_0 (un'ottava sopra il taglio) l'attenuazione è 10log⁡10(1+22N)≃6N10\log_{10}(1+2^{2N})\simeq6N dB: 2424 dB per N=4N=4, 4848 dB per N=8N=8.

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 Ha(s)H_a(s) tale che Ha(jΩ)Ha(−jΩ)=Ma(Ω)H_a(j\Omega)H_a(-j\Omega)=M_a(\Omega) (per HaH_a reale Ha∗(jΩ)=Ha(−jΩ)H_a^*(j\Omega)=H_a(-j\Omega)). Estendendo a tutto il piano con jΩ=sj\Omega=s: Ma(s)=Ha(s) Ha(−s)=11+(sjΩ0)2N.M_a(s)=H_a(s)\,H_a(-s)=\frac{1}{1+\big(\frac{s}{j\Omega_0}\big)^{2N}} . I poli di Ma(s)M_a(s) sono le soluzioni di (sjΩ0)2N=−1=ej(π+2kπ)\big(\frac{s}{j\Omega_0}\big)^{2N}=-1=e^{j(\pi+2k\pi)}, cioè sjΩ0=ej(2k−1)π2N\frac{s}{j\Omega_0}=e^{j\frac{(2k-1)\pi}{2N}} e sk=jΩ0 ej(2k−1)π2N=Ω0 ejπ(12+2k−12N),k=1,…,2N.s_k=j\Omega_0\,e^{j\frac{(2k-1)\pi}{2N}}=\Omega_0\,e^{j\pi\left(\frac12+\frac{2k-1}{2N}\right)},\qquad k=1,\dots,2N. Sono 2N2N poli sulla circonferenza di raggio Ω0\Omega_0, simmetrici rispetto agli assi reale e immaginario (se sks_k è un polo, lo sono anche −sk-s_k e sk∗s_k^*): 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à →) Ha(s)H_a(s) prende i NN poli con Re⁡sk<0\operatorname{Re}s_k<0 (gli altri appartengono a Ha(−s)H_a(-s)). Con la formula cos⁡(π2+x)=−sin⁡x\cos(\frac\pi2+x)=-\sin x e sin⁡(π2+x)=cos⁡x\sin(\frac\pi2+x)=\cos x si scrivono

sk=Ω0[−sin⁡(2k−1)π2N+jcos⁡(2k−1)π2N],k=1,…,N,Ha(s)=K∏k=1N(s−sk).s_k=\Omega_0\Big[-\sin\frac{(2k-1)\pi}{2N}+j\cos\frac{(2k-1)\pi}{2N}\Big],\quad k=1,\dots,N,\qquad H_a(s)=\frac{K}{\prod_{k=1}^{N}(s-s_k)} .

La costante KK si fissa con Ha(0)=1H_a(0)=1: K=∏k(−sk)=Ω0NK=\prod_k(-s_k)=\Omega_0^N (i poli hanno tutti modulo Ω0\Omega_0 e vengono in coppie coniugate, quindi il prodotto è reale e positivo). Dunque Ha(s)=Ω0N∏k=1N(s−sk)H_a(s)=\dfrac{\Omega_0^N}{\prod_{k=1}^N(s-s_k)}.

Esempio (Ω0=1\Omega_0=1). N=2N=2: s1,2=−1±j2s_{1,2}=\frac{-1\pm j}{\sqrt2}, Ha(s)=1s2+2 s+1H_a(s)=\frac1{s^2+\sqrt2\,s+1}. N=3N=3: s=−1s=-1 e −12±j32-\frac12\pm j\frac{\sqrt3}2, Ha(s)=1(s+1)(s2+s+1)=1s3+2s2+2s+1H_a(s)=\frac1{(s+1)(s^2+s+1)}=\frac1{s^3+2s^2+2s+1}. N=4N=4: gli otto poli sono ai 22,5∘+k⋅45∘22{,}5^\circ+k\cdot45^\circ e HaH_a 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: NN e Ω0\Omega_0.

Il filtro digitale

Con la bilineare s=z−1z+1s=\frac{z-1}{z+1} (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 NN zeri all'infinito che diventano uno zero di molteplicità NN in z=−1z=-1, H(z)=A (1+z−1)N∏k=1N(1−pkz−1),pk=1+sk1−sk,A=∏k(1−pk)2N,H(z)=A\,\frac{(1+z^{-1})^N}{\prod_{k=1}^{N}(1-p_kz^{-1})},\qquad p_k=\frac{1+s_k}{1-s_k},\quad A=\frac{\prod_k(1-p_k)}{2^N}, dove AA è il guadagno scelto in modo che H(1)=H(ej0)=1H(1)=H(e^{j0})=1 (infatti H(1)=A 2N/∏(1−pk)H(1)=A\,2^N/\prod(1-p_k)). I poli pkp_k giacciono su una circonferenza del piano zz che è l'immagine della circonferenza di raggio Ω0\Omega_0 del piano ss, e sono dentro il cerchio unitario. Il modulo digitale si ricava sostituendo Ω=tan⁡ω^2\Omega=\tan\frac{\hat\omega}2:

∣H(ejω^)∣2=11+(tan⁡(ω^/2)Ω0)2N.|H(e^{j\hat\omega})|^2=\frac1{1+\Big(\dfrac{\tan(\hat\omega/2)}{\Omega_0}\Big)^{2N}} .

Il taglio digitale a −3-3 dB è ω^0=2arctan⁡Ω0\hat\omega_0=2\arctan\Omega_0: per Ω0=1\Omega_0=1 è ω^0=π/2\hat\omega_0=\pi/2 e le curve per ogni NN passano tutte per 0,7070{,}707 in π/2\pi/2 (verificato numericamente con scipy.signal.butter: la differenza con la formula è dell'ordine di 10−1510^{-15}).

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 (Ω0=1\Omega_0=1, N=4N=4). sk=ejπ(12+2k−18)s_k=e^{j\pi(\frac12+\frac{2k-1}8)} con k=1,2,3,4k=1,2,3,4 (angoli 112,5∘112{,}5^\circ, 157,5∘157{,}5^\circ, 202,5∘202{,}5^\circ, 247,5∘247{,}5^\circ). I poli digitali sono pk=1+sk1−skp_k=\frac{1+s_k}{1-s_k}, tutti dentro ∣z∣<1|z|<1; lo zero di molteplicità 44 sta in z=−1z=-1.

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 ω^p,ω^s,Rp,Rs\hat\omega_p,\hat\omega_s,R_p,R_s, si trasformano le frequenze con Ωp=tan⁡ω^p2\Omega_p=\tan\frac{\hat\omega_p}2, Ωs=tan⁡ω^s2\Omega_s=\tan\frac{\hat\omega_s}2 e si impongono le due condizioni sul modulo quadro con il segno di uguaglianza: 11+(ΩpΩ0)2N=11+ε2,11+(ΩsΩ0)2N=1A2,\frac1{1+\big(\frac{\Omega_p}{\Omega_0}\big)^{2N}}=\frac1{1+\varepsilon^2},\qquad\frac1{1+\big(\frac{\Omega_s}{\Omega_0}\big)^{2N}}=\frac1{A^2}, equivalenti a (ΩpΩ0)2N=ε2\big(\frac{\Omega_p}{\Omega_0}\big)^{2N}=\varepsilon^2 e (ΩsΩ0)2N=A2−1\big(\frac{\Omega_s}{\Omega_0}\big)^{2N}=A^2-1. Dividendo la seconda per la prima si elimina Ω0\Omega_0: (ΩsΩp)2N=A2−1ε2\big(\frac{\Omega_s}{\Omega_p}\big)^{2N}=\frac{A^2-1}{\varepsilon^2}, da cui

N ≥ log⁡10A2−1ε22log⁡10ΩsΩp\boxed{N\ \ge\ \frac{\log_{10}\dfrac{A^2-1}{\varepsilon^2}}{2\log_{10}\dfrac{\Omega_s}{\Omega_p}}}

e si prende il più piccolo intero maggiore o uguale. L'ordine dipende da ε\varepsilon, da AA e dal rapporto Ωs/Ωp\Omega_s/\Omega_p (più la transizione è stretta, più alto è l'ordine). Poi Ω0\Omega_0 si sceglie con una delle due condizioni: Ω0=Ωs (A2−1)−12N(banda oscura soddisfatta con uguaglianza),Ω0=Ωp ε−1N(banda passante con uguaglianza).\Omega_0=\Omega_s\,(A^2-1)^{-\frac1{2N}}\quad\text{(banda oscura soddisfatta con uguaglianza)},\qquad\Omega_0=\Omega_p\,\varepsilon^{-\frac1N}\quad\text{(banda passante con uguaglianza)} . Poiché NN è stato arrotondato per eccesso, una delle due condizioni sarà soddisfatta con margine; ogni valore di Ω0\Omega_0 fra i due soddisfa entrambe.

Esempio (specifiche delle dispense). Fs=8F_s=8 kHz, fp=1f_p=1 kHz, fs=2f_s=2 kHz, Rp=0,1R_p=0{,}1 dB, Rs=40R_s=40 dB. ω^p=π4\hat\omega_p=\frac\pi4, ω^s=π2\hat\omega_s=\frac\pi2, Ωp=tan⁡π8=0,4142\Omega_p=\tan\frac\pi8=0{,}4142, Ωs=tan⁡π4=1\Omega_s=\tan\frac\pi4=1, ε=0,1526\varepsilon=0{,}1526, A=100A=100: N≥log⁡10(9999/0,02329)2log⁡10(1/0,4142)=5,63270,7656=7,358N\ge\frac{\log_{10}(9999/0{,}02329)}{2\log_{10}(1/0{,}4142)}=\frac{5{,}6327}{0{,}7656}=7{,}358, quindi N=8N=8. I due valori di Ω0\Omega_0 sono 0,56230{,}5623 e 0,52390{,}5239. 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 ω^p=0,25π\hat\omega_p=0{,}25\pi, ω^s=0,375π\hat\omega_s=0{,}375\pi, Rp=0,055R_p=0{,}055 dB, As=50A_s=50 dB si ottengono ordine 1717 (Butterworth), 99 (Chebyshev 1), 66 (ellittico).

Domande d'esame

  1. Ricava la funzione di trasferimento del filtro di Butterworth analogico di ordine NN e discuti la posizione dei poli. Traccia: modulo quadro 1PN(Ω2)\frac1{P_N(\Omega^2)} pari, PN(0)=1P_N(0)=1, massima piattezza ⇒PN=1+pNΩ2N\Rightarrow P_N=1+p_N\Omega^{2N}, taglio a −3-3 dB ⇒pN=Ω0−2N\Rightarrow p_N=\Omega_0^{-2N}; Ma(s)=Ha(s)Ha(−s)M_a(s)=H_a(s)H_a(-s), poli sk=Ω0ejπ(1/2+(2k−1)/(2N))s_k=\Omega_0e^{j\pi(1/2+(2k-1)/(2N))} su una circonferenza di raggio Ω0\Omega_0; si tengono quelli con Re⁡s<0\operatorname{Re}s<0, K=Ω0NK=\Omega_0^N.
  2. Come si determina l'ordine di un filtro di Butterworth digitale dalle specifiche? Traccia: prewarping Ω=tan⁡ω^2\Omega=\tan\frac{\hat\omega}2, ε\varepsilon e AA da Rp,RsR_p,R_s, formula di NN con arrotondamento per eccesso, scelta di Ω0\Omega_0 e perché una delle due condizioni ha margine.
  3. Descrivi il progetto di un passa-basso digitale di Butterworth con la bilineare e le sue proprietà. Traccia: poli e zero in −1-1 di molteplicità NN, H(1)=1H(1)=1; ∣H∣2=11+(tan⁡(ω^/2)/Ω0)2N|H|^2=\frac1{1+(\tan(\hat\omega/2)/\Omega_0)^{2N}}; monotono, −3-3 dB in 2arctan⁡Ω02\arctan\Omega_0; fase non lineare.

Versione ripasso

  • Modulo quadro. ∣Ha(jΩ)∣2=11+(Ω/Ω0)2N\lvert H_a(j\Omega)\rvert^2=\dfrac1{1+(\Omega/\Omega_0)^{2N}}: massimamente piatto in 00, monotono, 12\frac1{\sqrt2} in Ω0\Omega_0 per ogni NN. Per N→∞N\to\infty tende al rettangolo ideale. Esempio con Ω0=1\Omega_0=1, N=4N=4: ∣Ha(j2)∣2=0,00389\lvert H_a(j2)\rvert^2=0{,}00389, circa −24-24 dB.
  • Vincoli di costruzione. Guadagno unitario PN(0)=1P_N(0)=1; massima piattezza ⇒PN=1+pNΩ2N\Rightarrow P_N=1+p_N\Omega^{2N}; taglio ⇒pN=Ω0−2N\Rightarrow p_N=\Omega_0^{-2N}.
  • Poli. sk=Ω0ejπ(12+2k−12N)s_k=\Omega_0e^{j\pi(\frac12+\frac{2k-1}{2N})}, k=1,…,2Nk=1,\dots,2N: 2N2N poli su una circonferenza di raggio Ω0\Omega_0; HaH_a prende i NN nel semipiano sinistro. Forma: Ha(s)=Ω0N∏k=1N(s−sk)H_a(s)=\dfrac{\Omega_0^N}{\prod_{k=1}^N(s-s_k)}, con K=Ω0NK=\Omega_0^N per avere Ha(0)=1H_a(0)=1.
  • Esempi con Ω0=1\Omega_0=1. N=2N=2: Ha=1s2+2s+1H_a=\frac1{s^2+\sqrt2s+1}. N=3N=3: Ha=1s3+2s2+2s+1H_a=\frac1{s^3+2s^2+2s+1}.
  • Digitale. H(z)=A(1+z−1)N∏(1−pkz−1)H(z)=A\dfrac{(1+z^{-1})^N}{\prod(1-p_kz^{-1})}, pk=1+sk1−skp_k=\frac{1+s_k}{1-s_k}, A=∏(1−pk)2NA=\frac{\prod(1-p_k)}{2^N} per H(1)=1H(1)=1. Poli dentro il cerchio unitario, zero di molteplicità NN in z=−1z=-1.
  • Modulo digitale. ∣H(ejω^)∣2=11+(tan⁡(ω^/2)/Ω0)2N\lvert H(e^{j\hat\omega})\rvert^2=\dfrac1{1+(\tan(\hat\omega/2)/\Omega_0)^{2N}}. Taglio a −3-3 dB: ω^0=2arctan⁡Ω0\hat\omega_0=2\arctan\Omega_0, cioè π/2\pi/2 per Ω0=1\Omega_0=1.
  • Esempio digitale. Ω0=1\Omega_0=1, N=4N=4: poli pkp_k a 0,6682 j0{,}6682\,j, 0,1989 j0{,}1989\,j e opposti.
  • Ordine. Con ε2=10Rp/10−1\varepsilon^2=10^{R_p/10}-1 e A=10Rs/20A=10^{R_s/20}: (ΩsΩp)2N=A2−1ε2\Big(\frac{\Omega_s}{\Omega_p}\Big)^{2N}=\frac{A^2-1}{\varepsilon^2}, quindi N≥log⁡10A2−1ε22log⁡10ΩsΩpN\ge\dfrac{\log_{10}\frac{A^2-1}{\varepsilon^2}}{2\log_{10}\frac{\Omega_s}{\Omega_p}}, arrotondato per eccesso.
  • Scelta di Ω0\Omega_0. Ω0∈[Ωpε−1/N, Ωs(A2−1)−1/2N]\Omega_0\in[\Omega_p\varepsilon^{-1/N},\ \Omega_s(A^2-1)^{-1/2N}]. Una delle due condizioni è soddisfatta con uguaglianza.
  • Esempio di progetto. Fs=8F_s=8 kHz, fp=1f_p=1 kHz, fs=2f_s=2 kHz, Rp=0,1R_p=0{,}1 dB, Rs=40R_s=40 dB: Ωp=0,4142\Omega_p=0{,}4142, Ωs=1\Omega_s=1, ε=0,1526\varepsilon=0{,}1526, A=100A=100. N≥7,358N\ge7{,}358, quindi N=8N=8; Ω0\Omega_0 fra 0,52390{,}5239 e 0,56230{,}5623.
  • Fase. Come ogni IIR, il Butterworth non ha fase lineare: il ritardo di gruppo cresce vicino al taglio.
  • Confronto degli ordini. Specifiche ω^p=0,25π\hat\omega_p=0{,}25\pi, ω^s=0,375π\hat\omega_s=0{,}375\pi, Rp=0,055R_p=0{,}055 dB, As=50A_s=50 dB: Butterworth ordine 1717, Chebyshev tipo 1 ordine 99, ellittico ordine 66.
  • Specifiche analogiche. Passa-basso passivo con max⁡∣Ha∣=1\max\lvert H_a\rvert=1: 1A=δs\frac1A=\delta_s e 11+ε2=1−δp\frac1{\sqrt{1+\varepsilon^2}}=1-\delta_p. In dB: Rp=10log⁡10(1+ε2)R_p=10\log_{10}(1+\varepsilon^2), Rs=20log⁡10AR_s=20\log_{10}A. Le condizioni sul modulo quadro sono ∣Ha(jΩp)∣2≥11+ε2\lvert H_a(j\Omega_p)\rvert^2\ge\frac1{1+\varepsilon^2} e ∣Ha(jΩs)∣2≤1A2\lvert H_a(j\Omega_s)\rvert^2\le\frac1{A^2}.
  • Esempio di ε\varepsilon e AA. Rp=0,1R_p=0{,}1 dB e Rs=40R_s=40 dB danno ε2=0,02329\varepsilon^2=0{,}02329 e A=100A=100.
  • Famiglie. Tutti-poli (Ha=1/DaH_a=1/D_a, 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 Ω≪1\Omega\ll1 il termine 3Ω23\Omega^2 domina su 5Ω85\Omega^8: annullare i coefficienti bassi di PNP_N rende MaM_a vicino a 11 per il maggior tratto possibile.
  • Attenuazione per ottava. A Ω=2Ω0\Omega=2\Omega_0 l'attenuazione è 10log⁡10(1+22N)≈6N10\log_{10}(1+2^{2N})\approx6N dB: 2424 dB per N=4N=4, 4848 dB per N=8N=8.
  • Confronto grafico. ∣Ha∣=1/1+x2N\lvert H_a\rvert=1/\sqrt{1+x^{2N}} con Ω0=1\Omega_0=1: tutte le curve passano per 0,7070{,}707 in Ω0\Omega_0; più NN è grande, più la transizione è ripida.
  • Poli digitali di N=4N=4. Angoli analogici 112,5∘112{,}5^\circ, 157,5∘157{,}5^\circ, 202,5∘202{,}5^\circ, 247,5∘247{,}5^\circ; i poli digitali sono tutti dentro ∣z∣<1\lvert z\rvert<1, lo zero di molteplicità 44 sta in z=−1z=-1.
  • Verifica. Con scipy.signal.butter la differenza dalla formula è dell'ordine di 10−1510^{-15}.
  • Errore tipico. Dimenticare di arrotondare NN per eccesso al primo intero, o confondere Ω0\Omega_0 con la frequenza digitale ω^0\hat\omega_0.

Esercizi su questo argomento

Teoria collegata