Teoria ed elaborazione dei segnali/Progetto di filtri FIR

Da WikiAppunti.
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è B10. Progetto di filtri FIR.
Gtk-go-back-ltr.svg  B9. Progetto di filtri IIR Gtk-home.svg  Teoria ed elaborazione dei segnali (Elaborazione numerica dei segnali)

Rotazione di fase lineare[modifica]

4 Un filtro FIR non causale può essere reso causale semplicemente ritardandone la risposta all'impulso h \left( n \right) (che è a supporto finito) in modo che tutti i campioni siano a destra dell'asse delle ordinate (n > 0). Il ritardo temporale di k campioni conduce ad una nuova sequenza h \left( n - k \right) che introduce in frequenza solo una rotazione di fase lineare:

\mathcal{F} \left\{ h \left( n - k \right) \right\} = H \left( e^{j \omega} \right) e^{-j \omega k}

senza variare il modulo della risposta in frequenza, e di conseguenza senza variare la maschera del filtro \left| H_a \left( j \Omega \right) \right|.

3 La rotazione di fase lineare introdotta introduce un ritardo costante sulla sequenza x \left( n \right) di ingresso:

y \left( n \right) = x \left( n \right) * h \left( n - k \right) \Rightarrow Y \left( e^{j \omega} \right) =  X \left( e^{j \omega} \right) \cdot \left[ H \left( e^{j \omega} \right) e^{-j \omega k} \right] = \left[ X \left( e^{j \omega} \right) e^{-j \omega k} \right] \cdot H \left( e^{j \omega} \right) \Rightarrow y \left( n \right) = x \left( n-k \right) * h \left( n \right)

Nel caso la risposta all'impulso h \left( n \right) abbia simmetria pari o dispari rispetto all'asse delle ordinate, con conseguente simmetria pari della risposta in frequenza H \left( e^{j \omega} \right), allora basta determinare il nuovo asse di simmetria della risposta all'impulso traslata h \left( n - k \right).

Tecniche a finestra[modifica]

6 La risposta all'impulso h \left( n \right), ottenuta mediante IDTFT della risposta in frequenza H \left( e^{j 2 \pi f} \right), oltre a non essere causale è solitamente di durata infinita → affinché il filtro sia fisicamente realizzabile, la risposta all'impulso deve essere troncata tramite una finestra.

Finestra rettangolare[modifica]

8 Alla risposta in frequenza H_{\text{id}} \left( e^{j 2 \pi f} \right) del filtro passa-basso ideale (provvista di rotazione di fase lineare):

H_{\text{id}} \left( e^{j 2 \pi f} \right) = \begin{cases} e^{-j 2 \pi \frac{M-1}{2} f} & \left| f \right| \leq f_c \\
0 & \left| f \right| > f_c \end{cases}

9 corrisponde una risposta all'impulso h_{\text{id}} a supporto infinito (traslata):

h_{\text{id}} = 2 f_c \text{sinc} \left[ 2 f_c \left( n - \frac{M-1}{2} \right) \right]
Window function – Rectangular.svg

10-12 La risposta all'impulso h_{\text{id}} viene troncata a un numero finito M di campioni con la moltiplicazione per la porta p_M \left( n \right) (finestra rettangolare):

h \left( n \right) = h_{\text{id}} \left( n \right) \cdot p_M \left( n \right) = \begin{cases} h_{\text{id}} & n = 0 , \ldots , M-1 \\
0 & \text{altrimenti} \end{cases}
14
17

Una troncatura così brutale però si manifesta in frequenza con la comparsa di oscillazioni (effetto di Gibbs):

H \left( e^{j2 \pi f} \right) = H_{\text{id}} \left( e^{j 2 \pi f} \right) * P_M \left( e^{j2 \pi f} \right)

dove:

P_M \left( e^{j2 \pi f} \right) = \frac{1- e^{-j2 \pi f M}}{1- e^{-j2 \pi f}} = e^{-j 2 \pi f \frac{M-1}{2}} \frac{\sin{\left( M \pi f \right)}}{\sin{\left( \pi f \right)}}
15 Osservazioni
  • L'ampiezza massima delle oscillazioni in banda attenuata coincide con l'ampiezza massima delle oscillazioni in banda passante.
  • All'aumentare di M aumenta la frequenza di ripetizione delle oscillazioni, non la loro ampiezza massima → la riduzione dell'oscillazione massima nella risposta in frequenza può essere ottenuta solamente cambiando il tipo di finestra di troncamento, non la sua lunghezza.

Finestra di Bartlett[modifica]

Window function and frequency response - Triangular.svg

18 La finestra di Bartlett riduce leggermente le oscillazioni:

p \left( n \right) = \begin{cases} \frac{2n}{M-1} & 0 \leq n \leq \frac{M-1}{2} \\
2 - \frac{2n}{M-1} & \frac{M-1}{2} \leq n \leq M-1 \\
0 & \text{altrimenti} \end{cases}

Finestra di Hanning[modifica]

Window function and frequency response - Hann.svg

19 La finestra di Hanning è una funzione triangolo, e riduce ulteriormente le oscillazioni:

p \left( n \right) = \begin{cases} \frac{1}{2} \left[ 1 - \cos{\left( \frac{2 \pi n}{M-1} \right)} \right] & 0 \leq n \leq M-1 \\
0 & \text{altrimenti} \end{cases}

Finestra di Hamming[modifica]

Window function and frequency response - Hamming (alpha = 0.53836).svg

20 La finestra di Hamming è una finestra di Hanning più attenuata verso gli estremi del supporto, e riduce ulteriormente le oscillazioni:

p \left( n \right) = \begin{cases} 0,54 - 0,46 \cos{\left( \frac{2 \pi n}{M-1} \right)} & 0 \leq n \leq M-1 \\
0 & \text{altrimenti} \end{cases}

Finestra di Blackman[modifica]

Window function and frequency response - Blackman.svg

21 La finestra di Blackman è una finestra di Hamming più attenuata verso gli estremi del supporto, e riduce ulteriormente le oscillazioni:

p \left( n \right) = \begin{cases} 0,42 - \frac{1}{2} \cos{\left( \frac{2 \pi n}{M-1} \right)} + 0,08 \cos{\left( \frac{4 \pi n}{M-1} \right)} & 0 \leq n \leq M-1 \\
0 & \text{altrimenti} \end{cases}

22 Un aumento della minima attenuazione in banda attenuata A_s si paga però con l'aumento della banda di transizione B_T:

Finestra Banda di transizione B_T Minima attenuazione in banda attenuata A_s
Rettangolare \frac{1,8 \pi}{M} 21 \; \text{dB}
Bartlett \frac{6,1 \pi}{M} 25 \; \text{dB}
Hanning \frac{6,2 \pi}{M} 44 \; \text{dB}
Hamming \frac{6,6 \pi}{M} 53 \; \text{dB}
Blackman \frac{11 \pi}{M} 74 \; \text{dB}
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è B10. Progetto di filtri FIR.
Gtk-go-back-ltr.svg  B9. Progetto di filtri IIR Gtk-home.svg  Teoria ed elaborazione dei segnali (Elaborazione numerica dei segnali)