Elaborazione numerica dei segnali/Progetto di filtri IIR
L'approccio più comune per affrontare il progetto di filtri IIR consiste nel convertire un filtro analogico di funzione di trasferimento in un filtro numerico di funzione di trasferimento che garantisca le specifiche richieste. Le conversioni devono preservare la causalità e la stabilità del filtro stesso.
- Si definiscono i requisiti di progetto del filtro analogico passa-basso.
- Si genera la risposta in frequenza del filtro analogico tramite approssimazione con modelli analogici standard (come il filtro di Butterworth).
- Si applica la trasformazione bilineare per passare dal tempo continuo al tempo discreto, trovando la risposta in frequenza del filtro numerico.
- Si trasforma lo spettro passa-basso in uno spettro passa-alto o passa-banda.
Prototipo di filtro analogico
modificaIl progetto di un filtro IIR richiede la sintesi di un filtro analogico con funzione di trasferimento :
dove . Siccome il filtro dev'essere fisicamente realizzabile, la sua risposta all'impulso è causale e la sua risposta in frequenza è unilatera:
L'insieme dei valori di per cui l'integrale in converge è definita regione di convergenza della trasformata di Laplace. Per sistemi causali, la regione di convergenza della trasformata di Laplace è costituita dal semipiano complesso alla destra di una retta verticale. Se , la regione di convergenza è il semipiano complesso destro:
Maschera delle specifiche
modificaIl filtro ideale non è fisicamente realizzabile → le specifiche di progetto devono imporre delle tolleranze della risposta in frequenza del filtro analogico rispetto al filtro ideale:
- l'oscillazione massima in banda passante , idealmente nulla;
- l'oscillazione massima in banda attenuata , idealmente nulla;
- la banda di transizione , idealmente nulla.
Spesso le specifiche di progetto dei filtri vengono date in termini della funzione di trasferimento in modulo, normalizzata rispetto al valore massimo ed espressa in scala logaritmica:
con parametri:
- ripple in banda passante, idealmente nullo:
- attenuazione in banda attenuata, idealmente infinita:
Distribuzione di poli e zeri
modificaLe specifiche del filtro analogico sono tipicamente fornite in termini del suo spettro di energia :
Siccome un filtro fisicamente realizzabile ha una risposta all'impulso reale, e quindi tutti i poli e gli zeri sono reali o a coppie complesse coniugate (quindi simmetrici rispetto all'asse reale):
L'obiettivo del progetto consiste nell'assegnare metà dei poli a e l'altra metà a .
Un filtro causale e stabile ha tutti i poli nel semipiano di sinistra ( ) → i poli di , che sono simmetrici rispetto all'asse reale, devono giacere tutti nel semipiano di sinistra. ha gli stessi zeri e poli di ma ribaltati rispetto all'asse immaginario.
Filtro di Butterworth
modificaIl filtro di Butterworth passa-basso di ordine è un prototipo di filtro analogico:
dove la pulsazione di taglio è contenuta all'interno della banda di transizione:
- Proprietà
La risposta in frequenza in modulo è:
- quasi piatta sia in banda passante sia in banda attenuata;
- una funzione sempre decrescente della variabile ;
- al crescere dell'ordine si avvicina sempre di più all'idealità;
- nell'origine ( ) è sempre pari a 1:
- alla frequenza di taglio ( ) è sempre pari a :
Distribuzione dei poli
modificaIl filtro di Butterworth non ha zeri, ma solo poli, che sono posizionati in modo equispaziato lungo la circonferenza di raggio nel piano :
I poli sono:
Progetto del filtro
modificaIl progetto del filtro consiste nel ricavare l'ordine e la pulsazione di taglio partendo dalle specifiche, ossia dai valori di , , e :
La funzione di trasferimento in modulo, espressa in scala logaritmica,[1] deve passare per i punti e :
L'ordine dev'essere un numero intero → si approssima all'intero superiore in modo da soddisfare le specifiche per eccesso:
Se avviene questa approssimazione, però, i valori di non sono univoci:
- la scelta del valore per produce un filtro più vicino a 0 in banda attenuata;[2]
- la scelta del valore per produce un filtro più vicino a 1 in banda passante.[2]
Le specifiche sono soddisfatte per qualunque scelto tra questi due valori → conviene scegliere il valore medio come compromesso.
Tecnica della trasformazione bilineare
modificaLa trasformazione bilineare consente di ottenere un filtro numerico partendo da un filtro analogico :
Sia un generico segnale causale a tempo continuo, e sia il suo integrale:
Per le proprietà della trasformata di Laplace (a condizioni iniziali nulle):
Sia il segnale campionato . Il suo integrale può essere ricavato tramite la regola dei trapezi:
Confrontando la trasformata zeta :
con l'espressione della trasformata di Laplace :
Esiste una corrispondenza biunivoca tra i punti del piano e i punti del piano :
- l'asse immaginario nel piano complesso corrisponde alla circonferenza di raggio unitario nel piano complesso ;
- le pulsazioni complesse sono mappate all'interno del cerchio di raggio unitario;
- le pulsazioni complesse con sono mappate all'esterno del cerchio di raggio unitario.
Lungo l'asse immaginario ( ):
Un filtro causale è stabile se:
- tutti i poli di appartengono al semipiano sinistro nel piano complesso ;
- tutti i poli di appartengono al cerchio di raggio unitario nel piano complesso .
La trasformazione bilineare impone la seguente relazione tra la risposta in frequenza analogica e la risposta in frequenza numerica :
I valori che la funzione assume sull'asse immaginario sono mappati sull'intervallo mediante la relazione non lineare:
Il filtro numerico ricavato è molto approssimato al filtro analogico per bassi valori di , mentre differisce tanto più ci si allontana dalla linearità. Se la frequenza analogica data è alta, è possibile aumentare la frequenza di campionamento per migliorare l'approssimazione del filtro numerico.
La trasformazione bilineare non introduce aliasing.
Trasformazioni spettrali tra diverse tipologie di filtro
modificaTramite le seguenti trasformazioni spettrali è possibile ricavare, a partire da un filtro con pulsazione di taglio , un filtro di diversa tipologia con pulsazione di taglio e stessi parametri di progetto , , e :
Tipo di filtro desiderato | Trasformazione spettrale |
---|---|
Passa-basso | |
Passa-alto |
La trasformazione di un filtro causale e stabile deve portare a un filtro causale e stabile:
- l'interno del cerchio unitario si deve mappare in se stesso;
- i poli all'interno del cerchio di raggio unitario devono rimanere all'interno.
Note
modifica- ↑ perché non è normalizzata rispetto al valore massimo?[non chiaro]
- ↑ 2,0 2,1 in scala lineare