7 Metodi di progetto per filtri IIR - Complementi 7.1 Rappresentazione di filtri IIR mediante sezioni passa-tutto Si considerino due funzioni di trasferimentog(z) eh(z) composte dalla somma e dalla differenza di due sezioni passa-tutto, cioè G(z) = 1 [A 0(z)+A 1 (z)] H(z) = 1 [A 0(z) A 1 (z)]. (7.1) La scomposizione (7.1) è caratterizzata da sezioni passa-tutto con coefficienti reali se N è dispari, mentre i coefficienti sono complessi se N è pari. Nel seguito, per semplicità, assumeremo che le sezioni passa-tutto abbiano coefficienti reali (le dimostrazioni per il caso complesso sono analoghe). Si può dimostrare che tale scomposizione è sempre possibile se sono soddisfatte alcune ipotesi. Si assuma che le funzioni G(z) e H(z) siano bounded real (BR) 1. Si assuma inoltre che G(z) e H(z) siano funzioni razionali, esprimibili mediante le relazioni G(z) = P(z) D(z) = p 0 +p 1 z 1 +...+p N z N d 0 +d 1 z 1 +...+d N z N H(z) = Q(z) D(z) = q 0 +q 1 z 1 +...+q N z N d 0 +d 1 z 1 +...+d N z N. (7.) Si può facilmente verificare che, se la scomposizione in (7.1) deve essere verificata, allora necessariamente P(z) è caratterizzato da coefficienti simmetrici e Q(z) 1 Una funzione di trasferimentoh(z) stabile causalmente è bounded real se ha coefficienti reali e se H(ω) 1. L uscita di un sistema BR è caratterizzata dall avere un energia minore o uguale a quella dell ingresso (tipico di circuiti passivi). La condizione H(ω) 1 può essere sempre ottenuta mediante uno scalamento della funzione di trasferimento.
Capitolo 7 da coefficienti antisimmetrici, cioè p n = p N n q n = q N n. Infatti, le funzioni di trasferimento delle sezioni passa-tutto sono esprimibili mediante funzioni razionali in cui il numeratore e il denominatore hanno gli stessi coefficienti con ordine invertito, cioè vale A 0 (z) = z n 0 B 0 (z 1 ) B 0 (z) A 1 (z) = z n 1 B 1 (z 1 ), B 1 (z) dove B 0 (z) e B 1 (z) sono polinomi con tutti gli zeri interni al cerchio unitario di grado, rispettivamente, n 0 e n 1. Da tali relazioni si ricava che il polinomio P(z) ha gradon = n 0 +n 1 ed è esprimibile da P(z) = z n 0 B 0 (z 1 )B 1 (z)+z n 1 B 1 (z 1 )B 0 (z) = z N[ z n 1 B 0 (z 1 )B 1 (z)+z n 0 B 1 (z 1 )B 0 (z) ] = z N P(z 1 ), cioè i coefficientip n sono simmetrici. In modo analogo si dimostra che vale Q(z) = z N Q(z 1 ), cioè che i coefficientiq n sono antisimmetrici. Supponiamo inoltre che G(z) e H(z) soddisfino la condizione di complementarietà in potenza, cioè G(ω) + H(ω) = 1 G(z)G(z 1 )+H(z)H(z 1 ) = 1. (7.3) Usando le relazioni (7.), dalla seconda espressione in (7.3) otteniamo P(z)P(z 1 )+Q(z)Q(z 1 ) = D(z)D(z 1 ), e, sfruttando la simmetria e antisimmetria di P(z) eq(z), abbiamo P (z) Q (z) = z N D(z)D(z 1 ) [P(z)+Q(z)][P(z) Q(z)] = z N D(z)D(z 1 ) (7.4) Sfruttando ancora la simmetria e antisimmetria di P(z) eq(z), si ottiene P(z) Q(z) = z N [P(z 1 )+Q(z 1 )], F. Argenti, L. Mucchi, E. Del Re, Elaborazione numerica dei segnali, McGraw-Hill, c 011
Complementi 3 cioè i coefficienti di P(z) Q(z) sono uguali ma con ordine invertito rispetto a quelli di P(z)+Q(z). Di conseguenza, le radici di P(z)+Q(z) sono l inverso di quelle di P(z) Q(z). Usando tale fatto in (7.4) e ricordando che i filtri G(z) e H(z) sono stabili causalmente, cioè D(z) ha tutti gli zeri interni al cerchio unitario, si ricava che D(z) ha come zeri quelli di P(z) + Q(z) e di P(z) Q(z) che risultano interni al cerchio unitario, mentre quelli esterni devono essere assegnati a D(z 1 ). Se z k, k = 0,1,...,N 1 sono le radici di P(z) + Q(z), tali che z k < 1, perk = 0,1,...,r 1, e z k > 1, perk = r,r+1,...,n 1, allora le radici did(z) sono date dall insieme di valori Poiché dalla relazione (7.1) si ricava {z 0,z 1,...,z r 1,z 1 r,z 1 r+1,...,z 1 N 1 }. A 0 (z) = G(z)+H(z) = P(z)+Q(z) D(z) A 1 (z) = G(z) H(z) = P(z) Q(z), D(z) dalla fattorizzazione dip(z)+q(z), dip(z) Q(z) e did(z) si ottiene A 0 (z) = N 1 k=r r 1 A 1 (z) = k=0 (z k ) 1 +z 1 1 z 1 k z 1 z k +z 1 1 z k z 1 Data la funzione di trasferimento G(z) = P(z)/D(z) (con P(z) simmetrico), la fattorizzazione richiesta necessita la conoscenza del filtro complementare in potenza H(z) = Q(z)/D(z), in particolare del numeratore Q(z). Dalla relazione (7.4), è facile verificare che Q (z) = P (z) z N D(z)D(z 1 ). Tale relazione permette di ricavare il polinomio Q(z), e quindi, dalla fattorizzazione dip(z)+q(z), come visto precedentemente, le due sezioni passa-tuttoa 0 (z) ea 1 (z). 7.1.1 Costo computazionale Uno dei maggiori vantaggi della rappresentazione mediante sezioni passa-tutto è il ridotto costo computazionale. Come criterio per valutare la complessità realizzativa, consideriamo il numero di moltiplicazioni per campione di uscita. In una implementazione classica, considerando la simmetria del numeratore P(z), www.ateneonline.it/argenti
4 Capitolo 7 il costo per realizzare G(z) è N + (N + 1)/, dove N tiene conto della implementazione di D(z), mentre (N + 1)/ è il costo per implementare P(z). Se si considera la realizzazione della coppia di filtri G(z) e H(z), al costo precedente si devono aggiungere altre (N 1)/ moltiplicazioni per l implementazione del numeratore Q(z) (a coefficienti antisimmetrici). Si consideri invece una realizzazione basata su (7.1). Il costo delle strutture passa-tuttoa 0 (z) ea 1 (z) è dato dan 0 en 1 moltiplicazioni per campione di uscita, cioè in totale n 0 + n 1 = N moltiplicazioni. Quindi, il costo della realizzazione mediante sezioni passa-tutto della coppia di filtrig(z) eh(z) è uguale an. 7.1. Implementazione di filtri di Butterworth, di Chebyshev, ellittici I filtri di Butterworth, di Chebyshev, ellittici sono caratterizzati da un numeratore a coefficienti simmetrici. Essi possono essere realizzati utilizzando la rappresentazione mediante sezioni passa-tutto vista in precedenza. Nell esempio seguente viene mostrato come applicare la procedura al calcolo delle sezioni passa-tutto data la funzione di trasferimento di un filtro ellittico. Esempio 7.1 Esempio Si consideri il progetto di un filtro ellittico, di ordine N = 5, con frequenza di taglio F t = 0.1, con guadagno minimo in banda passante di -0.1 db e guadagno massimo in banda attenuata di -30 db. Si desidera ricavare la rappresentazione del filtro mediante sezioni passa-tutto. Il progetto del filtro è ottenuto con le seguenti istruzioni Matlab: Ft=0.1; Ap=0.1; As=30; N=5; [p,d] = ellip(n, Ap, As, *Ft); I coefficienti del polinomio Q (z) si ricavano dalla relazione Q (z) = P (z) z N D(z)D(z 1 ). Tale calcolo e la visualizzazione delle radici si ottengono con i seguenti comandi: q = conv(p,p)-conv(d,fliplr(d)); zplane(roots(q),1) Gli zeri diq (z) sono mostrati in Figura 7.1-(a). Una volta eliminati gli zeri doppi è possibile ricostruire Q(z). Con i comandi seguenti si esegue tale operazione; viene inoltre introdotto un guadagno che permette di avereh(z) = 1 perz = 1. % qz contiene i poli semplici selezionati da quelli doppi di q q = poly(qz); K = sum(d.*(-1).^(0:n))/sum(q.*(-1).^(0:n)); q = K*q; Una volta noti P(z) e Q(z) è possibile ricavare i coefficienti delle sezioni passatutto fattorizzandop(z)+q(z) e assegnando aa 0 (z) l inverso delle radici esterne al cerchio unitario e aa 1 (z) le radici interne. Le seguenti istruzioni eseguono tale operazione oltre a disegnare le risposte in frequenza dei filtri risultanti. F. Argenti, L. Mucchi, E. Del Re, Elaborazione numerica dei segnali, McGraw-Hill, c 011
Complementi 5 pq = p+q; pqz = roots(pq); v = find(abs(pqz) > 1); a0z = 1./pqz(v); v = find(abs(pqz) < 1); a1z = pqz(v); a0 = poly(a0z); a1 = poly(a1z) % [A0,w] = freqz(fliplr(a0),a0,51); [A1,w] = freqz(fliplr(a1),a1,51); plot(w/(*pi),0.5*abs(a0+a1),w/(*pi),0.5*abs(a0-a1)) axis([0 0.5 0 1.]); xlabel( F ); ylabel( G(F), H(F) ) 1 1. 0.8 0.6 0.4 1 0.8 Imaginary Part 0. 0 0. G(F), H(F) 0.6 0.4 0.4 0.6 0.8 0. 1 1 0.5 0 0.5 1 Real Part 0 0 0.1 0. 0.3 0.4 0.5 F (a) (b) Figura 7.1 (a) Zeri del polinomio Q (z); (b) risposta in frequenza dei filtri P(z) e Q(z). La funzione di trasferimento del filtro progettato in questo esempio e la sua rappresentazione mediante sezioni passa-tutto sono date da G(z) = 0.0388 0.0551z 1 +0.0387z +0.0387z 3 0.0551z 4 +0.0388z 5 1 3.4583z 1 +5.914z 4.356z 3 +1.8817z 4 0.3445z 5 = 1 [ ] 0.670 1.3473z 1 +z 1 1.3473z 1 +0.670z + 0.5495+1.803z 1.1110z +z 3. 1.1110z 1 +1.803z 0.5495z 3 Cambiando il segno nella somma delle sezioni passa-tutto, si ottiene la funzione di trasferimento del filtro complementare H(z). Un interessante proprietà dei polinomi P(z) + Q(z) e P(z) Q(z) è la caratteristica di avere radici che si presentano alternate tra loro: ciò è mostrato graficamente in Figura 7.. 7.1.3 Progetto di filtri IIR La rappresentazione mediante sezioni passa-tutto suggerisce la possibilità di progettare filtri IIR usando direttamente tale scomposizione. La risposta in frequenza dia 0 (z) ea 1 (z), infatti, può essere espressa nel seguente modo: A 0 (F) = e jφ 0(F) A 1 (F) = e jφ 1(F). www.ateneonline.it/argenti
6 Capitolo 7 1 0.8 0.6 0.4 Imaginary Part 0. 0 0. 0.4 0.6 0.8 1 1 0.5 0 0.5 1 1.5 Real Part Figura 7. Zeri dei polinomi P(z)+Q(z) e P(z) Q(z). Usando tali espressioni, la risposta in frequenza di un filtro G(z) rappresentabile come in (7.1) è data da G(F) = ejφ 0(F) +e jφ 1(F) = ejφ0(f) (1+e j[φ 1(F) φ 0 (F)] ). Supponendo di voler progettare un filtro passa-basso con frequenza di taglio F t, dalla precedente espressione si ricava che le fasi di A 0 (z) e A 1 (z) devono soddisfare i vincoli { φ1 (F) φ 0 (F) 0 F < F t φ 1 (F) φ 0 (F) ±π F > F t. In Figura 7.3 viene mostrato graficamente il comportamento approssimativo che le fasi delle sezioni passa-tutto potrebbero avere affinché G(F) abbia le caratteristiche di un filtro passa-basso. Tali vincoli possono essere usati in un procedimento di ottimizzazione numerica, non lineare, che permetta di ricavare i coefficienti delle due sezioni passa-tutto. F t F 0 (F) 1 (F) Figura 7.3 Comportamento approssimativo delle fasi di A 0 (z) e A 1 (z) affinché G(F) sia di tipo passa-basso. F. Argenti, L. Mucchi, E. Del Re, Elaborazione numerica dei segnali, McGraw-Hill, c 011
Bibliografia [1] P. P. Vaidyanathan, Multirate systems and filter Banks, Prentice Hall, 199. [] S. K. Mitra, Digital signal processing, 3 a edizione, McGraw-Hill, 005.