Sei sulla pagina 1di 48

Appunti di

Elaborazione numerica dei segnali


Capitolo 5 (I) - Progetto di filtri IIR
Introduzione: filtri numerici e filtri analogici ............................................. 1
Realizzazione in forma diretta dei filtri IIR ................................................ 4
Progetto di filtri IIR tramite approssimazione di derivate ........................... 8
Esempio .............................................................................................. 10
Problemi con lapprossimazione delle derivate................................... 12
Osservazione....................................................................................... 15
Trasformazione bilineare .......................................................................... 17
Dettagli analitici................................................................................. 19
Caratteristiche della trasformazione bilineare.................................... 20
Esempio ........................................................................................ 23
Esempio ........................................................................................ 24
Esempio ........................................................................................ 26
Considerazioni generali sul progetto tramite trasformazione bilineare28
Problemi legati alla precisione di calcolo dei coefficienti ......................... 29
Schematizzazione dei poli e degli zeri ................................................. 31
Utilizzo delle strutture analogiche a scala ............................................. 35
Filtri ad onda numerica (Wave Digital Filters) ......................................... 39
Dispositivi adattatori .......................................................................... 43
Progetto delladattatore tipo serie .................................................. 45
Progetto delladattatore tipo parallelo............................................ 46
Realizzazione del filtro ....................................................................... 46
Pregi e difetti dei filtri ad onda numerica ........................................... 48

INTRODUZIONE: FILTRI NUMERICI E FILTRI ANALOGICI


Per definizione, un filtro IIR un filtro la cui funzione di risposta allimpulso h(n) ha lunghezza
infinita. Perch accada questo, la funzione di sistema (cio la trasformata zeta della funzione di
risposta allimpulso) del filtro deve presentare almeno un polo (che non si trovi ovviamente
nellorigine). Ci significa che deve trattarsi, in generale, di una funzione razionale, data dal
rapporto di due polinomi:
M

Y( z )
=
H(z) =
X( z )

b
k =0
N

z k

1 + a k z k
k =1

Da notare che il filtro IIR anche in assenza degli zeri (che


costituiscono la parte FIR del filtro stesso). Ci che importa, per avere una
funzione di risposta allimpulso di lunghezza infinita (anche se eventualmente causale), la presenza
dei poli.

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Posta la questione in questo modo, la differenza sostanziale tra un filtro


IIR ed un filtro FIR proprio nella presenza dei poli.
In questi paragrafi vogliamo prima introdurre le principali caratteristiche dei filtri IIR, dopodich
parleremo delle principali metodologie di progetto di tali filtri. Gran parte di queste metodologie,
come si vedr, si basano sul progetto di filtri analogici da cui vengono poi derivati i corrispondenti
filtri numerici. Concentriamoci allora proprio su questo aspetto, tramite considerazioni generali.
In primo luogo, bene osservare che nel caso dei filtri FIR (di cui abbiamo
parlato nel precedente capitolo) non ha senso cercare alcuna
analogia con filtri analogici, per un motivo molto semplice: affinch un filtro
analogico presenti delle propriet di filtraggio (passa-basso, passa-banda, passa-alto), necessario
che esso presenti almeno un elemento reattivo e quindi necessariamente almeno un polo nella
funzione di trasferimento (se usassimo solo elementi resistivi, invece, il filtro sarebbe
necessariamente passa-tutto, dato che i resistori garantiscono, entro certi limiti fisici legati al loro
funzionamento reale, legami istantanei tra ingresso ed uscita); di conseguenza, le analogie tra
filtri analogici e filtri numerici possono essere fatte solo per
filtri che presentino, sia nel dominio s (trasformata di Laplace)
sia nel dominio z (trasformata zeta), almeno un polo e questo non
il caso dei filtri FIR. I filtri FIR, pur potendo presentare qualsiasi propriet di
filtraggio, sono filtri a soli zeri (nel piano z).
Dato, quindi, che consideriamo filtri che presentano almeno un polo, possiamo cercare di sfruttare
le conoscenze che abbiamo relativamente al mondo analogico. In questultimo, esistono svariati
metodi per il dimensionamento di filtri RLC che sintetizzino la funzione di trasferimento desiderata.
Ad esempio, una volta assegnata una maschera per il filtro analogico da ottenere, esistono procedure
di ottimizzazione (basati su algoritmi e tabelle standard), che forniscono i valori di resistenza,
induttanza e capacit normalizzati allimpedenza di ingresso o di uscita oppure anche alle frequenze
di taglio che si desidera ottenere1. Allora, ha senso chiedersi se le conoscenze di questi metodi di
progetto possono essere in qualche modo sfruttate per progettare filtri IIR nel dominio tempodiscreto.
Vediamo di capire, a livello generale, con quali criteri poter passare da un filtro analogico al
corrispondente filtro numerico.
Un generico filtro analogico pu essere descritto tramite la trasformata di Laplace della sua
funzione di risposta allimpulso (tempo-continua). Questa trasformata di Laplace pu essere
calcolata in almeno due modi:
un primo modo consiste nellapplicare direttamente la definizione:
H A (s) =

h ( t )e

st

dt

Il pedice A sta appunto per analogico.


un secondo modo consiste nel considerare il legame ingresso-uscita del filtro, individuato
direttamente nel dominio trasformato, in modo da poter calcolare HA(s) come rapporto tra la
trasformata delluscita e quella dellingresso:

In pratica, tali metodi forniscono i valori di R,C ed L non per una fissata impedenza in ingresso o in uscita (o per una prefissata
frequenza di taglio), ma in funzione di questa, in modo che i valori numerici esatti possono essere facilmente determinati caso per
caso (semplicemente tramite delle moltiplicazioni).

Autore: Sandro Petrizzelli

Progetto di filtri IIR (parte I): trasformazione bilineare


M

H A (s) =

Y(s)
=
X(s)

b
k =0
N

a
k =0

sk

sk

I coefficienti ak e bk sono quelli che caratterizzano il filtro, esattamente con nel dominio
numerico, dove per usiamo la trasformata zeta, applicata ad una funzione h(n) tempo-discreta.
Un modo alternativo di descrivere il comportamento del filtro quello di individuare il legame
ingresso-uscita non pi nel dominio trasformato, ma nel dominio del tempo, senza per considerare
la funzione di risposta allimpulso, ma direttamente lequazione differenziale lineare, a coefficienti
costanti, del tipo
N
d k y( t ) M
d k x (t )
ak
= bk

dt k
dt k
k =0
k =0
Come ben noto, se noi trasformiamo secondo Laplace questa equazione, ritroviamo esattamente
lultima espressione riportata per HA(s).
Ognuna di queste 3 caratterizzazioni del filtro analogico conduce ad un possibile metodo per
convertire il filtro nel dominio tempo-discreto. Prima di esaminare questi metodi nel dettaglio,
possiamo per fare delle considerazioni generali:
in primo luogo, ricordiamo che un filtro costituito da un sistema analogico lineare tempoinvariante, con funzione di trasferimento2 H(s), stabile se e solo se i suoi poli giacciono tutti
nel semipiano destro del piano complesso. Questo comporta che una eventuale tecnica di
conversione di un filtro dal mondo analogico al mondo digitale debba garantire almeno due
propriet:
la prima che lasse immaginario j nel piano s venga mappato (cio fatto corrispondere)
nel cerchio unitario del piano z;
la seconda, ancora pi stringente, che il semipiano sinistro del piano s
venga mappato nei punti allinterno del cerchio unitario del
piano z: questo garantisce che un filtro stabile nel dominio
analogico corrisponda ad un filtro stabile anche nel dominio
numerico.
in secondo luogo, possibile dimostrare che filtri IIR fisicamente
realizzabili e stabili non possono avere fase lineare. Questo
risultato discende da una propriet dei filtri numerici a fase lineare, in base alla quale tali filtri
hanno una funzione di trasferimento che soddisfa la condizione
H(z) = z N H(z 1 )
In base a questa relazione, il filtro dovrebbe avere, per ogni polo allinterno del cerchio
unitario, un polo anche allesterno del cerchio unitario, in posizione simmetrica (ad esempio, se
c un polo in -a, con 0<a<1, ci dovr anche essere quello in -1/a); di conseguenza, la presenza
2

Dora in poi, chiameremo funzione di trasferimento sia la trasformata di Laplace della funzione di risposta allimpulso sia la
trasformata di Fourier della stessa funzione: la differenza, come ben noto, che la trasformata di Fourier H() si ottiene dalla
trasformata di Laplace H(s) ponendo banalmente s=j. Questo risultato affermato dal noto teorema della funzione di
risposta armonica, che vale per solo per sistemi lineari tempo-invarianti asintoticamente stabile).

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

di quel polo allesterno del cerchio unitario fa si che il filtro sia instabile (nel caso dei filtri
FIR, questo problema non sussisteva in quanto non cerano poli da considerare). Deduciamo
che un filtro IIR causale (cio fisicamente realizzabile) e
stabile non pu avere fase lineare. Se, invece, rimuoviamo lipotesi della
fisica realizzabilit, allora il filtro IIR potr anche avere fase lineare. In generale, dato che
a noi interessano filtri fisicamente realizzabili, laddove ci
interessa
anche
una
fase
rigorosamente
lineare
dovremo
necessariamente affidarci a filtri FIR;
come ultima osservazione, ricordiamo che, al pari dei filtri FIR, quando
progettiamo un filtro IIR abbiamo, come obbiettivo, quello di
approssimare al meglio le specifiche prefissate, che riguardano
solo di modulo della H(z); questo, per, non significa che noi consideriamo non
importante la caratteristica di fase del filtro: dato che modulo e fase di H(z) sono tra loro legati,
noi specifichiamo le desiderate caratteristiche per il modulo ed accettiamo la caratteristica di
fase che viene fuori dal metodo di progetto utilizzato.

REALIZZAZIONE IN FORMA DIRETTA DEI FILTRI IIR


Consideriamo un filtro IIR la cui funzione di sistema (trasformata della risposta allimpulso) sia
razionale e, in particolare, del tipo seguente:
M

H ( z) =

b
k =0
N

a
k =0

z k

z k

b
k =0
N

z k

1 + a k z k
k =1

(si supposto a0=1, il che non lede di generalit i nostri discorsi in quanto basta usare un fattore di
scala per riportarsi alla situazione pi generale possibile).
Sappiamo bene che questa funzione di sistema pu essere scomposta nel prodotto di due funzioni
di sistema, una corrispondente agli zeri del filtro e laltra ai poli:
M

filtro FIR (soli zeri)


H1 (z) = b k z k
k =0

filtro IIR a soli poli


H 2 (z) =

1
N

1 + a k z k
k =1

Questa scomposizione porta ad individuare il filtro IIR (poli e zeri) di partenza come cascata di un
filtro FIR (che presenta quindi solo degli zeri, oltre ad un polo nellorigine di molteplicit M) ed un
filtro IIR a soli poli (oltre ovviamente allo zero nellorigine di molteplicit N).
Vogliamo sfruttare questa scomposizione per arrivare ad una struttura a blocchi del filtro IIR di
partenza: tale struttura a blocchi dovrebbe essere, idealmente, la pi semplice e la pi efficiente
possibile.
Per quanto riguarda la parte FIR, cio H1(z), esistono diverse possibili realizzazioni, che saranno
esaminate in seguito. La pi semplice realizzazione di un filtro FIR la cosiddetta forma diretta, che
si basa esclusivamente nellimplementare la funzione di risposta allimpulso del filtro: infatti, se

Autore: Sandro Petrizzelli

Progetto di filtri IIR (parte I): trasformazione bilineare

indichiamo con v(n) lingresso del filtro e con w(n) la corrispondente uscita, sappiamo che essi sono
legati dalla relazione (nel dominio tempo-discreto)
M

w ( n ) = h ( k ) v( n k )
k =0

Se confrontiamo questa espressione con H1 (z) = b k z k , ci accorgiamo facilmente (basta


k =0

trasformare con la trasformata zeta) che i coefficienti bk coincidono con i campioni della risposta
allimpulso del filtro.
Nella figura seguente riportato lo schema a blocchi rappresentativo di questa relazione:

v(k)

b0

z-1

z-1

z-1

w(k)

b1

b2

bM

Realizzazione di un filtro FIR (di lunghezza M) in forma diretta. Le indicazioni di b0,b1,...., bM sui
rami della struttura corrispondono a semplici moltiplicazioni: i moltiplicatori non sono stati riportati per
non far sembrare la struttura pi complicata di quanto non sia in realt

Anche se, come si dir in seguito, questa struttura altamente inefficiente, si tratta comunque di
una possibile realizzazione di un filtro FIR.
Una struttura assolutamente analoga si pu ottenere anche per un filtro IIR a soli poli, ossia del
tipo
H 2 (z) =

1
N

a
k =0

z k

Infatti, tenendo conto che H2(z)=W(z)/V(z), dove W(z) la trasformata delluscita e V(z) quella
dellingresso, possiamo scrivere che
W (z)
=
V(z)

