IIR szűrők tervezése 8. IIR SZŰRŐK TERVEZÉSE
8.1 A tervezés alapgondolata A szűrő tervezésekor első lépésben keressük azt a megengedett, diszkrét-idejű H(z) hálózatfüggvényt, amelyhez tartozó H (e jωT ) amplitúdó karakterisztika eleget tesz a specifikációban szereplő toleranciáknak Második lépésként a transzfer függvény algebrai átalakításával a kívánt (kaszkád, párhuzamos,stb.) struktúra paraméterei az átalakított függvényből már kiolvashatóak lesznek. A transzfer függvény meghatározásának leggyakrabban használt módszere a feladat visszavezetése folytonos idejű szűrő tervezésére. A folytonos idejű szűrők tervezésének nagy hagyománya van, számos eljárás, szűrőkatalógus áll rendelkezésre. Ha találunk egy a specifikációnkat kielégítő folytonos idejű Hˆ (s ) transzfer függvényt, akkor ennek transzformációjával megkapjuk a diszkrét idejű H(z) függvényt. A számos transzformációs eljárás közül mi csak a bi-lineáris transzformációval fogunk itt foglalkozni. Diszkrét-idejű szűrő
Specifikáció
Frekvencia transzformáció
Inverz transzformáció Approximáció
Transzformált specifikáció
Folytonos-idejű szűrő
8.1. ábra Az IIR szűrők tervezésének folyamata Mivel az IIR szűrők tervezése meglehetősen számításigényes, ezért ha lehetőségünk van rá, akkor használjuk pld. a MATLAB (signal processing toolbox) megfelelő függvényeit (lásd alább), mivel azok is az alábbiakban ismertetésre kerülő eljárásokat alkalmazzák. A folytonos idejű referencia szűrők approximációs eljárására a Függelékben találunk példákat.
8.2. Tervezés bi-lineáris transzformációval A bi-lineáris transzformációval történő IIR szűrő tervezés a leggyakrabban használt módszer. Az ‘s’ Laplace-változót és a ‘z’ diszkrét-idejű komplex frekvencia változót egymásba leképző kifejezés a bi-lineáris transzformáció: s=
1 − z −1 z − 1 = 1 + z −1 z + 1
(8.1.)
z=
1+ s 1− s
(8.2.)
Ennek inverze:
1-16
IIR szűrők tervezése A fenti komplex transzformációk körtartóak, azaz köröket körökbe képeznek le. Igy az ‘s’-sík s=jΩ képzetes tengelyének (mint végtelen sugarú körnek) a ‘z’ síkon az egység sugarú kör felel meg: z =
1 + jΩ 1 + Ω2 = =1 1 − jΩ 1 + Ω2
(8.3.)
Az ‘s’ sík bal félsíkja az egységsugarú körön belülre, míg a jobb félsík azon kívülre képződik le. jΩ Bal félsík
Ω=1
„z”
„s” Ω=
∞
Ω=0 z = +1
Ω = -1
8.2. ábra A bilineáris transzformáció mint konform leképzés A diszkrét-idejű H(z) transzfer függvényt a folytonos idejű hálózat H$ ( s) transzfer függvényéből a (8.1.) szerinti helyettesítéssel állítjuk elő. A diszkrét-idejű hálózatfüggvény tehát: H ( z ) = H$ ( s)
s=
(8.4.)
1− z −1 1+ z −1
Ha H$ ( s) megengedett függvény, H(z) is az lesz, mivel a bi-lineáris transzformáció az ‘s’-ben stabil, racionális törtfüggvényből ‘z’-ben stabil, racionális törtfüggvényt állít elő. H$ ( s) akkor stabil hálózat transzfer függvénye, ha pólusai az s-sík bal félsíkjában helyezkednek el. Mint fentebb láttuk a bal félsík az egységkörön belülre képződik le, így (8.4) transzformációval kapott H(z) is egy stabil diszkrét idejű hálózat transzfer függvénye lesz.
(
)
A kérdés persze az, hogy az így előállított H(z) transzfer függvény H e jωT frekvencia válasza mennyire hasonlít a folytonos-idejű hálózat H$ ( jΩ) frekvencia válaszához. Egyezést nem várhatunk, mivel a diszkrét-idejű hálózat H$ ( jΩ) pedig aperiodikus.
(
)
H e jωT = H ( z ) z =e jωT = Hˆ (s )
s=
1− z −1 1+ z −1 z = e jωT
(
)
H e jωT -ja periodikus függvény, a
= Hˆ (s )
s=
1− exp( jωT ) 1+ exp( jωT )
(8.5.)
A függvénybe helyettesítendő érték:
s=
1 − e − jωT e jωT / 2 − e − jωT / 2 sin (ωT / 2) ωT = jωT / 2 = j = jtg ( ) = jΩ − jωT − jωT / 2 cos(ωT / 2) 2 1+ e e +e
2-16
(8.6.)
IIR szűrők tervezése ahol:
⎛ ω ⎛ ωT ⎞ Ω = tg ⎜ ⎟ = tg ⎜⎜ π ⎝ 2 ⎠ ⎝ ωs
⎞ ⎟⎟ ⎠
(8.7.)
Ezzel:
H (e jωT ) = Hˆ ( jΩ )
⎛ ω Ω = tg ⎜⎜ π ⎝ ωs
⎞ ⎟ ⎟ ⎠
⎛ ⎛ ω = Hˆ ⎜⎜ jtg ⎜⎜ π ⎝ ⎝ ωs
⎞⎞ ⎟⎟ ⎟ ⎟ ⎠⎠
(8.8.)
A (8.8)-ban egy közvetett függvényt látunk. Azt fejezi ki, hogy amíg a fizikai ω frekvenciát jelölő ω frekvencia változó a : 0 ≤ ω ≤ s tartományban változik, a Ω relatív 2 frekvencia változó a tangens összefüggésnek megfelelően a: 0 ≤ Ω ≤ ∞ tartományban változik. Ez azt jelenti, hogy a H$ ( jΩ) függvény [0, ∞] intervallumon felvett értékeit a
(
)
leképzés a H e jωT -nak a [0, ω s /2] intervallumába “zsúfolja” össze. A specifikáció akkor tudjuk a fellépő frekvencia torzítás ellenére kielégíteni, ha magát a követelményt is a (8.8.)-as összefüggésnek megfelelően “előtorzítjuk”. A H$ ( jΩ) függvény így az előtorzított specifikációnak tesz eleget, majd ezen a bi-lineáris transzformációt végrehajtva, a frekvencia válasz mintegy “visszatorzul” és a követelmény így végül is kielégül. 8.1 példa: Az eredeti specifikáció: Az áteresztő sáv széle: ω h = 0.2ω s A zárósáv kezdete:
ω z = 0.25ω s
Az előtorzított értékek: ⎛ ω ⎞ Ω h = tg ⎜⎜ π h ⎟⎟ = tg (0.2π ) = 0.72654 ⎝ ωs ⎠ ⎛ ω ⎞ Ω z = tg ⎜⎜ π z ⎟⎟ = tg (0.25π ) = 1.000 ⎝ ωs ⎠
A 8.2. ábrán a (8.8.) összefüggésnek megfelelő torzulás grafikus szerkesztését szemléltetjük a fenti példa adataival. A diszkrét időben és a folytonos időben érvényes specifikáció különbözik.
8.3. Aluláteresztő szűrő tervezés lépései 0. Kiindulás: adott a specifikáció az ω tartományban. 1. Elsőnek kiszámítjuk milyen relatív frekvencián lesz a szűrő határfrekvenciája
⎛ ω Ω h = tg ⎜⎜ π h ⎝ ωs
3-16
⎞ ⎟⎟ ⎠
(8.9.)
IIR szűrők tervezése 2.
Elvégezzük a követelmény előtorzítását úgy, hogy egyben a határfrekvenciára normáljuk a frekvencia adatokat. Az amplitúdó előírást változatlanul hagyjuk. (A szűrő katalógusokban az áteresztő sáv széle mindig az egység)
Ωi =
1 ⎛ ωi ⎞ ⎟ tg ⎜ π Ω h ⎜⎝ ω s ⎟⎠
ω 1 = arctg (Ω ) ωs π
(8.10.)
ω ωs
ω ωs
(
Hˆ ( jΩ )
H e jωT
)
Ω Ωh Ω z
ω ωs
ωh ω z ωs ωs
8.2. ábra. A specifikáció torzulása és a karakterisztika egy pontjának megszerkesztése . 3. A Ω tartományban előállított követelményre megoldjuk az approximációs feladatot. Ez tipikusan azt jelenti, hogy szűrőkatalógusból kiválasztjuk az előtorzított követelményt kielégítő H$ ( s) függvényt, vagy magunk végezzük el az approximációs feladatot (lásd Függelék) A függvényt célszerűen első és másodfokú gyöktényezőket tartalmazó alakjában vesszük át. s2 1 + n −1 ) Ω 02 k 1 H (s ) = C (8.11.) s ∏ s s2 k =1 1+ 1 + 2ς k + Ω p0 Ω pk Ω 2pk
4-16
IIR szűrők tervezése s helyettesítéssel Ωh vissza kell állítani az eredeti előírásnak eleget tevő függvényt. Ezután végezhetjük el H$ ( s) bi-lineáris transzformációját. Ez a két lépés összevonható az: 1 1 − z −1 (8.12.) s= Ω h 1 + z −1 (8.11.)-be történő behelyettesítéssel.
4. A 8.11. függvény határfrekvenciája még az egység, ezért az s ⇐
H ( z ) = Hˆ (s )
s=
(8.13.)
1 1− z −1 Ω h 1+ z −1
5. A diszkrét időben érvényes másod- és elsőfokú gyöktényezők ismeretében foghatunk hozzá a szűrő realizálásához. A realizálás alapvető kérdése, hogy milyen struktúrában kívánjuk a szűrőt megvalósítani. A struktúra megválasztásakor mérlegelnünk kell az együttható érzékenységet (a véges együttható szóhosszúság hatását), a kivezérelhetőséget (túlcsordulás lehetőségét ), valamint a szűrő működése közben ( a folytonos kerekítés következtében ) termelődő aritmetikai zaj hatását. A kérdések összetettsége miatt a realizálás ezen problémáival külön fejezetekben foglalkozunk. 8.2.Példa:
Tervezzünk 3-ad fokú maximális lapos karakterisztikájú (lásd Függelék) aluláteresztő szűrőt 1kHz határfrekvenciával (3db-es pont). A mintavételi frekvencia 10 kHz. 1. A határfrekvencia relatív egységben (8.9.) :
⎛ ω ⎞ ⎛ 1⎞ Ω h = tg ⎜⎜ π h ⎟⎟ = tg ⎜ π ⎟ = 0.32492 ⎝ 10 ⎠ ⎝ ωs ⎠ 2. A specifikációban a fokszámot adtuk meg, így nincs más frekvencia előírás. 3. A harmadfokú maximális lapos ( Butterworth) karakterisztika hálózat függvénye: Hˆ (s ) =
1 (1 + s ) 1 + s + s 2
(
)
4. A (8.13.) szerint gyöktényezőkként elvégezve a bilineáris transzformációt: ⎛ Ω h (1 + z −1 ) Ω 2h (1 + z −1 ) 1 1 − z −1 ⎞ ⎟ = = H ( z ) = Hˆ ⎜⎜ s = Ω h 1 + z −1 ⎟⎠ Ω h (1 + z −1 ) + (1 − z −1 ) Ω 2h (1 + z −1 )2 + Ω h (1 − z − 2 ) + (1 − z −1 )2 ⎝ 2
=
b01 + b11 z −1 b02 + b12 z −1 + b22 z −2 1 + a11 z −1 1 + a12 z −1 + a 22 z − 2
Ahol:
b01 = b11 =
Ωh = 0.245237 Ωh + 1
a11 =
5-16
Ωh −1 = −0.509525 Ωh + 1
IIR szűrők tervezése
b02 = b22 = a12 =
Ω h2 = 0.073802 1 + Ω h + Ω 2h
b12 = 2b02 = 0.147604
2(Ω h2 − 1) = −1.250516 1 + Ω h + Ω 2h
a22 =
1 − Ω h + Ω 2h = 0.545723 1 + Ω h + Ω 2h
5. Realizálás: Hálózatban: -a12
x(n)
z-1
b01
x(n-1)
z-1
b11
b02 u(n)
b12 z-1
y(n-1)
-a22 z-1
y(n-2)
b22 z-1
u(n-2)
y(n)
-a11 8.3. ábra A realizált szűrő (első és másodfokú D0 struktúrájú alaptagok kaszkád kapcsolása) DSP realizálásban a végtelen ciklus magja:
u (n ) = b01 x(n ) + b11 x(n − 1) − a11u (n − 1) y (n ) = b02 u (n ) + b12 u (n − 1) + b22 u (n − 2 ) − a12 y (n − 1) − a 22 y (n − 2 ) Az öregbítések: x(n − 1) = x( n), u (n − 2) = u (n − 1), u ( n − 1) = u (n), y (n − 2) = y ( n − 1), y ( n − 1) = y (n)
8.4 Tervezés a MATLAB-ban A fenti gondolatokat kiegészítve a folytonos idejű referencia szűrő approximációs eljárásával elkészíthető egyetlen MATLAB függvény, amelyik a specifikációt tartalmazó bemeneti paraméterekből kiszámítja a transzfer függvény számláló és nevező polinomjának együtthatóit. A MATLAB -ban rendelkezésre álló eljárások (és az approximáló függvények): 1.) Maximális lapos (Butterworth) szűrőtervezési eljárás (Hatvány függvények) 2.) Csebisev szűrőtervezési eljárás (Csebisev polinomok) 3.) Inverz-Csebisev szűrőtervezési eljárás (Csebisev polinomok) 4.) Elliptikus (Cauer) szűrőtervezési eljárás (Jakobi elliptikus függvények) Ezen eljárások hívása és paraméterei példával: 1.)
[B,A] = butter(N,ωh)
[B,A] = butter(5,0.2) 6-16
IIR szűrők tervezése [B,A] = cheby1(N,aa, ωh) [B,A] = cheby2(N,az, ωz) [B,A] = ellip(N, aa, az, ωh)
2.) 3.) 4.)
[B,A] = cheby1(5,3,0.2) [B,A] = cheby2(5,50,0.36) [B,A] = ellip(5,3,50,0.2)
Ahol: N: a szűrő fokszáma ωh: az áteresztő tartomány normalizált határa ωz: a záró tartomány normalizált határa aa: az áteresztő tartománybeli ingadozás dB-ben aa: a záró tartománybeli ingadozás dB-ben B: az átviteli függvény számláló polinomjának együtthatói A: az átviteli függvény nevező polinomjának együtthatói
B = [b0 , b1 , b2 ,....., bN ] H (z ) =
A = [1, a1 , a 2 ,....., a N ]
B (z ) b0 + b1 z + .... + bN z − N = A(z −1 ) 1 + a1 z −1 + .... + a N z − N −1
−1
Az egyes tervezési eljárásokkal elért amplitúdó karakterisztikák az alábbi ábrákon tekinthetők meg. Figyeljük meg, hogy a specifikációt mennyire teljesítik túl az áteresztőilletve a záró sáv egyes részein!
(
20 lg H e jωT
[dB]
)
10
0
-10
-20
-30
-40
ω ωs / 2
-50
-60
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
8.4. ábra Ötödfokú Butterworth szűrő amplitúdó karakterisztikája
(
20 lg H e jωT
[dB]
)
10
0
-10
-20
-30
-40
ω ωs / 2
-50
-60
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
8.5. ábra Ötödfokú Csebisev szűrő amplitúdó karakterisztikája 7-16
1
IIR szűrők tervezése
(
20 lg H e jωT
[dB]
)
10
0
-10
-20
-30
-40
ω ωs / 2
-50
-60
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
8.6. ábra Ötödfokú inverz Csebisev szűrő amplitúdó karakterisztikája
(
20 lg H e jωT
[dB]
)
10
0
-10
-20
-30
-40
ω ωs / 2
-50
-60
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
8.7. ábra Ötödfokú elliptikus szűrő amplitúdó karakterisztikája A fenti ábra sorozatban az N=5 fokszám, ωh =0.2 az áteresztő tartomány normalizált határa és az aa=3 dB az áteresztő tartománybeli ingadozás azonos volt. A zárótartományt a mínusz 50 dB értéknél jelöljük ki, így lehetőség adódik az átmeneti sávok összehasonlítására. A legnagyobb záró-tartomány kezdet (ωz: a záró tartomány normalizált határa) a Butterworth eljárásban, míg a legkisebb az elliptikus eljárásban adódik. Ez egyben az eljárás „gazdaságosságát” mutatja, ugyanis ha előírás a zárósáv kezdete, illetve a zárósávi csillapítás, akkor a legkisebb fokszámot az elliptikus, a legnagyobbat a Butterworth eljárás eredményezi. Ez a tulajdonság az egyes tartományok egyenletes (egyenetlen) közelítésének köszönhető. Megjegyezzük, hogy a MATLAB lehetőséget ad nem csak aluláteresztő hanem felüláteresztő, sáváteraesztő, és sávzáró karakterisztikák tervezésére is. A bemeneti paraméter lista bővítésével kell ilyenkor hívni a fenti függvényeket. (Bővebben lásd a függvények „help” menüjét.)
8-16
IIR szűrők tervezése
8.5 FIR vagy IIR? A szűrőtervezés első lépése az, hogy el kell dönteni: FIR vagy IIR struktúrát válasszunk. A választást úgy tudjuk megtenni, hogy mérlegeljük azok előnyeit illetve hátrányait. FIR Előnyei: - Egzaktul lineáris fázismenet, ami a torzítás mentes átvitel egyik feltétele. - Strukturálisan stabil hálózat, nem kell foglalkozni a stabilitási kérdésekkel. - Nincs túlcsordulás veszély. - Könnyű programozhatóság, speciális DSP utasítások. Hátrányai: - Magas fokszám. Kb 8-10 szeres a fokszám követelmény az ugyanazt a toleranciát kielégítő IIR szűrővel összehasonlítva. Ez hosszú DSP program futási időt, nagy tárkapacitást, FPGA-ban sok szorzó hardvert igényel. - Bizonyos alkalmazásokban kritikus a szűrő nagy jel késleltetése ( ≈NT/2). IIR Előnyei: - Viszonylag kisebb szűrő fokszám: kisebb hardver igény. - Viszonylag kisebb jel késleltetés. Hátrányai: - Direkt realizálásban nagy az együttható érzékenység, ami az együtthatók véges hosszúságú számábrázolásból adódik. Ilyenkor a szűrő stabilitása kerülhet veszélybe. Ezen pld. a kaszkád realizálás segíthet, de ez az egyes fokozatok túlvezérléséhez vezethet. A fokozatok sorrendjének változtatásával és a jelszint „skálázásával” a túlvezérlés esélye csökkenthető. - A túlvezérlés hatására instabilitás léphet fel, nagyszintű, a bemenettől független kimenő jelet tud produkálni („gerjed”). - Magas aritmetikai zaj. A számítások kerekítési hibájából adódik. A rekurzivitás miatt a kerekítési hiba felsokszorozódik. - Felléphet az u.n. zérus bemenetű határciklus, amikor a bemenet lekapcsolása után a kimenet egy kis szintű periodikus jelsorozat lesz. Ez szintén a rekurzióban elkövetett kerekítési hiba következménye. A periodikus jel véletlen szerű. - Sávszűrő esetén már nem feltétlenül igaz a sokkal kisebb fokszám.
A sok hátrány ellenére mégis gyakran használnak IIR szűrőt a kisebb fokszám miatt. A hátrányok okozta veszély gondos tervezéssel jelentősen csökkenthető.
9-16
IIR szűrők tervezése
8.6 Függelék 8.6.1 Butterworth (maximálisan lapos) approximáció Keressük azt a Hˆ (s ) folytonos idejű átviteli függvényt, amelyik racionális törtfüggvény és amelynek Hˆ ( jΩ ) amplitúdó karakterisztikája kielégíti a specifikációt. Hˆ (s ) nek a pólusai legyenek szigorúan az „s” komplex számsík bal félsíkjában. (Az ilyen polinomokat evezzük Hurwitz polinomnak. Ennek azért kell teljesülnie, mert a szűrő csak ebben az esetben lesz stabil.) Aluláteresztö specifikáción az áteresztő sáv és a záró sáv előírását értjük. Az áteresztő sáv a [0,1], míg a záró sáv az [Ωz,∞] relatív frekvencia tartomány legyen. Az approximációs feladatot ez egyszerűbb alak kedvéért az átviteli függvény reciprokára fogjuk elvégezni, amit csillapításnak értelmezünk. Ezért az áteresztő sávban a csillapításak a [0dB, a adB ] határok között, míg a záró sávban a zdB felett kell lennie. Maximális lapos approximáció esetén a csillapítás amplitúdó karakterisztikáját vegyük fel az alábbi alakban:
Γ(s )Γ(− s ) s = jΩ = Γ( jΩ )Γ(− jΩ ) = Γ( jΩ ) = 1 + ε 02 Ω 2 N 2
Ez a függvény a a [0,1] tartományban az [1, 1 + ε 02 ] értékeket veszi fel. Az N a keresett függvény fokszáma. Ennek a függvénynek az origóban minden Ω szerinti deriváltja zérus, ezért indokolt a maximálisan lapos elnevezés. Bevezetve az: A = 10 2 a
aadB 10
és a A = 10 2 z
a zdB 10
mennyiségeket: az ε 02 = Aa2 − 1 és a
Γ( jΩ z ) = 1 + ε 02 Ω 2z N ≥ Az2 adódik. Ebből a szükséges fokszám: 2
lg N≥
Az2 − 1
ε 02
lg Ω 2z 2N
⎛s⎞ Γ(s )Γ(− s ) = 1 + ε ⎜⎜ ⎟⎟ Az Ω = s j helyettesítés után: ⎝ j⎠ Ennek a kifejezésnek kell a gyökeit megkeresni, hogy szeparálhassuk őket aszerint, hogy mely gyökök esnek a bal és mely gyökök esnek a jobb félsíkba. A szeparált gyökökkel gyöktényezős alakban felírhatjuk a Γ(s ) Hurwitz polinomot. 2 0
⎛s 1 + ε ⎜⎜ k ⎝ j 2 0
Tehát keressük a kifejezés sk gyökeit:
⎛ sk ⎜⎜ ⎝ j s k = jRe
⎞ ⎟⎟ ⎠
2N
j ( 2 k −1)
= π 2N
−1
ε 02
=
j
e j (2 k −1)π
= Re e 2
j ( 2 k −1)
2N
=0
= R 2 N e j (2 k −1)π
ε 02 π
⎞ ⎟⎟ ⎠
π 2N
= Re
10-16
π π⎤ ⎡ + j ⎢ ( 2 k −1) 2 N 2 ⎥⎦ ⎣
= Re jϕ k
k = 1,2,3,...., 2 N
IIR szűrők tervezése R=
Ahol:
1 N
ϕk =
ε0
π
+ (2k − 1)
2
π
k = 1,2,3,...., 2 N
2N
A gyökök egy R sugarú körön vannak, a k =1,…,N indexűek vannak a bal félsíkon.
1 Hˆ (s ) = = Γ(s )
Ezzel:
1 +j
N
ε 0 ∏ (s − s k )
s1
k =1
s6 φ1
8.3. Példa
Határozzuk meg a Γ(s), csillapítás függvényt az N =3, aa=3dB paraméter értékek esetén! A = 10 2 a
ϕk =
π
aadB 10
=2, ε 02 = Aa2 − 1 =1, R =
+ (2k − 1)
1 N
ε0
s2
s5
-1
+1
=1
s3
s4 -j
π
2 6 A gyökök elhelyezkedése az ábrán látható A bal félsíkra eső gyökök:
⎛ 2π s1,3 = cos⎜ ⎝ 3
⎞ ⎛ 2π ⎟ ± j sin ⎜ ⎠ ⎝ 3
8.8. ábra Maxlap gyökök N=3, R=1 esetén
1 3 ⎞ ⎟=− ± j 2 2 ⎠
s 2 = cos(π ) = −1
Ezzel: 1 1 Hˆ (s ) = 2 s +1 s + s +1
Számítsuk ki a Γ( jΩ ) = Γ(s )Γ(− s ) s = jΩ függvényt! 2
Γ(s ) = 1 + 2s + 2s 2 + s 3 és Γ(− s ) = 1 − 2s + 2s 2 − s 3
[(
)][(
) (
)] (
) (
Γ(s )Γ(− s ) = 1 + 2s 2 + 2s + s 3 1 + 2s 2 − 2s + s 3 = 1 + 2s 2 = 1 + 4 s2 + 4 s4 − 4 s 2 − 4 s4 − s 6 = 1 − s6 Ellenőrzésként:
Γ( jΩ ) = Γ(s )Γ(− s ) s = jΩ = 1 − s 6 2
ahogy vártuk.
11-16
s = jΩ
) − (2s + s ) 2
= 1 + Ω6
3 2
=
IIR szűrők tervezése
8.6.2 Csebisev approximáció A Csebisev polinomok definíciója: TN (Ω ) = cos( N arccos(Ω )) Ez a definíció polinomot definiál, amit az alábbi gondolatmenettel bizonyíthatunk: Legyen: x = arccos(Ω) Ω = cos( x ) Ezzel: TN = cos(Nx ) Az addíciós tételt alkalmazva írhatjuk: TN +1 = cos(( N + 1)x ) = cos( Nx ) cos( x ) − sin ( Nx )sin ( x ) TN −1 = cos(( N − 1)x ) = cos( Nx ) cos( x ) + sin ( Nx )sin ( x ) Adjuk össze a fenti két polinomot! TN +1 + TN −1 = 2 cos( Nx ) cos( x ) = 2ΩTN amit átrendezve a Csebisev polinomoknak egy rekurzív előállítását lehetővé tevő alakot kapunk. TN +1 (Ω ) = 2ΩTN (Ω ) − TN −1 (Ω ) Ezzel: T0 ( Ω) = 1 ( a definícióból következően) T1( Ω) = Ω ( a definícióból következően) T2 ( Ω) = 2Ω2 − 1 T3 ( Ω) = 4Ω 3 − 3Ω T4 ( Ω) = 8Ω 4 − 8Ω 2 + 1 T5 ( Ω) = 16Ω5 − 20Ω3 + 5Ω T6 ( Ω) = 32Ω 6 − 48Ω 4 + 18Ω 2 − 1 , stb. A Csebisev polinomok az áteresztő sáv egyenletes közelítését teszik lehetővé az alábbi tulajdonságuknál fogva: TN (Ω ) ≤ 1 ha Ω ≤ 1
TN (1) = 1
ha
TN (Ω ) > 1 ha
Ω =1
(2.20.)
Ω >1
Ezek alapján legyen a csillapítás függvény abszolút érték négyzete: 1 Hˆ ( jΩ )
= Γ( jΩ ) = 1 + ε 02TN2 (Ω ) 2
2
⎛s⎞ Az Ω = s j helyettesítés után: Γ(s )Γ(− s ) = 1 + ε 02TN2 ⎜⎜ ⎟⎟ ⎝ j⎠
12-16
(2.21.)
IIR szűrők tervezése
⎛s 1 + ε 02TN2 ⎜⎜ k ⎝ j
keressük a kifejezés gyökeit:
⎞ ⎟⎟ = 0 ⎠
k = 1,2,3,...., 2 N
20 log Γ( jΩ )
dB 100 90
N =8
7
80
6
5
70 60
4
50
3
40 30 20
Ω
10 0
0
0.5
1
1.5
2
2.5
3
8.9. ábra Az áteresztő tartomány egyenletes közelítése Csebisev polinomokkal 3 dB áteresztősávi ingadozás esetén. A részletek mellőzésével, ha adott az a a áteresztö sávi ingadodozás dB-ben, az a z dB-ben, és az Ω z zárósáv kezdete, akkor a gyökök:
zárósávi csillapítás
sk = B cosϕk + jA sin ϕk
Ahol:
A = ch( b)
ϕk = ak +
π
=
π
B = sh( b)
+ ( 2 k − 1)
2 2 k = 1,2,3,...., 2 N
b=
s1
π
2 a
aa 10
2 a
s2
s8
s7
2 0
A = 10 2 z
jΩ
2n
1 1 1 1+ 1+ ε arsh = ln N ε0 N ε0
ε = A − 1 , A = 10 , 2 0
k = 1,2,3,...., 2 N
B
az 10
s3
A
s6
A szükséges fokszám: arch N≥
Az2 − 1 Aa2 − 1
arch(Ω z )
s5 s4 8.10. ábra Csebisevi gyök-elrendeződés (N = 4 esetén)
Vegyük észre, hogy a gyökök az A nagy- és a B kistengelyű ellipszisen helyezkednek el. A k = 1, …, N indexekhez tartozó gyökök lesznek a bal félsíkban ( az e felettiek pedig a jobb félsíkban). A keresett referens aluláteresztő átviteli függvénye:
13-16
IIR szűrők tervezése
1 Hˆ (s ) = = Γ(s )
1 N
2 N −1 ε 0 ∏ (s − s k ) k =1
8.6.3 Felülátersztő tervezése Aluláteresztő szűrőből felüláteresztő szűrőt a p = leképzés a p=jυ tengelyt az s = jΩ = − j
Ωh
Ωh transzformációval kapunk. Ez a s
tengelybe képzi le.
ν
~ H ( jν )
-1
0
+1
Hˆ ( jΩ )
ν
- Ωh
0
Ω
+ Ωh
8.11 ábra Aluláteresztő transzformációja felüláteresztőbe ~ A referens aluláteresztő H ( p ) transzfer függvényből a felüláteresztő Hˆ (s ) transzfer függvényt a ~ Hˆ (s ) = H ( p ) Ω h p=
s
helyettesítéssel kapjuk meg. További helyettesítéssel kapjuk a diszkrét idejű felüláteresztő transzferfüggvényt: ~ H ( z ) = Hˆ (s ) 1− z −1 = H ( p ) 1+ z −1 s=
p =Ω h
1+ z −1
1− z −1
8.6.4 Sáváteresztő tervezése Aluláteresztő szűrőből felüláteresztő szűrőt a p = kapunk, ahol: δ =
Ω f − Ωa Ω0
Ω ⎞ 1⎛ s ⎜⎜ + 0 ⎟⎟ transzformációval s ⎠ δ ⎝ Ω0
a relatív sávszélesség és Ω 0 = Ω a Ω f
Ez a leképzés a p=jυ tengelyt az s = jΩ = j
1 ⎛ Ω Ω0 ⎞ ⎜ ⎟ tengelybe képzi le. − δ ⎜⎝ Ω 0 Ω ⎟⎠
~ H ( jν )
-1
0
+1
a sávközép frekvencia.
Hˆ ( jΩ )
ν
-Ωf -Ω0 -Ωa
0
Ωa
Ω0 Ωf
Ω
8.12 ábra Aluláteresztő transzformációja sáváteresztőbe ~ A referens aluláteresztő H ( p ) transzfer függvényből a sáváteresztő Hˆ (s ) transzfer függvényt a ~ Hˆ (s ) = H ( p ) 1 ⎛ s Ω0 ⎞ ⎟ + p = ⎜⎜ δ ⎝ Ω 0 s ⎟⎠
helyettesítéssel kapjuk meg. További helyettesítéssel kapjuk a diszkrét idejű sáváteresztő transzferfüggvényt:
14-16
IIR szűrők tervezése
~ H (z ) = H ( p )
p=
−1
−2
c 1− z − 2
)
1− dz + z
(
[
c = tg π (ω f − ω a ) / ω s
Ahol:
p=
]
d =2
1 − dz −1 + z −2 c 1 − z −2
(
[ cos[π (ω
cos π (ω f + ω a f
− ωa
) )/ ω ] )/ ω ] s
s
~ A referens aluláteresztő H ( p ) transzfer függvényből melynek az áteresztő sávja a [0,1] tartomány a fenti transzformáció előállítja azt a diszkrét idejű transzfer függvényt, melynek az áteresztő tartománya az: [ωa,ωf] tartomány. Ha a referens szűrő fokszáma N, akkor a diszkrét idejű szűrő fokszáma 2N.
8.4 Példa: Legyen N=1! ~ H (z ) = H ( p ) 1− dz −1 + z − 2 = p=
(
c 1− z − 2
)
1 1+ p
p=
1− dz −1 + z − 2
(
c 1− z − 2
)
c = 1+ c
1 − z −2 = d −1 1 − c − 2 z + z 1− 1+ c 1+ c
8.6.5 Egy szűrési feladat Egy 10 kHz mintavételi frekvenciával működő rendszerben egy 100 Hz-es szinuszos jelet akarunk megfigyelni. A jelet egy zérus várható értékű Gauss (normális) eloszlású fehér zaj terheli. (A fehér zaj azt jelenti, hogy a zaj mintái egymástól függetlenek.) Szűrjük meg a jelet egy elsőfokú aluláteresztőből a fenti módszerrel sávszűrőbe transzformált szűrővel! A szűrő áteresztő sávja legyen [75Hz,125Hz] (-3dB-es pontok). A zaj nagyságát a jel-zaj viszonnyal (SNR) jellemezzük: SNR dB = 10 lg
Jel teljesítmény = 10 lg 4 = 6 dB Zaj teljesítmény
A MATLAB szimulációban jel amplitúdója 1, teljesítménye ½. A zaj teljesítménye a jel teljesítményének negyede, azaz 1/8-ad. (Ez a zaj szórás négyzete). 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2
0
100
200
300
400
500
600
700
800
8.x ábra A megfigyelt zajos jel időfüggvénye 15-16
900
1000
IIR szűrők tervezése
(
20 lg H e jωT
[dB]
)
0
-10
-20
-30
-40
-50
Hz -60
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
8.x . ábra A másodfokú sávszűrő amplitúdó karakterisztikája 1.5
1
0.5
0
-0.5
-1
-1.5
0
100
200
300
400
500
600
700
800
900
1000
8.x. ábra A megszűrt jel időfüggvénye A kezdeti kisebb amplitúdó a szűrő bekapcsolási tranziense miatt következik be. A stabilizálódás után az amplitúdó kismértékű ingadozása a maradék zaj következménye. A fehér zaj teljesítmény sűrűség spektruma egyenletes (konstans). Ez azt jelenti, hogy minden spektrum összetevő azonos. A név a fehér fény analógiájából jön, a fehér fényt egy prizmával összetevőire bontva, a szivárvány összes színe megfigyelhető lesz. Szűrés után a zaj teljesítmény sűrűség spektruma a szűrő amplitúdó karakterisztikájával lesz arányos. Egy magasabb fokszámú szűrővel kevesebb zaj maradna a jelben.
16-16