Digitális jelfeldolgozás Átviteli függvények Magyar Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék magyar.attila@virt.uni-pannon.hu 2011. október 13.
Digitális szűrők ekvivalens leírási módjai Áttekintés 1 Digitális szűrők ekvivalens leírási módjai 2 Átviteli függvények 3 Szinuszos válasz 4 Pólus/zérus tervezés 5 Dekonvolúció, inverz szűrők, stabilitás Magyar A. (Pannon Egyetem) DSP 2011 október 2 / 32
Digitális szűrők ekvivalens leírási módjai Digitális szűrők ekvivalens leírási módjai Átviteli függvény H(z) Frekvenciaválasz H(ω) Blokk diagram realizáció mintánkénti (feldolgozás) I/O differenciaegyenlet Pólus/zérus eloszlás Impulzusválasz függvény h(n) I/O konvolúciós egyenlet Magyar A. (Pannon Egyetem) DSP 2011 október 3 / 32
Digitális szűrők ekvivalens leírási módjai Digitális szűrők ekvivalens leírási módjai Az átviteli függvény a legsokoldalúbb Magyar A. (Pannon Egyetem) DSP 2011 október 4 / 32
Áttekintés Átviteli függvények 1 Digitális szűrők ekvivalens leírási módjai 2 Átviteli függvények 3 Szinuszos válasz 4 Pólus/zérus tervezés 5 Dekonvolúció, inverz szűrők, stabilitás Magyar A. (Pannon Egyetem) DSP 2011 október 5 / 32
Átviteli függvények Átviteli függvények Adott az alábbi átviteli függvény H(z) = 5 + 2z 1 1 0.8z 1 h(n) impulzusválasz (parciális törtekre bontás) 7.5 Z 1 H(z) = 2.5+ 1 0.8z 1 h(n) = 2.5δ(n)+7.5(0.8) n u(n) Konvolúciós I/O egyenlet Differenciaegyenlet h(n)-re: H(z) = 0.8z 1 H(z)+5+2z 1 Z 1 I/O differenciaegyenlet (inverz z-transzformációval) h(n) = 0.8h(n 1)+5δ(n)+2δ(n 1) Y (z) = H(z)X (z) y(n) = 0.8y(n 1) + 5x(n) + 2x(n 1) Magyar A. (Pannon Egyetem) DSP 2011 október 6 / 32
Átviteli függvények Átviteli függvények Blokk diagram (direkt alak) Mintánkénti feldolgozás: direkt alak() 1 for each x bemeneti minta 2 do y 0.8w 1 + 5x + 2v 1 3 v 1 x 4 w 1 y 5 6 return y Magyar A. (Pannon Egyetem) DSP 2011 október 7 / 32
Átviteli függvények Átviteli függvények Frekvenciaválasz H(z) = 5(1 + 0.4z 1 ) 1 0.8z 1 H(ω) = 5(1 + 0.4e jω ) 1 0.8e jω (zérus z = 0.4, pólus z = 0.8) Magyar A. (Pannon Egyetem) DSP 2011 október 8 / 32
Átviteli függvények Átviteli függvények - párhuzamos alak Párhuzamos feldolgozás: H(z) = H 1 (z) + H 2 (z) H(z) = 5 + 2z 1 1 0.8z 1 = 2.5 + 7.5 1 0.8z 1 Blokk diagram Pszeudokód párhuzamos() 1 for each x bemeneti minta 2 do w 0 0.8w 1 + 7.5x 3 y w 0 2.5x 4 w 1 w 0 5 6 return y Magyar A. (Pannon Egyetem) DSP 2011 október 9 / 32
Átviteli függvények Átviteli függvények - kanonikus alak Pszeudokód kanonikus() 1 for each x bemeneti minta 2 do w 0 0.8w 1 + x 3 y 5w 0 + 2w 1 4 w 1 w 0 5Magyar A. (Pannon Egyetem) DSP 2011 október 10 / 32 Különböző blokk diagram realizációk is levezethetők Kanonikus alak Y (z) = H(z)X (z) = 5 + 2z 1 X (z) 1 0.8z 1 Számláló és a nevező hatása különválasztva W (z) = 1 1 0.8z 1 X (z) W (z) = 0.8z 1 W (z) + X (z) w(n) = 0.8w(n 1) + x(n) Y (z) = (5 + 2z 1 )W (z) Y (z) = 5W (z) + 2z 1 W (z) y(n) = 5w(n) + 2w(n 1) Blokk diagram
Átviteli függvények Átviteli függvények - transzponált alak Kanonikus alakból vezethető le Y (z) = H(z)X (z) = Számláló és a nevező hatása különválasztva Blokk diagram 5 + 2z 1 X (z) 1 0.8z 1 Pszeudokód transzponált() 1 for each x bemeneti minta 2 do y w 1 + 5x 3 w 1 2x + 0.8y 4 5 return y Magyar A. (Pannon Egyetem) DSP 2011 október 11 / 32
Áttekintés Szinuszos válasz 1 Digitális szűrők ekvivalens leírási módjai 2 Átviteli függvények 3 Szinuszos válasz Állandósult állapotbeli válasz Tranziens válasz 4 Pólus/zérus tervezés 5 Dekonvolúció, inverz szűrők, stabilitás Magyar A. (Pannon Egyetem) DSP 2011 október 12 / 32
Szinuszos válasz Szinuszos válasz A szűrő kimenete szinuszos bemenet esetén Eml: általános jelek szinuszos jelekből állnak elő Válasz = állandósult állapotbeli (stacionárius) válasz + tranziens válasz: y(n) = y stac (n) + y tranz (n) Magyar A. (Pannon Egyetem) DSP 2011 október 13 / 32
Szinuszos válasz Állandósult állapotbeli válasz Állandósult állapotbeli válasz Bemenet: végtelen hosszú kétoldalas komplex szinusz ω 0 frekvenciával x(n) = e jω 0n, < n < h(n) szűrő kimenetén y(n) = m h(m)x(n m) = m h(m)e j(n m)ω 0 = e jnω 0 m h(m)e j( m)ω 0 y(n) = H(ω 0 )e jnω 0 A H(ω) szűrő a bemeneti szinuszt egy H(ω 0 ) = H(ω 0 ) e j arg(h(ω 0)) komplex értékkel skálázza (szorozza) e jω 0n H H(ω0 )e jω 0n = H(ω 0 ) e jω 0n+j arg(h(ω 0 )) amplitúdó változtatás: H(ω 0 ) fázistolás: arg(h(ω 0 )) Magyar A. (Pannon Egyetem) DSP 2011 október 14 / 32
Szinuszos válasz Állandósult állapotbeli válasz Állandósult állapotbeli válasz A komplex exponenciális valós és képzetes része cos(ω 0 n) sin(ω 0 n) H H(ω 0 ) cos(ω 0 n + arg(h(ω 0 ))) H H(ω 0 ) sin(ω 0 n + arg(h(ω 0 ))) Szuperpozíció: A 1 e jω 1n + A 2 e jω 2n H A1 H(ω 1 )e jω 1n + A 2 H(ω 2 )e jω 2n Magyar A. (Pannon Egyetem) DSP 2011 október 15 / 32
Szinuszos válasz Állandósult állapotbeli válasz Állandósult állapotbeli válasz Általános x(n) bemeneti jel esetén a spektrum összetettebb (DTFT) x(n) = 1 2π π π X (ω)e jωn dω Szűrő: H(ω), a kimeneti spektrumot átformálja Y (ω) = H(ω)X (ω) Kimenet (y(n)) spektruma Fáziskésés: y(n) = 1 2π π π d(ω) = arg(h(ω)) ω Csoportkésés: Y (ω)e jωn dω = 1 2π π π H(ω)X (ω)e jωn dω lineáris fázisú rendszer: d(ω) = D d g (ω) = d dω arg(h(ω)) Magyar A. (Pannon Egyetem) DSP 2011 október 16 / 32
Tranziens válasz Szinuszos válasz Tranziens válasz Tranziens jelenségek: bekapcsolási és kikapcsolási tranziensek Szűrő dinamikus viselkedésének vizsgálata z-transzformáció segítségével x(n) = e jω 0n u(n) Z X (z) = 1 1 e jω 0 z 1 ROC: z > e jω 0 = 1 Stabil szűrő: H(z) = N(z) D(z) = N(z) (1 p 1 z 1 )(1 p 2 z 1 )... (1 p M z 1 ) Magyar A. (Pannon Egyetem) DSP 2011 október 17 / 32
Tranziens válasz Szinuszos válasz Tranziens válasz A kimenet z-transzformáltja Y (z) = H(z)X (z) = Parciális törtekre bontva A kimenet N(z) (1 e jω 0 z 1 )(1 p 1 z 1 )(1 p 2 z 1 )... (1 p M z 1 ) Y (z) = H(ω 0) B 1 1 e jω + 0z 1 1 p 1 z 1 + + B M 1 p M z 1 y(n) = H(ω 0 )e jω 0n + B 1 p n 1 + + B M p n M H(ω 0)e jω 0n, n mivel p i < 1, i = 1,..., M Magyar A. (Pannon Egyetem) DSP 2011 október 18 / 32
Tranziens válasz Szinuszos válasz Tranziens válasz y(n) = H(ω 0 )e jω 0n + B 1 p n 1 + + B M p n M Következmények Ha a szűrő instabil, y(n), n Stabil szűrő esetén a pi n tranziensek nem egyforma gyorsan csengnek le ρ = max p i i Effektív időállandó n eff : ennyi idő alatt csökken a tranziens az ɛ-szorosára n eff = ln ɛ ln ρ DC erősítés (x(n) = u(n)-re adott válasz): H(0) = H(z) z=1 = h(n) n=0 AC erősítés (x(n) = ( 1) n u(n)-re adott válasz): H(π) = H(z) z= 1 = ( 1) n h(n) Magyar A. (Pannon Egyetem) DSP 2011 október 19 / 32 n=0
Áttekintés Pólus/zérus tervezés 1 Digitális szűrők ekvivalens leírási módjai 2 Átviteli függvények 3 Szinuszos válasz 4 Pólus/zérus tervezés Elsőrendű szűrők Parametrikus rezonátorok és ekvalizerek Notch- és fésűszűrők 5 Dekonvolúció, inverz szűrők, stabilitás Magyar A. (Pannon Egyetem) DSP 2011 október 20 / 32
Elsőrendű szűrők Pólus/zérus tervezés Elsőrendű szűrők Legyen az átviteli függvény H(z) = G(1 + bz 1 ) 1 az 1, 0 < a, b < 1, G R z = b zérus (csillapít) az egységkör magas frekvenciájú részén z = a pólus (erősít) az egységkör alacsony frekvenciájú részén AC erősítés / DC erősítés H(π) (1 b)(1 a) = H(0) (1 + b)(1 + a) Magyar A. (Pannon Egyetem) DSP 2011 október 21 / 32
Elsőrendű szűrők Pólus/zérus tervezés Elsőrendű szűrők Két paraméter: a és b két egyenlet kell, hogy meg tudjuk határozni Relatív erősítés H(π) (1 b)(1 a) = H(0) (1 + b)(1 + a) Szűrő válaszideje a = ɛ 1/n eff Pl. n eff = 20 mintavételi idő és ɛ = 0.01 Legyen H(π)/H(0) = 1 21 Azaz a = ɛ 1/n eff = (0.01) 1/20 0.8 1 (1 b)(1 0.8) = 21 (1 + b)(1 + 0.8) H(z) = G(1 + 0.4z 1 ) 1 0.8z 1 b = 0.4 Magyar A. (Pannon Egyetem) DSP 2011 október 22 / 32
Pólus/zérus tervezés Parametrikus rezonátorok Parametrikus rezonátorok és ekvalizerek Rezonátorszűrő: csak egy adott frekvenciát ereszt át z-síkon: ±ω 0 fázisú komplex konjugált póluspár p = Re jω 0, p = Re jω 0, 0 < R < 1 Átviteli függvény G H(z) = (1 Re jω 0 z 1 )(1 Re jω 0 z 1 ) = G 1 + a 1 z 1 + a 2 z 2 ahol a 1 = 2R cos ω 0, a 2 = R 2 G erősítés meghatározása H(ω 0 ) = 1-ből G = (1 R) 1 2R cos(2ω 0 ) + R 2 Magyar A. (Pannon Egyetem) DSP 2011 október 23 / 32
Pólus/zérus tervezés Parametrikus rezonátorok Parametrikus rezonátorok és ekvalizerek ω szélesség: H(ω) 2 = 1 2 H(ω 0) 2 = 1 2 egyenletből (ω 1 < ω 0 < ω 2 ) Decibelben kifejezve H(ω) 20 log 10 H(ω 0 ) = 10 log 10 Ha R 1, akkor ω 2(1 R), azaz R 1, élesebb a sáv......de lassabb lesz a szűrő ( ) 1 = 3dB 2 Tervezés: adott ω sávszélesség, R számolható belőle Magyar A. (Pannon Egyetem) DSP 2011 október 24 / 32
Pólus/zérus tervezés Parametrikus rezonátorok Parametrikus rezonátorok és ekvalizerek Impulzusválasz Differenciaegyenlet h(n) = G sin ω 0 R n sin(ω 0 n + ω 0 ) y(n) = a 1 y(n 1) a 2 y(n 2) + Gx(n) Mintánkénti konvolúció pszeudokódja és blokk diagramja: RESONATOR() 1 for each x bemeneti minta 2 do y a 1 w 1 a 2 w 2 + Gx 3 w 2 w 1 4 w 1 y 5 return y Magyar A. (Pannon Egyetem) DSP 2011 október 25 / 32
Pólus/zérus tervezés Parametrikus ekvalizerek Parametrikus rezonátorok és ekvalizerek Rezonátor általánosítása: ekvalizer A pólusokkal egy fázisú zérusokat is használunk Átviteli függvény z 1 = re jω 0 z 1 = re jω 0, 0 r 1 H(z) = (1 rejω 0 z 1 )(1 re jω 0 z 1 ) (1 re jω 0 z 1 )(1 re jω 0 z 1 ) = 1 + b 1z 1 + b 2 z 2 1 + a 1 z 1 + a 2 z 2 ahol b 1 = 2r cos ω 0 b 2 = r 2 a 1 = 2R cos ω 0 a 2 = R 2 Magyar A. (Pannon Egyetem) DSP 2011 október 26 / 32
Notch szűrők Pólus/zérus tervezés Notch- és fésűszűrők Notch szűrő (ekvalizer r = 1 mellett) együtthatói Átviteli függvény a 1 = Rb 1 = 2R cos ω 0 a 2 = R 2 b 2 = R 2 H(z) = 1 + b 1z 1 + b 2 z 2 N(z) 1 + Rb 1 z 1 = + Rb 2 z 2 N(R 1 z) eml: N(z) = (1 e jω 0 z 1 )(1 e jω 0 z 1 ) Általánosítás: véges sok "vágással" az egységkörön. A "notch" polinom: M N(z) = (1 e jω i z 1 ) Nevező polinom i=1 D(z) = N(ρ 1 z) = M (1 e jω i ρz 1 ) i=1 Magyar A. (Pannon Egyetem) DSP 2011 október 27 / 32
Notch szűrők Pólus/zérus tervezés Notch- és fésűszűrők Átviteli függvény H(z) = N(z) N(ρ 1 z) = 1 + b 1 z 1 + b 2 z 2 + + b M z M 1 + ρb 1 z 1 + ρ 2 b 2 z 2 + + ρ M b M z M Magyar A. (Pannon Egyetem) DSP 2011 október 28 / 32
Fésűszűrők Pólus/zérus tervezés Notch- és fésűszűrők Áthelyezve a zérusokat az egységkörön és a pólusokon belülre: Átviteli függvény z i = e jω i z i = re jω i H(z) = N(r 1 z) N(ρ 1 z) = 1 + rb 1z 1 + r 2 b 2 z 2 + + r M b M z M 1 + ρb 1 z 1 + ρ 2 b 2 z 2 + + ρ M b M z M Magyar A. (Pannon Egyetem) DSP 2011 október 29 / 32
Dekonvolúció, inverz szűrők, stabilitás Áttekintés 1 Digitális szűrők ekvivalens leírási módjai 2 Átviteli függvények 3 Szinuszos válasz 4 Pólus/zérus tervezés 5 Dekonvolúció, inverz szűrők, stabilitás Magyar A. (Pannon Egyetem) DSP 2011 október 30 / 32
Dekonvolúció, inverz szűrők, stabilitás Dekonvolúció, inverz szűrők, stabilitás Dekonvolúció: y(n) és h(n) ismeretében határozzuk meg x(n)-t Elméletben: H inv (z) = 1 H(z) y(n) = h(n) x(n) inverz szűrő alkalmazása Y (z) = H(z)X (z) X (z) = 1 H(z) Y (z) = H inv(z)y (z) Két tipikus alkalmazás Csatorna kiegyenlítés Audio ekvalizálás Magyar A. (Pannon Egyetem) DSP 2011 október 31 / 32
Dekonvolúció, inverz szűrők, stabilitás Audio ekvalizálás Audio rendszer által generált x(n) hang a szoba is hatással van rá visszaverődés elnyelődés Jellemezhető egy impulzusválasz függvénnyel: h room (n) y room (n) = h room (n) x(n) h room (n) mérhető, és dekonvolválható a kimenetből egy inverz szűrő segítségével Y room (z) = H room (z)x (z) X (z) = 1 H room (z) Y (z) Magyar A. (Pannon Egyetem) DSP 2011 október 32 / 32