1
N

a
k =0

z k

k =0

k =0

W (z) a k z k = V(z)
a k W (z)z k = V(z)

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Se antitrasformiamo questa relazione (tramite la trasformata zeta inversa), otteniamo


N

a
k =0

w ( n k ) = v( n )

Esplicitando il termine della sommatoria che si ottiene per k=0 e lasciandolo da solo al primo
membro, concludiamo che
N

w (n ) = v( n ) a k w ( n k )
k =1

Questa relazione quella che lega, nel dominio tempo-discreto, i campioni allingresso a quelli di
uscita. La corrispondente realizzazione in forma diretta (cio il corrispondente schema a blocchi)
evidentemente la seguente:
v(k)

w(k)

-a1

+
+

z-1
-a2

z-1

+
-aN

z-1

Realizzazione di un filtro IIR in forma diretta. Le indicazioni di dei coefficienti sui rami della struttura
corrispondono ancora una volta a semplici moltiplicazioni

A questo punto, per ottenere il filtro complessivo H(z) dato dal prodotto di H1(z) ed H2(z) ci basta
porre in cascata le due strutture appena descritte, ottenendo quanto riportato nella figura seguente:

Autore: Sandro Petrizzelli

Progetto di filtri IIR (parte I): trasformazione bilineare

b0

x(n)

b1

z-1

b2

z-1

bM

z-1

y(n)

-a1

z-1
-a2

z-1

-aN

z-1

Realizzazione di un filtro IIR in forma diretta I

Questa la cosiddetta realizzazione di un filtro IIR in forma diretta I. Come si nota, questo tipo
di realizzazione richiede M+N+1 moltiplicazioni, M+N addizioni e M+N+1 elementi di ritardo (cio
celle di memoria).
Daltra parte, avendo a che fare con un sistema lineare, possiamo anche scambiare la posizione dei
due blocchi, disponendo la parte puramente IIR prima della parte puramente FIR. Questo, come
peraltro gi visto in precedenza, consente di semplificare la struttura nel caso particolare in cui M=N:
infatti, se questo accade, i due blocchi usano le stesse celle di memoria, per cui possiamo dimezzare
il numero totale di celle di memoria, ottenendo una realizzazione del tipo seguente:
x(n)

b0

-a1

b1

+
+

y(n)

z-1
-a2

b2

z-1

+
-aN

bM

z-1

Realizzazione di un filtro IIR in forma diretta II (per M=N)

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Si tratta evidentemente di una struttura pi efficiente della precedente, in quanto richiede ancora
M+N+1 moltiplicazioni e M+N somme, ma solo N celle di memoria. Appare evidente che, anche nel
caso in cui MN si pu ottenere qualcosa di simile: la struttura non sar pi simmetrica (ci saranno
pi rami nella parte IIR se N>M oppure pi rami nella parte FIR se N<M), ma potremo comunque
usare un numero di elementi di ritardo pari al valore maggiore tra M ed N.
Proprio perch questa realizzazione (chiamata forma diretta II) minimizza il numero di celle di
memoria, si parla di realizzazione canonica di un filtro IIR. E bene per precisare che ci sono
altre implementazioni che ottengono la stessa minimizzazione, per cui bene non incorrere in errore
nellusare questa terminologia.
Notiamo inoltre che la realizzazione in forma diretta II appena proposta presenta una particolarit:
se invertiamo il senso di percorrenza di tutti i rami e i sensi di
propagazione nelle memorie e se scambiamo i coefficienti ai con i
coefficienti
bi,
otteniamo
nuovamente
la
stessa
funzione
di
trasferimento.
Segnaliamo che ulteriori semplificazioni della struttura si possono ottenere nel caso in cui la parte
FIR del filtro complessivo ha fase zero (simmetria pari dei coefficienti rispetto allistante 0) oppure
presenta un ritardo per permetterne la realizzazione causale: in questo caso, infatti, la parte FIR ha
notoriamente fase lineare e si pu sfruttare, nel modo gi visto in precedenza (capitolo sui filtri FIR)
la simmetria dei coefficienti rispetto ad un istante centrale (lunghezza pari) oppure rispetto ad un
campione centrale (lunghezza dispari).
Per concludere, facciamo osservare che le due implementazioni proposte (forma diretta I e forma
diretta II) hanno il grosso svantaggio di essere molto sensibili al valore dei parametri ak e bk: si pu
infatti dimostrare3 che, quando N grande, anche una piccola variazione in
uno qualsiasi dei coefficienti del filtro pu provocare una
variazione notevole della posizioni degli zeri e soprattutto dei
poli del sistema; questo non solo comporta una funzione di trasferimento diversa da quella
che si voleva ottenere, ma anche il rischio di rendere instabile il sistema. Questo fatto rende le due
implementazioni tuttaltro che opportune nelle applicazioni pratiche.

PROGETTO DI FILTRI IIR TRAMITE APPROSSIMAZIONE DI DERIVATE


Passiamo adesso pi specificatamente ai metodi di progetto dei filtri IIR; in particolare,
riprendiamo il concetto, precedentemente esposto, per cui le principali tecniche di
progetto di filtri IIR consistono nel progettare un filtro analogico
opportuno e nel ricavare da esso il filtro numerico che si vuole
ottenere.
Uno dei modi pi semplici per convertire un filtro analogico in uno digitale quello di
approssimare, nel dominio tempo-discreto, lequazione differenziale che, nel dominio tempocontinuo, lega ingresso ed uscita del filtro, tramite i parametri caratteristici del filtro stesso4:
N

ak
k =0

d k y( t ) M
d k x (t )
=
b

k
dt k
dt k
k =0

Un cenno della dimostrazione sar dato pi avanti nel capitolo

Si tratta, sostanzialmente, dello stesso approccio che spesso viene seguito per risolvere numericamente, per esempio con un
computer, una equazione differenziale lineare a coefficienti costanti.

Autore: Sandro Petrizzelli

Progetto di filtri IIR (parte I): trasformazione bilineare

Questa una equazione che lega le derivate delluscita, da quella di ordine 0 a quella di ordine N,
alle derivate dellingresso, dallordine 0 allordine M. Per effettuare la suddetta approssimazione,
quindi, bisogna trovare il modo di implementare, nel dominio numerico, loperatore di derivazione.
Essendo la derivata definita rigorosamente come il limite del rapporto incrementale, possiamo
approssimarla proprio con il rapporto incrementale:
dx ( t )
x (n ) x (n 1)

dy t = nT
T
dove T ovviamente il periodo di campionamento.
Abbiamo cio usato il rapporto incrementale calcolato nellistante nT-T/2, tramite il quale
vogliamo approssimare la derivata calcolata in nT.
Nel caso tempo-continuo, la funzione di trasferimento (intesa come trasformata di Laplace) del
derivatore y( t ) = dx ( t ) / dt notoriamente H(s)=s. In modo analogo, la funzione di sistema del filtro
numerico che approssima il derivatore si ottiene nel modo seguente:
Y ( z ) 1 z 1 1 z 1
x (n ) x (n 1) trasformata Z
X ( z ) X ( z ) z 1
=
=
y(n ) =

Y(z) =

H(z) =
X(z)
T
T z
T
T
Abbiamo ottenuto dunque un filtro con un polo nellorigine ed uno zero in +1. Con questo
sistema, noi approssimiamo, nel dominio numerico, un derivatore nel dominio analogico. Sul grado
di questa approssimazione torneremo pi avanti. Per il momento, osserviamo solo se, confrontando
1 z 1
H(s) con H(z), questultima si ottiene da H(s) semplicemente ponendo s =
: infatti
T
s=

1 z 1
T

H(s) H(z) =

1 z 1
T

1 z 1
costituisce dunque lo strumento con cui possiamo ottenere il derivatore
T
numerico del primo ordine partendo dal derivatore analogico del primo ordine.
Complichiamo adesso la cosa, considerando il derivatore analogico del secondo ordine: il legame
ingresso-uscita del filtro diventa dunque y( t ) = d 2 x ( t ) / dt 2 e ad esso corrisponde una funzione di
trasferimento H(s)=s2. Per implementare il corrispondente filtro numerico, ci basta considerare che la
derivata seconda non altro che la derivata della derivata prima:
La relazione s =

y( t ) =

d 2 x ( t ) d dx ( t )
=
dt dt
dt 2

Passando in numerico, possiamo allora approssimare sia la prima derivata con un rapporto
incrementale sia la derivata seconda:

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

d dx ( t )
d x (n ) x (n 1)
d 2 x(t )
=
=
=


T
dt t = nT dt dt t = nT dt
t = nT
x (n ) x (n 1) x (n 1) x (n 2)


x (n ) 2 x (n 1) + 2 x (n 2)
T
T
=
=
T
T2
Abbiamo qui usato una notazione forse poco rigorosa, ma che rende bene lidea di ci che
abbiamo fatto: in pratica, dopo aver approssimato la derivata prima tramite un rapporto incrementale,
ottenendo cos una certa funzione tempo-discreta, abbiamo successivamente applicato a questultima
nuovamente la derivazione, ossia nuovamente il rapporto incrementale.
Se ora applichiamo anche a questa funzione la trasformata zeta, otteniamo la corrispondente
funzione di sistema:
y( n ) =

x (n ) 2x (n 1) + x (n 2) trasformata Z
X(z) 2X(z)z 1 + X(z)z 2
Y
(
z
)

T2
T2
2

Y ( z ) 1 2 z 1 + z 2 1 z 1
1 z 2 2z 1

=
=
H ( z) =
=
T
X( z )
T2
T2
z2

Abbiamo ottenuto un sistema con 2 poli nellorigine e uno zero doppio in +1. Ci che pi
interessa, per, la corrispondenza tra la funzione H(z) appena ottenuta e la funzione di
trasferimento H(s)=s2 del corrispondente derivatore analogico: ancora una volta, H(z) si ottiene con
1 z 1
la banale sostituzione s =
.
T
Possiamo perci concludere come segue: la funzione di sistema in un filtro
digitale IIR, ottenuto come approssimazione delle derivate tramite
le corrispondenti differenze finite, data da

H (z) = H A (s) s=1z1


T

dove ovviamente HA(s) la funzione di trasferimento del filtro analogico, caratterizzato da una
equazione differenziale nella forma
N
d k y( t ) M
d k x (t )
a
b
=

k
k
dt k
dt k
k =0
k =0

Esempio
Facciamo un esempio concreto dei concetti appena illustrati. Consideriamo un filtro analogico
passa-banda avente la seguente funzione di trasferimento (intesa nel dominio di Laplace):
H A (s) =

Autore: Sandro Petrizzelli

1
(s + 0.1) 2 + 9

10

Progetto di filtri IIR (parte I): trasformazione bilineare

Si tratta di un filtro a soli poli, situati in -1j3. Modulo e fase della funzione di trasferimento sono
riportati nella figura seguente, in funzione della pulsazione e usando una scala logaritmica sulle
ordinate del modulo:

Vogliamo convertire questo filtro in un filtro digitale IIR utilizzando il metodo descritto prima,
1 z 1
usando cio la trasformazione s =
.
T
Applicando allora tale trasformazione, otteniamo quanto segue:
H(z) = H A (s) s =1 z 1 =
T

1
2

1 z 1

+ 0.1 + 9
T

1
1+ z

2z

T2

1 z 1
+ 0.01 + 0.2
+9
T

Facendo qualche manipolazione algebrica su questa espressione, si trova la funzione di sistema


del filtro numerico. A prescindere da quale sia lespressione completa, si nota subito la presenza di
poli, da cui si deduce che il filtro di tipo IIR.
Si nota anche unaltra cosa: il periodo di campionamento T generico, il che significa che
abbiamo trovato una sorta di soluzione parametrica, nel senso che la H(z) dipende del valore che
assegniamo a T. Ad esempio, si pu verificare che, prendendo T0.1, i poli del filtro si avvicinano al
cerchio unitario, il che significa che il filtro ottenuto tende a diventare un oscillatore digitale. Se
prendiamo, in particolare, T=0.1, si pu verificare che i poli sono

p1 / 2 = 0.91 j0.27 = 0.949e j16.5

11

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Problemi con lapprossimazione delle derivate


Il metodo appena descritto estremamente semplice, ma presenta qualche problema. Vediamo
quale.
Consideriamo per semplicit il derivatore del primo ordine, che abbiamo visto corrispondere, in
numerico, ad un sistema con funzione di sistema
1 z 1
H(z) =
T
Ad essa corrisponde una funzione di risposta allimpulso di lunghezza 2 (quindi un filtro FIR),
causale: h(n)=(1,-1). La sequenza h(n) e la mappa poli-zeri della corrispondente trasformata zeta
sono riportate nella figura seguente:
H(z) =

1 z 1
T

Im

+T

Re

-1

-T

Possiamo determinare anche la funzione di trasferimento di questo filtro, ponendo semplicemente


