Elaborazione numerica dei segnali - Libero...

48
Appunti di Appunti di Elaborazione numerica dei segnali Elaborazione numerica dei segnali Capitolo 5 (I) 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 l’approssimazione 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 dell’adattatore tipo serie .................................................. 45 Progetto dell’adattatore tipo parallelo ............................................ 46 Realizzazione del filtro ....................................................................... 46 Pregi e difetti dei filtri ad onda numerica ........................................... 48 I NTRODUZIONE: FILTRI NUMERICI E FILTRI ANALOGICI Per definizione, un filtro IIR è un filtro la cui funzione di risposta all’impulso h(n) ha lunghezza infinita. Perché accada questo, la funzione di sistema (cioè la trasformata zeta della funzione di risposta all’impulso) del filtro deve presentare almeno un polo (che non si trovi ovviamente nell’origine). Ciò significa che deve trattarsi, in generale, di una funzione razionale, data dal rapporto di due polinomi: = - = - = = N 1 k k k M 0 k k k z a 1 z b ) z ( X ) z ( Y ) z ( H 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 all’impulso di lunghezza infinita (anche se eventualmente causale), è la presenza dei poli.

Transcript of Elaborazione numerica dei segnali - Libero...

Appunti diAppunti diElaborazione numerica dei segnaliElaborazione numerica dei segnaliCapitolo 5 (I) Capitolo 5 (I) - - Progetto di filtri IIR

Introduzione: filtri numerici e filtri analogici ............................................. 1Realizzazione in forma diretta dei filtri IIR ................................................ 4Progetto di filtri IIR tramite approssimazione di derivate ........................... 8

Esempio .............................................................................................. 10Problemi con l’approssimazione delle derivate................................... 12Osservazione....................................................................................... 15

Trasformazione bilineare .......................................................................... 17Dettagli analitici................................................................................. 19Caratteristiche della trasformazione bilineare.................................... 20

Esempio ........................................................................................ 23Esempio ........................................................................................ 24Esempio ........................................................................................ 26

Considerazioni generali sul progetto tramite trasformazione bilineare28Problemi legati alla precisione di calcolo dei coefficienti ......................... 29

Schematizzazione dei poli e degli zeri ................................................. 31Utilizzo delle “strutture analogiche a scala” ............................................. 35Filtri ad onda numerica (Wave Digital Filters) ......................................... 39

Dispositivi adattatori .......................................................................... 43Progetto dell’adattatore tipo serie .................................................. 45Progetto dell’adattatore tipo parallelo............................................ 46

Realizzazione del filtro ....................................................................... 46Pregi 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 all’impulso h(n) ha lunghezzainfinita. Perché accada questo, la funzione di sistema (cioè la trasformata zeta della funzione dirisposta all’impulso) del filtro deve presentare almeno un polo (che non si trovi ovviamentenell’origine). Ciò significa che deve trattarsi, in generale, di una funzione razionale, data dalrapporto di due polinomi:

=

=

+==

N

1k

kk

M

0k

kk

za1

zb

)z(X

)z(Y)z(H

Da notare che il filtro è IIR anche in assenza degli zeri (checostituiscono la parte FIR del filtro stesso). Ciò che importa, per avere unafunzione di risposta all’impulso di lunghezza infinita (anche se eventualmente causale), è la presenzadei poli.

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli2

Posta la questione in questo modo, la differenza sostanziale tra un filtroIIR 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 corrispondentifiltri numerici. Concentriamoci allora proprio su questo aspetto, tramite considerazioni generali.

In primo luogo, è bene osservare che nel caso dei filtri FIR (di cui abbiamoparlato nel precedente capitolo) non ha senso cercare alcunaanalogia con filtri analogici, per un motivo molto semplice: affinché un filtroanalogico presenti delle proprietà di filtraggio (passa-basso, passa-banda, passa-alto), è necessarioche esso presenti almeno un elemento reattivo e quindi necessariamente almeno un polo nellafunzione di trasferimento (se usassimo solo elementi resistivi, invece, il filtro sarebbenecessariamente passa-tutto, dato che i resistori garantiscono, entro certi limiti fisici legati al lorofunzionamento reale, legami istantanei tra ingresso ed uscita); di conseguenza, le analogie trafiltri analogici e filtri numerici possono essere fatte solo perfiltri 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à difiltraggio, sono filtri a soli zeri (nel piano z).

Dato, quindi, che consideriamo filtri che presentano almeno un polo, possiamo cercare di sfruttarele conoscenze che abbiamo relativamente al mondo analogico. In quest’ultimo, esistono svariatimetodi 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 proceduredi ottimizzazione (basati su algoritmi e tabelle standard), che forniscono i valori di resistenza,induttanza e capacità normalizzati all’impedenza di ingresso o di uscita oppure anche alle frequenzedi taglio che si desidera ottenere1. Allora, ha senso chiedersi se le conoscenze di questi metodi diprogetto possono essere in qualche modo sfruttate per progettare filtri IIR nel dominio tempo-discreto.

Vediamo di capire, a livello generale, con quali criteri poter passare da un filtro analogico alcorrispondente filtro numerico.

Un generico filtro analogico può essere descritto tramite la trasformata di Laplace della suafunzione di risposta all’impulso (tempo-continua). Questa trasformata di Laplace può esserecalcolata in almeno due modi:

• un primo modo consiste nell’applicare direttamente la definizione:

∫+∞

∞−

−= dte)t(h)s(H stA

Il pedice “A” sta appunto per “analogico”.

• un secondo modo consiste nel considerare il legame ingresso-uscita del filtro, individuatodirettamente nel dominio trasformato, in modo da poter calcolare HA(s) come rapporto tra latrasformata dell’uscita e quella dell’ingresso:

1 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 percaso (semplicemente tramite delle moltiplicazioni).

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli3

=

===N

0k

kk

M

0k

kk

A

sa

sb

)s(X

)s(Y)s(H

I coefficienti ak e bk sono quelli che caratterizzano il filtro, esattamente con nel dominionumerico, 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 legameingresso-uscita non più nel dominio trasformato, ma nel dominio del tempo, senza però considerarela funzione di risposta all’impulso, ma direttamente l’equazione differenziale lineare, a coefficienticostanti, del tipo

∑∑==

=M

0kk

k

k

N

0kk

k

k dt

)t(xdb

dt

)t(yda

Come è ben noto, se noi trasformiamo secondo Laplace questa equazione, ritroviamo esattamentel’ultima espressione riportata per HA(s).

Ognuna di queste 3 caratterizzazioni del filtro analogico conduce ad un possibile metodo perconvertire 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 tempo-invariante, con funzione di trasferimento2 H(s), è stabile se e solo se i suoi poli giacciono tuttinel semipiano destro del piano complesso. Questo comporta che una eventuale tecnica diconversione di un filtro dal mondo analogico al mondo digitale debba garantire almeno dueproprietà:

∗ la prima è che l’asse 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 svenga mappato nei punti all’interno del cerchio unitario delpiano z: questo garantisce che un filtro stabile nel dominioanalogico corrisponda ad un filtro stabile anche nel dominionumerico.

• in secondo luogo, è possibile dimostrare che filtri IIR fisicamenterealizzabili e stabili non possono avere fase lineare. Questorisultato discende da una proprietà dei filtri numerici a fase lineare, in base alla quale tali filtrihanno una funzione di trasferimento che soddisfa la condizione

)z(Hz)z(H 1N −−±=

In base a questa relazione, il filtro dovrebbe avere, per ogni polo all’interno del cerchio

unitario, un polo anche all’esterno del cerchio unitario, in posizione simmetrica (ad esempio, sec’è un polo in -a, con 0<a<1, ci dovrà anche essere quello in -1/a); di conseguenza, la presenza

2 D’ora in poi, chiameremo funzione di trasferimento sia la trasformata di Laplace della funzione di risposta all’impulso sia la

trasformata di Fourier della stessa funzione: la differenza, come è ben noto, è che la trasformata di Fourier H(ω) si ottiene dallatrasformata di Laplace H(s) ponendo banalmente s=jω. Questo risultato è affermato dal noto teorema della funzione dirisposta armonica, che vale però solo per sistemi lineari tempo-invarianti asintoticamente stabile).

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli4

di quel polo all’esterno del cerchio unitario fa si che il filtro sia instabile (nel caso dei filtriFIR, questo problema non sussisteva in quanto non c’erano poli da considerare). Deduciamoche un filtro IIR causale (cioè fisicamente realizzabile) estabile non può avere fase lineare. Se, invece, rimuoviamo l’ipotesi dellafisica realizzabilità, allora il filtro IIR potrà anche avere fase lineare. In generale, dato chea noi interessano filtri fisicamente realizzabili, laddove ciinteressa anche una fase rigorosamente lineare dovremonecessariamente affidarci a filtri FIR;

• come ultima osservazione, ricordiamo che, al pari dei filtri FIR, quandoprogettiamo un filtro IIR abbiamo, come obbiettivo, quello diapprossimare al meglio le specifiche prefissate, che riguardanosolo di modulo della H(z); questo, però, non significa che noi consideriamo nonimportante 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 difase che viene fuori dal metodo di progetto utilizzato.

REALIZZAZIONE IN FORMA DIRETTA DEI FILTRI IIRConsideriamo un filtro IIR la cui funzione di sistema (trasformata della risposta all’impulso) sia

razionale e, in particolare, del tipo seguente:

=

=

=

=

+==

N

1k

kk

M

0k

kk

N

0k

kk

M

0k

kk

za1

zb

za

