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
[email protected]
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
Átviteli függvények
Á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
5 / 32
Átviteli függvények
Átviteli függvények Adott az alábbi átviteli függvény 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+ −−→ h(n) = −2.5δ(n)+7.5(0.8)n u(n) −1 1 − 0.8z Konvolúciós I/O egyenlet H(z) =
Differenciaegyenlet h(n)-re: H(z) = 0.8z −1 H(z)+5+2z −1
Z −1
−−→
h(n) = 0.8h(n−1)+5δ(n)+2δ(n−1)
I/O differenciaegyenlet (inverz z-transzformációval) 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.8w1 + 5x + 2v1 3 v1 ← x 4 w1 ← 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 5(1 + 0.4z −1 ) H(z) = ⇒ 1 − 0.8z −1 (zérus z = −0.4, pólus z = 0.8)
Magyar A. (Pannon Egyetem)
DSP
H(ω) =
5(1 + 0.4e −jω ) 1 − 0.8e −jω
2011 október
8 / 32
Átviteli függvények
Átviteli függvények - párhuzamos alak Párhuzamos feldolgozás: H(z) = H1 (z) + H2 (z) 5 + 2z −1 7.5 H(z) = = −2.5 + −1 1 − 0.8z 1 − 0.8z −1 Blokk diagram
Pszeudokód párhuzamos() 1 for each x bemeneti minta 2 do w0 ← 0.8w1 + 7.5x 3 y ← w0 − 2.5x 4 w1 ← w0 5 6 return y
Magyar A. (Pannon Egyetem)
DSP
2011 október
9 / 32
Átviteli függvények
Átviteli függvények - kanonikus alak Különböző blokk diagram realizációk is levezethetők Kanonikus alak 5 + 2z −1 Y (z) = H(z)X (z) = X (z) 1 − 0.8z −1 Számláló és a nevező hatása különválasztva 1 X (z) 1−0.8z −1
→
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)
W (z) =
Blokk diagram
Pszeudokód kanonikus() 1 for each x bemeneti minta 2 do w0 ← 0.8w1 + x 3 y ← 5w0 + 2w1 4 w1 ← w0 5Magyar A. (Pannon Egyetem)
DSP
2011 október
10 / 32
Átviteli függvények
Átviteli függvények - transzponált alak Kanonikus alakból vezethető le
5 + 2z −1 X (z) 1 − 0.8z −1 Számláló és a nevező hatása különválasztva Blokk diagram Y (z) = H(z)X (z) =
Pszeudokód transzponált() 1 for each x bemeneti minta 2 do y ← w1 + 5x 3 w1 ← 2x + 0.8y 4 5 return y
Magyar A. (Pannon Egyetem)
DSP
2011 október
11 / 32
Szinuszos válasz
Áttekintés
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) = ystac (n) + ytranz (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ω0 n ,
−∞ < n < ∞
h(n) szűrő kimenetén X X X y (n) = h(m)x(n−m) = h(m)e j(n−m)ω0 = e jnω0 h(m)e j(−m)ω0 m
m
m
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ω0 n
H
− →
H(ω0 )e jω0 n = |H(ω0 )|e jω0 n+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)
− →
H
|H(ω0 )| cos(ω0 n + arg(H(ω0 )))
sin(ω0 n)
H
|H(ω0 )| sin(ω0 n + arg(H(ω0 )))
− →
Szuperpozíció: A1 e jω1 n + A2 e jω2 n Magyar A. (Pannon Egyetem)
H
− →
A1 H(ω1 )e jω1 n + A2 H(ω2 )e jω2 n 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) Z π 1 X (ω)e jωn d ω x(n) = 2π −π Szűrő: H(ω), a kimeneti spektrumot átformálja Y (ω) = H(ω)X (ω) Kimenet (y (n)) spektruma Z π Z π 1 1 jωn y (n) = Y (ω)e d ω = H(ω)X (ω)e jωn d ω 2π −π 2π −π Fáziskésés: d (ω) = −
arg(H(ω)) ω
lineáris fázisú rendszer: d (ω) = D
Csoportkésés: dg (ω) = − Magyar A. (Pannon Egyetem)
d arg(H(ω)) dω
DSP
2011 október
16 / 32
Szinuszos válasz
Tranziens 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ω0 n u(n)
Stabil szűrő: H(z) =
Magyar A. (Pannon Egyetem)
Z
− →
X (z) =
1 1 − e jω0 z −1
ROC: |z| > e jω0 = 1
N(z) N(z) = −1 D(z) (1 − p1 z )(1 − p2 z −1 ) . . . (1 − pM z −1 ) DSP
2011 október
17 / 32
Szinuszos válasz
Tranziens válasz
Tranziens válasz A kimenet z-transzformáltja Y (z) = H(z)X (z) =
N(z) (1 − e jω0 z −1 )(1 − p1 z −1 )(1 − p2 z −1 ) . . . (1 − pM z −1 )
Parciális törtekre bontva Y (z) =
B1 BM H(ω0 ) + ··· + −1 + −1 jω z 0 1 − p1 z 1 − pM z −1 1−e
A kimenet n y (n) = H(ω0 )e jω0 n + B1 p1n + · · · + BM pM
→ H(ω0 )e jω0 n , n → ∞
mivel |pi | < 1, i = 1, . . . , M
Magyar A. (Pannon Egyetem)
DSP
2011 október
18 / 32
Szinuszos válasz
Tranziens válasz
Tranziens válasz n y (n) = H(ω0 )e jω0 n + B1 p1n + · · · + BM pM
Következmények Ha a szűrő instabil, y (n) → ∞, n → ∞ Stabil szűrő esetén a pin tranziensek nem egyforma gyorsan csengnek le ρ = max |pi | i
Effektív időállandó neff : ennyi idő alatt csökken a tranziens az -szorosára ln neff = ln ρ DC erősítés (x(n) = u(n)-re adott válasz): ∞ X 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): ∞ X H(π) = H(z)|z=−1 = (−1)n h(n) n=0 Magyar A. (Pannon Egyetem)
DSP
2011 október
19 / 32
Pólus/zérus tervezé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 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
Pólus/zérus tervezés
Elsőrendű szűrők
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
Pólus/zérus tervezés
Elsőrendű szűrők
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/neff
Pl. neff = 20 mintavételi idő és = 0.01 a = 1/neff = (0.01)1/20 ≈ 0.8 Legyen H(π)/H(0) =
1 21
(1 − b)(1 − 0.8) 1 = 21 (1 + b)(1 + 0.8) Azaz H(z) = Magyar A. (Pannon Egyetem)
⇒
b = 0.4
G (1 + 0.4z −1 ) 1 − 0.8z −1 DSP
2011 október
22 / 32
Pólus/zérus tervezés
Parametrikus rezonátorok és ekvalizerek
Parametrikus rezonátorok 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
Átviteli függvény H(z) =
G Re jω0 z −1 )(1
Re −jω0 z −1 )
=
(1 − − 1 + a1 2 ahol a1 = −2R cos ω0 , a2 = R G erősítés meghatározása |H(ω0 )| = 1-ből q G = (1 − R) 1 − 2R cos(2ω0 ) + R 2 Magyar A. (Pannon Egyetem)
DSP
G z −1
+ a2 z −2
2011 október
23 / 32
Pólus/zérus tervezés
Parametrikus rezonátorok és ekvalizerek
Parametrikus rezonátorok ∆ω szélesség: 1 1 |H(ω)|2 = |H(ω0 )|2 = 2 2
egyenletből (ω1 < ω0 < ω2 )
Decibelben kifejezve H(ω) 1 = 10 log10 = −3dB 20 log10 H(ω0 ) 2 Ha R . 1, akkor ∆ω ≈ 2(1 − R), azaz R → 1, élesebb a sáv... ...de lassabb lesz a szűrő
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 és ekvalizerek
Parametrikus rezonátorok Impulzusválasz h(n) =
G R n sin(ω0 n + ω0 ) sin ω0
Differenciaegyenlet y (n) = −a1 y (n − 1) − a2 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 ← −a1 w1 − a2 w2 + Gx 3 w2 ← w1 4 w1 ← y 5 return y
Magyar A. (Pannon Egyetem)
DSP
2011 október
25 / 32
Pólus/zérus tervezés
Parametrikus rezonátorok és ekvalizerek
Parametrikus ekvalizerek Rezonátor általánosítása: ekvalizer A pólusokkal egy fázisú zérusokat is használunk z1 = re jω0
z1∗ = re −jω0 ,
0≤r ≤1
Átviteli függvény H(z) =
1 + b1 z −1 + b2 z −2 (1 − re jω0 z −1 )(1 − re −jω0 z −1 ) = (1 − re jω0 z −1 )(1 − re −jω0 z −1 ) 1 + a1 z −1 + a2 z −2 ahol
Magyar A. (Pannon Egyetem)
b1 = −2r cos ω0 a1 = −2R cos ω0
DSP
b2 = r 2 a2 = R 2
2011 október
26 / 32
Pólus/zérus tervezés
Notch- és fésűszűrők
Notch szűrők Notch szűrő (ekvalizer r = 1 mellett) együtthatói a2 = R 2 b2 = R 2
a1 = Rb1 = −2R cos ω0 Átviteli függvény H(z) =
1 + b1 z −1 + b2 z −2 N(z) = 1 + Rb1 z −1 + Rb2 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 Y N(z) = (1 − e jωi z −1 ) i=1
Nevező polinom D(z) = N(ρ−1 z) =
M Y
(1 − e jωi ρz −1 )
i=1 Magyar A. (Pannon Egyetem)
DSP
2011 október
27 / 32
Pólus/zérus tervezés
Notch- és fésűszűrők
Notch szűrők
Átviteli függvény H(z) =
N(z) 1 + b1 z −1 + b2 z −2 + · · · + bM z −M = N(ρ−1 z) 1 + ρb1 z −1 + ρ2 b2 z −2 + · · · + ρM bM z −M
Magyar A. (Pannon Egyetem)
DSP
2011 október
28 / 32
Pólus/zérus tervezés
Notch- és fésűszűrők
Fésűszűrők Áthelyezve a zérusokat az egységkörön és a pólusokon belülre: zi = e jωi
→
zi = re jωi
Átviteli függvény H(z) =
N(r −1 z) 1 + rb1 z −1 + r 2 b2 z −2 + · · · + r M bM z −M = N(ρ−1 z) 1 + ρb1 z −1 + ρ2 b2 z −2 + · · · + ρM bM 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 y (n) = h(n) ∗ x(n) Elméletben: Hinv (z) =
1 H(z)
Y (z) = H(z)X (z)
⇒
inverz szűrő alkalmazása X (z) =
1 Y (z) = Hinv (z)Y (z) H(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: hroom (n) yroom (n) = hroom (n) ∗ x(n) hroom (n) mérhető, és dekonvolválható a kimenetből egy inverz szűrő segítségével Yroom (z) = Hroom (z)X (z)
Magyar A. (Pannon Egyetem)
DSP
⇒
X (z) =
1 Hroom (z)
Y (z)
2011 október
32 / 32