z=ejT nellespressione di H(z):
1
H() = 1 e jT
T

Possiamo esplicitare meglio lesponenziale, al fine di individuare rapidamente modulo e fase di


questa funzione di trasferimento:
1
H() = e
T

T
2

T
T
j
T
T j 2
j

j T2

1
e e 2
e e 2 = 2 je 2

T
j

T
j
1
T
2
sin
= 2 je
2
T

Deduciamo che si tratta di un filtro con modulo ad andamento sinusoidale (di periodo T/2) e fase
rettilinea (di pendenza T/2):
1
T
H() = sin
T
2
T

2 2
H() =
T
2
2

>0
<0

I rispettivi andamenti sono rappresentati nella figura seguente in funzione della pulsazione (si
ricordi che la frequenza di Nyquist fC/2 corrisponde alla pulsazione C=/T):

Autore: Sandro Petrizzelli

12

Progetto di filtri IIR (parte I): trasformazione bilineare


H()

H()
+

Modulo e fase del derivatore numerico del primo ordine ottenuto dal corrispondente derivatore
analogico approssimando la derivata tempo-continua tramite il rapporto incrementale tempo-discreto

Osservando il modulo, notiamo che esso cresce con la frequenza, cos come si richiede ad un
derivatore ideale, ma non in modo rettilineo, come accade per un derivatore analogico ideale, le cui
caratteristiche in frequenza (cio modulo e fase della funzione di trasferimento) sono riportate nella
figura seguente:
|HA(w)|
H A (w )
+

Modulo e fase del derivatore analogico ideale, allinterno dellintervallo non ambiguo (allinterno
del quale si pu fare il confronto con lanalogo caso numerico): il modulo cresce linearmente con la
frequenza, mentre la fase costante e pari a -/2 per le frequenze negative e +/2 per quelle positive

Il confronto tra i moduli delle due funzioni di trasferimento mostra che, in numerico, otteniamo
una buona approssimazione del derivatore solo per bassi valori di frequenza, mentre invece i due
andamenti si discostano anche apprezzabilmente per valori di frequenza pi alti (sempre compresi
nellintervallo non ambiguo, lunico nel quale abbia senso fare un confronto tra mondo analogico e
mondo numerico, data la periodicit di questultimo).
Per quanto riguarda, invece, la fase del derivatore numerico, si tratta di una fase rettilinea
continua a tratti di pendenza -T/2: tale caratteristica di fase dipende dal fatto che la h(n) del filtro
a simmetria dispari, ma rispetto allistante T/2 anzich rispetto allistante 0:

13

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

h(n)
asse di simmetria
per h(n)

T
n

T/2

Se la funzione di risposta allimpulso fosse simmetrica rispetto allistante 0, essa sarebbe dispari:
essendo anche reale, la sua trasformata di Fourier avrebbe fase costante (-/2 per le frequenze negative e
+/2 per quelle positive). Al contrario, la h(n) da noi considerata (riportata in figura) traslata di T/2 in
ritardo, da cui appunto il termine di fase e-jT/2 nella corrispondente funzione di trasferimento

La fase di H() dunque la composizione della caratteristica di fase di un derivatore puro e di


quella di un ritardatore puro di mezzo passo di campionamento.
Per tornare ad una fase costante in frequenza, potremmo pensare di definire in altro modo il
rapporto incrementale con cui approssimiamo la derivata tempo-continua. Infatti, avendo osservato
che il termine di fase deriva dal mezzo passo di campionamento di ritardo, possiamo pensare di
usare, come operatore numerico, uno che corrisponda ad una h(n) non pi causale, ma centrata
nellorigine:

h(n)

-T

In questo caso, la funzione di sistema completamente diversa rispetto a prima: infatti, essendo la
sequenza h(n)=(1,0,-1), a meno eventualmente del fattore di scala 1/T, otteniamo
=e
H(z) = z z 1 z
= H() = e jT e jT = 2 jsin (T )
jT

In questo caso, come previsto (dato che h(n) reale e pari), la fase perfettamente costante (data
la presenza di j). Tuttavia, cambia radicalmente, rispetto a prima, il modulo, che ancora
sinusoidale, ma di periodo met rispetto a prima (frequenza doppia):

Autore: Sandro Petrizzelli

14

Progetto di filtri IIR (parte I): trasformazione bilineare

|H(w)|
H( w )

E evidente che abbiamo ottenuto qualcosa di decisamente inaccettabile: infatti, mentre la fase
proprio quella desiderata, il modulo crescente fino a met della frequenza di Nyquist (/2T,
corrispondente a fC/4), mentre decrescente da tale frequenza fino alla frequenza di Nyquist.
Daltra parte, questo tipo di sistema presenta anche un altro inconveniente di fondo: avendo una
risposta allimpulso di tipo non causale, esso non fisicamente realizzabile.

Osservazione
Supponiamo di voler trovare un filtro numerico che approssimi al meglio possibile un
derivatore analogico, ovviamente nellintervallo non ambiguo, cio per frequenze
comprese tra -fC/2 ed fC/2, dove fC la frequenza di campionamento del mondo tempodiscreto che stiamo considerando.
Un modo possibile di procedere semplicemente quello di partire dalla funzione di
trasferimento di interesse e ricercare la funzione di risposta allimpulso h(n)
corrispondente. La funzione di trasferimento che ci interessa ottenere deve avere un
modulo fatto nel modo seguente:
|H(f)|

-f C/2

fC/2

Se vogliamo partire da un filtro analogico, dal quale poi ricavare il corrispondente filtro
numerico, dobbiamo imporre che la funzione di trasferimento sia quella rappresentata in
figura: quella funzione di trasferimento ottenibile, in analogico, solo tramite la cascata
di un derivatore ideale (la cui funzione di trasferimento cresce indefinitamente con la
frequenza) e di un filtro passa-basso di banda fC.
Considerando che tali due sistemi sono lineari, possiamo sicuramente scambiarli: si tratta
perci prima di filtrare passa-basso il segnale e poi di integrarlo nella banda di interesse.

15

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Dal punto di vista dellindividuazione del filtro complessivo, possiamo semplicemente


prendere la risposta allimpulso del filtro passa-basso e calcolarne la derivata: cos
facendo, otteniamo la funzione di risposta allimpulso del filtro complessivo.
C per da fare una considerazione importante: la funzione di trasferimento del
derivatore di tipo passa-alto, cio tale da attenuare le basse frequenze ed esaltare le alte
frequenze; daltra parte, i segnali che noi trattiamo sono generalmente segnali passa-basso
cui sovrapposto limmancabile rumore termico, che spalmato su tutta la banda; di
conseguenza, il filtraggio attraverso un filtro come il derivatore avr leffetto di esaltare
le componenti di rumore e questa esaltazione potrebbe anche renderle prevalenti rispetto
al segnale. Questo ovviamente un effetto da evitare. Non solo, ma leffetto del filtro
passa-basso posto in cascata quello di introdurre due brusche discontinuit nella
funzione di trasferimento, in corrispondenza di +fC/2 e -fC/2: anche queste discontinuit
vanno il pi possibile ridotte, in modo da far decadere a zero la risposta allimpulso il pi
velocemente possibile.
Per andare incontro a tali esigenze, necessario definire la funzione di trasferimento del
filtro da ottenere imponendo due vincoli:
il primo che la funzione di trasferimento (si intende il modulo) cresca con la frequenza
entro un certo intervallo a partire dalla frequenza zero;
il secondo vincolo che ci sia un intervallo di frequenza, in prossimit di fC/2, in cui la
funzione di trasferimento non presenti spigoli, ma presenti una transizione dolce dai
valori elevati ai valori nulli.
Si tratta in sostanza di imporre un andamento del modulo della funzione di trasferimento
del tipo seguente:
|H(f)|

-fC/2

fC/2

A fronte di queste considerazioni, per, se ne pu fare anche unaltra:


non consigliabile progettare operatori di derivazione
eccessivamente complicati, in quanto essi, collegati tra di
loro per ottenere derivate di ordine maggiore di uno,
darebbero alla fine luogo ad un filtro di complessit tale
da essere inutilizzabile.

Autore: Sandro Petrizzelli

16

Progetto di filtri IIR (parte I): trasformazione bilineare

TRASFORMAZIONE BILINEARE
Vista linaccettabilit dellultima soluzione proposta, torniamo al filtro precedente, il quale
soddisfaceva, almeno per le basse frequenze, la nostra necessit di avere un modulo crescente con la
frequenza:
H()

H()
+

Modulo e fase del derivatore numerico del primo ordine ottenuto dal corrispondente derivatore
analogico approssimando la derivata tempo-continua tramite il rapporto incrementale tempo-discreto

Abbiamo visto che il problema essenziale di questo filtro nella caratteristica di fase, che risente
del fatto che lasse di simmetria (dispari) della funzione di risposta allimpulso nellistante T/2 e
non nellistante 0:

h(n)
asse di simmetria
per h(n)

T
n

T/2

Possiamo inquadrare il problema da un altro punto di vista. Se consideriamo un generico filtro


analogico (inteso come sistema lineare tempo-invariante tempo-continuo) del primo ordine, esso
caratterizzato da una equazione differenziale lineare, a coefficienti costanti, del tipo
dy( t )
= ay( t ) + bx ( t )
dt
In base a questa equazione, il funzionamento del filtro tale da confrontare la derivata delluscita
allistante t con il valore sia dellingresso sia delluscita nello stesso istante t.

17

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Al contrario, nel momento in cui noi approssimiamo, in numerico, loperatore di derivazione


tramite un rapporto incrementale, subentra una differenza:
y(n ) y(n 1)
= a y( n ) + b x ( n )
T
A causa del ritardo di T/2, il confronto viene effettuato con la derivata relativa a mezzo passo di
campionamento precedente (nT-T/2), il che significa che non c pi coincidenza temporale tra la
derivata delluscita da una parte e luscita e lingresso dellaltra (in pratica, uscita ed ingresso sono
relativi a T/2 secondi dopo rispetto alla derivata).
Questa interpretazione suggerisce un modo di aggirare parzialmente il problema: possiamo
provare ad interpolare, nel modo pi indolore possibile, i valori della sequenza x(n) e della sequenza
y(n) nei punti a met tra ciascuna coppia di istanti di campionamento successivi. Per semplicit,
possiamo scegliere una comoda interpolazione lineare: invece di confrontare il rapporto
incrementale con i valori y(n) ed x(n), lo confrontiamo con i valori interpolati delle due sequenze
negli stessi istanti. In altre parole, consideriamo
y(n ) y(n 1) a
b
= (y(n ) + y(n 1) ) + (x (n ) + x (n 1) )
T
2
2
Andiamo allora a calcolare la trasformata zeta di entrambi i membri di questa equazione, al fine di
giungere alla funzione di sistema del filtro: si trova facilmente che
1 z 1 a
b
Y(z)
= Y(z) 1 + z 1 + X(z) 1 + z 1
T
2
2

Al fine di fare un confronto con la relazione

dy( t )
= ay( t ) + bx ( t ) , possiamo riscrivere lultima
dt

relazione nella forma seguente:


2 1 z 1
Y(z) = aY(z) + bX(z)
T 1 + z 1
Il confronto con il corrispondente sistema analogico si pu fare semplicemente applicando la
dy( t )
trasformata di Laplace allequazione
= ay( t ) + bx ( t ) : si ottiene evidentemente
dt
s Y(s) = aY(s) + bX(s)
Se allora confrontiamo le ultime due relazioni, notiamo ancora una volta che esiste un modo
banale di passare da una allaltra: basta prendere lespressione del dominio di Laplace e porre

2 1 z 1
s=
T 1 + z 1

Autore: Sandro Petrizzelli

18

Progetto di filtri IIR (parte I): trasformazione bilineare

La corrispondenza cos ottenuta (tra dominio di Laplace e dominio della trasformata zeta) prende
il nome di trasformazione bilineare:
s=

2 1 z 1
T 1+ z 1

s Y(s) = aY(s) + bX(s)

2 1 z 1
Y( z) = aY(z) + bX(z)
T 1 + z 1

Dettagli analitici
Lespressione trovata poco fa per la trasformazione bilineare pu essere ottenuta con maggiore
rigore matematico. Vediamo come.
b
Consideriamo ancora, per semplicit, un filtro con funzione di trasferimento H(s) =
, ossia
sa
rappresentato dallequazione differenziale
dy( t )
= ay( t ) + bx ( t )
dt
Al posto di usare una differenza finita (cio il rapporto incrementale) per approssimare quella
derivata, seguiamo un procedimento diverso. Supponiamo di integrare quella derivata:
dy ()
d + y( t 0 )
d

t0
t

y( t ) =

Adesso approssimiamo lintegrale tramite la nota formula trapezoidale:


y( t ) =

t t0
2

dy ( t )
dy ( t )
+

+ y( t 0 )
d t 0
d t