zb)z(H

(si è supposto a0=1, il che non lede di generalità i nostri discorsi in quanto basta usare un fattore discala per riportarsi alla situazione più generale possibile).

Sappiamo bene che questa funzione di sistema può essere scomposta nel prodotto di due funzionidi sistema, una corrispondente agli zeri del filtro e l’altra ai poli:

=

=

+=→

=→

N

1k

kk

2

M

0k

kk1

za1

1)z(H poli soli a IIR filtro

zb)z(H zeri) (soli FIR filtro

Questa scomposizione porta ad individuare il filtro IIR (poli e zeri) di partenza come cascata di unfiltro FIR (che presenta quindi solo degli zeri, oltre ad un polo nell’origine di molteplicità M) ed unfiltro IIR a soli poli (oltre ovviamente allo zero nell’origine di molteplicità N).

Vogliamo sfruttare questa scomposizione per arrivare ad una struttura a blocchi del filtro IIR dipartenza: tale struttura a blocchi dovrebbe essere, idealmente, la più semplice e la più efficientepossibile.

Per quanto riguarda la parte FIR, cioè H1(z), esistono diverse possibili realizzazioni, che sarannoesaminate in seguito. La più semplice realizzazione di un filtro FIR è la cosiddetta forma diretta, chesi basa esclusivamente nell’implementare la funzione di risposta all’impulso del filtro: infatti, se

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli5

indichiamo con v(n) l’ingresso del filtro e con w(n) la corrispondente uscita, sappiamo che essi sonolegati dalla relazione (nel dominio tempo-discreto)

∑=

−=M

0k

)kn(v)k(h)n(w

Se confrontiamo questa espressione con ∑=

−=M

0k

kk1 zb)z(H , ci accorgiamo facilmente (basta

trasformare con la trasformata zeta) che i coefficienti bk coincidono con i campioni della rispostaall’impulso del filtro.

Nella figura seguente è riportato lo schema a blocchi rappresentativo di questa relazione:

v(k) w(k)

z-1

+b0

+b1

z-1 +b2

z-1 +bM

Realizzazione di un filtro FIR (di lunghezza M) in forma diretta. Le indicazioni di b0,b1,...., bM suirami 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 diuna possibile realizzazione di un filtro FIR.

Una struttura assolutamente analoga si può ottenere anche per un filtro IIR a soli poli, ossia deltipo

∑=

=N

0k

kk

2

za

1)z(H

Infatti, tenendo conto che H2(z)=W(z)/V(z), dove W(z) è la trasformata dell’uscita e V(z) quelladell’ingresso, possiamo scrivere che

)z(Vz)z(Wa)z(Vza)z(Wza

1

)z(V

)z(W N

0k

kk

N

0k

kkN

0k

kk

=→=→= ∑∑∑ =

=

=

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli6

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

)n(v)kn(waN

0kk =−∑

=

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

∑=

−−=N

1kk )kn(wa)n(v)n(w

Questa relazione è quella che lega, nel dominio tempo-discreto, i campioni all’ingresso a quelli diuscita. La corrispondente realizzazione in forma diretta (cioè il corrispondente schema a blocchi) èevidentemente la seguente:

v(k)w(k)+

1

-a1

-a2

-aN

z-1+

z-1+

z-1

+

Realizzazione di un filtro IIR in forma diretta. Le indicazioni di dei coefficienti sui rami della strutturacorrispondono 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 bastaporre in cascata le due strutture appena descritte, ottenendo quanto riportato nella figura seguente:

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli7

z-1

+b0

+b1

z-1 +b2

z-1 +bM

y(n)+1

-a1

-a2

-aN

z-1+

z-1+

z-1

+

x(n)

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 tipodi realizzazione richiede M+N+1 moltiplicazioni, M+N addizioni e M+N+1 elementi di ritardo (cioècelle di memoria).

D’altra parte, avendo a che fare con un sistema lineare, possiamo anche scambiare la posizione deidue blocchi, disponendo la parte puramente IIR prima della parte puramente FIR. Questo, comeperaltro 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 dimezzareil numero totale di celle di memoria, ottenendo una realizzazione del tipo seguente:

x(n) y(n)+

1

-a1

-a2

-aN

z-1+

z-1+

z-1

+

+

+

+

+

b0

b1

b2

bM

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

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli8

Si tratta evidentemente di una struttura più efficiente della precedente, in quanto richiede ancoraM+N+1 moltiplicazioni e M+N somme, ma solo N celle di memoria. Appare evidente che, anche nelcaso in cui M≠N si può ottenere qualcosa di simile: la struttura non sarà più simmetrica (ci sarannopiù rami nella parte IIR se N>M oppure più rami nella parte FIR se N<M), ma potremo comunqueusare 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 dimemoria, si parla di realizzazione canonica di un filtro IIR. E’ bene però precisare che ci sonoaltre implementazioni che ottengono la stessa minimizzazione, per cui è bene non incorrere in errorenell’usare 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 dipropagazione nelle memorie e se scambiamo i coefficienti ai con icoefficienti bi, otteniamo nuovamente la stessa funzione ditrasferimento.

Segnaliamo che ulteriori semplificazioni della struttura si possono ottenere nel caso in cui la parteFIR del filtro complessivo ha fase zero (simmetria pari dei coefficienti rispetto all’istante 0) oppurepresenta un ritardo per permetterne la realizzazione causale: in questo caso, infatti, la parte FIR hanotoriamente 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 uncampione centrale (lunghezza dispari).

Per concludere, facciamo osservare che le due implementazioni proposte (forma diretta I e formadiretta 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 inuno qualsiasi dei coefficienti del filtro può provocare unavariazione notevole della posizioni degli zeri e soprattutto deipoli del sistema; questo non solo comporta una funzione di trasferimento diversa da quellache si voleva ottenere, ma anche il rischio di rendere instabile il sistema. Questo fatto rende le dueimplementazioni tutt’altro 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 diprogetto di filtri IIR consistono nel progettare un filtro analogicoopportuno e nel ricavare da esso il filtro numerico che si vuoleottenere.

Uno dei modi più semplici per convertire un filtro analogico in uno digitale è quello diapprossimare, nel dominio tempo-discreto, l’equazione differenziale che, nel dominio tempo-continuo, lega ingresso ed uscita del filtro, tramite i parametri caratteristici del filtro stesso4:

∑∑==

=M

0kk

k

k

N

0kk

k

k dt

)t(xdb

dt

)t(yda

3 Un cenno della dimostrazione sarà dato più avanti nel capitolo

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

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli9

Questa è una equazione che lega le derivate dell’uscita, da quella di ordine 0 a quella di ordine N,alle derivate dell’ingresso, dall’ordine 0 all’ordine M. Per effettuare la suddetta approssimazione,quindi, bisogna trovare il modo di implementare, nel dominio numerico, l’operatore di derivazione.

Essendo la derivata definita rigorosamente come il limite del rapporto incrementale, possiamoapprossimarla proprio con il rapporto incrementale:

T

)1n(x)n(x

dy

)t(dx

nTt

−−→←

=

dove T è ovviamente il periodo di campionamento.Abbiamo cioè usato il rapporto incrementale calcolato nell’istante 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 dt/)t(dx)t(y = è notoriamente H(s)=s. In modo analogo, la funzione di sistema del filtronumerico che approssima il derivatore si ottiene nel modo seguente:

→−

= →−−

=−

T

z)z(X)z(X)z(Y

T

)1n(x)n(x)n(y

1 Zatrasformat

z

1z

T

1

T

z1

)z(X

)z(Y)z(H

1 −=

−==

Abbiamo ottenuto dunque un filtro con un polo nell’origine ed uno zero in +1. Con questosistema, noi approssimiamo, nel dominio numerico, un derivatore nel dominio analogico. Sul gradodi questa approssimazione torneremo più avanti. Per il momento, osserviamo solo se, confrontando

H(s) con H(z), quest’ultima si ottiene da H(s) semplicemente ponendo T

z1s

1−−= : infatti

T

z1)z(H)s(H

1T

z1s

1 −−= −

= →−

La relazione T

z1s

1−−= costituisce dunque lo strumento con cui possiamo ottenere il derivatore

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 22 dt/)t(xd)t(y = e ad esso corrisponde una funzione ditrasferimento H(s)=s2. Per implementare il corrispondente filtro numerico, ci basta considerare che laderivata seconda non è altro che la derivata della derivata prima:

==

dt

)t(dx

dt

d

dt

)t(xd)t(y

2

2

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

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli10

2

nTtnTtnTt

2

2

T

)2n(x2)1n(x2)n(x

TT

)2n(x)1n(x

T

)1n(x)n(x

T

)1n(x)n(x

dt

d

dt

)t(dx

dt

d

dt

)t(xd

−+−−=

−−−

−−

=

=

−−

=

=

===

Abbiamo qui usato una notazione forse poco rigorosa, ma che rende bene l’idea di ciò cheabbiamo fatto: in pratica, dopo aver approssimato la derivata prima tramite un rapporto incrementale,ottenendo così una certa funzione tempo-discreta, abbiamo successivamente applicato a quest’ultimanuovamente la derivazione, ossia nuovamente il rapporto incrementale.

Se ora applichiamo anche a questa funzione la trasformata zeta, otteniamo la corrispondentefunzione di sistema:

→+−

= →−+−−

=−−

2

21 Zatrasformat

2 T

z)z(Xz)z(X2)z(X)z(Y

T

)2n(x)1n(x2)n(x)n(y

2

2

2

21

2

21

z

1z2z

T

1

T

z1

T

zz21

)z(X

)z(Y)z(H

−−=

−=

+−==

−−−

Abbiamo ottenuto un sistema con 2 poli nell’origine e uno zero doppio in +1. Ciò che piùinteressa, però, è la corrispondenza tra la funzione H(z) appena ottenuta e la funzione ditrasferimento H(s)=s2 del corrispondente derivatore analogico: ancora una volta, H(z) si ottiene con

la banale sostituzione T

z1s

1−−= .

Possiamo perciò concludere come segue: la funzione di sistema in un filtrodigitale IIR, ottenuto come approssimazione delle derivate tramitele corrispondenti differenze finite, è data da

T

z1sA

1)s(H)z(H −−=

=

dove ovviamente HA(s) è la funzione di trasferimento del filtro analogico, caratterizzato da unaequazione differenziale nella forma

∑∑==

=M

0kk

k

k

N

0kk

k

k dt

)t(xdb

dt

)t(yda

Esempio

Facciamo un esempio concreto dei concetti appena illustrati. Consideriamo un filtro analogicopassa-banda avente la seguente funzione di trasferimento (intesa nel dominio di Laplace):

9)1.0s(

1)s(H

2A ++=

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli11

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

Vogliamo convertire questo filtro in un filtro digitale IIR utilizzando il metodo descritto prima,

usando cioè la trasformazione T

z1s

1−−= .

Applicando allora tale trasformazione, otteniamo quanto segue:

9T

z12.001.0

T

z2z1

1

91.0T

z1

1)s(H)z(H

1

2

1221T

z1sA

1

+−

++−+

=

+

+

−== −−−−

−=

Facendo qualche manipolazione algebrica su questa espressione, si trova la funzione di sistemadel filtro numerico. A prescindere da quale sia l’espressione completa, si nota subito la presenza dipoli, da cui si deduce che il filtro è di tipo IIR.

Si nota anche un’altra cosa: il periodo di campionamento T è generico, il che significa cheabbiamo trovato una sorta di soluzione parametrica, nel senso che la H(z) dipende del valore cheassegniamo a T. Ad esempio, si può verificare che, prendendo T≤0.1, i poli del filtro si avvicinano alcerchio unitario, il che significa che il filtro ottenuto tende a diventare un oscillatore digitale. Seprendiamo, in particolare, T=0.1, si può verificare che i poli sono

°±=±= 5.16j2/1 e949.027.0j91.0p

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli12

Problemi con l’approssimazione delle derivate

Il metodo appena descritto è estremamente semplice, ma presenta qualche problema. Vediamoquale.

Consideriamo per semplicità il derivatore del primo ordine, che abbiamo visto corrispondere, innumerico, ad un sistema con funzione di sistema

T

z1)z(H

1−−=

Ad essa corrisponde una funzione di risposta all’impulso di lunghezza 2 (quindi è un filtro FIR),causale: h(n)=(1,-1). La sequenza h(n) e la mappa poli-zeri della corrispondente trasformata zetasono riportate nella figura seguente:

n

-T

+T

Im

Re-1T

T

z1)z(H

1−−=

Possiamo determinare anche la funzione di trasferimento di questo filtro, ponendo semplicementez=ejωT nell’espressione di H(z):

( )Tje1T

1)(H ω−−=ω

Possiamo esplicitare meglio l’esponenziale, al fine di individuare rapidamente modulo e fase diquesta funzione di trasferimento:

ω=

=

−=ω

ω−ω−ω

ω−ω−ωω−

2

Tsinje2

T

1

j

eeje2

T

1eee

T

1)(H 2

Tj2

Tj

2

Tj

2

Tj

2

Tj

2

Tj

2

Tj

Deduciamo che si tratta di un filtro con modulo ad andamento sinusoidale (di periodo T/2) e faserettilinea (di pendenza ωT/2):

<ωω−π

>ωω−π

ω=ω

0 2

T

2

0 2

T

2)(H

2

Tsin

T

1)(H

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

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli13

w

T

π− T

π+ w

T

π− T

π+

2

π+

2

π−

)(H ω

)(H ω

Modulo e fase del derivatore numerico del primo ordine ottenuto dal corrispondente derivatoreanalogico 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 underivatore ideale, ma non in modo rettilineo, come accade per un derivatore analogico ideale, le cuicaratteristiche in frequenza (cioè modulo e fase della funzione di trasferimento) sono riportate nellafigura seguente:

w

T

π− T

π+ w

T

π− T

π+

|HA(w)|

)w(HA

2

π+

Modulo e fase del derivatore analogico ideale, all’interno dell’intervallo non ambiguo (all’internodel quale si può fare il confronto con l’analogo caso numerico): il modulo cresce linearmente con lafrequenza, 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, otteniamouna buona approssimazione del derivatore solo per bassi valori di frequenza, mentre invece i dueandamenti si discostano anche apprezzabilmente per valori di frequenza più alti (sempre compresinell’intervallo non ambiguo, l’unico nel quale abbia senso fare un confronto tra mondo analogico emondo numerico, data la periodicità di quest’ultimo).

Per quanto riguarda, invece, la fase del derivatore numerico, si tratta di una fase rettilineacontinua a tratti di pendenza -ωT/2: tale caratteristica di fase dipende dal fatto che la h(n) del filtro èa simmetria dispari, ma rispetto all’istante T/2 anziché rispetto all’istante 0:

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli14

n

T/2

asse di simmetriaper h(n)

0

T

h(n)

Se la funzione di risposta all’impulso fosse simmetrica rispetto all’istante 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-jωT/2 nella corrispondente funzione di trasferimento

La fase di H(ω) è dunque la composizione della caratteristica di fase di un derivatore puro e diquella di un ritardatore puro di mezzo passo di campionamento.

Per tornare ad una fase costante in frequenza, potremmo pensare di definire in altro modo ilrapporto incrementale con cui approssimiamo la derivata tempo-continua. Infatti, avendo osservatoche il termine di fase deriva dal mezzo passo di campionamento di ritardo, possiamo pensare diusare, come operatore numerico, uno che corrisponda ad una h(n) non più causale, ma centratanell’origine:

n

0

T

h(n)

-T

In questo caso, la funzione di sistema è completamente diversa rispetto a prima: infatti, essendo lasequenza h(n)=(1,0,-1), a meno eventualmente del fattore di scala 1/T, otteniamo

( )Tjsin2ee)(Hzz)z(H TjTjez1 Tj

ω=−=ω= →−= ω−ω=− ω

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

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli15

w

T

π−

T

π+

w

T

π− T

π+

|H(w)|

)w(H

2

π−

2

π+

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.

D’altra parte, questo tipo di sistema presenta anche un altro inconveniente di fondo: avendo unarisposta all’impulso di tipo non causale, esso non è fisicamente realizzabile.

Osservazione

Supponiamo di voler trovare un filtro numerico che approssimi al meglio possibile underivatore analogico, ovviamente nell’intervallo non ambiguo, cioè per frequenzecomprese tra -fC/2 ed fC/2, dove fC è la frequenza di campionamento del mondo tempo-discreto che stiamo considerando.Un modo possibile di procedere è semplicemente quello di partire dalla funzione ditrasferimento di interesse e ricercare la funzione di risposta all’impulso h(n)corrispondente. La funzione di trasferimento che ci interessa ottenere deve avere unmodulo fatto nel modo seguente:

f

|H(f)|

fC/2-fC/2

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

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli16

Dal punto di vista dell’individuazione del filtro complessivo, possiamo semplicementeprendere la risposta all’impulso del filtro passa-basso e calcolarne la derivata: cosìfacendo, otteniamo la funzione di risposta all’impulso del filtro complessivo.C’è però da fare una considerazione importante: la funzione di trasferimento delderivatore è di tipo passa-alto, cioè tale da attenuare le basse frequenze ed esaltare le altefrequenze; d’altra parte, i segnali che noi trattiamo sono generalmente segnali passa-bassocui è sovrapposto l’immancabile rumore termico, che è “spalmato” su tutta la banda; diconseguenza, il filtraggio attraverso un filtro come il derivatore avrà l’effetto di esaltarele componenti di rumore e questa esaltazione potrebbe anche renderle prevalenti rispettoal segnale. Questo è ovviamente un effetto da evitare. Non solo, ma l’effetto del filtropassa-basso posto in cascata è quello di introdurre due brusche discontinuità nellafunzione 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 all’impulso il piùvelocemente possibile.

Per andare incontro a tali esigenze, è necessario definire la funzione di trasferimento delfiltro da ottenere imponendo due vincoli:

• il primo è che la funzione di trasferimento (si intende il modulo) cresca con la frequenzaentro 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 lafunzione di trasferimento non presenti spigoli, ma presenti una transizione dolce daivalori elevati ai valori nulli.

Si tratta in sostanza di imporre un andamento del modulo della funzione di trasferimentodel tipo seguente:

f

|H(f)|

fC/2-fC/2

A fronte di queste considerazioni, però, se ne può fare anche un’altra:non è consigliabile progettare operatori di derivazioneeccessivamente complicati, in quanto essi, collegati tra diloro per ottenere derivate di ordine maggiore di uno,darebbero alla fine luogo ad un filtro di complessità taleda essere inutilizzabile.

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli17

TRASFORMAZIONE BILINEARE

Vista l’inaccettabilità dell’ultima soluzione proposta, torniamo al filtro precedente, il qualesoddisfaceva, almeno per le basse frequenze, la nostra necessità di avere un modulo crescente con lafrequenza:

w

T

π− T

π+ w

T

π− T

π+

2

π+

2

π−

)(H ω

)(H ω

Modulo e fase del derivatore numerico del primo ordine ottenuto dal corrispondente derivatoreanalogico 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 risentedel fatto che l’asse di simmetria (dispari) della funzione di risposta all’impulso è nell’istante T/2 enon nell’istante 0:

n

T/2

asse di simmetriaper h(n)

0

T

h(n)

Possiamo inquadrare il problema da un altro punto di vista. Se consideriamo un generico filtroanalogico (inteso come sistema lineare tempo-invariante tempo-continuo) del primo ordine, esso ècaratterizzato da una equazione differenziale lineare, a coefficienti costanti, del tipo

)t(bx)t(aydt

)t(dy+=

In base a questa equazione, il funzionamento del filtro è tale da confrontare la derivata dell’uscitaall’istante t con il valore sia dell’ingresso sia dell’uscita nello stesso istante t.

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli18

Al contrario, nel momento in cui noi approssimiamo, in numerico, l’operatore di derivazionetramite un rapporto incrementale, subentra una differenza:

)n(xb)n(yaT

)1n(y)n(y⋅+⋅=

−−

A causa del ritardo di T/2, il confronto viene effettuato con la derivata relativa a mezzo passo dicampionamento precedente (nT-T/2), il che significa che non c’è più coincidenza temporale tra laderivata dell’uscita da una parte e l’uscita e l’ingresso dell’altra (in pratica, uscita ed ingresso sonorelativi a T/2 secondi dopo rispetto alla derivata).

Questa interpretazione suggerisce un modo di aggirare parzialmente il problema: possiamoprovare ad interpolare, nel modo più indolore possibile, i valori della sequenza x(n) e della sequenzay(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 rapportoincrementale con i valori y(n) ed x(n), lo confrontiamo con i valori interpolati delle due sequenzenegli stessi istanti. In altre parole, consideriamo

( ) ( ))1n(x)n(x2

b)1n(y)n(y

2

a

T

)1n(y)n(y−++−+=

−−

Andiamo allora a calcolare la trasformata zeta di entrambi i membri di questa equazione, al fine digiungere alla funzione di sistema del filtro: si trova facilmente che

( ) ( )111

z1)z(X2

bz1)z(Y

2

a

T

z1)z(Y −−

+++=−

Al fine di fare un confronto con la relazione )t(bx)t(aydt

)t(dy+= , possiamo riscrivere l’ultima

relazione nella forma seguente:

)z(bX)z(aY)z(Yz1

z1

T

21

1

+=+−

Il confronto con il corrispondente sistema analogico si può fare semplicemente applicando la

trasformata di Laplace all’equazione )t(bx)t(aydt

)t(dy+= : si ottiene evidentemente

)s(bX)s(aY)s(Ys +=⋅

Se allora confrontiamo le ultime due relazioni, notiamo ancora una volta che esiste un modobanale di passare da una all’altra: basta prendere l’espressione del dominio di Laplace e porre

1

1

z1

z1

T

2s −

+−

=

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli19

La corrispondenza così ottenuta (tra dominio di Laplace e dominio della trasformata zeta) prendeil nome di trasformazione bilineare:

)z(bX)z(aY)z(Yz1

z1

T

2)s(bX)s(aY)s(Ys

1

1z1

z1

T

2s

1

1

+=+−

→+=⋅ −

−+

−=

Dettagli analitici

L’espressione trovata poco fa per la trasformazione bilineare può essere ottenuta con maggiorerigore matematico. Vediamo come.

Consideriamo ancora, per semplicità, un filtro con funzione di trasferimento as

b)s(H

−= , ossia

rappresentato dall’equazione differenziale

)t(bx)t(aydt

)t(dy+=

Al posto di usare una differenza finita (cioè il rapporto incrementale) per approssimare quelladerivata, seguiamo un procedimento diverso. Supponiamo di integrare quella derivata:

)t(ydd

)(dy)t(y 0

t

t0

+τττ

= ∫

Adesso approssimiamo l’integrale tramite la nota formula trapezoidale:

)t(yd

)t(dy

d

)t(dy

2

tt)t(y 0

tt

0

0

+

τ+

τ−

=

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

)1n(yd

)t(dy

d

)t(dy

2

T)n(y

T)1n(nTt

−+

τ+

τ=

−=

Analoga sostituzione possiamo effettuare nell’equazione )t(bx)t(aydt

)t(dy+= :

)n(bx)n(aydt

)t(dy

nTt

+==

Possiamo allora usare l’espressione appena ottenuta per nTtdt

)t(dy

=

e sostituirla nell’equazione

ricavata prima: otteniamo

( ) ( )[ ] )1n(y)1n(bx)1n(ay)n(bx)n(ay2

T)n(y −+−+−++=

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli20

Adesso separiamo i termini dipendenti dall’uscita da quelli dipendenti dall’ingresso:

( ))1n(x)n(x2

Tb)1n(y

2

Ta1)n(y

2

Ta1 −+=−

+−

Possiamo applicare la trasformata zeta ad entrambi i membri:

( ) )z(Xz12

Tb)z(Yz

2

Ta1)z(Y

2

Ta1 11 −− +=

+−

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

( ) ( )( ) ( )

az1

z1

T

2

b...

zaT2aT2

z1bT

z2

Ta1

2

Ta1

z12

Tb

)z(X

)z(Y)z(H

1

11

1

1

1

+−

==+−−

+=

+−

+==

−−

Se adesso confrontiamo questa funzione con la funzione di trasferimento as

b)s(H

−= del filtro

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

1

1

z1

z1

T

2s −

+−

=

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 filtrodescritto da una equazione lineare di ordine N.

Caratteristiche della trasformazione bilineare

A questo punto, il passo successivo è quello di indagare sulle caratteristiche di questatrasformazione. Infatti, da essa ci aspettiamo due caratteristiche fondamentali, precedentementecitate:

∗ la prima è che l’asse immaginario nel piano-s venga mappato nel cerchio unitario del piano-z;

∗ la seconda è che il semipiano sinistro del piano-s venga mappato nei punti all’interno delcerchio unitario del piano-z, al fine di garantire che un filtro stabile nel dominio analogicocorrisponda ad un filtro stabile anche nel dominio numerico.

Vediamo allora se questi requisiti sono soddisfatti.

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli21

Cominciamo col porre genericamente z=rejω, in modo da individuare un punto nel piano z tramitemodulo (=r) e fase (=ω)5: sostituendo nella trasformazione bilineare e facendo qualchemanipolazione algebrica, otteniamo

( )( )

( )( )

( )( )

( )( )

ω⋅++

ω⋅+

ω⋅++−

==ω⋅−+ω⋅ω⋅−+ω⋅

⋅ω⋅++ω⋅ω⋅+−ω⋅

=

=ω⋅++ω⋅ω⋅+−ω⋅

=+ω+ω−ω+ω

=+−

=+−

=+−

= ω

ω

cosr2r1

sinr2j

cosr2r1

1r

T

2...

sinjr1cosr

sinjr1cosr

sinjr1cosr

sinjr1cosr

T

2

sinjr1cosr

sinjr1cosr

T

2

1jsincosr

1jsincosr

T

2

1re

1re

T

2

1z

1z

T

2

z1

z1

T

2s

22

2

j

j

1

1

Se inoltre scomponiamo s in termini di parte reale e parte immaginaria (s=σ+jΩ), possiamouguagliare le parti reali e le parti immaginarie dei due membri, ottenendo

ω⋅++ω⋅

⋅=Ω

ω⋅++−

⋅=σ

cosr2r1

sinr2

T

2cosr2r1

1r

T

2

2

2

2

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

• consideriamo il caso di un punto che, nel piano-z, si trovi all’interno del cerchio unitario: ciòsignifica che r<1; osservando l’espressione di σ, si nota che, se r<1, risulta σ<0, ossia un puntoche, nel piano-s, si trova nel semipiano sinistro;

• in modo del tutto analogo, è immediato verificare che, se r>1, allora risulta σ>0: ciò significache ad un punto all’esterno del cerchio unitario corrisponde un punto nel semipiano destro delpiano-s;

• ovviamente, per r=1 (punti sul cerchio unitario), si ottiene σ=0 (punti sull’asse immaginario).

Quindi, abbiamo ottenuto esattamente la mappatura che ci interessava, sia in termini di passaggiodall’asse 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

2tan

T

2

cos1

sin

T

2

cos22

sin2

T

2 ω⋅=

ω+ω

⋅=ω+

ω⋅=Ω

Invertendo questa relazione, otteniamo

2

Ttanarc2

Ω=ω

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

5 Da notare che, così facendo, stiamo attribuendo ad ω il significato della pulsazione 2πf normalizzata alla frequenza di

campionamento. Se supponiamo unitaria tale frequenza, allora pulsazione e pulsazione normalizzata sono la stessa cosa.

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli22

2tan

T

22

Ttanarc2

DA

AD

ω=ω

ω=ω

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 avereun altro requisito: mentre sull’asse immaginario ci possiamo muovere indefinitamente da -∞ a +∞,sul cerchio unitario il movimento non può che essere periodico, per cui la mappatura deve esseretale 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 π.

Un’altra osservazione riguarda l’andamento quasi rettilineo che la curva diagrammata nell’ultimafigura ha per valori piccoli della pulsazione analogica ωA (riportata in ascisse): in effetti, la tangenteè la funzione trigonometrica che meglio approssima, intorno all’origine, un andamento rettilineo.Quindi, nell’intorno della pulsazione zero, le due pulsazioni ωA ed ωD

variano praticamente di pari passo, il che corrisponde a dire che lafunzione di trasferimento analogica e quella digitale avranno, intale intorno, andamento molto simile.

Se invece cominciamo ad aumentare la pulsazione analogica, notiamo che i corrispondenti valoridi ωD non aumentano indefinitamente, in quanto rimangono comunque all’interno dell’intervallo [-π,+π] (la relazione è di tipo spiccatamente non-lineare). Abbiamo cioè una compressionedei valori di ωA in un intervallo di valori di ωD sempre piùpiccolo. Questa compressione corrisponde evidentemente ad una deformazione della funzione ditrasferimento del filtro digitale rispetto a quella del filtro analogico, ma questo fatto non rappresentaun grosso problema: infatti, conoscendo esattamente la relazione tra ωD ed ωA, automaticamenteconosciamo perfettamente l’entità 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 delfiltro analogico, provvederemo a pre-distorcere opportunamente la sua funzione di trasferimento, inmodo tale che il corrispondente filtro digitale assuma l’andamento desiderato (cioè sostanzialmentequello che rientra nella maschera prefissata e approssima al meglio ciò che vogliamo ottenere).

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli23

Per concludere, notiamo anche che la trasformazione bilineare mappa il punto s=∞ del dominio diLaplace nel punto z=-1 del dominio della trasformata zeta. Un caso evidente è proprio quello delfiltro passa-basso analogico considerato prima: infatti, abbiamo visto che tale filtro era caratterizzato

dalla funzione di trasferimento as

b)s(H

−= , cui corrisponde un filtro numerico che abbiamo visto

essere

az1

z1

T

2

b)z(H

1

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ò unfiltro analogico con la seguente funzione di trasferimento:

( ) 161.0s

1.0s)s(H

2A++

+=

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

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli24

Vogliamo convertire questo filtro in un filtro digitale IIR tramite l’applicazione dellatrasformazione bilineare. In particolare, vogliamo fare in modo che tale filtro digitale abbia unapulsazione di risonanza pari a π/2.

Circa quest’ultimo requisito, è subito ovvio che l’unico grado di libertà a nostra disposizione è sulvalore da attribuire al periodo di campionamento T. Possiamo allora fissare T proprio imponendo ilvincolo sulla risonanza: infatti, sappiamo che la mappatura delle pulsazioni è retta dall’equazione

2

Ttanarc2 A

D

ω=ω

Di conseguenza, ci basta imporre che ωD=π/2 in corrispondenza di ωA=4: si trova immediatamenteche deve essere T=1/2.

Premesso questo, andiamo ad applicare la trasformazione bilineare, che per T=1/2 sarà

+−

=

+−

= −

=

1

1

2/1T

1

1

z1

z14

z1

z1

T

2s

Sostituendo nell’espressione di HA(s), otteniamo

21

21

2

1

1

1

1

z975.0z0006.01

z122.0z006.0128.0...

161.0z1

z14

1.0z1

z14

)z(H −−

−−

++−+

==

+

+

+−

+

+−

=

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

975.0z

122.0z006.0z128.0

z975.01

z122.0z006.0128.0)z(H

2

2

2

21

+−+

=+

−+≅ −

−−

Il filtro ottenuto presenta dunque due poli e due zeri:

=→

=→ π±

95.0

1zzeri

e987.0ppoli

2/1

2/j2/1

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 adottenere il corrispondente filtro numerico, imponendo su di esso una precisa condizione (in quel casola risonanza ad una determinata frequenza) da ottenere fissando opportunamente T. In generale, ilprogetto dei filtri digitali, basato su trasformazione bilineare, procede nel modo seguente:

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli25

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

• queste specifiche vengono convertire nel dominio analogico come indicato dalla relazione

2

Ttanarc2 A

D

ω=ω che lega le pulsazioni nei due domini;

• viene quindi progettato il filtro analogico che risponde a queste specifiche;

• infine, si usa la trasformazione bilineare per ottenere il corrispondente filtro numerico, cioèl’esito finale del progetto.

Con questo metodo, il parametro T è trasparente, nel senso che può essergli attribuito un valoredel tutto arbitrario: tipicamente, per comodità si pone T=1. L’esempio che sviluppiamo adessochiarisce quest’ultimo concetto.

Vogliamo progettare un filtro digitale passa-basso, a singolo polo, con una pulsazione di taglio (opulsazione a -3dB) in corrispondenza di 0.2π. Per ottenere questo, vogliamo usare latrasformazione bilineare applicata al seguente filtro analogico:

C,A

C,AA s

)s(Hω+

ω=

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

Per prima cosa, così come abbiamo fatto nell’esempio precedente, leghiamo la pulsazione ditaglio del filtro analogico a quella desiderata per il filtro numerico:

2

Ttanarc2 C,A

C,D

ω=ω

Imponendo ωD,C=0.2π e invertendo quella relazione, si ottiene banalmente T

65.0C,A =ω .

Sostituendo allora nella funzione di trasferimento del filtro analogico, otteniamo

T/65.0s

T/65.0)s(HA +

=

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

+

x(t)

-

+

y(t)

-

R

C

Adesso dobbiamo passare al corrispondente filtro numerico, applicando semplicemente latrasformazione bilineare: otteniamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli26

1

1

1

1

1

1 z509.01

)z1(245.0

65.0z1

z12

65.0

T

65.0

z1

z1

T

2T

65.0

)z(H −

− −+

=+

+−

=+

+−

=

Come previsto, il parametro T è scomparso, il che significa che non abbiamo alcun vincolo su diesso. Poniamo per semplicità T=1 sec.

Possiamo anche verificare la risposta in frequenza di questo filtro, per accertarci che rispetti lespecifiche di progetto. Ponendo z=ejωT (che diventa ejω avendo posto T=1), otteniamo

ω−

ω−

−+

=ωj

j

e509.01

)e1(245.0)(H

Per verificare se la pulsazione a -3dB è quella desiderata, ci basta calcolare il guadagno incorrispondenza di tale frequenza e confrontarlo con quello in continua (ω=0):

1...0(H0

707.0...)2.0(H2.0

==→=ω

==π→π=ω

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:

+

x(t)

-

+

y(t)

-

R

C

i(t)

La funzione di trasferimento di questo filtro si ricava banalmente applicando il partitore ditensione direttamente nel dominio di Laplace: si ottiene

sC/1R

sC/1

)s(X

)s(Y)s(HA +

==

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

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli27

1

1

1

1

1

1

zRCT

21RC

T

21

z1....

z1

z1

T

2C

1R

z1

z1

T

2C

1

)z(H−

−+

+

+==

+−

+

+−

=

E’ questo un filtro che presenta uno zero in -1 ed un polo in 1T/RC21

T/RC21p <

+−

= .

Proviamo a capire quale sia la funzione di risposta all’impulso del filtro. Possiamo per esempioscomporre il filtro nella cascata di due filtri, così fatti:

−+

+

=

+=

→⋅=−

12

11

21

zRCT

21RC

T

21

1)z(H

z1)z(H

)z(H)z(H)z(H

Il filtro indicato con H1(z) è un semplice filtro FIR (avente uno zero in -1 ed un polo nell’origine),la cui funzione di risposta all’impulso è semplicemente

n

11

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

nell’origine ed il polo in 1T/RC21

T/RC21p <

+−

= . Questo polo è all’interno del cerchio unitario, il che

significa che H2(z), e quindi anche H(z), è stabile. Non poteva essere altrimenti: siamo infatti partitida un filtro analogico stabile, in quanto il suo polo è -1/RC, per cui anche il corrispondente filtronumerico, per le proprietà della trasformazione bilineare, doveva necessariamente essere stabile.

Si può ricavare agevolmente che la funzione di risposta all’impulso corrispondente H2(z) è laseguente (di lunghezza infinita):

+−

==n

n2 T/RC21

T/RC21p)n(h

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

n

.................

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli28

Considerazioni generali sul progetto tramite trasformazione bilineare

In generale, sappiamo che le specifiche di progetto, per un filtro digitale così come per unoanalogico, non sono in termini di andamento esatto della funzione di trasferimento, quanto in terminidi maschera all’interno della quale il modulo di tale funzione di trasferimento deve rientrare. Adesempio, nel caso di un filtro passa-basso, la maschera è del tipo seguente:

f (Hz)bandapassante

banda ditransizione

bandaarrestata

fC/2

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 all’intervallo [0,fC/2], in

quanto il mondo tempo-discreto si ripete periodicamente all’esterno 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 trasformazionebilineare, produce un filtro numerico che rientra nella maschera assegnata.

Quando parliamo di prototipo di filtro analogico ci riferiamo sostanzialmente al fatto che anche inanalogico non interessa un filtro preciso, ma una maschera: il filtro analogico deve rientrare in talemaschera e, una volta convertito tramite la trasformazione bilineare, deve dare un filtro digitale che asua volta rientri nella propria maschera.

Quindi, il problema si riconduce a determinare la maschera analogicacorrispondente alla maschera tempo-discreta che ci è stataassegnata.

Ciò che consente il passaggio dall’una all’altra maschera è ancora la formula che lega lepulsazioni nei due domini, analogico e digitale:

2

Ttanarc2 A

D

ω=ω

Tramite questa relazione, infatti, possiamo ricavare le frequenze delimitatrici della banda ditransizione 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 dimaschera da rispettare, ossia sostanzialmente di massimo ripple in banda passante, massimoripple in banda arrestata, minima attenuazione in banda arrestata e frequenze delimitatrici dellabanda di transizione;

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli29

• queste specifiche vengono convertire nel dominio analogico tramite la relazione

2

Ttanarc2 A

D

ω=ω : si ottiene perciò la maschera analogica equivalente a quella digitale di

partenza;

• viene quindi progettato il filtro analogico che rientra nella maschera;

• infine, si usa la trasformazione bilineare per ottenere il corrispondente filtro numerico.

E’ ovvio che la relazione 2

Ttanarc2 A

D

ω=ω tiene intrinsecamente conto

della deformazione subita dalle frequenze analogiche nel passaggio aquelle digitali: ciò significa, sostanzialmente, che la maschera analogica contiene già di persé le pre-distorsione di cui abbiamo parlato in precedenza.

Infine, c’è da considerare l’ottimizzazione per il progetto di filtri IIR, per la quale valesostanzialmente quanto già detto per i filtri FIR: una volta definito un parametro (ad esempio ilclassico errore quadratico medio) che sia indice della bontà dell’approssimazione che otteniamo, sipuò mettere in piedi una procedura di ottimizzazione che, agendo sui coefficienti delnumeratore e del denominatore della H(z), venga iterata fin quando, con la complessità assegnata, siottiene 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.

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 filtrostesso in termini di funzione di sistema H(z), ossia sostanzialmente in termini di polinomio in z (o inz-1, è la stessa cosa):

∑ −=→n

nz)n(h)z(H)n(h

I coefficienti di questo polinomio sono dei numeri reali: essi infatti corrispondono esattamente aicampioni della risposta all’impulso h(n) del sistema stesso, che deve essere reale.

Necessariamente, la precisione con cui descriviamo questi coefficienti è limitata, sia se ciriferiamo ad una simulazione al computer (Matlab) sia se ci riferiamo all’implementazione praticadel 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 nell’origine (che sono fissi) e zeri, per cuinon si hanno problemi di stabilità: in generale, nel caso dei filtri FIR, un eventuale errore dirappresentazione di uno o più coefficienti determina una diversa posizione di uno o più zeri; dato chetali zeri influiscono solo sulle frequenze alle quali il filtro deve attenuare maggiormente il segnale iningresso, deduciamo che errori sugli zeri possono influenzare tutt’al piùil comportamento nella banda arrestata, dove appunto l’attenuazioneè massima.

Se, invece, passiamo ai filtri IIR, allora le cose si complicano, a causa della presenza dei poli:

( )( )∏

∏−

−=

k

1k

k

1k0

1

zp1

zz1a)z(H

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli30

Cerchiamo allora di capire, per un filtro di questo tipo, quale sia la funzione svolta dagli zeri equale 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):

( ) ( )∏∏ −−−−−

−⋅−=⋅=

k

1kk

1k0

12

11

1

zp1

1zz1a)z(H)z(H)z(H

Il filtro FIR, avendo solo zeri, presenta anche una batteria di poli situati nell’origine, per cui hauna mappa poli-zeri del tipo seguente:

Possiamo allora visualizzare la situazione come se l’andamento della funzione di trasferimento siarappresentato da un “tendone da circo”: con questa visualizzazione, gli zeri del filtro possono esserevisti come dei “chiodi” che mantengono il tendone ben fissato in corrispondenza dei vari punti delcerchio unitario6.

Questo è un modo semplice di visualizzare il fatto che gli zeri sul cerchio unitarioimpongono attenuazione infinita, ovvero stabiliscono a qualifrequenze il modulo della funzione di trasferimento deve esserenullo. Tanto per richiamare un esempio concreto, ricordiamo il comportamento di un filtroNOTCH, che ha una coppia di zeri complessi coniugati posizionati sul cerchio unitario: se, adesempio, i due zeri sono in ±j, allora il filtro è tale da azzerare un’eventuale sinusoide, a frequenzafC/4, mandata in ingresso al filtro.

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

stesso.

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli31

Im

Re

+j

-j

n

1 1

0 T 2T

Risposta all’impulso (lunga 3) e mappa poli-zeri della corrispondente funzione di sistema, per un filtroNOTCH che azzeri un’eventuale 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 nonsi trova sul cerchio unitario, ma ha la stessa fase, allora l’attenuazione è finita, tanto maggiore quanto

più lo zero è vicino al cerchio unitario (r→1)

Questo per quanto riguarda, dunque, la parte relativa agli zeri. I poli si comportano inmodo sostanzialmente duale, in quanto corrispondono a moduloestremamente grande (al limite infinito) della funzione ditrasferimento. Essi quindi possono essere usati per tirar su il modulo della funzione ditrasferimento nella banda desiderata. Di conseguenza, andranno sistemati in modo da corrispondere afrequenze nella banda passante del filtro.

Riprendendo la schematizzazione di prima del “tendone”, mentre gli zeri sono dei “chiodi”, i polisono una specie di “pali”, proprio perché servono a tirar su la funzione di trasferimento.

Schematizzazione dei poli e degli zeri

Per comprendere ancora meglio l’analogia tra poli e zeri da un parte e, rispettivamente,pali e chiodi dall’altra, possiamo far riferimento ad un caso concreto. Consideriamoinfatti la seguente funzione di sistema:

5

1

z321

z21)z(H −

−−

=

Una funzione di questo tipo è stata già analizzata in precedenza: è facile verificare cheessa presenta 4 poli disposti, in posizioni a due a due simmetriche rispetto all’origine delpiano-z, sul cerchio di raggio 2, e presenta inoltre uno zero (di molteplicità 4)nell’origine. E’ possibile usare una simulazione al calcolatore (Matlab) con la qualediagrammare l’andamento del modulo di H(z) al variare di z sul piano-z. Usando unarappresentazione tri-dimensionale (che cioè appunto riporti |H(z)| per un numeroprefissato di punti del piano-z), si ottiene la seguente figura:

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli32

Si sono considerati, in questo caso, 1600 punti, ottenuti considerando 40 valori sull’assereale e altrettanti sull’asse immaginario. Come si nota, i poli portano su il modulo diH(z), mentre lo zero nell’origine tiene tale modulo “ancorato” in z=0.

Una attenzione particolare bisogna porre per l’implementazione di coppie di poli e/o di zericomplessi coniugati, per ottenere i quali sappiamo di dover usare celle elementari del secondoordine (ogni cella è la cascata di due celle elementari del primo ordine, ciascuna corrispondente adun polo o ad uno zero complesso):

• per realizzare una coppia di zeri complessi coniugati, dovremo considerare una cellaelementare del tipo

( )( ) ( ) 221221jj1j1j1i zrzcosr21zrzeer1zre1zre1)z(H −−−−θ−θ−θ−θ−− +⋅θ+=+++=++=

Questa cella (che presenta due poli nell’origine e due zeri complessi coniugati z=re±jθ) haevidentemente una funzione di risposta all’impulso lunga 3 campioni:

n

1

0 T 2T

r2

( )zcosr2 θ

• per realizzare una coppia di poli complessi coniugati, dovremo invece considerare una cellaelementare del tipo

2211j1j1

zrzcosr21

1...

zre1

1

zre1

1)z(H −−−θ−−θ

+⋅θ−==

−⋅

−=

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli33

Otteniamo in questo caso i due poli complessi coniugati p=re±jθ ed uno zero doppionell’origine, cioè la funzione di trasferimento reciproca della precedente.

In questo caso, ci riagganciamo al discorso da cui eravamo partiti, in quanto entra in gioco laprecisione di calcolo. In particolare, i problemi vengono dal coefficiente intermedio cosθ, che vanecessariamente approssimato. Possiamo allora renderci conto del fatto che tale approssimazione nondà 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 cerchiounitario, il che significa porre r=1; una eventuale variazione del coefficiente cosθ corrispondesemplicemente ad una variazione angolare dei due zeri, che continuano a rimanere sul cerchiounitario. Questo significa che un eventuale arrotondamento dei coefficientirelativi agli zeri può avere come conseguenza semplicemente lospostamento delle frequenze di attenuazione infinita rispetto aquelle teoriche calcolate; l’effetto in banda passante di questo spostamento è solomarginale;

• passiamo invece alla coppia di poli complessi: in questo caso, dato che noi vogliamo solo filtristabili, i due poli si trovano all’interno del cerchio unitario, per cui r<1; se, allora,commettiamo un errore sul coefficiente intermedio (ad esempio tramite una descrizionegrossolana), non cambia solo la fase dei due poli, ma anche il modulo, in quanto dobbiamoapprossimare non più cosθ, ma rcosθ. Questo può non essere tollerabile: infatti, se abbiamoprogettato un filtro molto selettivo, quindi con andamento molto appuntito in un piccolointervallo di frequenze, per ottenere l’andamento desiderato abbiamo bisogno di piazzare unpolo molto vicino al cerchio unitario; dato, però, che anche piccole imprecisioni di calcolopossono spostare il polo rispetto alla posizione desiderata, la situazione diventa critica: nonsolo perché potremmo avere un comportamento diverso da quello previsto, ma anche perché, seil polo dovesse finire al di fuori del cerchio unitario, il sistema diventerebbe instabile.

Possiamo perciò concludere che, nel caso dei filtri IIR, la scelta sullaprecisione da adottare per il calcolo dei coefficienti è un problemacritico.

Possiamo anche condurre una minima analisi matematica della questione7. Consideriamo infatti ildenominatore della funzione di sistema del filtro considerato:

( ) ∑∏=

−− =−=N

0i

ii

k

1k zazp1)z(D

Possiamo esprimere tale denominatore sia in termini dei produttoria di binomi, in modo daevidenziare le sue radici (cioè i poli del filtro), sia in termini di polinomio in z-1, in modo daevidenziare i coefficienti del filtro stesso.

Consideriamo, in particolare, questa seconda rappresentazione e valutiamo la cosiddettasensitività, ossia la dipendenza dei poli dalle variazioni dei coefficienti del filtro. Sostanzialmente,

quello che ci interessa calcolare è la quantità i

k

a

p

∂∂

, cioè la dipendenza della posizione del polo k-

simo dal coefficiente i-simo del polinomio.

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

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli34

Per fare questa valutazione, cominciamo a calcolare la derivata del polinomio D(z) rispetto algenerico coefficiente ai del polinomio stesso: otteniamo

i

k

k

k

pzipzpzi a

p

p

)p(D

a

z

z

)z(D

a

)z(D

kkk∂∂

⋅∂

∂=

∂∂

∂∂

=∂

===

Da qui possiamo esplicitare la suddetta sensitività:

k

k

pzi

1

i

k

p

)p(D

a

)z(D

a

pk

∂∂

∂∂

=∂∂ =

Se consideriamo che ( )∏ −−=k

1k zp1)z(D , possiamo esplicitare meglio la derivata a denominatore:

intanto, possiamo scrivere che

( ) ( )∏∏∏ −=

−=−= −

jjk

Nk

j k

jk

j

1kjk ppp

p

pppp1)p(D

Dobbiamo ora derivare questa quantità rispetto a pk: avendo il prodotto di N+1 termini, laderivazione risulta complicata, ma si intuisce che il risultato finale sia un qualcosa di proporzionalealla quantità ( )∏

−kj

jk pp .

Sostituendo, allora, nell’espressione di i

k

a

p

∂∂

, otteniamo

( )∏≠

=

∂∂

∝∂∂

kjjk

pzi

1

i

k

pp

a

)z(D

a

pk

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

ikpz

i

pz

N

0i

ii

ipzi

1

pzzaaa

)z(Dk

kk

=

==

=

==

∂∂

=∂

∂ ∑

Abbiamo ancora una costante di proporzionalità, per cui possiamo concludere che

( )∏≠

−∝

∂∂

kjjki

k

pp

1

a

p

Questo risultato dice in pratica che la sensibilità di un polo pk allefluttuazioni di un coefficiente ai è inversamente proporzionale alprodotto delle distanze relative tra tutte le radici del polinomio e

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli35

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 cresceredel numero di poli. Questo è uno dei motivi fondamentali per cui è opportuno realizzare blocchi checontengano 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 difunzioni di trasferimento che realizzano una coppia di poli ed una coppia di zeri. Tali funzioni sonoimplementate da blocchi del tipo già visto in precedenza e qui di seguito riproposti:

x(n)+

y(n)

T

+

T

zz cosr2 θpp cosr2 θ

2Pr− 2

Zr

UTILIZZO DELLE “STRUTTURE ANALOGICHE A SCALA”Siamo nell’ambito del problema del controllo delle radici di un polinomio

H(z) mediante il controllo dei coefficienti del polinomio stesso: ilproblema nasce dal fatto che tali coefficienti devono essere descritti con precisione inevitabilmentefinita.

Quando, in precedenza, abbiamo descritto i metodi implementativi dei filtri IIR, abbiamo vistoche la generica cella elementare, corrispondente ad una funzione di sistema con una coppia di policomplessi coniugati ed una coppia di zeri complessi coniugati, è fatta nel modo seguente:

x(n)

θcosr2

+

r2

y(n)

T

+

-r2

T

θcosr2

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli36

Questa cella è ottenuta ponendo in cascata la cella elementare del secondo ordine corrispondentealla coppia di poli e quella (sempre elementare del secondo ordine) corrispondente alla coppia dizeri.

Per le considerazioni fatte nel paragrafo precedente, una struttura di questo tipo richiedeparticolare attenzione per quanto riguarda i coefficienti dei moltiplicatori: infatti, mentre nonabbiamo problemi per quanto riguarda gli zeri, ne abbiamo per quanto riguarda i poli, in quantobisogna assicurarsi che essi, oltre a mantenersi nei pressi delle posizioni teoriche previste, rimanganocomunque all’interno del cerchio unitario, onde garantire un filtro comunque stabile.

Questo discorso è assolutamente analogo a quello da fare quando si vuole ottenere un filtroanalogico tramite una rete RLC e si vogliono determinare i valori delle capacità e delle induttanzeper avere una data funzione di trasferimento. Anzi, nel mondo analogico i problemi sonodecisamente minori, in quanto, anche sbagliando il valore di una induttanza, il filtro conservasostanzialmente le proprie caratteristiche e, soprattutto, rimane stabile. Ad esempio, quando si vuolerealizzare 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 (conresistenza serie) e dall’altra sul carico, rappresentato da una resistenza RL.

Fissata la funzione di trasferimento che si vuole ottenere, bisogna dimensionare i valori diinduttanze e capacità. Per fare questo, sono state predisposte delle apposite tabelle, in cui vengonoriportati i valori di L e di C normalizzati rispetto alla frequenza di taglio fT: in altre parole, sonotabulati i valori di L/fT e di C/fT. Queste tabelle consentono perciò di dimensionare L e C in funzionedella frequenza di taglio che si desidera ottenere.

Ci sono anche altre tabelle di questo tipo, nelle quali però la normalizzazione viene fatta rispettoalle impedenze di ingresso e di uscita. Questo è possibile per una particolare proprietà delle reti ascala: infatti, se abbiamo una rete a scala e dividiamo tutte le impedenzeper uno stesso numero, la funzione di trasferimento non cambia.Sfruttando questa proprietà, si trovano i valori delle impedenze della rete (ωL e 1/ωC) normalizzateall’impedenza di ingresso Rg ed alla impedenza di uscita RL, che di solito sono uguali.

Con queste tabelle, quindi, conoscendo il valore che serve per l’impedenza di ingresso e quella diuscita 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 ilnumero di celle elementari da porre in cascata, ossia sostanzialmente il grado di complessità dellarete. Facciamo un esempio concreto: se si vuole realizzare un filtro alla Butterworth (filtro passa-basso a soli poli), il modulo al quadrato della funzione di trasferimento deve essere del tipo

n2

C

2

1

1)(H

ωω

+

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli37

dove ωC è la pulsazione di taglio, cioè la pulsazione alla quale il guadagno del filtro scende di 3dBrispetto 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, ilmodulo quadro di H(ω) risulta sostanzialmente costante; a partire da ωC, invece, l’andamento di|H(ω)| subisce l’effetto di n poli, ognuno dei quali contribuisce notoriamente ad un incremento dipendenza (negativa) di 20 dB/decade. Di conseguenza, è evidente che il numero n di celle daconsiderare dipende dalle specifiche richieste e, in particolare, sia dalla attenuazione minima inbanda attenuata sia dalla estensione della banda transizione.

In base a queste specifiche, dunque, risulta determinata la complessità della rete. Non solo, ma inquesta 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 numericoottenuto tramite trasformazione bilineare, ci basterà applicare proprio la suddetta trasformazione perottenere il filtro numerico desiderato: otteniamo cioè i coefficienti del numeratore e deldenominatore 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à edinduttanze della rete a scala;

• in secondo luogo, si applica la trasformazione bilineare per ottenere il corrispondente filtronumerico, 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à esulle induttanze non dà grossi problemi, in quanto il filtro continua ad essere molto simile a quellodesiderato; al contrario, nel mondo digitale, nel quale noi controlliamo laposizione dei poli non più tramite elementi reattivi ma tramitecoefficienti numerici, i problemi dovuti ad errori diapprossimazione sono più consistenti.

Si potrebbe allora pensare di scegliere una strada diversa per l’implementazione di un filtronumerico: 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 andarealla 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 dispiegarci meglio.

Supponiamo di voler simulare al calcolatore il comportamento di un elemento resistivo: dobbiamocostruire un blocco che dia un legame istantaneo di proporzionalità tra l’ingresso e l’uscita esappiamo che è banale ottenere questo, in quanto basta un moltiplicatore, che dia l’uscita appuntomoltiplicando l’ingresso per una costante di proporzionalità assegnata (sarebbe il valore dellaresistenza). 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 l’uscita è legataalla derivata dell’ingresso tramite una costante di proporzionalità, per cui il moltiplicatore non è piùsufficiente.

D’altra parte, abbiamo visto nei precedenti paragrafi come si possa approssimare, nel mondotempo-discreto, l’operazione di derivazione: si tratta dei discorsi che ci hanno portato allatrasformazione bilineare:

1

1

z1

z1

T

2s −

+−

=

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli38

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

mondo analogico, è notoriamente dt

)t(dvC)t(i = ; applicando la trasformata di Laplace, otteniamo

)s(CsV)s(I = , da cui deduciamo che la funzione di trasferimento è Cs)s(H = . Per ottenere ilcorrispondente sistema tempo-discreto, applichiamo la trasformazione bilineare:

1z

1z

T

C2

z1

z1

T

C2)z(HCs)s(H

1

1z1

z1

T

2s

1

1

+−

=+−

= →= −

−+

−=

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

+=−=

→⋅⋅=1z)z(H

1z)z(H)z(H)z(H

T

C2)z(H

2

121

Il corrispondente schema di flusso è fatto allora nel modo seguente:

x(n) + y(n)

z-1

z-1

H1(z)(zero in +1)

H2(z)(polo in -1)

Questo è dunque il modello tempo-discreto di un condensatore. Identico ovviamente sarà ilmodello di un induttore, a patto di ricordare che la relazione caratteristica è in questo caso

dt

)t(diL)t(v = , per cui l’ingresso è adesso la corrente, mentre l’uscita è la tensione.

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 nostrofiltro sarà ottenuto dalla combinazione di vari modelli di quel tipo: a seconda della connessione cheadottiamo, è possibile che vari cammini a ritardo nullo vadano a costituire una maglia (o loop) aritardo nullo, il che non può essere: infatti, una maglia a ritardo nullo indica che una variabile, inun 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 quelloche sapremmo già implementare banalmente tramite trasformazione bilineare, abbia però unaminore sensibilità ai parametri;

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli39

• abbiamo individuato un modo di risolvere questo problema, che consiste nel costruire il filtronumerico tramite interconnessione di strutture elementari, ciascuna rappresentativa deicorrispondenti componenti analogici (resistori, condensatori ed induttori);

• questa soluzione ha il pregio per cui, anche con una limitata precisione di rappresentazione deicoefficienti, la risposta del filtro continua ad essere accettabile; essa presenta però duesvantaggi fondamentali:

∗ il primo riguarda il pericolo che si creino maglie a ritardo nullo, che renderebbero ilprogetto non fisicamente realizzabile;

∗ il secondo riguarda l’evidente complessità della struttura del filtro: la struttura ottenutaconnettendo i blocchi del tipo riportato nell’ultima figura presenta sicuramente piùmoltiplicatori e sommatori della struttura che si otterrebbe usando la trasformazionebilineare.

Supponendo allora di accettare la maggiore complessità della struttura, abbiamo sempre ilproblema dei cammini a ritardo nullo. Una possibile soluzione a questo problema è quella deicosiddetti filtri ad onda numerica (wave digital filter), descritti nel prossimo paragrafo.

FILTRI AD ONDA NUMERICA (WAVE DIGITAL FILTERS)L’idea 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 lalunghezza d’onda dei segnali che si propagano. L’esempio classico di sistema distribuito è una lineadi trasmissione:

I(z)

+

Vi

-

+

V0

-

asse z

Ii I0

+

-

+

V(z)

-

Come ben sappiamo, in ogni punto della linea risulta costante il rapporto tra la tensione V(z) e lacorrente I(z): tale rapporto rappresenta l’impedenza caratteristica della linea stessa.

L’equazione differenziale (equazione dei telegrafisti) descrittiva del sistema lineare fornisce,come soluzione generale, la sovrapposizione di un’onda che si propaga allontanandosi dalla sorgente(onda diretta) e di un’onda che si propaga in verso opposto (onda riflessa). Se la linea èinfinitamente lunga oppure è di lunghezza finita ma è chiusa su una impedenza concentratacoincidente con l’impedenza caratteristica della linea (linea adattata), allora c’è solo l’onda diretta(in quanto al carico non si verifica alcuna riflessione, come indicato dal teorema del massimotrasferimento di potenza). Se, invece, l’impedenza di carico è diversa dall’impedenza caratteristicadella linea, allora si genera anche l’onda riflessa (linea non adattata) in corrispondenza del carico: lapotenza erogata dal generatore non è interamente trasferita al carico, ma viene in parte riflessa versola sorgente.

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli40

Anziché considerare il caso particolare di una linea di trasmissione, possiamo estenderequesti concetti ad un generico doppio bipolo per il quale sianecessaria una descrizione a parametri distribuiti:

+V1

-

DoppioBipolo

I1

+V2

-

I2

Questo tipo di approccio è quello seguito per un qualsiasi componente elettronico che lavori inalta frequenza (microonde e oltre), cioè appunto con segnali di lunghezza d’onda piccola: si è fattaquesta scelta in quanto, per piccole lunghezze d’onda, non è più possibile definire i cortocircuitiideali per conduttori di dimensioni paragonabili appunto con λ.

Per questo tipo di situazioni, anziché descrivere il comportamento del doppio bipolo in termini ditensioni e correnti alle due porte (cioè, sostanzialmente, in termini di parametri Z o Y), si ricorre aduna descrizione proprio in termini di onda diretta e onda riflessa, sia per la porta di ingresso sia perla porta di uscita. Questa descrizione, che tra un attimo sarà meglio dettagliata, porta alla notamatrice di scattering, cioè una matrice che rappresenta il comportamento del doppio bipolo infunzione dei cosiddetti parametri S di scattering (o di diffusione).

Dobbiamo per prima cosa capire cosa intendiamo per onda diretta e onda riflessa. Per la genericaporta, consideriamo le seguenti definizioni:

onda diretta (incidente) → IRVa ⋅+=onda riflessa → IRVb ⋅−=

In queste definizioni, compare il parametro R, rappresentativo della resistenza di normalizzazioneper la porta considerata. Nel mondo analogico, il valore di R è standard e vale 50 Ω oppure 75 Ω; alcontrario, nel mondo numerico R non è una resistenza fisica da implementare, il che ci conferiscedue gradi di libertà: in primo luogo, possiamo fissare R a nostro piacimento e vedremo in seguitoquale valore ci conviene scegliere; in secondo luogo, possiamo adottare sia un valore di R uguale pertutte 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 cheadottiamo per le due porte sono le seguenti:

⋅−=⋅+=

111

111

IRVb

IRVa : 1 porta

⋅−=⋅+=

222

222

IRVb

IRVa : 2 porta

Queste definizioni ci consentono di descrivere il comportamento del sistema in termini di matricedi scattering: ciò significa scrivere una relazione matriciale del tipo

[ ] [ ] [ ]aSb ⋅=

In pratica, mentre nella descrizione mediante i parametri Z ed Y si considera, come variabileindipendente per ciascuna porta, rispettivamente la corrente o la tensione, nella descrizione medianteparametri S si considera come ingresso l’onda incidente e come uscita l’onda riflessa.

Esplicitando le matrici, abbiamo dunque che

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli41

=

2

1

2221

1211

2

1

a

a

SS

SS

b

b

I parametri S vanno misurati per il dispositivo in esame ed il criterio con cui effettuare la misurasi basa proprio su quella relazione matriciale: per esempio, il coefficiente S11 è dato evidentementeda

22222 RIV11

11

0RIV11

11

0a1

111 RIV

RIV

RIV

RIV

a

bS

−==+=+−

=+−

==

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

DoppioBipolo

+

-

Su questo schema, dobbiamo poi misurare il rapporto tra l’onda riflessa e l’onda diretta per laporta 1. In poche parole, S11 è il rapporto tra onde riflessa e onda diretta alla porta 1 quando la porta2 è chiusa su un carico passivo di valore R.

In modo del tutto analogo, ci accorgiamo, ad esempio, che S12 è dato da

11111 RIV22

11

0RIV22

11

0a2

112 RIV

RIV

RIV

RIV

a

bS

−==+=+−

=+−

==

A questo punto, anziché considerare un dispositivo generico, concentriamoci sui dispositivi che ciinteressano nei nostri discorsi, vale a dire condensatori e induttori. Essendo questi degli elementimonoporta (e non biporta come i doppi bipoli), è ovvio che l’unico parametro S che ha significato èil rapporto tra l’onda incidente e l’onda riflessa all’unica porta presente.

Cominciamo da un condensatore:

+

V

-

I

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli42

Applicando le definizioni viste prima, abbiamo che

IRV

IRV

a

bS

⋅+⋅−

==

dove R è sempre la resistenza serie con la quale supponiamo di alimentare il dispositivo.D’altra parte, se ci poniamo direttamente nel dominio di Laplace, sappiamo che corrente e

tensione sono legate dalla relazione I=sCV, per cui scriviamo che

sRC1

sRC1

sCVRV

sCVRVS

+−

=⋅+⋅−

=

Questo è dunque il modello per il nostro condensatore analogico che lavora in alta frequenza. Perottenere il corrispondente dispositivo tempo-discreto, usiamo ancora una volta la trasformazionebilineare:

( ) ( )

( ) ( )11

11

1

1

1

1

z1

z1

T

2s

z1T

2RCz1

z1T

2RCz1

z1

z1

T

2RC1

z1

z1

T

2RC1

SsRC1

sRC1S

1

1

−−

−−

+

−=

−⋅++

−⋅−+=

+−

⋅+

+−

⋅−= →

+−

= −

A questo punto, possiamo sfruttare quanto detto in precedenza circa il valore di R: non avendoalcun vincolo, dato che stiamo nel mondo numerico, possiamo scegliere R come più ci fa comodo. Inquesto caso, ci fa comodo eliminare quante più costanti possibile, per cui scegliamo R in modo tale

che risulti 1T

2RC =⋅ : quindi

( ) ( )( ) ( )

111

11

zz1z1

z1z1S

C2

TR1

T

2RC −

−−

−−

=−++−−+

=→=→=⋅

La conclusione cui siamo pervenuti è la seguente: se il condensatore vede, alla porta, un livello diimpedenza puramente resistivo e di valore R=T/2C, esso può essere simulato da un operatore

numerico 1zS −= .

In altri termini, se effettuiamo una simulazione discreta del sistema analogico, possiamo sostituireal condensatore un semplicissimo elemento di memoria (ad esempio un flip-flop o comunque unacella di memoria):

+

V

-

I

z-1

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

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli43

Possiamo adesso ripetere l’identico discorso per un induttore, per il quale cambia evidentementela relazione di lato, che adesso è V=sLI: abbiamo che

1R

Ls

1R

Ls

RsL

RsL

IRsLI

IRsLI

IRV

IRV

a

bS

+

−=

+−

=⋅+⋅−

=⋅+⋅−

==

Questo è il modello per un induttore analogico che lavora in alta frequenza. Per ottenere ilcorrispondente dispositivo tempo-discreto, usiamo la trasformazione bilineare:

( ) ( )

( ) ( )11

11

1

1

1

1

z1

z1

T

2s

z1R

Lz1

T

2

z1R

Lz1

T

2

1R

L

z1

z1

T

2

1R

L

z1

z1

T

2

S1

R

Ls

1R

Ls

S1

1

−−

−−

+

−=

++−

+−−=

++−

−+−

= →+

−= −

Ancora una volta, scegliamo il valore di R in modo opportuno, ossia in modo tale che risulti

1R

L

T

2=⋅ : quindi

( ) ( )( ) ( )

111

11

zz1z1

z1z1S

T

L2R1

R

L

T

2 −−−

−−

−=++−+−−

=→=→=⋅

Rispetto al modello del condensatore che abbiamo ottenuta prima, abbiamo in più una inversione

di segno: 1zS −−= .

+

V

-

I

z-1

-1

Dispositivi adattatori

Adesso cominciamo ad avere gli strumenti necessari per costruire un filtro numerico, checorrisponda ad un filtro analogico RLC, semplicemente componendo i singoli blocchi (ciascunorappresentativo del corrispondente dispositivo analogico). C’è però da capire come vanno effettuatele connessioni e come si risolve il problema dei cammini a ritardo nullo.

Per spiegarci meglio, immaginiamo di voler realizzare un filtro numerico che sia ilcorrispondente, nel mondo discreto, del filtro analogico RLC rappresentato nella figura seguente:

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli44

+

-RL

L1Rg L2

C

Le resistenze indicate con Rg ed RL sono, rispettivamente, quella di pilotaggio (resistenza serie delgeneratore) e quella di carico. Il loro valore può essere forzato al valore per noi più comodo: peresempio, potremmo prenderla entrambe di 1Ω.

Resta quindi da sostituire ai due induttori ed al condensatore i rispettivi blocchi numerici: unacella 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é lasimulazione sia corretta: infatti, sappiamo che i due modelli appena citati valgono solo quandol’impedenza di pilotaggio del condensatore vale R=T/2C e quella di pilotaggio degli induttori valeR=2L/T. Si deduce che non possiamo effettuare un collegamento diretto tra i dispositivi discreti, madobbiamo necessariamente interporre qualcosa (altri blocchi) che consentano l’adattamento deilivelli di impedenza.

Quali blocchi dobbiamo usare? In generale, per il generico dispositivo (blocco corrispondente alcondensatore o blocco corrispondente all’induttore), abbiamo bisogno di un dispositivo a 3 porte,come indicato nella figura seguente:

z-1

Blocco adattatore(a 3 porte)

per il condensatore

z-1

Blocco adattatore(a 3 porte)

per l'induttore

-1

I due adattatori qui disegnati servono affinché le porte dei due dispositivi (simulatore delcondensatore e simulatore dell’induttore) 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, mentreuseremo adattatori tipo parallelo quando servono a rappresentare elementi collegati in parallelo.

L’ultima 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 dobbiamodistinguere i due casi.

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli45

Progetto dell’adattatore tipo serie

Come primo caso, consideriamo un adattatore tipo serie, che cioè venga usato per connettereelementi in serie. Per caratterizzare il funzionamento dell’adattatore, potremmo usare le tensioni e lecorrenti alle 3 porte:

+V1

-

I1

+V3

-

I3

I2- V2 +

R2

R3R1

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

a1 a3

a2

R2

R3R1b1

b2

b3

Le onde (incidenti e riflesse) considerate sono

⋅−=⋅+=

1111

1111

IRVb

IRVa : 1 porta

⋅−=⋅+=

2222

2222

IRVb

IRVa : 2 porta

⋅−=⋅+=

3333

3333

IRVb

IRVa : 1 porta

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

=++==

0VVV

III

321

321

La seconda condizione da imporre riguarda invece i valori delle impedenze viste alle tre porte: adesempio, se stiamo considerando un condensatore e lo connettiamo alla porta 2, dovremo imporreche l’impedenza di tale porta sia resistiva e, in particolare, valga R2=T/2C.

Possiamo ora descrivere l’adattatore in termini di parametri S, il che significa esprimere le onderiflesse (variabili dipendenti) in funzione delle onde incidenti (variabili indipendenti). Basta

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli46

combinare le definizioni delle varie onde con i vincoli corrispondenti al collegamento serie, perrendersi conti che la descrizione matriciale del dispositivo, in termini di matrice di scattering, è laseguente:

ααααααααα

−=

3

2

1

333

222

111

3

2

1

a

a

a

I

b

b

b

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

1,2,3i RRR

R2

321

ii =

++=α

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

Progetto dell’adattatore tipo parallelo

Valgono in questo caso discorsi perfettamente analoghi a quelli visti per l’adattatore tipo serie. Inparticolare, è chiaro che le condizioni sulle impedenza alle porte dell’adattatore sono le stesse diprima, 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 treporte: in questo caso, le tensioni devono essere uguali, mentre le correnti, sommandosi, devono dare0. Quindi, scriviamo che

=++==

0III

VVV

321

321

Con procedimento analogo a quello di prima, si trova che la descrizione in termini di matrice discattering è simile (ma non uguale) a quella trovata prima. In particolare, ci si imbatte ancora unavolta in una matrice avente elementi uguali sulle righe; il generico di tali elementi è

1,2,3i GGG

G2

321

ii =

++=α

Realizzazione del filtro

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

Progetto di filtri IIR (parte I): trasformazione bilineare

Autore: Sandro Petrizzelli47

+

-RL

L1Rg L2

C

Sappiamo bene che i due elementi resistivi non ci danno problemi per quanto riguardal’implementazione, in quanto si tratta semplicemente di due moltiplicatori. Concentriamoci allorasulla parte di circuito composta dal collegamento a T dei due induttori e del condensatore.L’induttore L1 è connesso in serie al resistore di carico RL, per cui dovremo utilizzare un adattatoretipo serie. Successivamente, la serie L1-RL si trova in parallelo al condensatore, per il quale quindidovremo usare un adattatore tipo parallelo. Questa connessione in parallelo si trova poi a sua volta inserie all’induttore 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:

z-1

Adattatoreserie

-1

z-1

Adattatoreparallelo

z-1

Adattatoreserie

-1

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 alpunto 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 danoi fissato;

• alla porta 2, invece, sappiamo che il livello di resistenza deve essere 2L/T, perché solo sottoquesta ipotesi la simulazione risulta corretta;

• infine, alla porta 3 devono essere soddisfatte le specifiche del blocco seguente.

Il blocco seguente è l’adattatore 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 l’ultimo blocco, ossia l’adattatore serie relativo ad L1; le specifiche sonoancora due:

Appunti di “Elaborazione numerica dei segnali” - Capitolo 5

Autore: Sandro Petrizzelli48

• 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, dobbiamogarantire una impedenza resistiva unitaria.

Queste considerazioni mostrano che la struttura presenta diversi gradi di libertà, che possonoperciò essere sfruttati per ovviare al problema delle maglie a ritardo nullo. Ad esempio, possiamopensare 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 possibilimaglie a ritardo nullo vengono aperte e quindi il problema è risolto: l’implementazione vistaconsente di realizzare un filtro numerico che ricalca perfettamente il comportamento del filtroanalogico 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 evidenteun difetto: questo tipo di filtri hanno una struttura abbastanza complessa, anche se il filtro analogicodi partenza era molto semplice come nell’esempio considerato. Non solo, ma tale struttura risultaanche più complicata di quella che, a parità di filtro analogico di partenza, si sarebbe ottenutaapplicando, direttamente alla H(s) del suddetto filtro, la trasformazione bilineare:

)z(H :numerico filtro )s(H :analogico filtro1

1

z1

z1

T

2s

→ −

+

−=

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 deicoefficienti: pur approssimando uno o più coefficienti, la funzione di trasferimento del filtro rimanecomunque molto prossima a quella desiderata.

Autore: SANDRO PETRIZZELLIe-mail: [email protected]

sito personale: http://users.iol.it/sandrysuccursale: http://digilander.iol.it/sandry1