Progetto di filtri numerici IIR da filtri analogici · Progetto di filtri numerici IIR da...

36
Progetto di filtri numerici IIR da filtri analogici Filtri selettivi 1. Butterworth: monotono nella banda passante e nella banda oscura 2. Chebyshev: oscillazione uniforme nella banda passante e monotona nella banda oscura 3. Ellittico: oscillazione uniforme nella banda passante e nella banda oscura Queste propriet` a si mantengono se il filtro ` e realizzato con uno numerico tramite la trasformazione bilineare Nota: la distorsione dell’asse frequenziale introdotta dalla trasf. bilineare si manifesta anche nel “mapping” di caratteristiche di ampiezza costanti a tratti - in termini di distorsione della caratteristica di fase associata al filtro (p.e.: filtro passa-basso numerico a fase lineare non ottenibile mediante trasf. bilineare da filtro passa-basso analogico a fase lineare). 265 A cura di M. Ruggieri, M. Pratesi

Transcript of Progetto di filtri numerici IIR da filtri analogici · Progetto di filtri numerici IIR da...

Progetto di filtri numerici IIR da filtri analogici

Filtri selettivi

1. Butterworth: monotono nella banda passante e nella banda oscura

2. Chebyshev: oscillazione uniforme nella banda passante e monotona nellabanda oscura

3. Ellittico: oscillazione uniforme nella banda passante e nella banda oscura

Queste proprieta si mantengono se il filtro e realizzato con uno numericotramite la trasformazione bilineare

Nota: la distorsione dell’asse frequenziale introdotta dalla trasf. bilineare simanifesta anche nel “mapping” di caratteristiche di ampiezza costanti a tratti -in termini di distorsione della caratteristica di fase associata al filtro (p.e.: filtropassa-basso numerico a fase lineare non ottenibile mediante trasf. bilineare dafiltro passa-basso analogico a fase lineare).

265 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Esempio di progetto con trasformazione analogico/numerica:fitro numerico di Butterworth

• Definizione per filtri di Butterworth: risposta in ampiezza massimamentepiatta in banda passante

⇓per filtro di ordine N :le prime 2N − 1 derivate di |Ha(jΩ)|2 sono nulle in Ω = 0inoltre: approssimazione e monotona sia in banda passante che oscura

|Ha(jΩ)|2 =1

1 + (jΩ/jΩc)2N

risposta del filtrodi Butterworth

266 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

• dalla fattorizzazione Ha(s)Ha(−s):

poli di |Ha(s)|2 sono a coppie sp e −sp

per trovare Ha(s) da |Ha(s)|2 si sceglie un polo da ogni coppia

⇓ per stabilita e causalita ⇓

si scelgono poli del semipiano sinistro

nel filtro numerico ottenuto per trasf. bilineare:|H(z)|2 ha 2N zeri in z = −1

267 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

268 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Poli

sp = (−1)1/2NjΩc = Ωcj(−1)1/2N︸ ︷︷ ︸j 2N√−1

= exp

j

2+

(2π

2Nk +

π

2N

)]k = 0, . . . , 2N − 1

269 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

(rejϑ

)1/n= [r(cos ϑ + j sin ϑ)]1/n

= r1/n

[cos

ϑ + 2kπ

n+ j sin

ϑ + 2kπ

n

]k = 0, . . . , n− 1

Nel nostro caso:n = 2N , r = 1 e ϑ = π dunque:

(−1)1/2N = cosπ + 2kπ

2N+ j sin

π + 2kπ

2Nk = 0, . . . , 2N − 1 c.v.d.

270 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Esempio

N = 3 ⇒ 2N = 6

k = 0 : cosπ

6+ j sin

π

6⇒ sp0 complesso

k = 1 : cos36π + j sin

36π = cos

π

2+ j sin

π

2= j ⇒ j · j = −1 ⇒ sp1 reale

k = 2 : cos56π + j sin

56π ⇒ sp2 complesso