Per passare nel dominio discreto, poniamo t=nT e t0=(n-1)T:


y( n ) =

T dy ( t )
dy ( t )
+

+ y(n 1)
2 d t = nT
d ( n 1) T

Analoga sostituzione possiamo effettuare nellequazione

dy( t )
= ay( t ) + bx ( t ) :
dt

dy( t )
= ay(n ) + bx (n )
dt t = nT
Possiamo allora usare lespressione appena ottenuta per

dy( t )
e sostituirla nellequazione
dt t = nT

ricavata prima: otteniamo


y( n ) =

T
[(ay(n) + bx(n )) + (ay(n 1) + bx (n 1))] + y(n 1)
2
19

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Adesso separiamo i termini dipendenti dalluscita da quelli dipendenti dallingresso:


T
T
T

1 a y(n ) 1 + a y(n 1) = b (x (n ) + x (n 1) )
2
2
2

Possiamo applicare la trasformata zeta ad entrambi i membri:

T
T 1
T

1
1 a Y ( z ) 1 + a z Y ( z ) = b 1 + z X ( z )
2
2
2

Facendo adesso il rapporto tra Y(z) ed X(z), otteniamo la funzione di sistema del filtro: con le
opportune manipolazione algebriche si ottiene

T
1 + z 1
bT 1 + z 1
b
Y( z )
2
H(z) =
=
= ... =
=
1
T 1 (2 aT ) (2 + aT )z
T
X( z )
2 1 z 1
a

1 a 1 + a z
2
2

T 1 + z 1
b

Se adesso confrontiamo questa funzione con la funzione di trasferimento H(s) =

b
del filtro
sa

analogico da cui siamo partiti, la corrispondenza evidente: basta prendere


s=

2 1 z 1
T 1 + z 1

Questa sostituzione consente di passare dal filtro analogico al corrispondente filtro numerico,
ossia anche di mappare il piano-s (trasformata di Laplace, caso tempo-continuo) nel piano-z
(trasformata zeta, caso tempo-discreto).
Questo ragionamento matematico stato condotto per un filtro del primo ordine, ma si pu
facilmente verificare che si applica, in generale, ad un filtro di ordine N qualsiasi, ossia un filtro
descritto da una equazione lineare di ordine N.

Caratteristiche della trasformazione bilineare


A questo punto, il passo successivo quello di indagare sulle caratteristiche di questa
trasformazione. Infatti, da essa ci aspettiamo due caratteristiche fondamentali, precedentemente
citate:
la prima che lasse immaginario nel piano-s venga mappato nel cerchio unitario del pianoz;
la seconda che il semipiano sinistro del piano-s venga mappato nei punti allinterno del
cerchio unitario del piano-z, al fine di garantire che un filtro stabile nel dominio analogico
corrisponda ad un filtro stabile anche nel dominio numerico.
Vediamo allora se questi requisiti sono soddisfatti.

Autore: Sandro Petrizzelli

20

Progetto di filtri IIR (parte I): trasformazione bilineare

Cominciamo col porre genericamente z=rej, in modo da individuare un punto nel piano z tramite
modulo (=r) e fase (=)5: sostituendo nella trasformazione bilineare e facendo qualche
manipolazione algebrica, otteniamo
s=

2 1 z 1 2 z 1 2 re j 1 2 r (cos + jsin) 1 2 (r cos 1) + jr sin


=
=
=
=
=
T 1 + z 1 T z + 1 T re j + 1 T r (cos + jsin) + 1 T (r cos + 1) + jr sin

2r sin
2
r 2 1
2 (r cos 1) + jr sin (r cos + 1) jr sin

= ... =
+j
2
2
T 1 + r + 2r cos 1 + r + 2r cos
T (r cos + 1) + jr sin (r cos + 1) jr sin
Se inoltre scomponiamo s in termini di parte reale e parte immaginaria (s=+j), possiamo
uguagliare le parti reali e le parti immaginarie dei due membri, ottenendo
2
r 2 1

T 1 + r 2 + 2r cos
2
2r sin
=
T 1 + r 2 + 2r cos
=

Queste due relazioni ci consentono di appurare quanto da noi ricercato:


consideriamo il caso di un punto che, nel piano-z, si trovi allinterno del cerchio unitario: ci
significa che r<1; osservando lespressione di , si nota che, se r<1, risulta <0, ossia un punto
che, nel piano-s, si trova nel semipiano sinistro;
in modo del tutto analogo, immediato verificare che, se r>1, allora risulta >0: ci significa
che ad un punto allesterno del cerchio unitario corrisponde un punto nel semipiano destro del
piano-s;
ovviamente, per r=1 (punti sul cerchio unitario), si ottiene =0 (punti sullasse immaginario).
Quindi, abbiamo ottenuto esattamente la mappatura che ci interessava, sia in termini di passaggio
dallasse immaginario al cerchio unitario sia anche in termini di stabilit.
Possiamo anche ricavare qualcosa in pi: infatti, se consideriamo il caso in cui r=1 (quindi =0),
otteniamo anche che
2
2sin
2 sin
2

=
=
= tan
T 2 + 2 cos T 1 + cos T
2
Invertendo questa relazione, otteniamo
= 2arc tan

T
2

Questa relazione, cos come la precedente, evidenzia il legame esplicito tra la pulsazione nel
piano-s (la cosiddetta pulsazione analogica) e la pulsazione nel piano-z (pulsazione digitale).
Indicando tali pulsazioni rispettivamente con A ed D, scriviamo dunque che

Da notare che, cos facendo, stiamo attribuendo ad il significato della pulsazione 2f normalizzata alla frequenza di
campionamento. Se supponiamo unitaria tale frequenza, allora pulsazione e pulsazione normalizzata sono la stessa cosa.

21

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

D = 2arc tan
A =

A T
2

2
tan D
T
2

Graficamente, queste due relazioni corrispondono a quanto riportato nella figura seguente:

Notiamo che la mappatura da asse immaginario (piano-s) a cerchio unitario (piano-z) deve avere
un altro requisito: mentre sullasse immaginario ci possiamo muovere indefinitamente da - a +,
sul cerchio unitario il movimento non pu che essere periodico, per cui la mappatura deve essere
tale da dare una relazione tra una variabile che varia da - a + ed una variabile periodica. In effetti,
questo accade, perch noto che la funzione Tangente ha una periodicit di .
Unaltra osservazione riguarda landamento quasi rettilineo che la curva diagrammata nellultima
figura ha per valori piccoli della pulsazione analogica A (riportata in ascisse): in effetti, la tangente
la funzione trigonometrica che meglio approssima, intorno allorigine, un andamento rettilineo.
Quindi, nellintorno della pulsazione zero, le due pulsazioni A ed D
variano praticamente di pari passo, il che corrisponde a dire che la
funzione di trasferimento analogica e quella digitale avranno, in
tale intorno, andamento molto simile.
Se invece cominciamo ad aumentare la pulsazione analogica, notiamo che i corrispondenti valori
di D non aumentano indefinitamente, in quanto rimangono comunque allinterno dellintervallo [,+] (la relazione di tipo spiccatamente non-lineare). Abbiamo cio una compressione
dei valori di A in un intervallo di valori di D sempre pi
piccolo. Questa compressione corrisponde evidentemente ad una deformazione della funzione di
trasferimento del filtro digitale rispetto a quella del filtro analogico, ma questo fatto non rappresenta
un grosso problema: infatti, conoscendo esattamente la relazione tra D ed A, automaticamente
conosciamo perfettamente lentit della suddetta deformazione, per cui possiamo tenerne conto.
Come ne teniamo conto? Il discorso semplice e sar ripreso anche in seguito: in fase di progetto del
filtro analogico, provvederemo a pre-distorcere opportunamente la sua funzione di trasferimento, in
modo tale che il corrispondente filtro digitale assuma landamento desiderato (cio sostanzialmente
quello che rientra nella maschera prefissata e approssima al meglio ci che vogliamo ottenere).

Autore: Sandro Petrizzelli

22

Progetto di filtri IIR (parte I): trasformazione bilineare

Per concludere, notiamo anche che la trasformazione bilineare mappa il punto s= del dominio di
Laplace nel punto z=-1 del dominio della trasformata zeta. Un caso evidente proprio quello del
filtro passa-basso analogico considerato prima: infatti, abbiamo visto che tale filtro era caratterizzato
b
dalla funzione di trasferimento H(s) =
, cui corrisponde un filtro numerico che abbiamo visto
sa
essere
H(z) =

b
2 1 z 1
a

T 1 + z 1

Questo filtro ha evidentemente uno zero in z=-1

Esempio
Usiamo ancora una volta un esempio concreto per capire i discorsi fatti. Consideriamo perci un
filtro analogico con la seguente funzione di trasferimento:
H A (s) =

s + 0.1
(s + 0.1)2 + 16

Si tratta di un filtro del 2 ordine (il grado del numeratore 2), con poli situati in -0.1j4. La
pulsazione di risonanza A,n=4. Modulo e fase della funzione di trasferimento sono riportati nella
figura seguente, in funzione della pulsazione e usando una scala logaritmica sulle ordinate:

23

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Vogliamo convertire questo filtro in un filtro digitale IIR tramite lapplicazione della
trasformazione bilineare. In particolare, vogliamo fare in modo che tale filtro digitale abbia una
pulsazione di risonanza pari a /2.
Circa questultimo requisito, subito ovvio che lunico grado di libert a nostra disposizione sul
valore da attribuire al periodo di campionamento T. Possiamo allora fissare T proprio imponendo il
vincolo sulla risonanza: infatti, sappiamo che la mappatura delle pulsazioni retta dallequazione
D = 2arc tan

A T
2

Di conseguenza, ci basta imporre che D=/2 in corrispondenza di A=4: si trova immediatamente


che deve essere T=1/2.
Premesso questo, andiamo ad applicare la trasformazione bilineare, che per T=1/2 sar
2 1 z 1
1 z 1

=
4
s =
1
1
1+ z
T 1 + z T =1 / 2
Sostituendo nellespressione di HA(s), otteniamo

H ( z) =

1 z 1
+ 0.1
4
1
1+ z
2

1 z 1

4
+ 0.1 + 16

1+ z

= ... =

0.128 + 0.006z 1 0.122z 2


1 + 0.0006z 1 + 0.975z 2

Se accettiamo, per semplicit, solo un progetto approssimato (vedremo che non sempre possiamo
farlo), possiamo approssimare a zero il coefficiente del termine z-1 a denominatore, per cui
concludiamo che il filtro digitale dato approssimativamente da
H(z)

0.128 + 0.006z 1 0.122z 2 0.128z 2 + 0.006z 0.122


=
1 + 0.975z 2
z 2 + 0.975

Il filtro ottenuto presenta dunque due poli e due zeri:


poli
p1 / 2 = 0.987e j / 2
1
zeri
z1 / 2 =
0.95
Abbiamo quindi ottenuto un filtro IIR a due poli con risonanza nei pressi di D=/2.

Esempio
Il precedente esempio un classico caso in cui partiamo da un filtro analogico e passiamo ad
ottenere il corrispondente filtro numerico, imponendo su di esso una precisa condizione (in quel caso
la risonanza ad una determinata frequenza) da ottenere fissando opportunamente T. In generale, il
progetto dei filtri digitali, basato su trasformazione bilineare, procede nel modo seguente:

Autore: Sandro Petrizzelli

24

Progetto di filtri IIR (parte I): trasformazione bilineare

il punto di partenza sono le specifiche in frequenza sul filtro digitale;


queste specifiche vengono convertire nel dominio analogico come indicato dalla relazione
T
D = 2arc tan A che lega le pulsazioni nei due domini;
2
viene quindi progettato il filtro analogico che risponde a queste specifiche;
infine, si usa la trasformazione bilineare per ottenere il corrispondente filtro numerico, cio
lesito finale del progetto.
Con questo metodo, il parametro T trasparente, nel senso che pu essergli attribuito un valore
del tutto arbitrario: tipicamente, per comodit si pone T=1. Lesempio che sviluppiamo adesso
chiarisce questultimo concetto.
Vogliamo progettare un filtro digitale passa-basso, a singolo polo, con una pulsazione di taglio (o
pulsazione a -3dB) in corrispondenza di 0.2. Per ottenere questo, vogliamo usare la
trasformazione bilineare applicata al seguente filtro analogico:
H A (s) =

A ,C
s + A ,C

dove A ,C la pulsazione a -3dB del filtro stesso.


Per prima cosa, cos come abbiamo fatto nellesempio precedente, leghiamo la pulsazione di
taglio del filtro analogico a quella desiderata per il filtro numerico:
D ,C = 2arc tan

A ,C T
2

Imponendo D,C=0.2 e invertendo quella relazione, si ottiene banalmente A ,C =

0.65
.
T

Sostituendo allora nella funzione di trasferimento del filtro analogico, otteniamo


H A (s) =

0.65 / T
s + 0.65 / T

