Teoria ed elaborazione dei segnali/Progetto di filtri FIR
![]() |
![]() | ![]() |
---|
Rotazione di fase lineare[modifica | modifica sorgente]
4 Un filtro FIR non causale può essere reso causale semplicemente ritardandone la risposta all'impulso <math>h \left( n \right)</math> (che è a supporto finito) in modo che tutti i campioni siano a destra dell'asse delle ordinate (<math>n > 0</math>). Il ritardo temporale di <math>k</math> campioni conduce ad una nuova sequenza <math>h \left( n - k \right)</math> che introduce in frequenza solo una rotazione di fase lineare:
- <math>\mathcal{F} \left\{ h \left( n - k \right) \right\} = H \left( e^{j \omega} \right) e^{-j \omega k}</math>
senza variare il modulo della risposta in frequenza, e di conseguenza senza variare la maschera del filtro <math>\left| H_a \left( j \Omega \right) \right|</math>.
3 La rotazione di fase lineare introdotta introduce un ritardo costante sulla sequenza <math>x \left( n \right)</math> di ingresso:
- <math>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)</math>
Nel caso la risposta all'impulso <math>h \left( n \right)</math> abbia simmetria pari o dispari rispetto all'asse delle ordinate, con conseguente simmetria pari della risposta in frequenza <math>H \left( e^{j \omega} \right)</math>, allora basta determinare il nuovo asse di simmetria della risposta all'impulso traslata <math>h \left( n - k \right)</math>.
Tecniche a finestra[modifica | modifica sorgente]
6 La risposta all'impulso <math>h \left( n \right)</math>, ottenuta mediante IDTFT della risposta in frequenza <math>H \left( e^{j 2 \pi f} \right)</math>, 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 | modifica sorgente]
8 Alla risposta in frequenza <math>H_{\text{id}} \left( e^{j 2 \pi f} \right)</math> del filtro passa-basso ideale (provvista di rotazione di fase lineare):
- <math>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}</math> 9 corrisponde una risposta all'impulso <math>h_{\text{id}}</math> a supporto infinito (traslata):
- <math>h_{\text{id}} = 2 f_c \text{sinc} \left[ 2 f_c \left( n - \frac{M-1}{2} \right) \right]</math>
10-12 La risposta all'impulso <math>h_{\text{id}}</math> viene troncata a un numero finito <math>M</math> di campioni con la moltiplicazione per la porta <math>p_M \left( n \right)</math> (finestra rettangolare):
- <math>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}</math>
Una troncatura così brutale però si manifesta in frequenza con la comparsa di oscillazioni (effetto di Gibbs):
- <math>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)</math>
dove:
- <math>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)}}</math>
- 15 Osservazioni
- L'ampiezza massima delle oscillazioni in banda attenuata coincide con l'ampiezza massima delle oscillazioni in banda passante.
- All'aumentare di <math>M</math> 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 | modifica sorgente]
18 La finestra di Bartlett riduce leggermente le oscillazioni:
- <math>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}</math>
Finestra di Hanning[modifica | modifica sorgente]
19 La finestra di Hanning è una funzione triangolo, e riduce ulteriormente le oscillazioni:
- <math>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}</math>
Finestra di Hamming[modifica | modifica sorgente]
20 La finestra di Hamming è una finestra di Hanning più attenuata verso gli estremi del supporto, e riduce ulteriormente le oscillazioni:
- <math>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}</math>
Finestra di Blackman[modifica | modifica sorgente]
21 La finestra di Blackman è una finestra di Hamming più attenuata verso gli estremi del supporto, e riduce ulteriormente le oscillazioni:
- <math>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}</math>
22 Un aumento della minima attenuazione in banda attenuata <math>A_s</math> si paga però con l'aumento della banda di transizione <math>B_T</math>:
Finestra | Banda di transizione <math>B_T</math> | Minima attenuazione in banda attenuata <math>A_s</math> |
---|---|---|
Rettangolare | <math>\frac{1,8 \pi}{M}</math> | <math>21 \; \text{dB}</math> |
Bartlett | <math>\frac{6,1 \pi}{M}</math> | <math>25 \; \text{dB}</math> |
Hanning | <math>\frac{6,2 \pi}{M}</math> | <math>44 \; \text{dB}</math> |
Hamming | <math>\frac{6,6 \pi}{M}</math> | <math>53 \; \text{dB}</math> |
Blackman | <math>\frac{11 \pi}{M}</math> | <math>74 \; \text{dB}</math> |
![]() |
![]() | ![]() |
---|