k = 2 : cos76π + j sin

76π ⇒ sp3 complesso

k = 4 : cos96π + j sin

96π = cos

32π + j sin

32π = −j ⇒ −j · j = +1 ⇒ sp4 reale

k = 5 : cos116

π + j sin116

π ⇒ sp5 complesso

271 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

272 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

z =1 + (T/2)s1− (T/2)s

per s = ±Ωc (cioe j(−1)1/2N = ±1):1± ΩcT/21∓ ΩcT/2

273 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Nel progetto di filtro di Butterworth:

1. determinazione di poli nel piano s (e non direttamente nelpiano z)

2. “mapping” nel piano z - con la trasf. bilineare - dei poli nelsemipiano sinistro

274 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Esempio:

Specifiche: filtro numerico passa-basso di Butterworth con modulo della rispo-sta in banda passante costante entro 1 dB per frequenze inferiori a 0.2π e conattenuazione in banda oscura maggiore di 15 dB per frequenze tra 0.3π e π

⇓ (monotono)

Normalizzando a 1 il modulo in banda passante per ω = 0:

Specifiche:20 log10 |H(ej0.2π)| > −1

20 log10 |H(ej0.3π)| 6 −15

da cui partire con il progetto secondo una delle tecniche viste, in particolare:

a. invarianza all’impulso

b. trasformazione bilineare

275 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Ipotesi di lavoro: effetto di aliasing trascurabile (a progetto concluso si verifi-cano le prestazioni del filtro risultante)

Per comodita: T = 1

1o passo: trasformazione delle specifiche in termini di frequenza analogica ⇒

⇒ 20 log10 |Ha(j0.2π)| > −120 log10 |Ha(j0.3π)| 6 −15

2o passo: dal filtro di Butterworth:

|Ha(jΩ)|2 =1

1 + (Ω/Ωc)2N

Il progetto consiste nell’individuare:Ωc e N che soddisfano specifiche

276 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

In un primo momento: Ωc e N :

10 log10 |Ha(j0.2π)|2 = −1

log10 |Ha(j0.2π)|2 = − 1

10

|Ha(j0.2π)|2 = 10−0.1 =1

100.1

1 +

(0.2π

Ωc

)2N

= 100.1

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

10 log10 |Ha(j0.3π)|2 6 −15

log10 |Ha(j0.3π)|2 = −15

10= −1.5

|Ha(j0.3π)|2 = 10−1.5 =1

101.5

1 +

(0.3π

Ωc

)2N

= 101.5

⇓Soluzione: N = 5.8858 e Ωc = 0.70474

⇓ N deve essere intero ⇓

277 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

⇓N = 6

arrotondamento per eccesso⇒ non e piu possibilesoddisfare specifiche con segno = sia su BP che suBO, ma si ha un miglioramento delle prestazionisuddiviso tra BP e BO in relazione al valore di Ωc

Sostituendo N = 6 in specifica su BP:

1 +

(0.2π

Ωc

)2N

= 100.1 ⇒ Ωc = 0.7032

(quindi specifica su BP e soddisfatta esattamente)

specifica su BO e soddisfatta in eccesso (per filtroanalogico)

⇓riduzione dell’effetto di aliasing sul filtro numerico!

278 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

3o passo: poli (di Ha(s))

Nel piano s: 3 coppie di poli in semipiano σ < 0 (N = 6 ⇒N pari ⇒ no poli su asse reale):

sp1, s∗p1 :− 0.1820± j0.6792

sp2, s∗p2 :− 0.4972± j0.4972

sp3, s∗p3 :− 0.6792± j0.1820

279 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

4o passo: dalla identificazione dei poli si puoscrivere:

Ha(s) =0.12093

(s2 + 0.3640s + 0.4945)

· 1

(s2 + 0.9945s + 0.4945)

· 1

(s2 + 1.3585s + 0.4945)

con ciascun termine di 2o ordine a denominatore:

(s2 + αks + βk) = (s− spk)(s− s∗pk) k = 1, 2, 3

e (0.12093)−1︸ ︷︷ ︸8.2704

= coefficiente di s6 che, dalla:

Ha(s)Ha(−s) =1

1 + (s/jΩc)2N

risulta essere

(1/jΩc)N = (1/j0.7032)6 (∗)

= −8.2704(∗): con − di Ha(−s) da + → si omette

280 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

A = 0.12093 = (8.2704)−1

⇓espandendo Ha(s) in fratti semplici risulta, per il filtro numericocon zk = eskT = esk:

H(z) =0.2871− 0.4466z−1

1− 0.1297z−1 + 0.6949z−2 +−2.1428 + 1.1454z−1

1− 1.0691z−1 + 0.3699z−2

+1.8558− 0.6304z−1

1− 0.9972z−1 + 0.2570z−2

⇓realizzazione immediata in forma parallela

281 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Se si usano forme diretta o in cascata, i terminivanno opportunamente combinati. La H(z) tro-vata e:

Risposta in frequenza del filtro Butterworth del se-sto ordine trasformato secondo l’invarianza all’im-pulso.

282 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Nell’esempio: filtro era sufficientemente limita-to in banda per non avere problemi di aliasing. Senon e cosı, si puo ritentare il progetto con ordi-ne N ′ > N oppure, a parita di N , ritoccando iparametri del filtro.

Disposizione dei poli nel piano s per un filtro But-terworth del sesto ordine

283 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

b. Trasformazione bilineare

1o passo: specifiche su frequenze numeriche devono essere ripor-tate nel caso analogico (corretto mapping di frequenze analogi-che critiche, dal punto di vista della distorsione in frequenza, infrequenze numeriche critiche)

⇓ Ω =2

Ttan(ω/2) ⇓

assumendoT = 1

20 log10

∣∣∣∣Ha

(j2 tan

(0.2π

2

))∣∣∣∣ > −1

20 log10

∣∣∣∣Ha

(j2 tan

(0.3π

2

))∣∣∣∣ 6 −15

284 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

2o passo: in un primo momento risoluzione esatta:

1 +

Ωc

)2N

=

100.1 Ω↔ ω = 0.2π101.5 Ω↔ ω = 0.3π

dunque:

1 +

[2 tan(0.1π)

Ωc

]2N

= 100.1 1 +

[2 tan(0.15π)

Ωc

]2N

= 101.5

N =1

2

log[(101.5 − 1)/(100.1 − 1)]

log[tan(0.15π)/ tan(0.1π)]= 5.30466

⇓ N intero ⇓N = 6

285 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Usando N = 6 in relazione sulla banda oscura:

1 +

[2 tan(0.15π)

Ωc

]2N

= 101.5 ⇒ Ωc = 0.76622

che soddisfa le specifiche sulla banda passante in eccesso e quellesulla banda oscura esattamente (e ragionevole dal momento checon trasf. bilineare non ci si deve preoccupare dell’aliasing - graziea predistorsione introdotta)

3o passo: poli

Nel piano s: i 2N = 12 poli di |Ha(·)|2 sono distribuiti su circon-ferenza di raggio Ωc = 0.76622

⇒ considerando i 6 poli dei 12 nel semipiano sinistro σ < 0 ⇒286 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

4o passo: si scrive Ha(s):

Ha(s) =0.20238

(s2 + 0.396s + 0.5871)(s2 + 1.083s + 0.5871)

· 1

(s2 + 1.4802s + 0.5871)

con:

• termini del 2o ordine: 3 coppie di poli coniugati

• fattore 0.20238 = coefficiente di s6 dato da:

(Ωc)6 = (0.76622)6

287 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

⇓applicando la trasformazione bilineare a Ha(s) con T = 1:

H(z) =0.0007378(1 + z−1)6

(1− 1.2686z−1 + 0.7051z−1)

· 1

(1− 1.0106z−1 + 0.3583z−2)

· 1