Questa funzione rappresenta il nostro progetto del filtro analogico: lo otterremo, ad esempio, con
un banale circuito RC serie, alimentato in tensione e con uscita prelevata sul condensatore:

R
+

x(t)
-

y(t)
-

Adesso dobbiamo passare al corrispondente filtro numerico, applicando semplicemente la


trasformazione bilineare: otteniamo
25

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

0.65
0.65
0.245(1 + z 1 )
T
H(z) =
=
=
1 0.509z 1
1 z 1
2 1 z 1 0.65

2
0
.
65
+
+
1 + z 1
T 1 + z 1
T

Come previsto, il parametro T scomparso, il che significa che non abbiamo alcun vincolo su di
esso. Poniamo per semplicit T=1 sec.
Possiamo anche verificare la risposta in frequenza di questo filtro, per accertarci che rispetti le
specifiche di progetto. Ponendo z=ejT (che diventa ej avendo posto T=1), otteniamo
H() =

0.245(1 + e j )
1 0.509e j

Per verificare se la pulsazione a -3dB quella desiderata, ci basta calcolare il guadagno in


corrispondenza di tale frequenza e confrontarlo con quello in continua (=0):
= 0.2
H(0.2) = ... = 0.707
=0
H(0 = ... = 1
Il risultato ottenuto esattamente quello desiderato.

Esempio
Facciamo un altro esempio, analogo al precedente ma ancora pi dettagliato.
Vogliamo definire il filtro numerico corrispondente ad un filtro analogico passa-basso a singolo
polo, ad esempio del tipo seguente:

i(t)
+

x(t)
-

y(t)
-

La funzione di trasferimento di questo filtro si ricava banalmente applicando il partitore di


tensione direttamente nel dominio di Laplace: si ottiene
H A (s) =

Y(s)
1 / sC
=
X(s) R + 1 / sC

Applicando la trasformazione bilineare, per un passo di campionamento T generico, otteniamo

Autore: Sandro Petrizzelli

26

Progetto di filtri IIR (parte I): trasformazione bilineare

1
2 1 z 1

C
T 1 + z 1
1 + z 1
H(z) =
= .... =
1
1
2
2
R+
1 + RC + 1 RC z
1
2 1 z

T
T

C
1
T 1+ z
1 2RC / T
< 1.
1 + 2RC / T
Proviamo a capire quale sia la funzione di risposta allimpulso del filtro. Possiamo per esempio
scomporre il filtro nella cascata di due filtri, cos fatti:
E questo un filtro che presenta uno zero in -1 ed un polo in p =

H 1 ( z ) = 1 + z 1

1
H ( z ) = H1 ( z ) H 2 ( z )
H 2 (z) =
1
2
2

1 + RC + 1 RC z

T
T
Il filtro indicato con H1(z) un semplice filtro FIR (avente uno zero in -1 ed un polo nellorigine),
la cui funzione di risposta allimpulso semplicemente
1

Conosciamo bene le caratteristiche della funzione di trasferimento di questo filtro.


In cascata a questo filtro, dobbiamo porre il filtro H2(z), che un filtro IIR, avente uno zero
1 2RC / T
nellorigine ed il polo in p =
< 1 . Questo polo allinterno del cerchio unitario, il che
1 + 2RC / T
significa che H2(z), e quindi anche H(z), stabile. Non poteva essere altrimenti: siamo infatti partiti
da un filtro analogico stabile, in quanto il suo polo -1/RC, per cui anche il corrispondente filtro
numerico, per le propriet della trasformazione bilineare, doveva necessariamente essere stabile.
Si pu ricavare agevolmente che la funzione di risposta allimpulso corrispondente H2(z) la
seguente (di lunghezza infinita):
n
1 2RC / T
n
h 2 (n ) = p =

1 + 2RC / T

{ }

Note, dunque, h1(n) ed h2(n), ci basta convolverle per ottenere la risposta allimpulso h(n) del
filtro complessivo. Si trova una risposta allimpulso del tipo seguente:

.................
n

27

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Considerazioni generali sul progetto tramite trasformazione bilineare


In generale, sappiamo che le specifiche di progetto, per un filtro digitale cos come per uno
analogico, non sono in termini di andamento esatto della funzione di trasferimento, quanto in termini
di maschera allinterno della quale il modulo di tale funzione di trasferimento deve rientrare. Ad
esempio, nel caso di un filtro passa-basso, la maschera del tipo seguente:

banda
passante

banda di
transizione

banda
arrestata
fC/2

f (Hz)

Classica maschera per un filtro passa-basso: di particolare importanza sono le frequenze fS ed fD (>fS)
che delimitano la banda di transizione. La maschera ovviamente riferita allintervallo [0,fC/2], in
quanto il mondo tempo-discreto si ripete periodicamente allesterno di tale intervallo

Di conseguenza, il problema principale che dobbiamo porci, in fase di progetto, il seguente:


trovare il prototipo di filtro analogico che, trasformato in digitale tramite la trasformazione
bilineare, produce un filtro numerico che rientra nella maschera assegnata.
Quando parliamo di prototipo di filtro analogico ci riferiamo sostanzialmente al fatto che anche in
analogico non interessa un filtro preciso, ma una maschera: il filtro analogico deve rientrare in tale
maschera e, una volta convertito tramite la trasformazione bilineare, deve dare un filtro digitale che a
sua volta rientri nella propria maschera.
Quindi, il problema si riconduce a determinare la maschera analogica
corrispondente
alla
maschera
tempo-discreta
che
ci

stata
assegnata.
Ci che consente il passaggio dalluna allaltra maschera ancora la formula che lega le
pulsazioni nei due domini, analogico e digitale:
T
D = 2arc tan A
2
Tramite questa relazione, infatti, possiamo ricavare le frequenze delimitatrici della banda di
transizione del filtro analogico note che siano quelle del filtro digitale da realizzare.
Quindi, il metodo di progetto pu essere cos sintetizzato:
il punto di partenza sono le specifiche in frequenza sul filtro digitale, espresse in termini di
maschera da rispettare, ossia sostanzialmente di massimo ripple in banda passante, massimo
ripple in banda arrestata, minima attenuazione in banda arrestata e frequenze delimitatrici della
banda di transizione;

Autore: Sandro Petrizzelli

28

Progetto di filtri IIR (parte I): trasformazione bilineare

queste

specifiche vengono convertire nel dominio analogico tramite la relazione


T
D = 2arc tan A : si ottiene perci la maschera analogica equivalente a quella digitale di
2
partenza;

viene quindi progettato il filtro analogico che rientra nella maschera;


infine, si usa la trasformazione bilineare per ottenere il corrispondente filtro numerico.
A T
tiene intrinsecamente conto
2
della deformazione subita dalle frequenze analogiche nel passaggio a
quelle digitali: ci significa, sostanzialmente, che la maschera analogica contiene gi di per
s le pre-distorsione di cui abbiamo parlato in precedenza.
Infine, c da considerare lottimizzazione per il progetto di filtri IIR, per la quale vale
sostanzialmente quanto gi detto per i filtri FIR: una volta definito un parametro (ad esempio il
classico errore quadratico medio) che sia indice della bont dellapprossimazione che otteniamo, si
pu mettere in piedi una procedura di ottimizzazione che, agendo sui coefficienti del
numeratore e del denominatore della H(z), venga iterata fin quando, con la complessit assegnata, si
ottiene il minimo scostamento rispetto alla funzione di trasferimento desiderata.
Alla fine, si ottiene dunque un filtro H(z) descritto in termini di polinomio in z.
E ovvio che la relazione

D = 2arc tan

PROBLEMI LEGATI ALLA PRECISIONE DI CALCOLO DEI COEFFICIENTI


Abbiamo detto che, al termine del progetto di un filtro (sia esso FIR o IIR), otteniamo il filtro
stesso in termini di funzione di sistema H(z), ossia sostanzialmente in termini di polinomio in z (o in
z-1, la stessa cosa):

{h (n )} H(z) = h (n )z n
n

I coefficienti di questo polinomio sono dei numeri reali: essi infatti corrispondono esattamente ai
campioni della risposta allimpulso h(n) del sistema stesso, che deve essere reale.
Necessariamente, la precisione con cui descriviamo questi coefficienti limitata, sia se ci
riferiamo ad una simulazione al computer (Matlab) sia se ci riferiamo allimplementazione pratica
del filtro: in ogni caso, infatti, dovremo usare dei moltiplicatori binari con un numero finito di cifre.
Nel caso dei filtri FIR, la limitata precisione non rappresenta un problema particolarmente grave,
in quanto le funzioni di trasferimento presentano solo poli nellorigine (che sono fissi) e zeri, per cui
non si hanno problemi di stabilit: in generale, nel caso dei filtri FIR, un eventuale errore di
rappresentazione di uno o pi coefficienti determina una diversa posizione di uno o pi zeri; dato che
tali zeri influiscono solo sulle frequenze alle quali il filtro deve attenuare maggiormente il segnale in
ingresso, deduciamo che errori sugli zeri possono influenzare tuttal pi
il comportamento nella banda arrestata, dove appunto lattenuazione
massima.
Se, invece, passiamo ai filtri IIR, allora le cose si complicano, a causa della presenza dei poli:

H(z ) =

a 0 1 z k z 1

(1 p
k

z 1

29

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Cerchiamo allora di capire, per un filtro di questo tipo, quale sia la funzione svolta dagli zeri e
quale quella svolta dai poli.
Abbiamo gi visto che un filtro di questo tipo si pu scomporre nella cascata di un filtro tutti zeri
(FIR) e di un filtro tutti poli (IIR):

H(z 1 ) = H1 (z 1 ) H 2 (z 1 ) = a 0 1 z k z 1
k

1
1 p k z 1

Il filtro FIR, avendo solo zeri, presenta anche una batteria di poli situati nellorigine, per cui ha
una mappa poli-zeri del tipo seguente:

Possiamo allora visualizzare la situazione come se landamento della funzione di trasferimento sia
rappresentato da un tendone da circo: con questa visualizzazione, gli zeri del filtro possono essere
visti come dei chiodi che mantengono il tendone ben fissato in corrispondenza dei vari punti del
cerchio unitario6.
Questo un modo semplice di visualizzare il fatto che gli zeri sul cerchio unitario
impongono
attenuazione
infinita,
ovvero
stabiliscono
a
quali
frequenze il modulo della funzione di trasferimento deve essere
nullo. Tanto per richiamare un esempio concreto, ricordiamo il comportamento di un filtro
NOTCH, che ha una coppia di zeri complessi coniugati posizionati sul cerchio unitario: se, ad
esempio, i due zeri sono in j, allora il filtro tale da azzerare uneventuale sinusoide, a frequenza
fC/4, mandata in ingresso al filtro.

Non detto che gli zeri debbano necessariamente trovarsi sul cerchio unitario. Dovunque essi si trovino, il significato sempre lo
stesso.

Autore: Sandro Petrizzelli

30

Progetto di filtri IIR (parte I): trasformazione bilineare

Im
+j

2T

Re

-j

Risposta allimpulso (lunga 3) e mappa poli-zeri della corrispondente funzione di sistema, per un filtro
NOTCH che azzeri uneventuale ingresso sinusoidale (ovviamente campionato) a frequenza fC/4. Se lo
zero si trova sul cerchio unitario, allora esso impone una attenuazione infinita; al contrario, se esso non
si trova sul cerchio unitario, ma ha la stessa fase, allora lattenuazione finita, tanto maggiore quanto
pi lo zero vicino al cerchio unitario (r1)

Questo per quanto riguarda, dunque, la parte relativa agli zeri. I poli si comportano in
modo sostanzialmente duale, in quanto corrispondono a modulo
estremamente
grande
(al
limite
infinito)
della
funzione
di
trasferimento. Essi quindi possono essere usati per tirar su il modulo della funzione di
trasferimento nella banda desiderata. Di conseguenza, andranno sistemati in modo da corrispondere a
frequenze nella banda passante del filtro.
Riprendendo la schematizzazione di prima del tendone, mentre gli zeri sono dei chiodi, i poli
sono una specie di pali, proprio perch servono a tirar su la funzione di trasferimento.

Schematizzazione dei poli e degli zeri


Per comprendere ancora meglio lanalogia tra poli e zeri da un parte e, rispettivamente,
pali e chiodi dallaltra, possiamo far riferimento ad un caso concreto. Consideriamo
infatti la seguente funzione di sistema:
1 2z 1
H ( z) =
1 32z 5
Una funzione di questo tipo stata gi analizzata in precedenza: facile verificare che
essa presenta 4 poli disposti, in posizioni a due a due simmetriche rispetto allorigine del
piano-z, sul cerchio di raggio 2, e presenta inoltre uno zero (di molteplicit 4)
nellorigine. E possibile usare una simulazione al calcolatore (Matlab) con la quale
diagrammare landamento del modulo di H(z) al variare di z sul piano-z. Usando una
rappresentazione tri-dimensionale (che cio appunto riporti |H(z)| per un numero
prefissato di punti del piano-z), si ottiene la seguente figura:

31

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Si sono considerati, in questo caso, 1600 punti, ottenuti considerando 40 valori sullasse
reale e altrettanti sullasse immaginario. Come si nota, i poli portano su il modulo di
H(z), mentre lo zero nellorigine tiene tale modulo ancorato in z=0.

Una attenzione particolare bisogna porre per limplementazione di coppie di poli e/o di zeri
complessi coniugati, per ottenere i quali sappiamo di dover usare celle elementari del secondo
ordine (ogni cella la cascata di due celle elementari del primo ordine, ciascuna corrispondente ad
un polo o ad uno zero complesso):
per realizzare una coppia di zeri complessi coniugati, dovremo considerare una cella
elementare del tipo

)(

H i (z 1 ) = 1 + re j z 1 1 + re j z 1 = 1 + r e j + e j z 1 + r 2 z 2 = 1 + 2r cos z 1 + r 2 z 2
Questa cella (che presenta due poli nellorigine e due zeri complessi coniugati z=rej) ha
evidentemente una funzione di risposta allimpulso lunga 3 campioni:
2r cos( z )
1

r2

2T

per realizzare una coppia di poli complessi coniugati, dovremo invece considerare una cella
elementare del tipo
1
1
1
H(z 1 ) =

= ... =
j 1
j 1
1 re z 1 re z
1 2r cos z 1 + r 2 z 2

Autore: Sandro Petrizzelli

32

Progetto di filtri IIR (parte I): trasformazione bilineare

Otteniamo in questo caso i due poli complessi coniugati p=rej ed uno zero doppio
nellorigine, cio la funzione di trasferimento reciproca della precedente.
In questo caso, ci riagganciamo al discorso da cui eravamo partiti, in quanto entra in gioco la
precisione di calcolo. In particolare, i problemi vengono dal coefficiente intermedio cos, che va
necessariamente approssimato. Possiamo allora renderci conto del fatto che tale approssimazione non
d grossi problemi nel caso degli zeri, mentre pu darne nel caso dei poli:
consideriamo la coppia di zeri complessi: supponiamo che tali zeri debbano trovarsi sul cerchio
unitario, il che significa porre r=1; una eventuale variazione del coefficiente cos corrisponde
semplicemente ad una variazione angolare dei due zeri, che continuano a rimanere sul cerchio
unitario. Questo significa che un eventuale arrotondamento dei coefficienti
relativi agli zeri pu avere come conseguenza semplicemente lo
spostamento delle frequenze di attenuazione infinita rispetto a
quelle teoriche calcolate; leffetto in banda passante di questo spostamento solo
marginale;
passiamo invece alla coppia di poli complessi: in questo caso, dato che noi vogliamo solo filtri
stabili, i due poli si trovano allinterno del cerchio unitario, per cui r<1; se, allora,
commettiamo un errore sul coefficiente intermedio (ad esempio tramite una descrizione
grossolana), non cambia solo la fase dei due poli, ma anche il modulo, in quanto dobbiamo
approssimare non pi cos, ma rcos. Questo pu non essere tollerabile: infatti, se abbiamo
progettato un filtro molto selettivo, quindi con andamento molto appuntito in un piccolo
intervallo di frequenze, per ottenere landamento desiderato abbiamo bisogno di piazzare un
polo molto vicino al cerchio unitario; dato, per, che anche piccole imprecisioni di calcolo
possono spostare il polo rispetto alla posizione desiderata, la situazione diventa critica: non
solo perch potremmo avere un comportamento diverso da quello previsto, ma anche perch, se
il polo dovesse finire al di fuori del cerchio unitario, il sistema diventerebbe instabile.
Possiamo perci concludere che, nel caso dei filtri IIR, la scelta sulla
precisione da adottare per il calcolo dei coefficienti un problema
critico.
Possiamo anche condurre una minima analisi matematica della questione7. Consideriamo infatti il
denominatore della funzione di sistema del filtro considerato:

D(z) = 1 p k z 1 = a i z i
k

i =0

Possiamo esprimere tale denominatore sia in termini dei produttoria di binomi, in modo da
evidenziare le sue radici (cio i poli del filtro), sia in termini di polinomio in z-1, in modo da
evidenziare i coefficienti del filtro stesso.
Consideriamo, in particolare, questa seconda rappresentazione e valutiamo la cosiddetta
sensitivit, ossia la dipendenza dei poli dalle variazioni dei coefficienti del filtro. Sostanzialmente,
p k
quello che ci interessa calcolare la quantit
, cio la dipendenza della posizione del polo ka i
simo dal coefficiente i-simo del polinomio.

Si veda, in proposito, la dimostrazione a pag. 138 del Rocca

33

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Per fare questa valutazione, cominciamo a calcolare la derivata del polinomio D(z) rispetto al
generico coefficiente ai del polinomio stesso: otteniamo
D(z)
D(z)
z
=
a i z = p
z z = p k a i
k

=
z =pk

D(p k ) p k

p k
a i

Da qui possiamo esplicitare la suddetta sensitivit:

p k
=
a i

D(z 1 )
a i z =p
D(p k )
p k

Se consideriamo che D(z) = 1 p k z 1 , possiamo esplicitare meglio la derivata a denominatore:


k

intanto, possiamo scrivere che


pk p j
= p kN (p k p j )
D(p k ) = 1 p j p k1 =
pk
j
j
j

Dobbiamo ora derivare questa quantit rispetto a pk: avendo il prodotto di N+1 termini, la
derivazione risulta complicata, ma si intuisce che il risultato finale sia un qualcosa di proporzionale
alla quantit (p k p j ) .
j k

Sostituendo, allora, nellespressione di

p k
, otteniamo
a i

p k

a i

D(z 1 )
a i z =p

(p
j k

pj)
k

Se invece consideriamo la derivata a numeratore, la cosa ancora pi semplice:


D(z 1 )
N

=
= z i
a i z i
a i z = p
a i i=0
z=pk
k

z=pk

= p k i

Abbiamo ancora una costante di proporzionalit, per cui possiamo concludere che
p k
1

a i
(p k p j )
j k

Questo risultato dice in pratica che la sensibilit di un polo pk alle


fluttuazioni di un coefficiente ai inversamente proporzionale al
prodotto delle distanze relative tra tutte le radici del polinomio e
Autore: Sandro Petrizzelli

34

Progetto di filtri IIR (parte I): trasformazione bilineare

il polo stesso. Di conseguenza, questa sensibilit risulta tanto maggiore quanto pi esistono,
nella costellazione, coppie di poli vicini tra loro.
Non solo, ma la sensitivit cresce anche al crescere del grado del polinomio D(z), cio al crescere
del numero di poli. Questo uno dei motivi fondamentali per cui opportuno realizzare blocchi che
contengano solo polinomi di grado minimo, e cio 2, per evitare di utilizzare aritmetica complessa.
Quindi, sistema complicati devono essere realizzati come cascate di forme biquadratiche, ossia di
funzioni di trasferimento che realizzano una coppia di poli ed una coppia di zeri. Tali funzioni sono
implementate da blocchi del tipo gi visto in precedenza e qui di seguito riproposti:

x(n)

y(n)

T
2rp cos p

2rz cos z

T
rP2

rZ2

UTILIZZO DELLE STRUTTURE ANALOGICHE A SCALA


Siamo nellambito del problema del controllo delle radici di un polinomio
H(z) mediante il controllo dei coefficienti del polinomio stesso: il
problema nasce dal fatto che tali coefficienti devono essere descritti con precisione inevitabilmente
finita.
Quando, in precedenza, abbiamo descritto i metodi implementativi dei filtri IIR, abbiamo visto
che la generica cella elementare, corrispondente ad una funzione di sistema con una coppia di poli
complessi coniugati ed una coppia di zeri complessi coniugati, fatta nel modo seguente:

x(n)

y(n)

T
2r cos

2r cos

T
r2

-r2

35

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Questa cella ottenuta ponendo in cascata la cella elementare del secondo ordine corrispondente
alla coppia di poli e quella (sempre elementare del secondo ordine) corrispondente alla coppia di
zeri.
Per le considerazioni fatte nel paragrafo precedente, una struttura di questo tipo richiede
particolare attenzione per quanto riguarda i coefficienti dei moltiplicatori: infatti, mentre non
abbiamo problemi per quanto riguarda gli zeri, ne abbiamo per quanto riguarda i poli, in quanto
bisogna assicurarsi che essi, oltre a mantenersi nei pressi delle posizioni teoriche previste, rimangano
comunque allinterno del cerchio unitario, onde garantire un filtro comunque stabile.
Questo discorso assolutamente analogo a quello da fare quando si vuole ottenere un filtro
analogico tramite una rete RLC e si vogliono determinare i valori delle capacit e delle induttanze
per avere una data funzione di trasferimento. Anzi, nel mondo analogico i problemi sono
decisamente minori, in quanto, anche sbagliando il valore di una induttanza, il filtro conserva
sostanzialmente le proprie caratteristiche e, soprattutto, rimane stabile. Ad esempio, quando si vuole
realizzare un filtro passa-basso, delle strutture molto usate sono le cosiddette strutture a scala,
che sono del tipo seguente:

Abbiamo cio una serie di celle LC, poste in cascata, chiuse da una parte sul generatore (con
resistenza serie) e dallaltra sul carico, rappresentato da una resistenza RL.
Fissata la funzione di trasferimento che si vuole ottenere, bisogna dimensionare i valori di
induttanze e capacit. Per fare questo, sono state predisposte delle apposite tabelle, in cui vengono
riportati i valori di L e di C normalizzati rispetto alla frequenza di taglio fT: in altre parole, sono
tabulati i valori di L/fT e di C/fT. Queste tabelle consentono perci di dimensionare L e C in funzione
della frequenza di taglio che si desidera ottenere.
Ci sono anche altre tabelle di questo tipo, nelle quali per la normalizzazione viene fatta rispetto
alle impedenze di ingresso e di uscita. Questo possibile per una particolare propriet delle reti a
scala: infatti, se abbiamo una rete a scala e dividiamo tutte le impedenze
per uno stesso numero, la funzione di trasferimento non cambia.
Sfruttando questa propriet, si trovano i valori delle impedenze della rete (L e 1/C) normalizzate
allimpedenza di ingresso Rg ed alla impedenza di uscita RL, che di solito sono uguali.
Con queste tabelle, quindi, conoscendo il valore che serve per limpedenza di ingresso e quella di
uscita ed avendo effettuato la denormalizzazione per ottenere la frequenza di taglio desiderata, si pu
sintetizzare la rete finale.
In effetti, nel progetto di un filtro analogico c anche un altro parametro importante, vale a dire il
numero di celle elementari da porre in cascata, ossia sostanzialmente il grado di complessit della
rete. Facciamo un esempio concreto: se si vuole realizzare un filtro alla Butterworth (filtro passabasso a soli poli), il modulo al quadrato della funzione di trasferimento deve essere del tipo

H() =
2

Autore: Sandro Petrizzelli

1 +

C
36

2n

Progetto di filtri IIR (parte I): trasformazione bilineare

dove C la pulsazione di taglio, cio la pulsazione alla quale il guadagno del filtro scende di 3dB
rispetto al valore in continua (=0).
In questa espressione c un grado di libert che appunto il numero n di celle da porre in cascata
(ogni cella introduce un polo, in quanto comprende un elemento reattivo): fino alla frequenza C, il
modulo quadro di H() risulta sostanzialmente costante; a partire da C, invece, landamento di
|H()| subisce leffetto di n poli, ognuno dei quali contribuisce notoriamente ad un incremento di
pendenza (negativa) di 20 dB/decade. Di conseguenza, evidente che il numero n di celle da
considerare dipende dalle specifiche richieste e, in particolare, sia dalla attenuazione minima in
banda attenuata sia dalla estensione della banda transizione.
In base a queste specifiche, dunque, risulta determinata la complessit della rete. Non solo, ma in
questa rete i valori delle induttanze e delle capacit sono noti per frequenze di taglio normalizzate:
basta allora denormalizzare ed il progetto del filtro analogico ha termine.
Se stiamo progettando un filtro analogico cui poi dovremo far corrispondere un filtro numerico
ottenuto tramite trasformazione bilineare, ci baster applicare proprio la suddetta trasformazione per
ottenere il filtro numerico desiderato: otteniamo cio i coefficienti del numeratore e del
denominatore della funzione di sistema H(z) che rappresenta il filtro.
Quindi, la tecnica appena descritta si basa essenzialmente su due passaggi:
in primo luogo, si progetta il filtro analogico, cio sostanzialmente si dimensionano capacit ed
induttanze della rete a scala;
in secondo luogo, si applica la trasformazione bilineare per ottenere il corrispondente filtro
numerico, espresso in termini di una parte FIR (solo zeri, numeratore della funzione di sistema)
e di una parte IIR (solo poli, denominatore della funzione di sistema).
C per una considerazione da fare: nel mondo analogico, un eventuale errore sulle capacit e
sulle induttanze non d grossi problemi, in quanto il filtro continua ad essere molto simile a quello
desiderato; al contrario, nel mondo digitale, nel quale noi controlliamo la
posizione dei poli non pi tramite elementi reattivi ma tramite
coefficienti
numerici,
i
problemi
dovuti
ad
errori
di
approssimazione sono pi consistenti.
Si potrebbe allora pensare di scegliere una strada diversa per limplementazione di un filtro
numerico: cos come in analogico usiamo elementi reattivi per controllare la posizione dei poli,
potremmo pensare di fare qualcosa di analogo nel mondo numerico; in altre parole, possiamo andare
alla ricerca di blocchi che implementino resistori, condensatori ed induttori nel mondo numerico,
dopodich andremo a connettere tali blocchi cos come faremmo per un filtro analogico. Vediamo di
spiegarci meglio.
Supponiamo di voler simulare al calcolatore il comportamento di un elemento resistivo: dobbiamo
costruire un blocco che dia un legame istantaneo di proporzionalit tra lingresso e luscita e
sappiamo che banale ottenere questo, in quanto basta un moltiplicatore, che dia luscita appunto
moltiplicando lingresso per una costante di proporzionalit assegnata (sarebbe il valore della
resistenza). Pi complessa diventa invece la simulazione del comportamento di un elemento reattivo,
cio un induttore o un condensatore: infatti, in questo caso abbiamo il problema che luscita legata
alla derivata dellingresso tramite una costante di proporzionalit, per cui il moltiplicatore non pi
sufficiente.
Daltra parte, abbiamo visto nei precedenti paragrafi come si possa approssimare, nel mondo
tempo-discreto, loperazione di derivazione: si tratta dei discorsi che ci hanno portato alla
trasformazione bilineare:
2 1 z 1
s=
T 1 + z 1
37

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Consideriamo per esempio un condensatore: la relazione che ne caratterizza il funzionamento, nel


dv( t )
mondo analogico, notoriamente i( t ) = C
; applicando la trasformata di Laplace, otteniamo
dt
I(s) = CsV (s) , da cui deduciamo che la funzione di trasferimento H(s) = Cs . Per ottenere il
corrispondente sistema tempo-discreto, applichiamo la trasformazione bilineare:
s=

2 1 z 1
T 1+ z 1

H(s) = Cs H(z) =

2C 1 z 1 2C z 1
=
T 1 + z 1
T z +1

Abbiamo dunque ottenuto come fatto il blocco H(z) che, nel mondo tempo-discreto, approssima
il comportamento di un condensatore: a meno della costante di proporzionalit 2C/T, si tratta della
cascata di due celle elementari del primo ordine, una rappresentativa del polo in -1 e laltra
rappresentativa dello zero in +1:
H(z) =

H ( z ) = z 1
2C
H 1 (z ) H 2 ( z )
1
T
H 2 ( z ) = z + 1

Il corrispondente schema di flusso fatto allora nel modo seguente:

z-1
y(n)

x(n)

z-1

H1(z)

H2(z)

(zero in +1)

(polo in -1)

Questo dunque il modello tempo-discreto di un condensatore. Identico ovviamente sar il


modello di un induttore, a patto di ricordare che la relazione caratteristica in questo caso
di( t )
v( t ) = L
, per cui lingresso adesso la corrente, mentre luscita la tensione.
dt
Osservando il modello ottenuto, si nota immediatamente un problema: tra ingresso ed uscita c
un cammino a ritardo nullo. Si tratta di un problema in quanto dobbiamo pensare che il nostro
filtro sar ottenuto dalla combinazione di vari modelli di quel tipo: a seconda della connessione che
adottiamo, possibile che vari cammini a ritardo nullo vadano a costituire una maglia (o loop) a
ritardo nullo, il che non pu essere: infatti, una maglia a ritardo nullo indica che una variabile, in
un certo istante, dipende da se stessa nello stesso istante, il che significa che il filtro irrealizzabile.
Possiamo allora concludere con le seguenti considerazioni:
siamo partiti cercando di ottenere un filtro che, pur avendo un comportamento simile a quello
che sapremmo gi implementare banalmente tramite trasformazione bilineare, abbia per una
minore sensibilit ai parametri;

Autore: Sandro Petrizzelli

38

Progetto di filtri IIR (parte I): trasformazione bilineare

abbiamo individuato un modo di risolvere questo problema, che consiste nel costruire il filtro
numerico tramite interconnessione di strutture elementari, ciascuna rappresentativa dei
corrispondenti componenti analogici (resistori, condensatori ed induttori);
questa soluzione ha il pregio per cui, anche con una limitata precisione di rappresentazione dei
coefficienti, la risposta del filtro continua ad essere accettabile; essa presenta per due
svantaggi fondamentali:
il primo riguarda il pericolo che si creino maglie a ritardo nullo, che renderebbero il
progetto non fisicamente realizzabile;
il secondo riguarda levidente complessit della struttura del filtro: la struttura ottenuta
connettendo i blocchi del tipo riportato nellultima figura presenta sicuramente pi
moltiplicatori e sommatori della struttura che si otterrebbe usando la trasformazione
bilineare.
Supponendo allora di accettare la maggiore complessit della struttura, abbiamo sempre il
problema dei cammini a ritardo nullo. Una possibile soluzione a questo problema quella dei
cosiddetti filtri ad onda numerica (wave digital filter), descritti nel prossimo paragrafo.

FILTRI AD ONDA NUMERICA (WAVE DIGITAL FILTERS)


Lidea dei filtri a onda numerica prende le mosse da alcuni concetti tipici dei sistemi
analogici a parametri distribuiti, tali cio che le dimensioni fisiche siano confrontabili con la
lunghezza donda dei segnali che si propagano. Lesempio classico di sistema distribuito una linea
di trasmissione:

Ii
+

I(z)

I0

Vi

V(z)

V0

asse z
Come ben sappiamo, in ogni punto della linea risulta costante il rapporto tra la tensione V(z) e la
corrente I(z): tale rapporto rappresenta limpedenza caratteristica della linea stessa.
Lequazione differenziale (equazione dei telegrafisti) descrittiva del sistema lineare fornisce,
come soluzione generale, la sovrapposizione di unonda che si propaga allontanandosi dalla sorgente
(onda diretta) e di unonda che si propaga in verso opposto (onda riflessa). Se la linea
infinitamente lunga oppure di lunghezza finita ma chiusa su una impedenza concentrata
coincidente con limpedenza caratteristica della linea (linea adattata), allora c solo londa diretta
(in quanto al carico non si verifica alcuna riflessione, come indicato dal teorema del massimo
trasferimento di potenza). Se, invece, limpedenza di carico diversa dallimpedenza caratteristica
della linea, allora si genera anche londa riflessa (linea non adattata) in corrispondenza del carico: la
potenza erogata dal generatore non interamente trasferita al carico, ma viene in parte riflessa verso
la sorgente.
39
Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Anzich considerare il caso particolare di una linea di trasmissione, possiamo estendere


questi concetti ad un generico doppio bipolo per il quale sia
necessaria una descrizione a parametri distribuiti:
I1

I2

Doppio
Bipolo

V1

+
V2

Questo tipo di approccio quello seguito per un qualsiasi componente elettronico che lavori in
alta frequenza (microonde e oltre), cio appunto con segnali di lunghezza donda piccola: si fatta
questa scelta in quanto, per piccole lunghezze donda, non pi possibile definire i cortocircuiti
ideali per conduttori di dimensioni paragonabili appunto con .
Per questo tipo di situazioni, anzich descrivere il comportamento del doppio bipolo in termini di
tensioni e correnti alle due porte (cio, sostanzialmente, in termini di parametri Z o Y), si ricorre ad
una descrizione proprio in termini di onda diretta e onda riflessa, sia per la porta di ingresso sia per
la porta di uscita. Questa descrizione, che tra un attimo sar meglio dettagliata, porta alla nota
matrice di scattering, cio una matrice che rappresenta il comportamento del doppio bipolo in
funzione dei cosiddetti parametri S di scattering (o di diffusione).
Dobbiamo per prima cosa capire cosa intendiamo per onda diretta e onda riflessa. Per la generica
porta, consideriamo le seguenti definizioni:
onda diretta (incidente)
onda riflessa

a = V + R I
b = V R I

In queste definizioni, compare il parametro R, rappresentativo della resistenza di normalizzazione


per la porta considerata. Nel mondo analogico, il valore di R standard e vale 50 oppure 75 ; al
contrario, nel mondo numerico R non una resistenza fisica da implementare, il che ci conferisce
due gradi di libert: in primo luogo, possiamo fissare R a nostro piacimento e vedremo in seguito
quale valore ci conviene scegliere; in secondo luogo, possiamo adottare sia un valore di R uguale per
tutte le porte del dispositivo in esame sia un valore di R diverso per ciascuna porta.
Per semplicit, supponiamo che R sia uguale per tutte le porte. Di conseguenza, le definizioni che
adottiamo per le due porte sono le seguenti:
a = V1 + R I1
porta 1 : 1
b1 = V1 R I1

a = V2 + R I 2
porta 2 : 2
b 2 = V2 R I 2

Queste definizioni ci consentono di descrivere il comportamento del sistema in termini di matrice


di scattering: ci significa scrivere una relazione matriciale del tipo

[b] = [S] [a ]
In pratica, mentre nella descrizione mediante i parametri Z ed Y si considera, come variabile
indipendente per ciascuna porta, rispettivamente la corrente o la tensione, nella descrizione mediante
parametri S si considera come ingresso londa incidente e come uscita londa riflessa.
Esplicitando le matrici, abbiamo dunque che

Autore: Sandro Petrizzelli

40

Progetto di filtri IIR (parte I): trasformazione bilineare

b1 S11 S12 a 1
b = S

2 21 S 22 a 2
I parametri S vanno misurati per il dispositivo in esame ed il criterio con cui effettuare la misura
si basa proprio su quella relazione matriciale: per esempio, il coefficiente S11 dato evidentemente
da
S11 =

b1
a1

=
a 2 =0

V1 RI1
V1 + RI1

=
V2 + RI 2 = 0

V1 RI1
V1 + RI1

V2 = RI 2

In base a questa espressione, la misura di S11 si ottiene nel modo seguente: sulla porta 2 del
dispositivo dobbiamo porre semplicemente un resistore di resistenza R, mentre dobbiamo alimentare
la porta 1 tramite un generatore di tensione Vg con resistenza serie pari ad R:

Doppio
Bipolo

Su questo schema, dobbiamo poi misurare il rapporto tra londa riflessa e londa diretta per la
porta 1. In poche parole, S11 il rapporto tra onde riflessa e onda diretta alla porta 1 quando la porta
2 chiusa su un carico passivo di valore R.
In modo del tutto analogo, ci accorgiamo, ad esempio, che S12 dato da
S12 =

b1
a2

=
a1 = 0

V1 RI1
V2 + RI 2

=
V1 + RI1 = 0

V1 RI1
V2 + RI 2

V1 = RI1

A questo punto, anzich considerare un dispositivo generico, concentriamoci sui dispositivi che ci
interessano nei nostri discorsi, vale a dire condensatori e induttori. Essendo questi degli elementi
monoporta (e non biporta come i doppi bipoli), ovvio che lunico parametro S che ha significato
il rapporto tra londa incidente e londa riflessa allunica porta presente.
Cominciamo da un condensatore:
I

+
V

41

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Applicando le definizioni viste prima, abbiamo che


S=

b V R I
=
a V + R I

dove R sempre la resistenza serie con la quale supponiamo di alimentare il dispositivo.


Daltra parte, se ci poniamo direttamente nel dominio di Laplace, sappiamo che corrente e
tensione sono legate dalla relazione I=sCV, per cui scriviamo che
S=

V R sCV 1 sRC
=
V + R sCV 1 + sRC

Questo dunque il modello per il nostro condensatore analogico che lavora in alta frequenza. Per
ottenere il corrispondente dispositivo tempo-discreto, usiamo ancora una volta la trasformazione
bilineare:
2 1 z 1
2
2 1 z 1
1

RC

1 + z 1 RC 1 z 1
1

s
=
1 sRC
T 1+ z =
T
+ z 1
T 1
S =
S=
2
1 + sRC
2 1 z 1
1
1 + z + RC 1 z 1
1 + RC
1
T
T 1+ z

A questo punto, possiamo sfruttare quanto detto in precedenza circa il valore di R: non avendo
alcun vincolo, dato che stiamo nel mondo numerico, possiamo scegliere R come pi ci fa comodo. In
questo caso, ci fa comodo eliminare quante pi costanti possibile, per cui scegliamo R in modo tale
2
che risulti RC = 1 : quindi
T
RC

(
(

) (
) (

)
)

2
T
1 + z 1 1 z 1
=1
R =

S =
= z 1
1
1
T
2C
1+ z + 1 z

La conclusione cui siamo pervenuti la seguente: se il condensatore vede, alla porta, un livello di
impedenza puramente resistivo e di valore R=T/2C, esso pu essere simulato da un operatore
1
numerico S = z .
In altri termini, se effettuiamo una simulazione discreta del sistema analogico, possiamo sostituire
al condensatore un semplicissimo elemento di memoria (ad esempio un flip-flop o comunque una
cella di memoria):
I

+
V

z-1

E bene precisare che questa corrispondenza valida solo quando R=2/TC. Se non verificata
questa condizione, allora la simulazione non sarebbe corretta.

Autore: Sandro Petrizzelli

42

Progetto di filtri IIR (parte I): trasformazione bilineare

Possiamo adesso ripetere lidentico discorso per un induttore, per il quale cambia evidentemente
la relazione di lato, che adesso V=sLI: abbiamo che
L
1
b V R I sLI R I sL R
R
S= =
=
=
=
L
a V + R I sLI + R I sL + R
s +1
R
s

Questo il modello per un induttore analogico che lavora in alta frequenza. Per ottenere il
corrispondente dispositivo tempo-discreto, usiamo la trasformazione bilineare:
L
s 1 s = 2 1 z 1
+ z 1
S= R
T 1
S =
L
s +1
R

2 1 z 1
T 1 + z 1
2 1 z 1
T 1 + z 1

L
2
1
1 z 1
R
= T
2
L
1 z 1
+1
T
R

) RL (1 + z )
1

) RL + (1 + z )
1

