Elaborazione numerica dei segnali/Progetto di filtri FIR - Wikibooks, manuali e libri di testo liberi
1 Rotazione di fase lineare
2 Tecniche a finestra
2.2 Finestra di Bartlett
2.3 Finestra di Hanning
2.4 Finestra di Hamming
2.5 Finestra di Blackman
Rotazione di fase lineareModifica
Un filtro FIR non causale può essere reso causale semplicemente ritardandone la risposta all'impulso h ( n ) {\displaystyle h\left(n\right)}
(che è a supporto finito) in modo che tutti i campioni siano a destra dell'asse delle ordinate ( n > 0 {\displaystyle n>0}
). Il ritardo temporale di k {\displaystyle k}
campioni conduce ad una nuova sequenza h ( n − k ) {\displaystyle h\left(n-k\right)}
che introduce in frequenza solo una rotazione di fase lineare:
F { h ( n − k ) } = H ( e j ω ) e − j ω k {\displaystyle {\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 | H a ( j Ω ) | {\displaystyle \left|H_{a}\left(j\Omega \right)\right|}
La rotazione di fase lineare introdotta introduce un ritardo costante sulla sequenza x ( n ) {\displaystyle x\left(n\right)}
di ingresso:
y ( n ) = x ( n ) ∗ h ( n − k ) ⇒ Y ( e j ω ) = X ( e j ω ) ⋅ [ H ( e j ω ) e − j ω k ] = [ X ( e j ω ) e − j ω k ] ⋅ H ( e j ω ) ⇒ y ( n ) = x ( n − k ) ∗ h ( n ) {\displaystyle 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 ( n ) {\displaystyle h\left(n\right)}
abbia simmetria pari o dispari rispetto all'asse delle ordinate, con conseguente simmetria pari della risposta in frequenza H ( e j ω ) {\displaystyle H\left(e^{j\omega }\right)}
, allora basta determinare il nuovo asse di simmetria della risposta all'impulso traslata h ( n − k ) {\displaystyle h\left(n-k\right)}
Tecniche a finestraModifica
La risposta all'impulso h ( n ) {\displaystyle h\left(n\right)}
, ottenuta mediante IDTFT della risposta in frequenza H ( e j 2 π f ) {\displaystyle H\left(e^{j2\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 rettangolareModifica
Alla risposta in frequenza H id ( e j 2 π f ) {\displaystyle H_{\text{id}}\left(e^{j2\pi f}\right)}
del filtro passa-basso ideale (provvista di rotazione di fase lineare):
H id ( e j 2 π f ) = { e − j 2 π M − 1 2 f | f | ≤ f c 0 | f | > f c {\displaystyle H_{\text{id}}\left(e^{j2\pi f}\right)={\begin{cases}e^{-j2\pi {\frac {M-1}{2}}f}&\left|f\right|\leq f_{c}\\0&\left|f\right|>f_{c}\end{cases}}}
corrisponde una risposta all'impulso h id {\displaystyle h_{\text{id}}}
a supporto infinito (traslata):
h id = 2 f c sinc [ 2 f c ( n − M − 1 2 ) ] {\displaystyle h_{\text{id}}=2f_{c}{\text{sinc}}\left[2f_{c}\left(n-{\frac {M-1}{2}}\right)\right]}
La risposta all'impulso h id {\displaystyle h_{\text{id}}}
viene troncata a un numero finito M {\displaystyle M}
di campioni con la moltiplicazione per la porta p M ( n ) {\displaystyle p_{M}\left(n\right)}
(finestra rettangolare):
h ( n ) = h id ( n ) ⋅ p M ( n ) = { h id n = 0 , … , M − 1 0 altrimenti {\displaystyle 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}}}
Una troncatura così brutale però si manifesta in frequenza con la comparsa di oscillazioni (effetto di Gibbs):
H ( e j 2 π f ) = H id ( e j 2 π f ) ∗ P M ( e j 2 π f ) {\displaystyle H\left(e^{j2\pi f}\right)=H_{\text{id}}\left(e^{j2\pi f}\right)*P_{M}\left(e^{j2\pi f}\right)}
P M ( e j 2 π f ) = 1 − e − j 2 π f M 1 − e − j 2 π f = e − j 2 π f M − 1 2 sin ⁡ ( M π f ) sin ⁡ ( π f ) {\displaystyle P_{M}\left(e^{j2\pi f}\right)={\frac {1-e^{-j2\pi fM}}{1-e^{-j2\pi f}}}=e^{-j2\pi f{\frac {M-1}{2}}}{\frac {\sin {\left(M\pi f\right)}}{\sin {\left(\pi f\right)}}}}
L'ampiezza massima delle oscillazioni in banda attenuata coincide con l'ampiezza massima delle oscillazioni in banda passante.
All'aumentare di M {\displaystyle 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 BartlettModifica
La finestra di Bartlett riduce leggermente le oscillazioni:
p ( n ) = { 2 n M − 1 0 ≤ n ≤ M − 1 2 2 − 2 n M − 1 M − 1 2 ≤ n ≤ M − 1 0 altrimenti {\displaystyle 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 HanningModifica
La finestra di Hanning è una funzione triangolo, e riduce ulteriormente le oscillazioni:
p ( n ) = { 1 2 [ 1 − cos ⁡ ( 2 π n M − 1 ) ] 0 ≤ n ≤ M − 1 0 altrimenti {\displaystyle 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 HammingModifica
La finestra di Hamming è una finestra di Hanning più attenuata verso gli estremi del supporto, e riduce ulteriormente le oscillazioni:
p ( n ) = { 0 , 54 − 0 , 46 cos ⁡ ( 2 π n M − 1 ) 0 ≤ n ≤ M − 1 0 altrimenti {\displaystyle 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 BlackmanModifica
La finestra di Blackman è una finestra di Hamming più attenuata verso gli estremi del supporto, e riduce ulteriormente le oscillazioni:
p ( n ) = { 0 , 42 − 1 2 cos ⁡ ( 2 π n M − 1 ) + 0 , 08 cos ⁡ ( 4 π n M − 1 ) 0 ≤ n ≤ M − 1 0 altrimenti {\displaystyle 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}}}
Un aumento della minima attenuazione in banda attenuata A s {\displaystyle A_{s}}
si paga però con l'aumento della banda di transizione B T {\displaystyle B_{T}}
Banda di transizione B T {\displaystyle B_{T}}
Minima attenuazione in banda attenuata A s {\displaystyle A_{s}}
1 , 8 π M {\displaystyle {\frac {1,8\pi }{M}}}
21 dB {\displaystyle 21\;{\text{dB}}}
6 , 1 π M {\displaystyle {\frac {6,1\pi }{M}}}
25 dB {\displaystyle 25\;{\text{dB}}}
6 , 2 π M {\displaystyle {\frac {6,2\pi }{M}}}
44 dB {\displaystyle 44\;{\text{dB}}}
6 , 6 π M {\displaystyle {\frac {6,6\pi }{M}}}
53 dB {\displaystyle 53\;{\text{dB}}}
11 π M {\displaystyle {\frac {11\pi }{M}}}
74 dB {\displaystyle 74\;{\text{dB}}}
Estratto da "https://it.wikibooks.org/w/index.php?title=Elaborazione_numerica_dei_segnali/Progetto_di_filtri_FIR&oldid=360622"
Ultima modifica il 6 apr 2019 alle 14:09