Elaborazione numerica dei segnali/Progetto di filtri FIR

Da testwiki.
Versione del 6 apr 2019 alle 13:09 di imported>Luca Ghio (Rimuovo artefatti da importazione)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

Template:Elaborazione numerica dei segnali

Rotazione di fase lineare

Un filtro FIR non causale può essere reso causale semplicemente ritardandone la risposta all'impulso h(n) (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(nk) che introduce in frequenza solo una rotazione di fase lineare:

{h(nk)}=H(ejω)ejωk

senza variare il modulo della risposta in frequenza, e di conseguenza senza variare la maschera del filtro |Ha(jΩ)|.

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

y(n)=x(n)*h(nk)Y(ejω)=X(ejω)[H(ejω)ejωk]=[X(ejω)ejωk]H(ejω)y(n)=x(nk)*h(n)

Nel caso la risposta all'impulso h(n) abbia simmetria pari o dispari rispetto all'asse delle ordinate, con conseguente simmetria pari della risposta in frequenza H(ejω), allora basta determinare il nuovo asse di simmetria della risposta all'impulso traslata h(nk).

Tecniche a finestra

La risposta all'impulso h(n), ottenuta mediante IDTFT della risposta in frequenza H(ej2πf), 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

Alla risposta in frequenza Hid(ej2πf) del filtro passa-basso ideale (provvista di rotazione di fase lineare):

Hid(ej2πf)={ej2πM12f|f|fc0|f|>fc

corrisponde una risposta all'impulso hid a supporto infinito (traslata):

hid=2fcsinc[2fc(nM12)]

La risposta all'impulso hid viene troncata a un numero finito M di campioni con la moltiplicazione per la porta pM(n) (finestra rettangolare):

h(n)=hid(n)pM(n)={hidn=0,,M10altrimenti

Template:Clear

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

H(ej2πf)=Hid(ej2πf)*PM(ej2πf)

dove:

PM(ej2πf)=1ej2πfM1ej2πf=ej2πfM12sin(Mπf)sin(πf)
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.

Template:Clear

Finestra di Bartlett

La finestra di Bartlett riduce leggermente le oscillazioni:

p(n)={2nM10nM1222nM1M12nM10altrimenti

Template:Clear

Finestra di Hanning

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

p(n)={12[1cos(2πnM1)]0nM10altrimenti

Template:Clear

Finestra di Hamming

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

p(n)={0,540,46cos(2πnM1)0nM10altrimenti

Template:Clear

Finestra di Blackman

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

p(n)={0,4212cos(2πnM1)+0,08cos(4πnM1)0nM10altrimenti

Template:Clear


Un aumento della minima attenuazione in banda attenuata As si paga però con l'aumento della banda di transizione BT:

Finestra Banda di transizione BT Minima attenuazione in banda attenuata As
Rettangolare 1,8πM 21dB
Bartlett 6,1πM 25dB
Hanning 6,2πM 44dB
Hamming 6,6πM 53dB
Blackman 11πM 74dB