Ancora una volta, scegliamo il valore di R in modo opportuno, ossia in modo tale che risulti
2 L
= 1 : quindi
T R

(
(

) (
) (

)
)

2 L
2L
1 z 1 1 + z 1
=1
R =

S =
= z 1
T R
T
1 z 1 + 1 + z 1
Rispetto al modello del condensatore che abbiamo ottenuta prima, abbiamo in pi una inversione
1
di segno: S = z .
I

+
V

z-1
-1

Dispositivi adattatori
Adesso cominciamo ad avere gli strumenti necessari per costruire un filtro numerico, che
corrisponda ad un filtro analogico RLC, semplicemente componendo i singoli blocchi (ciascuno
rappresentativo del corrispondente dispositivo analogico). C per da capire come vanno effettuate
le connessioni e come si risolve il problema dei cammini a ritardo nullo.
Per spiegarci meglio, immaginiamo di voler realizzare un filtro numerico che sia il
corrispondente, nel mondo discreto, del filtro analogico RLC rappresentato nella figura seguente:

43

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

Rg

L1

L2

RL

Le resistenze indicate con Rg ed RL sono, rispettivamente, quella di pilotaggio (resistenza serie del
generatore) e quella di carico. Il loro valore pu essere forzato al valore per noi pi comodo: per
esempio, potremmo prenderla entrambe di 1.
Resta quindi da sostituire ai due induttori ed al condensatore i rispettivi blocchi numerici: una
cella di memoria per il condensatore ed una cella di memoria in cascata ad un moltiplicare (per -1)
per gli induttori. C il problema di come imporre gli opportuni valori delle impedenze affinch la
simulazione sia corretta: infatti, sappiamo che i due modelli appena citati valgono solo quando
limpedenza di pilotaggio del condensatore vale R=T/2C e quella di pilotaggio degli induttori vale
R=2L/T. Si deduce che non possiamo effettuare un collegamento diretto tra i dispositivi discreti, ma
dobbiamo necessariamente interporre qualcosa (altri blocchi) che consentano ladattamento dei
livelli di impedenza.
Quali blocchi dobbiamo usare? In generale, per il generico dispositivo (blocco corrispondente al
condensatore o blocco corrispondente allinduttore), abbiamo bisogno di un dispositivo a 3 porte,
come indicato nella figura seguente:
-1