1− 0.9044z−1 + 0.2156z−2

288 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Risposta in frequenza del filtro Butterworth del se-sto ordine trasformato con la trasformazione bili-neare.

289 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

I grafici di Modulo e Guadagno (dB) vanno a zero piu rapidamentedel filtro a., perche la trasformazione bilineare fa corrisponderel’asse jΩ intero a C in piano z ⇒ filtro di Butterworth analogicoha s = ∞ come zero di 6o ordine → filtro numerico ha z = −1come zero di sesto ordine. (cioe ω = π ⇒ altissima attenuazionein BO)

290 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Progetto di filtri numerici di Chebyshev

Con filtri di Butterworth: se specifiche sono date in termini dimassimo errore - p.e. - di approssimazione in BP → possonoessere soddisfatte con una precisione che eccede quella richiestatanto piu quanto piu ci si avvicina a frequenza zero

⇒ metodo piu efficiente (filtri risultanti con ordine inferiore) ⇒distribuzione della precisione di approx. uniformemente in BP oin BO oppure in entrambe

291 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

⇓approx. con caratteristica di oscillazione (ripple) uniforme (equi-ripple) invece di monotona.

Filtri di Chebishev: oscillazione uniforme in BP e monotona in BO(o viceversa):

|Ha(Ω)|2 =1

1 + ε2V 2N(Ω/Ωc)

con:V : N(x) = cos(N cos−1 x) polinomio di Chebyshev di ordine N

(N = 0: V0(x) = 1; N = 1: V1(x) = cos(cos−1 x) = x; N = 2:V2(x) = cos(2 cos−1 x) = 2x2 − 1...)

292 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Parametri: ε ← ripple, Ωc ← taglio, N ← per banda oscura

Approssimazione di Chebishev per un filtro passa-basso.

293 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Poli: su ellisse (definita da CL di raggio aΩc e CH

di raggio bΩc)

Con: a =1

2(α1/N−α−1/N), b =

1

2(α1/N +α−1/N),

α =1

ε+

√1 +

1

ε2

Posizione dei poli per un filtro di Chebishev delterzo ordine (2N = 6 poli).

294 A cura di

M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Con metodo a. (inv. impulso): N = 4 (stesse specifi-che di prima)

Risposta in frequenza di un filtro passa-basso di Che-bishev del quarto ordine trasformato usando l’inva-rianza all’impulso. (Ωc = 0.2π, ε = 0.50885)

295 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Metodo b.: trasf. bilineare

Ωc = 2 tan(0.2π/2), ε = 0.50885; Nmin = 4

Risposta in frequenza di un filtro passa-basso di

Chebyshev del quarto ordine trasformato usando la

trasformazione bilineare.

296 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Approssimazione ad oscillazione uniforme sia in banda passante che in bandaoscura.

297 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Progetto di filtri ellittici

Con filtri di Chebyshev: distribuendo l’er-rore uniformemente nell’intera BP si ridu-ce l’ordine del filtro necessario al soddisfa-cimento delle specifiche rispetto al caso diButterworth

⇓ulteriore miglioramento: distribuendo l’er-rore della BO uniformemente nella banda

con: oscillazione uniforme sia in BP cheBO:

298 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Si puo dim. che porta alla migliore approx per un dato ordine N

del filtro, cioe per valori di Ωp, δ1 e δ2, la banda di transizione:

Ωs − Ωp

e la piu piccola possibile (pendenza alta)

|Ha(jΩ)|2 =1

1 + ε2 U 2N(Ω)︸ ︷︷ ︸(∗)

(∗): UN(Ω) = funzione ellittica di Jacobi

299 A cura di M. Ruggieri, M. Pratesi

Progetto di filtri numerici IIR da filtri analogici

Con specifiche precedenti: N = 3

Risposta in frequenza di un filtro ellittico del terzoordine (N = 3) trasformato usando la trasforma-zione bilineare.

300 A cura di M. Ruggieri, M. Pratesi