Vai al contenuto
Elaborazione Numerica dei Segnali

Filtri FIR ottimi: equiripple, Parks-McClellan e tipi di fase lineare

Maschera di tolleranza, criterio minimax e teorema dell'alternanza, algoritmo di Parks-McClellan, stima dell'ordine, i quattro tipi di FIR a fase lineare con dimostrazione, zeri a quaterne, fase minima.

Il metodo delle finestre è semplice ma spreca coefficienti: l’errore è concentrato vicino alla transizione e altrove il filtro fa molto meglio del necessario. I filtri ottimi distribuiscono l’errore in modo uniforme e raggiungono le stesse specifiche con meno coefficienti. In questa lezione vediamo come si scrivono le specifiche, il criterio minimax e il teorema dell’alternanza, la stima dell’ordine, i quattro tipi di FIR a fase lineare con la dimostrazione dei loro vincoli, e la struttura degli zeri.

Le specifiche

Un filtro reale si specifica con una maschera di tolleranza: in banda passante (0 \le \omega \le \omega_p) il guadagno deve stare tra 1 - \delta_p e 1 + \delta_p; in banda attenuata (\omega_s \le \omega \le \pi) deve stare sotto \delta_s; nella banda di transizione tra le due non si chiede nulla. In decibel, l’oscillazione in banda passante è 20\log_{10}((1+\delta_p)/(1-\delta_p)) e l’attenuazione -20\log_{10}\delta_s.

Maschera di tolleranza di un passa-basso e una risposta che la rispetta
Le due fasce verdi sono le zone in cui deve stare il guadagno: attorno a 1 in banda passante, fino a omega p, e sotto delta s in banda attenuata, da omega s. Tra omega p e omega s, la banda di transizione, non ci sono vincoli.

Il criterio minimax

Per un FIR simmetrico la risposta è e^{-j\omega M}A(\omega), con A(\omega) una somma di coseni, cioè un polinomio trigonometrico nei coefficienti (lezione sulle finestre). Il progetto ottimo cerca i coefficienti che minimizzano il massimo dell’errore pesato

    \[ E(\omega) = W(\omega)\,\big(A(\omega) - D(\omega)\big) \]

sulle bande specificate, dove D è la risposta desiderata (1 o 0) e il peso W vale 1 in banda passante e \delta_p/\delta_s in banda attenuata, così che entrambe le tolleranze vengano rispettate insieme.

Il risultato chiave è il teorema dell’alternanza (Chebyshev): se A(\omega) è combinazione di L + 1 coseni, la soluzione minimax è unica, ed è caratterizzata dal fatto che l’errore raggiunge il suo valore massimo, con segni alterni, in almeno L + 2 frequenze. L’errore ottimo è quindi a oscillazione costante (equiripple): tutte le creste hanno la stessa altezza. L’algoritmo di Parks-McClellan, basato sullo scambio di Remez, cerca proprio queste frequenze di alternanza in modo iterativo, e converge in poche iterazioni. È la funzione standard dei programmi di progetto dei filtri.

La stima dell’ordine

Per un passa-basso equiripple una buona stima empirica della lunghezza è

    \[ N \approx \frac{-20\log_{10}\sqrt{\delta_p\delta_s} - 13}{14{,}6\,\Delta f} + 1,\qquad \Delta f = \frac{\omega_s - \omega_p}{2\pi} \]

Esempio. Con le specifiche della lezione precedente (transizione da 0{,}3\pi a 0{,}42\pi, quindi \Delta f = 0{,}06), \delta_s = 0{,}003 (50 dB) e \delta_p = 0{,}01: -20\log_{10}\sqrt{3\cdot 10^{-5}} \approx 45{,}2, e N \approx 32{,}2/0{,}876 + 1 \approx 38 coefficienti, contro i 50 della finestra di Kaiser. Il guadagno è tanto maggiore quanto più le tolleranze delle due bande sono diverse, perché la finestra le tratta come uguali.

La lunghezza cresce come 1/\Delta f: dimezzare la banda di transizione raddoppia i coefficienti, cioè le moltiplicazioni per campione. È il prezzo principale dei FIR.

I quattro tipi di FIR a fase lineare

I coefficienti possono essere simmetrici o antisimmetrici (h[n] = -h[N-1-n]), e la lunghezza pari o dispari. Ne nascono quattro tipi, con vincoli diversi.

Teorema. Un FIR simmetrico di lunghezza pari (tipo II) ha sempre H(e^{j\pi}) = 0; un FIR antisimmetrico (tipi III e IV) ha sempre H(e^{j0}) = 0, e se ha lunghezza dispari (tipo III) anche H(e^{j\pi}) = 0.

Dimostrazione. *Tipo II.* Dalla lezione sulle finestre A(\omega) = \sum 2h[n]\cos(\omega(n - M)) con M = (N-1)/2. Se N è pari, M è un mezzo intero e n - M è sempre un mezzo intero dispari: in \omega = \pi ogni coseno vale \cos(\pi(k + \frac{1}{2})) = 0. *Antisimmetrici.* In \omega = 0, H(e^{j0}) = \sum h[n], e i termini n e N - 1 - n si cancellano a coppie (quello centrale, se c’è, è nullo perché uguale al proprio opposto). *Tipo III.* Con N dispari, M è intero, la somma diventa \sum 2h[n]\sin(\omega(n - M)) a meno di un fattore j, e in \omega = \pi ogni seno è \sin(k\pi) = 0. ∎

Le conseguenze pratiche: un passa-alto non si può fare con il tipo II, che è obbligato ad annullarsi a \pi; i tipi III e IV, che si annullano in continua, sono adatti ai derivatori e ai trasformatori di Hilbert, che sfasano tutte le frequenze di 90°.

Gli zeri di un FIR a fase lineare

La simmetria dei coefficienti si legge anche nel piano z: H(z) = \pm z^{-(N-1)}H(1/z). Quindi se z_0 è uno zero, lo è anche 1/z_0; e, essendo i coefficienti reali, anche i coniugati. Gli zeri vengono a quaterne z_0, 1/z_0, z_0^*, 1/z_0^*, oppure a coppie se stanno sul cerchio unitario o sull’asse reale. Gli zeri sul cerchio unitario sono quelli che creano le valli della banda attenuata.

Oltre la fase lineare

Se la fase lineare non serve, si può ottenere un FIR a fase minima con tutti gli zeri dentro il cerchio unitario, riflettendo quelli esterni: ha lo stesso modulo e un ritardo molto minore, utile nei sistemi in tempo reale e nel controllo. Esistono anche il metodo del campionamento in frequenza, che fissa i valori della risposta su una griglia di frequenze, e i metodi ai minimi quadrati, che minimizzano l’energia dell’errore invece del suo massimo: le oscillazioni non sono uniformi ma l’errore medio è più piccolo.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x