z-1

z-1

Blocco adattatore
(a 3 porte)
per il condensatore

Blocco adattatore
(a 3 porte)
per l'induttore

I due adattatori qui disegnati servono affinch le porte dei due dispositivi (simulatore del
condensatore e simulatore dellinduttore) vedano impedenze pari, rispettivamente, a T/2C e 2L/T.
Tramite questi adattatori, possiamo connettere i due simulatori al resto della rete. In particolare,
useremo adattatori tipo serie quando servono a rappresentare elementi collegati in serie, mentre
useremo adattatori tipo parallelo quando servono a rappresentare elementi collegati in parallelo.
Lultima cosa da fare comprendere quali devono essere le relazioni ai morsetti degli adattatori;
tali relazioni saranno diverse a seconda della connessione (serie o parallelo), per cui dobbiamo
distinguere i due casi.

Autore: Sandro Petrizzelli

44

Progetto di filtri IIR (parte I): trasformazione bilineare

Progetto delladattatore tipo serie


Come primo caso, consideriamo un adattatore tipo serie, che cio venga usato per connettere
elementi in serie. Per caratterizzare il funzionamento delladattatore, potremmo usare le tensioni e le
correnti alle 3 porte:
I2
- V2 +
I1

I3
R2

+
V1

R1

R3

