Académique Documents
Professionnel Documents
Culture Documents
Filtri IIR
6.1. Introduzione
Un filtro IIR ha funzione di trasferimento costituita dal rapporto tra due polinomi del tipo:
(6.1.1)
Y
ao (1 zi z 1 )
H(z 1 ) = Y
(1 pi z 1 )
La differenza sostanziale rispetto ai filtri FIR la presenza di poli. Per i filtri FIR non aveva
senso cercare una analogia con i filtri analogici.
Una rete RLC costituita solo da elementi resistivi ha una risposta istantanea, con funzione di
trasferimento costante in banda, senza possibilit di trattare differentemente componenti spettrali
a frequenze diverse. Per poter sagomare la risposta in frequenza necessario utilizzare elementi
reattivi. Ogni elemento reattivo introduce un polo nella funzione di trasferimento e forse anche
uno zero: infatti, la funzione di trasferimento (trasformata di Laplace della risposta allimpulso)
di un filtro RLC un rapporto di polinomi, nella variabile s, con grado del numeratore minore o
al pi uguale a quello del denominatore.
Dato che i filtri IIR presentano poli nella funzione di trasferimento, possibile sfruttare le
conoscenze relative al progetto dei filtri analogici. Esistono molti testi in letteratura che trattano
procedure che consentono di dimensionare filtri RLC in modo da sintetizzare la funzione di
trasferimento voluta. Per una assegnata maschera, esistono procedure di ottimizzazione che
forniscono sia la funzione di trasferimento che la soddisfa, sia i valori di resistenza, induttanza
e capacit, normalizzati allimpedenza di ingresso o di uscita, della rete che tale funzione di
trasferimento implementa.
Ad esempio, i filtri alla Butterworth (con massima piattezza in banda), hanno funzione di
trasferimento del tipo:
|H()|2 =
1
1 + (/o )2n
Il modulo della funzione di trasferimento di tali filtri parte con derivate nulle nellorigine fino
allordine n e poi decadono con un numero di dB per decade che dipende dalla complessit del
filtro (filtri passa basso). In alternativa possibile avere filtri equiripple (alla Chebychev).
In letteratura sono disponibili, quindi, informazioni che consentono di progettare un filtro
analogico con funzione di trasferimento che soddisfa le specifiche di progetto.
E possibile riciclare queste conoscenze per progettare filtri tempo discreti?
101
102
6. FILTRI IIR
1
1 [exp (aT )] z 1
Per una coppia di poli complessi e coniugati la risposta allimpulso corrispondente pu essere
una funzione sinusoidale con smorzamento esponenziale. Come primo esempio
(6.2.2)
0.5
0.5
s
H(s) =
+
=
h(t) = u(t) exp (t) cos (t)
s ( + ) s ( )
(s )2 + 2
che, per campionamento, d origine alla sequenza
1
[exp (nT ) exp (nT ) + exp (nT ) exp (nT )]
2
cui corrisponde la trasformata zeta
X
X
0.5
[exp ( + ) T ]n z n + 0.5
[exp ( ) T ]n z n =
hd (n) =
0.5
0.5
+
=
1
1 [exp ( + ) T ] z
1 [exp ( ) T ] z 1
=
1 exp T cos (T ) z 1
1 2 exp (T ) cos (T ) z 1 + exp (2T ) z 2
103
X
1
[exp (T /RC)]n z n =
1 exp (T /RC) z 1
k=0
La funzione di trasferimento in funzione della frequenza :
1
Hd (f ) =
1 exp (T /RC) exp (T )
da confrontare con quella del filtro tempo continuo di partenza:
1
H(f ) =
1 + RC
6.3. Trasformazione bilineare
noto che una rete analogica di rango n descrivibile mediante una equazione differenziale
di grado n, o, equivalentemente, mediante un sistema di n equazioni differenziali del primo
ordine.
La pi semplice equazione differenziale del tipo y 0 = ay + bx. Si tratta allora di implementare nel discreto un operatore che approssimi, nella maniera pi ragionevole possibile,
104
6. FILTRI IIR
loperazione di derivazione. Essendo la derivata definita come limite del rapporto incrementale, si pu pensare di usare come operatore di derivazione nel discreto il rapporto incrementale,
calcolato al passo T di discretizzazione nel tempo. Si ha cio
1
(yn yn1 )
T
che configura un filtro con funzione di trasferimento
(6.3.1)
H(z 1 ) = 1 z 1
|H|
derivatore
discreto
/2
fc /2
fc /2
fc /2
fc /2
/2
105
H
|H|
derivatore
ideale
/2
fc /2
fc /2
fc /2
fc /2
/2
F IGURA 6.3.3. Modulo e fase della funzione di trasferimento del derivatore ideale.
Il problema sta nel fatto che mentre nella y 0 = ay + bx la derivata y 0 si confronta con i
valori dellingresso x e delluscita y nello stesso istante, in questo caso, a causa del ritardo di
T /2, il confronto verrebbe effettuato con la derivata relativa a mezzo passo di campionamento
precedente e, quindi, non pi in coincidenza temporale tra derivata, valore delluscita e valore
dellingresso (questi ultimi sono infatti relativi a T /2 secondi dopo). Si pu allora pensare di
eliminare il ritardo di T /2 passando alla differenza finita centrata, ottenuta usando un operatore
non causale che effettua la media tra il valore seguente ed il valore precedente (nel primo caso si
faceva la media tra valore corrente e valore precedente).
campione
precedente
campione corrente
campione
successivo
F IGURA 6.3.4. Risposta allimpulso del derivatore approssimato con differenza centrata.
La risposta allimpulso di un tale operatore riportata in figura 6.3.4 e la sua funzione di
trasferimento :
H() = exp (T ) exp (T ) = 2 sin (T )
Si ottiene, cio, una funzione sinusoidale con periodo met rispetto a prima. Il modulo della
funzione di trasferimento rappresentato in figura 6.3.5 ed del tutto inaccettabile, dato che
decresce per |f | > fc /4.
In compenso la fase quella desiderata perch venuto a mancare il termine di ritardo T /2.
Accantoniamo per il momento questi risultati e supponiamo di voler approssimare il derivatore per lo meno nella banda di interesse. Infatti, operando nel discreto, non si possono considerare
bande maggiori di 1/2T . Ci che interessa, allora, determinare i valori dei campioni della risposta allimpulso di un operatore con funzione di trasferimento pari a quella del derivatore,
limitata per alla banda di interesse, filtrata cio con un filtro passa basso.
In altre parole quello che si deve realizzare un operatore di derivazione in cascata con un
filtro passa basso. Gli operatori sono lineari per cui possibile commutarli. Ne segue che possibile calcolare la risposta allimpulso del filtro che realizza contemporaneamente la derivazione
106
6. FILTRI IIR
|H|
H
/2
fc /2
fc /2
fc /2
fc /4
fc /4
fc /2
/2
|H|
fc /2
fc /2
|H|
fc /2
fc /2
ed il filtraggio passa basso, a partire dalla conoscenza della risposta allimpulso del filtro passa
basso, applicando ad essa loperatore di derivazione.
Si noti che la realizzazione delloperatore di integrazione non introduce grossi problemi,
tranne che per la discontinuit per la continua, dato che la sua funzione di trasferimento di tipo
passa basso e le componenti in alta frequenza vengono eliminate. Per il derivatore, invece, non
ci sono problemi in continua, ma il problema nasce per le alte frequenze che vengono esaltate.
La cosa assolutamente inaccettabile, sia in analogico che in numerico: infatti i segnali che
trattiamo sono sempre limitati in banda, ed in genere passa basso, mentre il rumore, termico o
dovuto ad imprecisioni nei calcoli, sempre presente in uno spettro molto pi ampio. Il filtraggio attraverso un filtro che esalti le alte frequenze tender ad esaltare le componenti di rumore
che possono diventare predominanti rispetto al segnale rendendolo inutilizzabile. Daltra parte
anche necessario evitare gli spigoli in corrispondenza di fc /2 E quindi necessario definire un
intervallo di frequenze entro il quale la funzione di trasferimento deve avere un andamento derivatorio ed un intervallo di frequenze entro il quale si pu opportunamente operare per evitare
discontinuit in valore e possibilmente nella derivata, in modo da far decadere a zero la risposta
allimpulso il pi velocemente possibile.
Va tenuto presente, infine, che non ragionevole utilizzare operatori di derivazione troppo
complicati in quanto essi, collegati fra loro, darebbero luogo ad un filtro di complessit tale da
essere inutilizzabile.
107
Torniamo allora al primo filtro descritto (cfr (6.3.1)). Nonostante il ritardo di mezzo passo di
campionamento, esso soddisfa almeno la richiesta di crescere in modulo monotonamente con la
frequenza. Si cerca allora di interpolare nel modo pi indolore possibile i valori della sequenza x
e della sequenza y nei punti a met tra due istanti di campionamento successivi. Linterpolazione
scelta quella lineare. Invece di confrontare lapprossimazione della derivata (6.3.1) con i valori
xn e yn , la si confronta con i valori delle sequenze x ed y interpolati negli stessi istanti. Si ha
cio
a
b
1
(yn yn1 ) = (yn + yn1 ) + (xn + xn1 )
T
2
2
Leffetto dellinterpolazione lineare quello di filtrare leggermente passabassato il segnale: la
corrispondente funzione di trasferimento di tipo coseno e alle frequenze (molro basse) per le
quali il modulo del seno assomiglia al modulo del derivatore, il suo andamento praticamente
costante.
fc /2
fc /2
(6.3.3)
108
6. FILTRI IIR
funzione di trasferimento desiderata. Vogliamo una trasformazione nel piano s in modo che ci
consenta, percorrendo lequivalente dellasse immaginario nel piano zeta, cio il cerchio unitario, tra fc /2 ed fc /2, di ottenere una funzione della frequenza corrispondente alla funzione di
trasferimento, che sar naturalmente periodica.
j
d= fc /2
d=0
d=fc /2
La mappatura asse immaginario-cerchio unitario deve quindi essere tale da creare una relazione tra una variabile che varia da a +, sullasse immaginario, ed una variabile periodica,
sul cerchio unitario. Oltre a ci, la mappatura deve essere tale che i punti del semipiano sinistro
risultino mappati allinterno del cerchio unitario al fine di conservare la stabilit del filtro.
Se la mappatura soddisfa le condizioni sopra enunciate, pu essere una mappatura utilizzabile. E chiaro che ci sar una deformazione tra la funzione di trasferimento del filtro analogico e
quella del filtro digitale. Tale deformazione , tuttavia, nota e quindi sufficiente effettuare una
predeformazione della funzione di trasferimento del filtro analogico in modo che dopo la seconda
deformazione nel modo duale, essa ritorni ad avere un andamento uguale a quello richiesto. Di
fondamentale importanza essere sicuri che partendo da un filtro stabile si ottenga un filtro stabile. Verifichiamo che la (6.3.4) soddisfa le condizione enunciate. Scriviamo la trasformazione
duale. Si ha
z=
(6.3.5)
1 + T /2s
1 T /2s
2 2 sin (d T /2)
2 1 exp (d T )
=
T 1 + exp (d T )
T 2 cos (d T /2)
Segue allora
T
2
a =
tan d
T
2
In altri termini, il legame tra a e d del tipo in figura
109
La tangente la funzione trigonometrica che meglio approssima, intorno allorigine, un andamento rettilineo. Segue che, nellintorno della frequenza zero, d e a variano di pari passo,
ragion per cui la funzione di trasferimento analogica e quella digitale avranno in tale intorno
andamento molto simile. Quando per la pulsazione analogica diventa elevata, i suoi valori risultano compressi in un intervallo di frequenze della pulsazione numerica sempre pi piccolo.
Abbiamo quindi ottenuto una mappatura che fa corrispondere allasse immaginario, descritto da
a , il cerchio unitario, descritto dalla variabile periodica d . Verifichiamo ora che a punti del
semipiano sinistro corrispondano punti interni al cerchio unitario. Riscriviamo la (6.3.5)
z=
2/T + s
2/T s
Questa quantit sar maggiore o minore di 1 a seconda che il numeratore, sicuramente positivo,
maggiore o minore del denominatore. Si ha che il numeratore maggiore del denominatore se
cos > 0. In questo caso |z| > 1. Se invece il numeratore minore del denominatore, cos < 0
e, quindi, |z| < 1. Ricordando che s = exp(), risulta che se cos > 0, il punto nel
semipiano destro. Ma cos > 0 implica che |z| > 1 e quindi il semipiano destro si mappa nei
punti esterni al cerchio unitario. Viceversa se cos < 0, il punto si trova nel semipiano sinistro,
che si mappa quindi nei punti interni al cerchio unitario, in accordo con le propriet di stabilit
dei filtri. Con questa tecnica il progetto dei filtri IIR finisce qui.
E SEMPIO . Facciamo un esempio banale: determiniamo il filtro numerico corrispondente al
filtro analogico passa basso con un solo polo.
110
6. FILTRI IIR
R
E
Si ha
H(s) =
1
Vc (s)
=
E(s)
1 + sRC
1
1+
2 1z 1
RC
T 1+z 1
1 + z 1
=
1 + z 1 + 2/T RC (1 z 1 )
1 + z 1
(1 + 2/T RC) + (1 2/T RC) z 1
Si ottiene un filtro con un polo ed uno zero. Il numeratore individua una sequenza del tipo
=
da convolvere, per ottenere la risposta allimpulso di tutto il sistema, con la sequenza che
corrisponde al polo di valore
(6.3.6)
p=
(2/T ) RC 1
<1
(2/T ) RC + 1
Tale polo interno al cerchio unitario: non poteva essere altrimenti dato che il polo di H(s)
1/RC e si trova sullasse reale nel semipiano sinistro. Il polo espresso dalla (6.3.6) d luogo
alla seguente sequenza causale, ottenuta per successive divisioni
n
2/T RC 1
2/T RC + 1
Quindi la risposta allimpulso del filtro tempo discreto che corrisponde al filtro passa basso RC
data dalla convoluzione tra la sequenza FIR che rappresenta il numeratore e la sequenza IIR di
lunghezza infinita che corrisponde al polo. La risposta allimpulso del filtro del tipo
111
f d2
f d1
fd
fc /2
f a1
f a2
Prima di applicare la trasformazione bilineare per passare dal rapporto dei polinomi in s al
rapporto dei polinomi in z, cio dalla trasformata di Laplace del filtro analogico alla trasformata
zeta del filtro tempo discreto, dobbiamo trovare il prototipo di filtro analogico che, trasformato in
filtro digitale, soddisfa la maschera. In altri termini, se ho un filtro analogico, del quale conosco
la funzione di trasferimento, che soddisfa una certa maschera
1
tan (fd1 T ) = 1054.8Hz
T
112
6. FILTRI IIR
Analogamente si trova
1
tan (fd2 T ) = 2546.5Hz
T
Si verifica quanto si era previsto: la frequenza pi lontana dalla frequenza di Nyquist, fd1 , viene
modificata meno, mentre, man mano che ci si avvicina alla frequenza di Nyquist, la differenza
tra frequenza digitale e frequenza analogica pi sostanziale. Ovviamente cambia anche landamento della funzione di trasferimento e la banda di transizione, a causa della deformazione
dellasse delle frequenze, ma non cambia il ripple in banda o lattenuazione minima fuori banda.
fa2 =
113
X
n
1
1/2
c1 c2 z 1 = t1 t2 z 1/2
ttot = t1 t2 z
1 + c1 c2 z 1
n=0
La sommatoria, infatti, non altro che la trasformata zeta di una sequenza con andamento esponenziale decrescente. Quindi la struttura considerata, con ritardo = T /2, introduce nella
114
6. FILTRI IIR
Dk
Dk
Dk1
Dk1
Uk
Uk
Uk1
Uk1
Sk
Sk1
115
e quindi
0
1
Uk
1
0
1 c0k
Uk
=
0
Dk
0 tk
Dk0
tk ck tk
0
1
Uk
1
c0k
Uk
=
0
0
Dk
Dk0
tk ck ck ck tk tk
Uk
Dk
z 1/2
=
tk
1 ck z 1
ck z 1
Uk1
Dk1
Diamone una interpretazione in termini di diagramma a blocchi. Il termine z 1/2 /tk presente su
entrambe le linee e quindi lo consideriamo a parte. A parte tale termine si ottiene
Uk = Uk1 + ck z 1 Dk1
Dk = ck Uk1 + z 1 Dk1
Uk
t kz
1/2
U k1
c k
D k
c k1
1
z
z 1/2
tk
D k1
1
z
116
6. FILTRI IIR
Si ottiene
z
F2 (z) z 2 G2 (z 1 )
U0
U2
=
D0
D2
t2 t1 G2 (z) z 2 F2 (z 1 )
Il discorso si pu generalizzare. Si ottiene allora che
z k/2
Fk (z) z k Gk (z 1 )
U0
Uk
= Qk
D0
Dk
Gk (z) z k Fk (z 1 )
i=1 ti
117
U k1
ck
D k
c k1
z1
D k1
1
z
118
6. FILTRI IIR
x(n)
y2 (n)
c1
z1
c2
u 1 (n)
z1
u 2(n)