Y( z )
=
H(z) =
X( z )
b
k =0
N
z k
1 + a k z k
k =1
h ( t )e
st
dt
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).
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).
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.
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
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
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
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)
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:
b0
x(n)
b1
z-1
b2
z-1
bM
z-1
y(n)
-a1
z-1
-a2
z-1
-aN
z-1
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
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.
ak
k =0
d k y( t ) M
d k x (t )
=
b
k
dt k
dt k
k =0
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.
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:
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
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) =
1
(s + 0.1) 2 + 9
10
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
11
1 z 1
T
Im
+T
Re
-1
-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):
12
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
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
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):
14
|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
-fC/2
fC/2
16
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
17
dy( t )
= ay( t ) + bx ( t ) , possiamo riscrivere lultima
dt
2 1 z 1
s=
T 1 + z 1
18
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
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 ) =
t t0
2
dy ( t )
dy ( t )
+
+ y( t 0 )
d t 0
d t
T dy ( t )
dy ( t )
+
+ y(n 1)
2 d t = nT
d ( n 1) T
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
T
[(ay(n) + bx(n )) + (ay(n 1) + bx (n 1))] + y(n 1)
2
19
1 a y(n ) 1 + a y(n 1) = b (x (n ) + x (n 1) )
2
2
2
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
b
del filtro
sa
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.
20
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=
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
=
=
=
= 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
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).
22
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
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
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
=
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
= ... =
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)
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:
24
A ,C
s + A ,C
A ,C T
2
0.65
.
T
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)
-
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
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)
-
Y(s)
1 / sC
=
X(s) R + 1 / sC
26
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
{ }
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
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
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;
28
queste
D = 2arc tan
{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
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.
30
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.
31
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
32
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.
33
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
p k
=
a i
D(z 1 )
a i z =p
D(p k )
p k
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
p k
, otteniamo
a i
p k
a i
D(z 1 )
a i z =p
(p
j k
pj)
k
=
= 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
34
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
x(n)
y(n)
T
2r cos
2r cos
T
r2
-r2
35
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
1 +
C
36
2n
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
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
z-1
y(n)
x(n)
z-1
H1(z)
H2(z)
(zero in +1)
(polo in -1)
38
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.
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
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
a = V2 + R I 2
porta 2 : 2
b 2 = V2 R I 2
[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
40
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
b V R I
=
a V + R I
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.
42
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
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.
44
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
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
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.
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
46
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
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.
s=
2 1 z 1
T 1+ z 1
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.
48