V3

Al contrario, noi abbiamo deciso di utilizzare descrizioni in termini di matrice di scattering, il che
significa che, per ciascuna porta del dispositivo adattatore, dovremo considerare onda incidente ed
onda riflessa:
a2

b2

a1
b1

a3

R2
R1

R3

b3

Le onde (incidenti e riflesse) considerate sono


a = V1 + R 1 I1
porta 1 : 1
b1 = V1 R 1 I1

a = V2 + R 2 I 2
porta 2 : 2
b 2 = V2 R 2 I 2

a 3 = V3 + R 3 I 3
porta 1 :
b 3 = V3 R 3 I 3

La prima condizione da imporre che il collegamento sia di tipo serie: per un triporta, ci
significa che le correnti alle tre porte siano uguali e che la somma delle tensioni sia nulla, per cui
I 1 = I 2 = I 3

V1 + V2 + V3 = 0
La seconda condizione da imporre riguarda invece i valori delle impedenze viste alle tre porte: ad
esempio, se stiamo considerando un condensatore e lo connettiamo alla porta 2, dovremo imporre
che limpedenza di tale porta sia resistiva e, in particolare, valga R2=T/2C.
Possiamo ora descrivere ladattatore in termini di parametri S, il che significa esprimere le onde
riflesse (variabili dipendenti) in funzione delle onde incidenti (variabili indipendenti). Basta
45

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

combinare le definizioni delle varie onde con i vincoli corrispondenti al collegamento serie, per
rendersi conti che la descrizione matriciale del dispositivo, in termini di matrice di scattering, la
seguente:
b1 1
b = I
2 2
b 3 3

1
2
3

1 a 1

2 a 2
3 a 3

Si trova cio che la matrice di scattering si ottiene come differenza tra la matrice identit (di
ordine 3) ed una matrice aventi ciascuna riga formata da elementi uguali: per la generica riga iesima, si trova in particolare che il generico elemento
i =

2R i
R1 + R 2 + R 3

i = 1,2,3

Quindi, una volta che sia stato scelto il collegamento serie per il dispositivo (condensatore o
induttore) in esame, basta conoscere i livelli di impedenza che sono necessari alle 3 porte
delladattatore per ottenere una descrizione dello stesso adattatore in termini di matrice di scattering.

Progetto delladattatore tipo parallelo


Valgono in questo caso discorsi perfettamente analoghi a quelli visti per ladattatore tipo serie. In
particolare, chiaro che le condizioni sulle impedenza alle porte delladattatore sono le stesse di
prima, in quanto non dipendono dal tipo di connessione che si vuole effettuare. Al contrario,
trattandosi di una connessione di tipo parallelo, cambiano i vincoli tra le tensioni e le correnti alle tre
porte: in questo caso, le tensioni devono essere uguali, mentre le correnti, sommandosi, devono dare
0. Quindi, scriviamo che
V1 = V2 = V3

I1 + I 2 + I 3 = 0
Con procedimento analogo a quello di prima, si trova che la descrizione in termini di matrice di
scattering simile (ma non uguale) a quella trovata prima. In particolare, ci si imbatte ancora una
volta in una matrice avente elementi uguali sulle righe; il generico di tali elementi
i =

2G i
G1 + G 2 + G 3

i = 1,2,3

Realizzazione del filtro


Abbiamo ora tutti gli strumenti per implementare il dispositivo numerico che simuli il
comportamento del filtro analogico da cui eravamo partiti e che riproponiamo nella figura seguente:

Autore: Sandro Petrizzelli

46

Progetto di filtri IIR (parte I): trasformazione bilineare

Rg

L1

L2

RL

Sappiamo bene che i due elementi resistivi non ci danno problemi per quanto riguarda
limplementazione, in quanto si tratta semplicemente di due moltiplicatori. Concentriamoci allora
sulla parte di circuito composta dal collegamento a T dei due induttori e del condensatore.
Linduttore L1 connesso in serie al resistore di carico RL, per cui dovremo utilizzare un adattatore
tipo serie. Successivamente, la serie L1-RL si trova in parallelo al condensatore, per il quale quindi
dovremo usare un adattatore tipo parallelo. Questa connessione in parallelo si trova poi a sua volta in
serie allinduttore L2, che anche in serie con Rg: quindi, per L2 useremo un adattatore serie.
In definitiva, i 3 elementi reattivi risultano connessi nel modo seguente:

-1

z-1
Adattatore
serie

-1

z-1

z-1

Adattatore
parallelo

Adattatore
serie

Possiamo adesso fare una osservazione: dato che negli adattatori non ci sono elementi di ritardo,
deduciamo che i ritardi sono introdotti solo dai blocchi corrispondenti a condensatori ed induttori;
questo fatto comporta ancora il rischio di ottenere maglie a ritardo nullo, il che ci riporterebbe al
punto da cui siamo partiti.
Per risolvere il problema, basta fare alcune semplici considerazioni circa gli adattatori.
Consideriamo per esempio il primo adattatore a sinistro (cio relativo ad L2):
alla porta 1 di tale adattatore si presenta un livello di resistenza pari a quello di pilotaggio da
noi fissato;
alla porta 2, invece, sappiamo che il livello di resistenza deve essere 2L/T, perch solo sotto
questa ipotesi la simulazione risulta corretta;
infine, alla porta 3 devono essere soddisfatte le specifiche del blocco seguente.
Il blocco seguente ladattatore parallelo relativo al condensatore C. Qui abbiamo due vincoli:
alla porta 2 dobbiamo garantire una impedenza resistiva pari a T/2C;
alla porta 3 dobbiamo garantire una impedenza che soddisfi il blocco successivo.
Consideriamo infine lultimo blocco, ossia ladattatore serie relativo ad L1; le specifiche sono
ancora due:
47

Autore: Sandro Petrizzelli

Appunti di Elaborazione numerica dei segnali - Capitolo 5

alla porta 2 dobbiamo garantire ancora una impedenza resistiva di valore 2L/T;
alla porta 3, invece, se per esempio abbiamo scelto di normalizzare il carico, dobbiamo
garantire una impedenza resistiva unitaria.
Queste considerazioni mostrano che la struttura presenta diversi gradi di libert, che possono
perci essere sfruttati per ovviare al problema delle maglie a ritardo nullo. Ad esempio, possiamo
pensare di dimensionare il sistema in modo che venga garantito il massimo trasferimento di potenza,
ossia in modo che non ci siano onde riflesse. Se le onde riflesse vengono neutralizzate, le possibili
maglie a ritardo nullo vengono aperte e quindi il problema risolto: limplementazione vista
consente di realizzare un filtro numerico che ricalca perfettamente il comportamento del filtro
analogico di partenza.

Pregi e difetti dei filtri ad onda numerica


A questo punto, indaghiamo circa i pregi e difetti sui filtri ad onda numerica. E subito evidente
un difetto: questo tipo di filtri hanno una struttura abbastanza complessa, anche se il filtro analogico
di partenza era molto semplice come nellesempio considerato. Non solo, ma tale struttura risulta
anche pi complicata di quella che, a parit di filtro analogico di partenza, si sarebbe ottenuta
applicando, direttamente alla H(s) del suddetto filtro, la trasformazione bilineare:

filtro analogico : H(s)

s=

2 1 z 1
T 1+ z 1

filtro numerico : H(z)

Deduciamo che il vantaggio di usare filtri ad onda numerica non certo di natura implementativa.
Al contrario, il grosso pregio di questi filtri la minore sensibilit alle imprecisioni di calcolo dei
coefficienti: pur approssimando uno o pi coefficienti, la funzione di trasferimento del filtro rimane
comunque molto prossima a quella desiderata.

Autore: SANDRO PETRIZZELLI


e-mail: sandry@iol.it
sito personale: http://users.iol.it/sandry
succursale: http://digilander.iol.it/sandry1

Autore: Sandro Petrizzelli

48

Potrebbero piacerti anche