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.

  1. Si definiscono i requisiti di progetto del filtro analogico passa-basso.
  2. Si genera la risposta in frequenza del filtro analogico tramite approssimazione con modelli analogici standard (come il filtro di Butterworth).
  3. Si applica la trasformazione bilineare per passare dal tempo continuo al tempo discreto, trovando la risposta in frequenza del filtro numerico.
  4. Si trasforma lo spettro passa-basso in uno spettro passa-alto o passa-banda.

Prototipo di filtro analogicoModifica

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 specificheModifica

 
CIAO

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 zeriModifica

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 ButterworthModifica

 
CIAO

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 poliModifica

 
CIAO

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 filtroModifica

Il progetto del filtro consiste nel ricavare l'ordine   e la pulsazione di taglio   partendo dalle specifiche, ossia dai valori di  ,  ,   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 bilineareModifica

La trasformazione bilineare consente di ottenere un filtro numerico   partendo da un filtro analogico  :

 


 
CIAO

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  :

 
 
 

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 filtroModifica

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.

NoteModifica

  1. perché non è normalizzata rispetto al valore massimo?[non chiaro]
  2. 2,0 2,1 in scala lineare