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[modifica]
Il 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[modifica]
Il 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[modifica]
Le 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[modifica]
Il 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[modifica]
Il filtro di Butterworth non ha zeri, ma solo poli, che sono posizionati in modo equispaziato lungo la circonferenza di raggio
nel piano
:

Progetto del filtro[modifica]
Il progetto del filtro consiste nel ricavare l'ordine
e la pulsazione di taglio
partendo dalle specifiche, ossia dai valori di
,
,
e
:
![{\displaystyle {\begin{cases}N={\frac {\log _{10}{\frac {{10}^{\frac {R_{p}}{10}}-1}{{10}^{\frac {A_{s}}{10}}-1}}}{2\log _{10}{\frac {\Omega _{p}}{\Omega _{s}}}}}\\\Omega _{c}={\frac {\Omega _{p}}{\sqrt[{2N}]{{10}^{\frac {R_{p}}{10}}-1}}}={\frac {\Omega _{s}}{\sqrt[{2N}]{{10}^{\frac {A_{s}}{10}}-1}}}\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/de3b01af09efaf022dee533eba87252a854fc2c8)
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:
![{\displaystyle {\frac {\Omega _{p}}{\sqrt[{2N}]{{10}^{\frac {R_{p}}{10}}-1}}}\neq {\frac {\Omega _{s}}{\sqrt[{2N}]{{10}^{\frac {A_{s}}{10}}-1}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/53332460667624b34149d49c7d4b6d0c9ae02094)
- 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[modifica]
La trasformazione bilineare consente di ottenere un filtro numerico
partendo da un filtro analogico
:

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.
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
:

Dimostrazione


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[modifica]
Tramite 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.
- ↑ perché non è normalizzata rispetto al valore massimo?[non chiaro]
- ↑ 2,0 2,1 in scala lineare