FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ

Podobné dokumenty
SIGNÁLY A SOUSTAVY, SIGNÁLY A SYSTÉMY

7.1. Číslicové filtry IIR

Úvod do zpracování signálů

Modelování systémů a procesů (11MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček. 8. přednáška 11MSP pondělí 20. dubna 2015

ÚPGM FIT VUT Brno,

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

Číslicová filtrace. FIR filtry IIR filtry. ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Při návrhu FIR filtru řešíme obvykle následující problémy:

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Lineární a adpativní zpracování dat. 3. Lineární filtrace I: Z-transformace, stabilita

Funkce komplexní proměnné a integrální transformace

Teorie měření a regulace

Flexibilita jednoduché naprogramování a přeprogramování řídícího systému

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů

X31EO2 - Elektrické obvody 2. Kmitočtové charakteristiky

Diskretizace. 29. dubna 2015

Laplaceova transformace

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Signál v čase a jeho spektrum

Abychom se vyhnuli užití diferenčních sumátorů, je vhodné soustavu rovnic(5.77) upravit následujícím způsobem

1 Modelování systémů 2. řádu

5.3. Implicitní funkce a její derivace

Vlastnosti a modelování aditivního

31SCS Speciální číslicové systémy Antialiasing

r Odvoď te přenosovou funkci obvodů na obr.2.16, je-li vstupem napě tí u 1 a výstupem napě tí u 2. Uvaž ujte R = 1Ω, L = 1H a C = 1F.

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky

Přenos pasivního dvojbranu RC

0.1 Úvod do lineární algebry

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

U Úvod do modelování a simulace systémů

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

Matematika I (KMI/PMATE)

A7B31ZZS 10. PŘEDNÁŠKA Návrh filtrů 1. prosince 2014

Diferenciální rovnice

O řešení diferenční rovnice y(n+2) 1, 25y(n+1)+0, 78125y(n) = x(n + 2) x(n)

MKI Funkce f(z) má singularitu v bodě 0. a) Stanovte oblast, ve které konverguje hlavní část Laurentova rozvoje funkce f(z) v bodě 0.

Diferenciální rovnice a jejich aplikace. (Brkos 2011) Diferenciální rovnice a jejich aplikace 1 / 36

3. AMPLITUDOVĚ MODULOVANÉ SIGNÁLY

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

0.1 Úvod do lineární algebry

Lineární a adaptivní zpracování dat. 3. SYSTÉMY a jejich popis ve frekvenční oblasti

4. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

Matematická analýza III.

Při návrhu FIR filtru řešíme obvykle následující problémy:

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

Mezi elementární komplexní funkce se obvykle počítají tyto funkce: f(z) = az + b,

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

0.1 Úvod do matematické analýzy

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

SIGNÁLY A LINEÁRNÍ SYSTÉMY

PŘEDNÁŠKA 2 POSLOUPNOSTI

A/D převodníky - parametry

Z transformace. Definice. Z transformací komplexní posloupnosti f = { } f n z n, (1)

5. Lokální, vázané a globální extrémy

FOURIEROVA ANAL YZA 2D TER ENN ICH DAT Karel Segeth


Základní pojmy o signálech

Komplexní analýza. Laplaceova transformace. Martin Bohata. Katedra matematiky FEL ČVUT v Praze

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce

teorie elektronických obvodů Jiří Petržela obvodové funkce

1 Mnohočleny a algebraické rovnice

Kapacita, indukčnost; kapacitor-kondenzátor, induktor-cívka

0.1 Funkce a její vlastnosti

Inverzní Laplaceova transformace

Nyní využijeme slovník Laplaceovy transformace pro derivaci a přímé hodnoty a dostaneme běžnou algebraickou rovnici. ! 2 "

1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.

Matematika (KMI/PMATE)

Matematická analýza III.

Číslicové filtry. Honza Černocký, ÚPGM

7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí

Teoretická elektrotechnika - vybrané statě

Nelineární obvody. V nelineárních obvodech však platí Kirchhoffovy zákony.

Diferenciální rovnice 3

Přednáška 3: Limita a spojitost

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Interpolace, ortogonální polynomy, Gaussova kvadratura

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

CITLIVOSTNÍ ANALÝZA DYNAMICKÝCH SYSTÉMŮ I

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

CW01 - Teorie měření a regulace

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Analýza lineárních regulačních systémů v časové doméně. V Modelice (ale i v Simulinku) máme blok TransfeFunction

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Úvodní informace. 17. února 2018

ŘADY KOMPLEXNÍCH FUNKCÍ

25.z-6.tr ZS 2015/2016

Nejprve si připomeňme z geometrie pojem orientovaného úhlu a jeho velikosti.

Funkce a limita. Petr Hasil. Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF)

Diferenciální rovnice 1

filtry FIR zpracování signálů FIR & IIR Tomáš Novák

y = 1 x (y2 y), dy dx = 1 x (y2 y) dy y 2 = dx dy y 2 y y(y 4) = A y + B 5 = A(y 1) + By, tj. A = 1, B = 1. dy y 1

Transkript:

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Číslicové filtry Garant předmětu: Prof. Ing. Zdeněk Smékal, CSc. Autoři textu: Prof. Ing. Zdeněk Smékal, CSc. Ing. Petr Sysel Poslední aktualizace: 8.12.2004

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 1 Obsah 1 ÚVOD 7 2 VLASTNOSTI JEDNOROZMĚRNÝCH ČÍSLICOVÝCH FILTRŮ 19 2.1 Diskrétní a číslicový signál........................... 19 2.2 Metody analýzy diskrétních a číslicových signálů a systémů......... 21 2.3 Přenosová funkce číslicového filtru....................... 23 2.4 Nulové body a póly přenosové funkce..................... 25 2.5 Impulsní charakteristika číslicového filtru................... 26 2.6 Stabilita a kauzalita číslicového filtru..................... 29 2.7 Kmitočtové vlastnosti číslicového filtru.................... 30 3 STRUKTURY REALIZACE ČÍSLICOVÝCH FILTRŮ A JEJICH PO- PIS 35 3.1 Vnější popis číslicového filtru......................... 35 3.2 Vnitřní popis číslicového filtru......................... 38 3.3 Maticový zápis stavového popisu........................ 40 3.4 Kanonické struktury číslicových filtrů..................... 43 4 METODY NÁVRHU ČÍSLICOVÝCH FILTRŮ TYPU FIR 47 4.1 Vlastnosti číslicových filtrů typu FIR..................... 47 4.2 Metoda váhové posloupnosti.......................... 48 4.3 Metoda vzorkování kmitočtové charakteristiky................ 56 4.4 Porovnání metod návrhu filtrů typu FIR................... 59 5 METODY NÁVRHU ČÍSLICOVÝCH FILTRŮ TYPU IIR 61 5.1 Vlastnosti číslicových filtrů typu IIR..................... 61 5.2 Návrh analogového prototypu......................... 62 5.3 Analogově číslicové transformace....................... 63 5.4 Porovnání metod návrhu filtrů typu IIR................... 73 6 ADAPTIVNÍ ČÍSLICOVÉ FILTRY 75 6.1 Úvod....................................... 75 6.2 Wienerova optimální filtrace.......................... 78 6.3 Adaptivní filtrace pomocí algoritmu typu LMS................ 80 6.4 Příklady aplikací adaptivních filtrů...................... 81 6.4.1 Identifikace vlastností neznámého systému.............. 82 6.4.2 Inverzní adaptivní filtrace....................... 82 6.4.3 Potlačení rušení............................. 83 6.4.4 Predikce signálu............................. 83 7 ČÍSLICOVÉ FILTRY SE ZMĚNOU VZORKOVACÍHO KMITOČTU 85 7.1 Úvod....................................... 85 7.2 Podvzorkování číslicového signálu v poměru celého čísla........... 86 7.3 Nadvzorkování číslicového signálu v poměru celého čísla........... 90

Číslicové filtry 2 7.4 Změna vzorkovacího kmitočtu v poměru racionálního čísla......... 92 7.5 Vliv změny vzorkovacího kmitočtu na kmitočtovou charakteristiku číslicového filtru.................................... 96 8 BANKY ČÍSLICOVÝCH FILTRŮ A SOUVISLOST S VLNKOVOU TRANSFORMACÍ 101 8.1 Úvod....................................... 101 8.2 Banky kvadraturních zrcadlových filtrů.................... 102 8.3 Vlnková transformace a banky číslicových filtrů............... 107 A Návod na použití tabulek 119 B Butterworthova aproximace 120 C Čebyševova aproximace 122 D Eliptická aproximace 125

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 3 Seznam obrázků 1.1 Dolní propust realizovaná integračním RC článkem.............. 7 1.2 Modulová kmitočtová charakteristika analogové dolní propusti........ 9 1.3 Modulová kmitočtová charakteristika číslicového filtru typu dolní propusti 1. řádu...................................... 11 1.4 Graf signálových toků vnějšího popisu číslicového filtru 1. řádu (nekanonická struktura)................................. 12 1.5 Graf signálových toků vnitřního popisu číslicového filtru 1. řádu (kanonická struktura)..................................... 13 1.6 Blokové schéma datové jednotky ALU signálových procesorů Motorola řad DSP56000 a DSP56300............................. 15 1.7 Uložení koeficientů a proměnných v datových pamětech X: a Y:....... 16 1.8 Horní propust realizovaná derivačním článkem RC.............. 17 1.9 Modulová kmitočtová charakteristika číslicového filtru typu horní propusti 1. řádu...................................... 18 2.1 Vzorkování signálu a) vzorkovač, b) spojitý signál, c) diskrétní signál.... 19 2.2 Dělení signálů................................... 20 3.1 Nekanonická vnější struktura realizující algoritmus číslicového filtru typu IIR 3. řádu.................................... 36 3.2 Kanonická vnitřní struktura realizující algoritmus číslicového filtru typu IIR 3. řádu, který je definován diferenčními rovnicemi (3.7) a (3.8)..... 39 3.3 Graf signálových toků 2. kanonické stavové struktury číslicového filtru typu IIR 3. řádu.................................... 44 3.4 Graf signálových toků 1. kanonické stavové struktury číslicového filtru typu IIR 3. řádu.................................... 44 4.1 Modulové kmitočtové charakteristiky ideálních číslicových filtrů....... 49 4.2 Obálka posloupností nejvíce používaných oken a jejich modulové kmitočtové charakteristiky............................... 52 4.3 Modul přenosové funkce pro různý řád N navrženého filtru.......... 55 4.4 Modul přenosové funkce pro řád N = 40 při použití různých váhovacích oken........................................ 55 4.5 Příklad modulové kmitočtové charakteristiky hřebenového filtru....... 57 4.6 Modul kmitočtové charakteristiky filtru řádu N = 7 navrženého metodou vzorkování kmitočtové charakteristiky..................... 59 5.1 Toleranční schéma modulové kmitočtové charakteristiky pro normovanou dolní propust................................... 63 5.2 Vztahy pro převod běžných typů filtrů na normovanou dolní propust.... 64 5.3 Transformace roviny w na rovinu z metodou bilineární transformace.... 66 5.4 Modulová kmitočtová charakteristika filtru navrženého bilineární transformací........................................ 70 5.5 Konformní zobrazení roviny p na rovinu z metodou invariance impulsní charakteristiky.................................. 72 6.1 Graf signálových toků číslicového filtru typu FIR v 2. kanonické struktuře. 75

Číslicové filtry 4 6.2 Blokové schéma obecného zapojení adaptivního číslicového filtru....... 76 6.3 Identifikace vlastností neznámého systému................... 82 6.4 Odstranění nežádoucích složek, které jsou součástí užitečného signálu, pomocí inverzní filtrace............................... 83 6.5 Použití adaptivního filtru k potlačení rušení.................. 84 6.6 Použití adaptivního filtru pro predikci..................... 84 7.1 Blokové schéma podvzorkování (decimace) číslicového signálu........ 88 7.2 Ukázka podvzorkování harmonického signálu................. 89 7.3 Blokové schéma nadvzorkování číslicového signálu............... 91 7.4 Ukázka nadvzorkování harmonického signálu.................. 93 7.5 Blokové schéma systému se změnou vzorkovacího kmitočtu v poměru racionálního čísla................................... 94 7.6 Ukázka převzorkování číslicového signálu.................... 95 7.7 Ukázka modulové kmitočtové charakteristiky převzorkovaného signálu... 95 7.8 Modul kmitočtové charakteristiky filtru pro různé vzorkovací kmitočty... 98 8.1 Blokový diagram banky číslicových filtrů.................... 102 8.2 Idealizované modulové kmitočtové charakteristiky banky číslicových filtrů. 103 8.3 Příklad M-kanálové subpásmové banky filtrů................. 103 8.4 Dvoupásmová banka číslicových filtrů typu QMF............... 104 8.5 Idealizované modulové kmitočtové charakteristiky analyzujících číslicových filtrů typu dolní propusti a horní propusti................... 104 8.6 Diskrétní signál x [n] násobený oknem w [n], které je posouváno....... 108 8.7 Modulové kmitočtové charakteristiky banky číslicových filtrů v kmitočtovém pásmu od 0 do 2π (0 až f vz )........................ 109 8.8 Transformace typu STFT jako banka číslicových filtrů............ 110 8.9 Banka číslicových filtrů pro analýzu, realizující transformaci typu STFT pro M kmitočtových pásem........................... 110 8.10 Idealizovaná modulová kmitočtová charakteristika horní propustí s přenosovou funkcí H(z) a její dvakrát (b) a čtyřikrát podvzorkovaná verze (c).. 112 8.11 Tříúrovňový binární strom banky číslicových filtrů typu QMF s vlnkovými funkcemi..................................... 113 8.12 Idealizované modulové kmitočtové charakteristiky dolní propusti G(z) (a) a kombinace dolních a horních propustí G(z) a H(z) (b)........... 113 8.13 Ekvivalentní systém banky filtrů pro analýzu, který odpovídá binárnímu stromu QMF banky filtrů z obr. 8.11...................... 114 8.14 Syntetizující banka filtrů, která patří k bance pro analýzu na obr. 8.11 nebo 8.12........................................ 114 8.15 Idealizované modulové kmitočtové charakteristiky analyzující a syntézující banky číslicových filtrů z obr. 8.13 a 8.14................... 115 A.1 Modulová kmitočtová charakteristika aproximace normované dolní propusti.119 A.2 Návod na použití nomogramů pro určení řádu filtru.............. 119 B.1 Nomogram pro určení řádu Butterworthovy aproximace........... 120 C.1 Nomogram pro určení řádu Čebyševovy aproximace.............. 122 D.1 Nomogram pro určení řádu eliptické aproximace................ 125

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 5 Seznam tabulek 2.1 Používané kmitočtové veličiny a jejich jednotky................ 32 4.1 Podmínka pro symetrickou a antisymetrickou impulsní charakteristiku... 47 4.2 Vzorky impulsní charakteristiky délky N = 7 navržené pásmové propusti.. 54 4.3 Hodnoty vzorků H[k] kmitočtové charakteristiky pro řád systému N = 7 a tolerační schéma zadané v příkladu 4.1.................... 58 5.1 Kmitočtové transformace v analogové oblasti roviny p............ 65 5.2 Přepočítané hodnoty mezních kmitočtů v tolerančním schématu....... 68 5.3 Transformační vztahy pro převod přenosové funkce analogové normované dolní propusti................................... 69 B.1 Koeficienty Butterworthovy aproximace.................... 121 C.1 Koeficienty Čebyševovy aproximace....................... 123 D.1 Koeficienty eliptické aproximace 2. řádu................... 126 D.2 Koeficienty eliptické aproximace 3. řádu................... 127 D.3 Koeficienty eliptické aproximace 4. řádu................... 128

Číslicové filtry 6

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 7 1 ÚVOD Cíl: Cílem úvodní kapitoly je ukázat postup návrhu číslicového filtru počínaje návrhem přenosové funkce v transformaci Z, přes kvantování koeficientů až po implementaci v mikroprocesorovém systému (bez hardwarové násobičky a s hardwarovou násobičkou). Číslicové filtry představují jednu z možných realizací diskrétních systémů číslicovými technickými prostředky. Úkolem číslicového filtru je požadovaným způsobem ovlivnit kmitočtové spektrum vstupního signálu. To znamená buď vybrat část kmitočtového spektra, které bude nezměněno a ostatní části potlačit (kmitočtové filtry typu dolní propusti-dp, horní propusti-hp, pásmové propusti-pp nebo pásmové zádrže-pz), anebo tvarovat kmitočtovou charakteristiku (např. napodobit kmitočtové vlastnosti lidského ucha), popř. linearizovat fázovou kmitočtovou charakteristiku apod. Obrázek 1.1: Dolní propust realizovaná integračním RC článkem. Ukažme si na příkladě, jak lze navrhnout číslicový filtr a jak ho lze realizovat pomocí mikroprocesoru. Za základ si zvolíme analogový filtr typu dolní propusti 1. řádu, kterým je jednoduchý RC článek, jehož obvodové schéma je vidět na obr. 1.1. Vstupním signálem nechť je harmonický signál x(t) = u 1 (t) = U 1 cos (ωt) ideálního zdroje napětí a výstupní signál je napětí na kapacitoru y(t) = u 2 (t). Abychom mohli provést analýzu vlastností dolní propusti, tak vypočítáme přenosovou funkci pomocí Laplaceovy transformace. Místo časových průběhů budeme definovat jejich obrazy X(p) = U 1 (p) = L{u 1 (t)} a Y (p) = U 2 (p) = L{u 2 (t)}, kde Laplaceova transformace je definována vztahem F (p) = L{f(t)} = f(t)e pt dt, [1]. 0

Číslicové filtry 8 Přenosová funkce dolní propusti je dána podílem obrazu výstupního a vstupního signálu H(p) = Y (p) X(p) = U 2(p) U 1 (p) = 1 pc R + 1 pc = 1 prc + 1 = 1 τp + 1, (1.1) když platí τp = p ω c, ω c = 1 RC = 1 τ = 2πf c, kde f c je mezní kmitočet dolní propusti a τ = RC je časová konstanta. Protože dolní propust s přenosovou funkcí (1.1) je analogový systém 1. řádu, který je stabilní, pak jeho kmitočtovou charakteristiku dostaneme dosazením za p = jω do (1.1) H(jω) = 1 jωτ + 1 = 1 1 + ω2 τ e jarctgωτ, (1.2) 2 kde modulová kmitočtová charakteristika je M a (ω) = H(jω) = 1 1 + ω2 τ 2 a fázová kmitočtová charakteristika je ϕ a (ω) = arctgωτ. Index a vyznačuje skutečnost, že se jedná o analogový systém. Také se často používá vyjádření modulu kmitočtové charakteristiky v logaritmické stupnici v decibelech [db] jako 1 M adb (ω) = 20 logm a (ω) = 20 log 1 + ω2 τ = 10 log(1 + 2 ω2 τ 2 ). (1.3) Zvolíme-li konkrétní hodnoty odporu R = 5000/π Ω a kapacity C = 10 6 F, tj. časová konstanta je τ = 1, 591549.10 3 s a f c = 100 Hz, pak modulová kmitočtová charakteristika v decibelech bude mít tvar podle obrázku 1.2.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 9 Obrázek 1.2: Modulová kmitočtová charakteristika analogové dolní propusti v decibelech pro mezní kmitočet propustného pásma f c = 100 Hz. Nyní chceme navrhnout číslicový filtr, který bude mít podobné vlastnosti v určitém kmitočtovém rozsahu jako analogová dolní propust (RC článek). K převodu mezi analogovou a diskrétní (číslicovou) oblastí použijeme bilineární transformaci, která je realizována tak, že za parametr p se dosadí vztah [2] p 2 T z 1 z + 1 = 2 T 1 z 1. (1.4) 1 + z 1 Vzorkovací kmitočet je definován f vz = 1/T [Hz] a komplexní parametr z je parametr transformace Z [3]. Pro stabilní a kauzální diskrétní systém lze definovat jednostrannou transformaci Z ve tvaru F (z) = f [n]z n, f [n] F (z), (1.5) n=0 když f [n] je diskrétní signál (časová posloupnost) a F (z) je její obraz. Je nutné také definovat konvergenční oblast, pro která z lze mocninou řadu sečíst tak, aby výsledek byl

Číslicové filtry 10 konečné číslo (tj. aby mocninná řada konvergovala). Dosazením (1.4) do (1.1) dostaneme přenosovou funkci číslicového filtru H(z) = 1 ( τ 2T 1 z 1 ) 1 + z 1 + 1 = 1 q 1 z 1 1 + z 1 + 1, q = f vz πf c. Další úpravou dostaneme H(z) = 1 1 + q + 1 + 1 q z 1 1 + 1 1 + q q = z 1 c 0 + c 1 z 1 Y (z) = 1 + d 1 z 1 X(z), (1.6) když platí c 0 = 1 1 + q, c 1 = 1 1 + q, d 1 = 1 q 1 + q. Obraz Y (z) je obraz transformace Z výstupní posloupnosti číslicového filtru y [n] a obraz X(z) je obraz transformace Z vstupní posloupnosti x [n]. Jestliže zvolímef vz = 10 khz, pak pro f c = 100 Hz nám vyjdou tyto koeficienty přenosové funkce c 0 = c 1 = 0, 030459028. = 2 5 2 10 + 2 12 2 14, d 1 = 0, 9390819441. = 2 0 + 2 4 2 9 + 2 12 + 2 13. (1.7) Pokud změníme parametry R a C a tím i časovou konstantu τ tak, že mezní kmitočet propustného pásma bude f c = 212,2066 Hz (q = 15), pak nám vyjdou velmi jednoduché koeficienty přenosové funkce c 0 = c 1 = 1 16 = 2 4, d 1 = 14 16 = 1 + 2 3. (1.8) Proč jsme zvolili tento zvláštní případ uvidíme, jakmile budeme psát příklad programu v asembleru pro implementaci číslicového filtru v mikroprocesoru bez hardwarové násobičky. U takového procesoru je operace násobení mocniny dvou nahrazeno bitovým posunutím druhého činitele. Délkou dvojkového vyjádření koeficientů (tím se rozumí počet mocnin dvou v dvojkovém vyjádření) je pak určena délka programu v asembleru mikroprocesoru.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 11 Obrázek 1.3: Modulová kmitočtová charakteristika číslicového filtru typu dolní propusti 1. řádu. Kmitočtovou charakteristiku H(e jωt ) dostaneme, když do vztahu (1.4) dosadíme za z = e jωt H(e jωt ) = c 0 + c 1 e jωt 1 + d 1 e jωt = M(ω)ejϕ(ω), M db (ω) = 20 logm(ω). (1.9) Průběh modulové kmitočtové charakteristiky (1.9) číslicového filtru 1. řádu typu IIR je vidět na obr. 1.3. Vidíme, že kmitočtová charakteristika číslicového filtru je periodická s periodou f vz. Oblast od 0 do f vz /2 odpovídá kmitočtové charakteristice analogové dolní propusti a to je také kmitočtová oblast, která se u číslicových filtrů využívá pro zpracování signálu. Nyní hledáme vhodný algoritmus, který by realizoval číslicový filtr v počítači nebo v mikroprocesoru. Rozepíšeme rovnici (1.6) tak, abychom osamostatnili obraz výstupního signálu Y (z) Y (z)(1 + d 1 z 1 ) = X(z)(c 0 + c 1 z 1 ). Y (z) = c 0 X(z) + c 1 X(z)z 1 d 1 Y (z)z 1. (1.10)

Číslicové filtry 12 Použijeme vlastnosti transformace Z, pro kterou platí, že součin obrazu např. X(z) s činitelem z 1 znamená zpoždění vzoru x [n] o jeden vzorkovací interval, tj. x [n 1]. Rovnice v časové oblasti pak má tvar y [n] = c 0 x [n] + c 1 x [n 1] d 1 y [n 1]. (1.11) Rovnice (1.11) udává přímo algoritmus jak vypočítat nynější hodnotu výstupního signálu y [n] na základě nynější vstupní hodnoty x [n] a předchozích hodnot x [n 1] a y [n 1], které jsou násobeny koeficienty číslicového filtru c 0, c 1 a d 1. Grafickým vyjádřením algoritmu (1.11) může být graf signálových toků na obr. 1.4. Obrázek 1.4: Graf signálových toků vnějšího popisu číslicového filtru 1. řádu (nekanonická struktura). Algoritmus (1.11) vyjadřuje vnější popis diskrétního systému 1. řádu, který je realizován číslicovým filtrem typu dolní propusti. Název vnější popis plyne ze skutečnosti, že diferenční rovnice (1.11) udává pouze vztah mezi vnějšími vstupními a výstupními signály x [n] a y [n] a jejich diferencemi, aniž bychom věděli něco podrobnějšího o vnitřní struktuře systému. Tento popis není optimální z hlediska implementace v mikroprocesoru, neboť například, jak je vidět z obrázku 1.4, struktura číslicového filtru obsahuje dvakrát tolik zpožďovacích bloků se z 1, než je potřebné. Vyjdeme opět z rovnice (1.10), ale nyní tuto rovnici rozdělíme na dvě části takto Y (z) = c 0 X(z) + [c 1 X(z) d 1 Y (z)]z 1 = c 0 X(z) + V (z)z 1, V (z) = c 1 X(z) d 1 Y (z). (1.12)

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 13 Převodem rovnic (1.12) pomocí inverzní transformace Z dostaneme stavové diferenční rovnice y [n] = c 0 x [n] + v [n 1], v [n] = c 1 x [n] d 1 y [n]. (1.13) Zavedli jsme zde novou veličinu v [n], která popisuje vnitřní stav systému, a proto se nazývá stavová veličina. Tento popis číslicového filtru 1. řádu se nazývá vnitřní popis. Jestliže opět nakreslíme graf signálových toků jako grafickou reprezentaci diferenčních rovnic, tak vidíme, že jsme vystačili pouze s jedním zpožďovacím blokem. Struktury realizace číslicových filtrů, které mají tolik zpožďovacích bloků kolik je řád diferenční rovnice, se nazývají kanonické struktury. Obrázek 1.5: Graf signálových toků vnitřního popisu číslicového filtru 1. řádu (kanonická struktura). Zda skutečně grafy signálových toků na obrázcích 1.4 a 1.5 realizují přenosovou funkci (1.6) se dá určit pomocí Masonova pravidla, které slouží pro výpočet přenosu grafu ze vstupního uzlu na výstup (rovnice 3.9). Pro představu, jak bude vypadat program v asembleru mikroprocesoru, si ukažme zápis algoritmu pro dva typy mikroprocesorů. Nejprve napíšeme program pro mikroprocesor, v němž je násobení realizováno postupným posunem řádové čárky a sečítáním. Využijeme instrukční soubor prvního signálového procesoru, který se objevil na trhu v roce 1979. Byl to signálový procesor firmy INTEL s označením i2920. Tímto způsobem lze realizovat číslicové filtry např. pomocí jednočipových mikroprocesorů, tj. všude tam, kde není ve struktuře hardwarová násobička. Budeme používat pouze tři instrukce: LDA (load-uložení), ADD (addition-sečítání) a SUB (subtraction-odečítání). V algoritmu pro číslicový filtr 1. řádu (1.12) použijeme konkrétní koeficienty (1.8), tj. c 0 = c 1 = 2 4 a d 1 = 1 + 2 3. Koeficienty jsou upraveny jako násobky mocniny 2, neboť součin dvou dvojkových čísel je proveden tak, že první číslo je posunováno doprava nebo doleva a postupně sčítáno nebo odčítáno tolikrát kolik dvojkových mocnin obsahuje číslo druhé. Např. chceme násobit hodnotu y [n] koeficientem d 1. Nejprve do cílového registru uložíme y [n] ve dvojkovém

Číslicové filtry 14 vyjádření, a pak k obsahu cílového registru přičteme 2 3 y [n], neboli ve dvojkovém vyjádření posuneme číslo o 3 místa doprava. V asembleru i2920 tomu odpovídá symbol R03 (Right). Podobně při posunu doleva např. o 1 místo tomu bude odpovídat symbol L01 (Left) a číslo bude násobeno 2 1. Vstupní hodnota signálu x [n] bude uložena z analogověčíslicového převodníku (A/D) přes registr DAR do registru X. Výstupní hodnota signálu bude v registru Y a stavová veličina bude ukládána do registru V. Registr DAR (Digital Analog Register) slouží pro vstup nebo výstup hodnoty z převodníků A/D nebo D/A. Program v asembleru i2920 bude mít tvar ; Výpočet výstupní hodnoty y [n] LDA X, DAR ; vstupní hodnota z převodníku A/D je uložena do registru X LDA Y, V ; y [n] = v [n 1] ADD Y, X, R04 ; y [n] = 2 4 x [n] + v [n 1] = c 0 x [n] + v [n 1] LDA DAR, Y ; výstupní hodnota jde do D/A převodníku přes registr DAR ; ; Příprava stavové proměnné pro výpočet v následujícím vzorkovacím intervalu LDA V, X, R04 ; v [n] = 2 4 x [n] = c 1 x [n] ADD V, Y, R03 ; v [n] = c 1 x [n] + 2 3 y [n] SUB V, Y ; v [n] = c 1 x [n] + 2 3 y [n] y [n] = c 1 x [n] + d 1 y [n] V případě, že chceme realizovat dolní propust s mezním kmitočtem f c = 100 Hz, musíme použít koeficienty (1.7). Program pro mikroprocesor bude podstatně delší, neboť koeficienty přenosové funkce c 0, c 1 a d 1 mají delší vyjádření čísel pomocí mocnin o základu 2. Moderní signálové procesory s harvardskou architekturou [5] již mají hardwarovou násobičku ve své architektuře a není nutné provádět násobení programově. Struktura aritmeticko logické jednotky (ALU) signálových procesorů s pevnou řádovou čárkou řady DSP56000 a DSP56300 firmy Motorola je vidět na obr. 1.6. Výhodou použití hardwarové násobičky je skutečnost, že nezávisí délka programu v asembleru na složitosti vyjádření koeficientů jako mocnin 2. Jak je vidět z obr. 1.7, tak v registrech datových pamětí X: a Y: mohou být uloženy libovolné koeficienty, vstupní a výstupní vzorky a stavové proměnné. Všechna data, která budou zpracována násobičkou musí nejprve projít vstupními registry X0, Y0, X1 nebo Y1. Výsledky se ukládají do střadačů A nebo B. Adresovací registry pro adresování datových pamětí jsou R0, R4, VSTUP a VYSTUP. Budou použity instrukce: MOVE, MOVEP (přesuny), MACR (násobení s akumulací a zaokrouhlením) a

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 15 Obrázek 1.6: Blokové schéma datové jednotky ALU signálových procesorů Motorola řad DSP56000 a DSP56300. MPY (násobení). Část programu pro implementaci číslicového filtru typu dolní propusti 1. řádu může mít tvar MOVE Y:(R4)+, Y0 ; uložení koeficientu c 0 do registru Y0 a zvýšení adresy ; R4 o 1 MOVEP Y:VSTUP, Y1 ; uložení vstupního vzorku x [n] do registru Y1 MOVE X:(R0), A ; přesun stavové proměnné v [n] do střadače A ; ; Výpočet výstupní hodnoty y [n] MACR Y1, Y0, A Y:(R4)+, Y0 ; výpočet výstupní hodnoty ve střadači A ; y [n] = v [n 1] + c 0 x [n], uložení koeficientu ; c 1 do Y0 a zvýšení adresy R4 o 1 MOVEP Y1, Y:VYSTUP A, X0 ; výstup hodnoty y [n] a současný přesun této ; hodnoty do registru X0 ;

Číslicové filtry 16 Obrázek 1.7: Uložení koeficientů a proměnných v datových pamětech X: a Y:. ; Příprava stavové proměnné v [n] pro použití v následujícím vzorkovacím intervalu MPY Y1, Y0, A Y:(R4)+,Y0 ; v [n] = c 1 x [n], uložení koeficientu d 1 do Y0, ; zvýšení adresy v registru R4 o 1 MACR Y0, X0, A ; v [n] = c 1 x [n] d 1 y [n] MOVE A, X:(R0) ; uložení nové hodnoty v [n] zpět do paměti X: Jak plyne z uvedeného příkladu návrhu číslicového filtru typu dolní propusti 1. řádu, tak můžeme postup návrhu rozdělit do několika etap: Zadání požadavků buď v časové a/nebo kmitočtové oblasti. Aproximace požadavků pomocí analogového filtru a převod na číslicový filtr nebo přímý návrh číslicového filtru. Analýza kvantování koeficientů diferenční rovnice. Volba struktury realizace. Implementace ve zvoleném technickém prostředků (počítači nebo mikroprocesoru). Analýza splnění požadavků zadání. Shrnutí: Za základ návrhu číslicového filtru byl vzat analogový integrační RC článek. Pomocí bilineární transformace byla získána přenosová funkce číslicového filtru. Pro konkrétní realizaci bylo nutné kvantovat koeficienty přenosové funkce na stanovený počet bitů.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 17 Po získání diferenčních rovnic byl číslicový filtr implementován v signálovém procesoru bez hardwarové násobičky (i2920) a s hardwarovou násobičkou (DSP56002). Řešené příklady: Příklad 1.1 Chceme navrhnout horní propust, když jako analogový prototyp využijeme derivační RC článek podle obrázku 1.8. Obrázek 1.8: Horní propust realizovaná derivačním článkem RC. Přenosová funkce horní propusti v Laplaceově transformaci je rovna: H(p) = Y (p) X(p) = U 2(p) U 1 (p) = R R + 1 pc = prc prc + 1 = pτ, τ = RC. (1.14) pτ + 1 Dosadíme-li vztah pro bilineární transformaci (1.4) dostaneme přenosovou funkci číslicového filtru H(z) = τ( 2 1 z 1 ) T 1+z 1 τ( 2 1 z 1 T ) + 1 = q 1 z 1 1+z 1 q 1 z 1 + 1 = 1+z 1 1+z 1 q 1+q q 1+q z 1 1 + 1 q = c 0 + c 1 z 1 Y (z) = 1+q z 1 1 + d 1 z 1 X(z), (1.15) když platí c 0 = q 1 + q, c 1 = q 1 + q, d 1 = 1 q 1 + q a q = f vz πf c.

Číslicové filtry 18 Zvolíme-li stejné hodnoty f vz = 10 khz a f c = 100 Hz jako u dolní propusti, pak platí: 100 q c 0 = 1 + q = π 1 + 100 = 0, 969540972, π c 1 = c 0 = 0, 969540972, d 1 = 0, 939081944. Na obrázku 1.9 vidíme modulovou kmitočtovou charakteristiku, která odpovídá přenosové funkci H(z) dané (1.15). Vidíme, že při poklesu o 3 db mezní kmitočet f c není přesně 100 Hz, ale je poněkud větší. To je vlastnost bilineární transformace, která poněkud zhušťuje kmitočtovou osu. Podobněji tento problém budeme řešit v kap. 5.3. Obrázek 1.9: Modulová kmitočtová charakteristika číslicového filtru typu horní propusti 1. řádu. Neřešené příklady Příklad 1.2 Pro přenosovou funkci horní propusti z příkladu 1.2 vytvořte stavové diferenční rovnice a zapište programy v asembleru signálových procesorů i2920 a DSP56002. Je samozřejmé, že před zápisem programu musíte koeficienty přenosové funkce nejprve kvantovat.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 19 2 VLASTNOSTI JEDNOROZMĚRNÝCH ČÍSLICOVÝCH FILTRŮ Cíl: Cílem kapitoly 2 je popsat rozdíly mezi diskrétním a číslicovým signálem, uvést definici přenosové funkce, impulsní charakteristiky a rozložení nulových bodů a pólů číslicového filtru a definovat jeho stabilitu, kauzalitu a kmitočtové vlastnosti. 2.1 Diskrétní a číslicový signál Zpracování signálů je součástí různých úloh nejen z oboru technických a přírodních věd, ale používá se i v lékařství, ekonomice a statistice. Pod zpracováním signálu rozumíme transformaci daného signálu na jiný signál s požadovanými vlastnostmi. Signál si zpravidla představujeme jako funkci času, i když se často setkáváme s vícerozměrnými signály, které jsou navíc funkcemi prostorových proměnných, jako je tomu při zpracování obrazů. Signály dělíme na spojité signály, které jsou funkcemi spojité proměnné (např. času) a na diskrétní signály, které jsou funkcemi diskrétní proměnné. Diskrétní signál je tedy vlastně posloupností. V některých aplikacích plyne diskrétní charakter signálu z příslušné fyzikální či matematické formulace úlohy (např. v impulsní radiolokaci), v jiných je důsledkem diskretizace spojitého signálu. x ( t) V a) x [ n ] x ( t) x [ n ] 0 T 2 T 3 T 4 T 5 T 0 1 2 3 4 5 t b) c) n Obrázek 2.1: Vzorkování signálu a) vzorkovač, b) spojitý signál, c) diskrétní signál.

Číslicové filtry 20 Diskretizaci signálu znázorníme na obr. 2.1, ve kterém si blok V můžeme představit jako spínač, který vytvoří z funkce x(t) posloupnost jejich hodnot x [n] periodickým spínáním. Je zřejmé, že diskretizace je proces vytváření posloupnosti funkčních hodnot jednoznačně definované funkce x(t) spojité proměnné t, < t < +, nabývající hodnot t = nt, n = 2, 1, 0, 1, 2,, T > 0, kde T je krok diskretizace. Pro vzniklou posloupnost budeme používat zkrácený zápis x(nt ) = x [n]. V technické praxi se pro diskretizaci vžil název vzorkování (anglicky sampling). Hodnotu T nazýváme vzorkovacím krokem nebo délkou vzorkovacího intervalu. Často používáme i u diskrétních signálů pojem úhlového vzorkovacího kmitočtu, který zavádíme předpisem ω vz = 2πf vz = 2π/T. Více podrobností lze nalézt v pramenu [2]. Obrázek 2.2: Dělení signálů. Spojité signály bývají v literatuře často ztotožňovány s analogovými signály a naopak. Naproti tomu diskrétní signály jsou interpretovány jako digitální nebo číslicové signály. Číslicový signál dostaneme ze signálu diskrétního tak, že hodnoty diskrétního signálu kvantujeme a vyjádříme kvantované hodnoty v dvojkové číselné soustavě (nebo jiné číselné soustavě např. hexadecimální neboli šestnáctkové soustavě) na konečný počet číslic. Rozdíl mezi jednotlivými pojmy je zřejmý z obrázku 2.2. Podle druhu signálu dělíme i systémy (soustavy), které je zpracovávají na spojité, impulsní, diskrétní a číslicové. Mluvíme tedy o systémech spojitě pracujících, u kterých je vstupní i výstupní signál spojitou funkcí času, nebo o systémech diskrétních, u kterých je vstupní a výstupní signál posloupností. Číslicový filtr jako reprezentace číslicového systému zpracovává číslicový vstupní signál a na jeho výstupu po zpracování se objeví číslicový výstupní signál.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 21 2.2 Metody analýzy diskrétních a číslicových signálů a systémů Činnost spojitých systémů popisujeme diferenciálními rovnicemi (případně soustavami diferenciálních rovnic), přičemž vstupní signál spojitého systému je funkcí na pravé straně diferenciální rovnice. Řešení diferenciální rovnice pak tvoří odezvu spojitého systému na daný vstupní signál. V případě, že diferenciální rovnice popisující daný systém je lineární, mluvíme o lineárním systému. Jsou-li koeficienty diferenciální rovnice ještě kromě toho nezávislé na čase, jedná se o lineární stacionární systém (lineární systém s konstantními parametry). K řešení lineárních stacionárních systémů se v technických oborech vžilo použití funkcionálních transformací, z nichž v současné době nejpoužívanější je Laplaceova transformace. Podobně jako je činnost spojitých systémů popsána diferenciálními rovnicemi, je činnost diskrétních systémů vyjádřena diferenčními rovnicemi. Diferenční rovnice řešíme jednak metodami diferenčního počtu [1], jednak pomocí funkcionálních transformací posloupností. Tyto transformace představují aparát analogický např. Laplaceově transformaci. Umožňují snadný přechod z prostoru předmětů, vyjádřených většinou jako funkce času, do prostoru obrazů, vyjádřených jako funkce komplexní proměnné, popř. kmitočtu. Z funkcionálních transformací posloupností je v teorii diskrétních signálů a systémů nejpoužívanější transformace Z. Jak vyplynulo z předchozího odstavce, diskrétní a číslicový signál je tvořen posloupností. Obecně n-tý člen posloupnosti budeme označovat symbolem f [n], n = 2, 1, 0, 1, 2,. Posloupnost f [n], jejíž členy mohou být obecně komplexní, budeme většinou předpokládat jako jednostrannou, tj. splňující podmínku f [n] = 0 pro n < 0. Transformaci Z definujeme jako funkcionální transformaci posloupnosti f [n] F (z) = + n=0 f [n]z n. (2.1) za předpokladu, že řada konverguje. Posloupnost nazýváme posloupností schopnou transformace Z, jestliže řada (2.1) konverguje alespoň pro jedno (konečné) komplexní z. Podobně jako u jiných transformací, nazýváme posloupnost f [n] předmětem a funkci F (z) obrazem. Předmět označujeme vždy písmenem malé abecedy a obraz odpovídajícím písmenem velké abecedy. Pro transformaci Z posloupnosti f [n] se běžně používá symbolický zápis Z {f [n]} = F (z), popř. f [n] F (z). Teorii transformace Z včetně řady příkladů a aplikací najde čtenář například v publikacích [1, 3, 4].

Číslicové filtry 22 V řadě fyzikálních problémů se vyskytují signály, které jsou periodické, popř. je můžeme za jistých předpokladů za periodické považovat. K jejich popisu byla proto zavedena diskrétní Fourierova transformace (DFT) definovaná předpisem F [k] = N 1 n=0 f [n] e jnk 2π N, k = 0, 1,, N 1. (2.2) Takto definovaná diskrétní Fourierova transformace však zdaleka neslouží pouze k popisu signálů, nýbrž představuje i velmi účinný způsob výpočtu Fourierova integrálu, spekter signálů, signálů z jejich spekter apod. K rozsáhlému praktickému používání diskrétní Fourierovy transformace značně přispělo vytvoření algoritmu rychlé Fourierovy transformace (Fast Fourier Transform-FFT) [6, 7]. Řešené příklady Příklad 2.1 Přenosová funkce H(z) ve vztahu (1.6) s koeficienty (1.7) má tvar: ( 1 + z 1 ) H(z) = 0, 030459028. 1 0, 9390819441z 1 Pomocí slovníku transformace Z určete jeho impulsní charakteristiku h [n]. Řešení: Impulsní charakteristika h [n] číslicového filtru typu IIR a FIR je dána pomocí zpětné transformace Z přenosové funkce H(z): h [n] = Z 1 {H(z)}. Danou přenosovou funkci číslicového filtru 1. řádu typu dolní propusti můžeme zapsat takto: ( ) z + 1 H(z) = 0, 030459028 z 0, 9390819441 [ ] z = 0, 030459028 z 0, 9390819441 + 1. z 0, 9390819441 Ze slovníku transformace Z víme, že platí: a n z z a, an 1 = 1 z a.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 23 Porovnáním zjistíme, že a = 0,9390819441, potom: h [n] = 0, 030459028(a n + a n 1 ). 1 [n] ( = 0, 030459028 1 + 1 ). a n. 1 [n] a = 0, 062893926989. 0, 9390819441 n. 1 [n]. Prvních 6 hodnot impulsní charakteristiky h [n] je shrnuto v následující tabulce: n h [n] 0 0,062893926989 1 0,059062551229 2 0,055464575432 3 0,052085781325 4 0,048912816787 5 0,045933143079 2.3 Přenosová funkce číslicového filtru Činnost číslicových filtrů je popsána diferenčními rovnicemi. Diferenční rovnice vyjadřuje závislost mezi posloupnostmi a jejich diferencemi. Pokud je tato závislost lineární, jedná se o lineární diferenční rovnici. Při analýze číslicových filtrů je zpravidla vhodnější vyjadřovat diference pomocí posloupností. Obdržíme tak ekvivalentní tvar diferenční rovnice b s y [n + s] + b s 1 y [n + s 1] +... + b 0 y [n] = a r x [n + r] + a r 1 x [n + r 1] +... + a 0 x [n], (2.3) kde b 0, b 1,..., b s a a 0, a 1,..., a r jsou koeficienty diferenční rovnice, x [n] je známá posloupnost a y [n] je hledané řešení diferenční rovnice. Máme-li dány počáteční hodnoty y [0], y [1],..., y [s 1], můžeme pomocí rovnice (2.3) určit rekurentním způsobem další členy y [n] pro n = s, s + 1,.... Proto nazýváme rovnici tvaru (2.3) rekurentní rovnicí s-tého řádu. Vyjdeme z rekurentní rovnice (2.3). Předpokládejme, že číslicový filtr popsaný touto rovnicí byl pro n < s v klidu, tj. že platí x [n] = y [n] = 0 pro n < s. Provedeme transformaci Z podle vztahu (2.1). Předpokládejme, že obě posloupnosti jsou schopné transformace Z, a že platí Z{x [n]} = X(z) a Z{y [n]} = Y (z). Pomocí věty o posunutí

Číslicové filtry 24 [1, 3, 4], která za našeho předpokladu x [n] = y [n] = 0 pro n < s se zjednoduší na tvar Z{x [n + k]} = z k X(z), popř. Z{y [n + k]} = z k Y (z), obdržíme obraz partikulárního řešení rekurentní rovnice Y (z) = r a i z i i=0 s X(z). (2.4) b j z j j=0 Podíl obrazu partikulárního řešení Y (z) a obrazu X(z) definuje funkci, která za předpokladu x [n] = y [n] = 0 pro n < s charakterizuje číslicový filtr popsaný diferenční rovnicí (2.3). Tuto funkci označíme H(z) = Y (z) X(z) = a 0 + a 1 z + a 2 z 2 +... + a r z r b 0 + b 1 z + b 2 z 2 +... + b s z s (2.5) a nazveme ji přenosovou funkcí číslicového filtru. Vztah (2.5) pak můžeme stručně psát ve tvaru Y (z) = H(z) X(z). (2.6) Posloupnost x [n] nazýváme vstupním signálem a partikulární řešení diferenční rovnice y [n] nazýváme výstupním signálem číslicového filtru s přenosovou funkcí H(z). Řešené příklady Příklad 2.2 Je dána diferenční rovnice 2. řádu ve tvaru: y [n + 2] 1, 25y [n + 1] + 0, 78125y [n] = x [n + 2] x [n]. Pomocí transformace Z určete přenosovou funkci H(z). Řešení: Pro jednostrannou transformaci Z platí tato vlastnost (věta o posunutí): f [n + m] z m F (z) m 1 j=0 f(j)z m j. Jestliže této vlastnosti použijeme pro zadanou diferenční rovnici 2. řádu, tak dostaneme: 1 0 z 2 Y (z) y(j). z 1 j 1, 25(zY (z) y(j)z 0 j ) + 0, 78125Y (z) j=0 j=0 1 = z 2 X(z) x(j)z 1 j X(z), j=0

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 25 kde y [n] Y (z) a x [n] X(z). Po úpravě dostaneme: z 2 1 Y (z) = z 2 1, 25z + 0, 78125 X(z) + }{{} přenosová funkce Přenosová funkce je rovna: x [0]z x [1] z 2 1, 25z + 0, 78125 }{{} přechodná část vynucené odezvy y [0](z 1) + y [1] + z 2 1, 25z + 0, 78125 }{{} přirozená odezva (2.7) H(z) = Y (z) X(z) = z 2 1 z 2 1, 25z + 0, 78125. 2.4 Nulové body a póly přenosové funkce Přenosová funkce H(z) je ve vztahu (2.5) dána podílem dvou mnohočlenů H(z) = P (z) Q(z), kde P (z) = r a i z i a Q(z) = s b j z j. Často je užitečné ji vyjádřit pomocí nulových bodů a pólů i=0 j=0 H(z) = K r (z z 0i ) i=1 s (z z xj ) j=1, (2.8) kde nulové body z 0i, i = 1, 2,,..., r získáme řešením rovnice P (z) = 0 a póly z xj, j = 1, 2,..., s získáme řešením rovnice Q(z) = 0. Dosadíme-li za proměnnou z = z 0i do přenosové funkce, pak bude platit H(z 0i ) = 0. Proto se hodnoty z 0i nazývají nulové body. Podobně dosadíme-li za z = z xj bude platit 1/H(z xj ) = 0, neboli v bodě z = z xj má přenosová funkce singulární body a tyto body nazýváme póly. Pokud mnohočleny P (z)

Číslicové filtry 26 a Q(z) mají reálné koeficienty, jsou nulové body a póly buď reálné, nebo se vyskytují v komplexně sdružených párech. Řešené příklady Příklad 2.3 Určete nulové body a póly přenosové funkce z příkladu 2.2. Řešení: H(z) = z 2 1 z 2 1, 25z + 0, 78125 = (z 1)(z + 1) (z 0, 625 j 0, 625)(z 0, 625 + j 0, 625). Nulové body získáme řešením rovnice: z 2 1 = 0, tj. (z 1)(z + 1) = 0 z 01 = 1, z 02 = 1. Póly získáme řešením rovnice: z 2 1, 25z + 0, 78125 = 0, tj.(z 0, 625 j 0, 625)(z 0, 625 + j 0, 625) = 0 z x1 = 0, 625 + j 0, 625, z x2 = 0, 625 j 0, 625. 2.5 Impulsní charakteristika číslicového filtru Ze vztahu (2.6) odvodíme další význam přenosové funkce. Položíme-li v něm X(z) = 1, což odpovídá obrazu jednotkového impulsu definovaného předpisem x [0] = δ [0] = 1, pro n = 0, x [n] = δ [n] = 0 pro n 0, obdržíme rovnost Y (z) = H(z), odkud po zpětné transformaci Z plyne y [n] = h [n]. Jinými slovy: Přenosová funkce H(z) je obrazem impulsní charakteristiky číslicového filtru h [n] a platí Z{h [n]} = H(z). (2.9)

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 27 Vrátíme se ke vztahu (2.6), ve kterém je obraz odezvy dán součinem přenosové funkce H(z) a obrazu vstupního signálu X(z). Součin obrazů je obrazem diskrétní konvoluce posloupností, takže odezvu číslicového filtru můžeme psát ve tvaru n n y [n] = x [m] h [n m] = x [n m] h [m], (2.10) m=0 m=0 kde x [n] je vstupní signál a h [n] je impulsní odezva neboli impulsní charakteristika číslicového filtru. Doposud jsme předpokládali, že přenosová funkce H(z) číslicového filtru je dána podílem dvou mnohočlenů v proměnné z, který jsme vyjádřili ve vztahu (2.8) pomocí nulových bodů a pólů. Odpovídající impulsní odezva h [n] je pak dána lineární kombinací exponenciálních posloupností (za předpokladu, že nejsou všechny póly nulové). V tom případě neexistuje číslo N > 0 takové, že pro n > N platí h [n] = 0. Číslicový filtr s touto vlastností nazýváme číslicový filtr s nekonečnou impulsní odezvou a označuje se jako číslicový filtr typu IIR podle anglického označení Infinite Impulse Response. Existují však číslicové filtry, u kterých koeficienty ve jmenovateli přenosové funkce b j = 0, j = 0, 1, 2,..., s 1, což odpovídá podmínce z xj = 0 pro j = 1, 2,..., s. Přenosová funkce pak má jediný pól s-tého řádu v bodě z = 0 a je ve tvaru H(z) = r a i z i i=0 b s z s = 1 b s r a i z i s. (2.11) i=0 Odpovídající impulsní odezva h [n] je h [n] = Z 1 {H(z)} = 1 b s r a i δ [n s + i], (2.12) i=0 kde δ [n k] je jednotkový impuls v bodě k, pro který platí δ [n k] = 1 pro n = k, δ [n k] = 0 pro n k. Číslicový filtr s přenosovou funkcí (2.11) nazýváme číslicový filtr s konečnou impulsní odezvou. Označuje se opět podle anglického označení jako číslicový filtr typu FIR (Finite Impulse Response).

Číslicové filtry 28 Řešené příklady Příklad 2.4 Vypočítejte impulsní charakteristiku číslicového filtru, který má přenosovou funkci (příklad 2.2): H(z) = z 2 1 z 2 1, 25z + 0, 78125 ; Řešení: Impulsní charakteristiku získáme pomocí zpětné transformace z přenosové funkce: h [n] = Z 1 {H(z)} = 1 2πj C H(z). z n 1 dz. Výpočet Cauchyho integrálu pomocí reziduové věty lze nalézt např. v pramenu [2]. My zde pro výpočet použijeme vlastnosti transformace Z. Výpočet rozdělíme na dvě části. Pro výpočet h [0] použijeme větu o počáteční hodnotě: h [0] = lim z H(z). V našem případě platí: z 2 1 h [0] = z lim z 2 1, 25z + 0, 78125 = lim 1 1 z 2 z 1 1,25 + 0,78125 = 1. z z 2 Pro případ n 1 použijeme reziduovou větu [2]: h [n] = 2 i=1 rez H(z). z n 1, p 1,2 = 0, 625 ± j 0, 625. z=p i Potom platí: (z 1)(z + 1) (z 1)(z + 1) h [n] = lim (z p 1 ) z p1 (z p 1 )(z p 2 ) zn 1 + lim (z p 2 ) z p2 (z p 1 )(z p 2 ) zn 1 [ ] π = 2, 29713. 0, 88388 n. cos 4 n + 0, 12219, pro n 1.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 29 2.6 Stabilita a kauzalita číslicového filtru Číslicový filtr definujeme jako stabilní, když jeho odezva na každý omezený vstupní signál je rovněž omezená. Omezený vstupní signál zřejmě splňuje podmínku x [n] < M < + pro všechna n 0. Odezva číslicového filtru je dána konvolucí n y [n] = h [m] x [n m]. (2.13) m=0 Pro stabilní číslicový filtr tedy musí platit n y [n] = h [m] x [n m] m=0 n M h [m] < +, m=0 odkud plyne nutná a postačující podmínka stability lineárního číslicového filtru + m=0 h [m] < +. (2.14) Posloupnost h [n] je impulsní charakteristika číslicového filtru a platí h [n] = Z 1 {H(z)}. Pomocí vlastnosti obrazů posloupnosti v transformaci Z můžeme nutnou a postačující podmínku stability lineárního číslicového filtru formulovat pomocí pólů přenosové funkce, pro které musí platit nerovnost z xj < 1 pro j = 1, 2,..., s. (2.15) Póly přenosové funkce stabilního číslicového filtru tedy musí ležet uvnitř jednotkového kruhu v rovině z. Je zřejmé, že číslicové filtry s konečnou impulsní odezvou, tj. číslicové filtry typu FIR, jejichž póly leží v bodě z = 0, tuto podmínku splňují a jsou tedy vždy stabilní. Věnujme se nyní pojmu kauzality. Číslicový filtr označíme jako kauzální, je-li hodnota jeho odezvy y [n] pro libovolné n = n 0 závislá pouze na členech vstupního signálu x [n] pro n n 0. Jinými slovy: je-li vstupní signál x [n] = 0 pro n n 0, pak pro kauzální číslicový filtr platí y [n] = 0 pro n n 0. Odtud vyplývá nutná a postačující podmínka kauzality číslicového filtru pro impulsní charakteristiku h [n] h [n] = 0 pro n < 0. (2.16) Vyšetříme ještě, jak se projeví podmínka kauzality (2.16) na tvaru přenosové funkce H(z). Z vlastnosti transformace Z vyplývá, že obraz posloupnosti, splňující podmínku

Číslicové filtry 30 (2.16), který je ve tvaru racionální lomené funkce (2.5), může mít v čitateli mnohočlen nejvýše stejného stupně jako je mnohočlen ve jmenovateli. Má-li tedy být lineární číslicový filtr kauzální, pak pro jeho přenosovou funkci H(z) ve tvaru (2.5) musí platit r s. 2.7 Kmitočtové vlastnosti číslicového filtru Na závěr této kapitoly si naznačíme ještě souvislost kmitočtových vlastností číslicového filtru s jeho přenosovou funkcí. Odezva lineárního číslicového filtru na vstupní signál je dána konvolucí n y [n] = x [n m] h [m]. m=0 Použijeme jako vstupní signál komplexní posloupnost x [n] = e jωn = cosωn + j sinωn definovanou pro < n < +. Je-li číslicový filtr kauzální, platí pro jeho odezvu y [n] = + + e jω [n m] h [m] = e jωn h [m]e jωm. (2.17) m=0 m=0 Ve vztahu na pravé straně rozpoznáme definiční vztah transformace Z, ve kterém z = e jω. Můžeme tudíž vztah (2.17) zapsat ve tvaru y [n] = e jωn H(e jω ). (2.18) Odezva y [n] číslicového filtru na vstupní posloupnost x [n] = e jωn je dána jejím součinem s hodnotou přenosové funkce H(z) pro z = e jω ležící na jednotkové kružnici v rovině z, kde ω je úhlový kmitočet komplexního vstupního signálu. Funkci H(e jω ) nazýváme komplexní kmitočtovou charakteristikou lineárního číslicového filtru. Můžeme ji vyjádřit ve tvaru H(e jω ) = Re{H(e jω )} + jim{h(e jω )} = M(ω)e jϕ(ω), (2.19) kde M(ω) = H(e jω ) je modulová kmitočtová charakteristika a ϕ(ω) = argh(e jω ) je fázová kmitočtová charakteristika lineárního číslicového filtru. Pro některá použití je vhodnější používat místo fázové charakteristiky ϕ(ω) její derivaci podle ω, kterou nazýváme skupinovým zpožděním τ(ω) = dϕ(ω) dω.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 31 Funkci τ(ω) můžeme vyjádřit pomocí logaritmické derivace přenosové funkce { τ(ω) = Re z d } dh(z) dz z ln H(z) = Re = e jω z dz H(z) z = e jω, (2.20) kterou nazýváme charakteristikou skupinového zpoždění lineárního číslicového filtru. Protože exponenciální funkce je periodická s periodou 2π, je zřejmé, že platí H(e jω ) = H(e j(ω+2kπ) ) (2.21) pro k = ±1, ±2,.... Odtud plyne, že kmitočtové charakteristiky číslicových filtrů jsou periodické s periodou 2π. Až doposud jsme při analýze číslicových filtrů předpokládali, že číslicový signál je tvořen posloupností, beze zmínky o jejím původu. V řadě aplikací je však číslicový signál získán vzorkováním spojitého signálu a je nutno při porovnání vlastností analogového a číslicového filtru používat stejné jednotky jak v časové, tak i v kmitočtové oblasti. Zpracováváme-li číslicový signál vzniklý vzorkováním se vzorkovacím kmitočtem f vz = 1/T, definujeme přenosovou funkci lineárního číslicového filtru předpisem H(z) = Z{h [nt ]} = + n=0 h [nt ]z nt. (2.22) Komplexní kmitočtovou charakteristiku tohoto číslicového filtru získáme z přenosové funkce substitucí z = e jωt H(e jωt ) = + n=0 h [nt ] e jωnt. (2.23) Pro periodicitu kmitočtových charakteristik pak platí vztah H(e jωt ) = H(e jt (ω+kω vz) ) (2.24) pro k = ±1, ±2,..., kde ω vz = 2πf vz = 2π/T. Odtud plyne, že v tomto případě charakteristiky číslicových filtrů jsou periodické s úhlovým kmitočtem ω vz. Dosadíme-li v substituci z = e jωt použité ve vztahu (2.22) ω = 2πf a T = 1/f vz, zjistíme, že z = e j2πf/f vz = e jω r, kde ω r má význam relativního úhlového kmitočtu. V tabulce 2.1 je uveden přehled používaných veličin a jejich jednotek při popisu kmitočtových vlastností číslicových filtrů.

Číslicové filtry 32 Tabulka 2.1: Používané kmitočtové veličiny a jejich jednotky. Veličina Meze užitečného kmitočtového rozsahu Jednotka ωt 0 až π rad/s f 0 až f vz /2 Hz f r (někdy jen f) 0 až 0,5 ω r (někdy jen ω) 0 až π Řešené příklady Příklad 2.5 Vypočítejte modulovou kmitočtovou charakteristiku číslicového filtru 1. řádu, jehož přenosová funkce H(z) je dána rovnicí (1.6): H(z) = c 0 + c 1 z 1 1 + d 1 z 1 a koeficienty jsou dány vztahem (1.7): c 0 = c 1 = 0, 030459028 d 1 = 0, 9390819441. Výsledek porovnejte s obrázkem 1.3. Řešení: Modulová kmitočtová charakteristika je definována jako M(ω) = H(e jω ). Kmitočtovou charakteristiku dostaneme z přenosové funkce H(z), když dosadíme: z = e jω. H(e jω ) = c 0 + c 1. e jω 1 + d 1. e jω = c 0 + c 1. cosω jc 1 sinω 1 + d 1 cosω jd 1 sinω = c 0 + c 1 cosω + j( c 1 sinω) 1 + d 1 cosω + j( d 1 sinω). M(ω) = H(e jω ) = (c 0 + c 1 cosω) 2 + ( c 1 sinω) 2 (1 + d 1 cosω) 2 + ( d 1 sinω) 2

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 33 = = = c2 0 + 2c 0 c 1 cosω + c 2 1cos 2 ω + c 2 1sin 2 ω 1 + 2d 1 cosω + d 2 1cos 2 ω + d 2 1sin 2 ω c2 0 + 2c 0 c 1 cosω + c 2 1(cos 2 ω + sin 2 ω) 1 + 2d 1 cosω + d 2 1(cos 2 ω + sin 2 ω) c2 0 + 2c 0 c 1 cosω + c 2 1. 1 + 2d 1 cosω + d 2 1 Zkusme pro kontrolu vypočítat například hodnotu modulu pro relativní kmitočet ω = 0: ω = 0, cosω = 1, (2.25) M(0) = c2 0 + 2c 0 c 1 + c 2 1 1 + 2d 1 + d 2 1 = (c 0 + c 1 ) 2 (1 + d 1 ) = c 0 + c 1. 2 1 + d 1 (2.26) Dosazením numerických hodnot, obdržíme správný výsledek: M(0) = 0, 030459028 + 0, 030459028 1 0, 93908119441 1. (2.27) Rozdíl výpočtu od správného výsledku M(0) = 1 je dán kvantováním koeficientů c 0, c 1 a d 1, které jsou určeny vztahy (1.7). Shrnutí: V druhé kapitole byl ukázán rozdíl mezi spojitým a diskrétním signálem a bylo provedeno dělení signálů. Pro analýzu diskrétních a číslicových systémů se velmi často používá jednostranná transformace Z. Řešením lineárních diferenčních rovnic s konstantními koeficienty pomocí transformace Z lze získat přenosovou funkci číslicového filtru. Na základě přenosové funkce je možné určit impulsní odezvu (charakteristiku), rozložení pólů a nulových bodů, stabilitu a kauzalitu číslicového filtru. Na závěr kapitoly 2 je ukázán výpočet kmitočtové charakteristiky číslicového filtru.

Číslicové filtry 34

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 35 3 STRUKTURY REALIZACE ČÍSLICOVÝCH FILTRŮ A JEJICH POPIS Cíl: Třetí kapitola má za cíl ukázat rozdíly mezi vnějším a vnitřním popisem číslicového filtru. Je popsána souvislost mezi matematickým zápisem diferenčních rovnic a odpovídajícím grafem signálových toků. Jsou vysvětleny 1. a 2. kanonická struktura číslicových filtrů. 3.1 Vnější popis číslicového filtru Vnější popis lineárního číslicového filtru s konstantními koeficienty je dán lineární diferenční rovnicí obecně s-tého řádu s konstantními koeficienty (2.3). Tento popis u systémů s jedním vstupem a jedním vstupem udává vztah mezi vstupním signálem x [n] a výstupním signálem y [n]. Vyjdeme z přenosové funkce ve tvaru (2.5). Pro jednoduchost zvolíme s = 3. Odvození pro obecný s-tý řád přenosové funkce je možné nalézt např. v pramenu [2]. Přenosová funkce třetího řádu bude mít tento tvar H(z) = a 3z 3 + a 2 z 2 + a 1 z + a 0 b 3 z 3 + b 2 z 2 + b 1 z + b 0 = c 0 + c 1 z 1 + c 2 z 2 + c 3 z 3, (3.1) 1 + d 1 z 1 + d 2 z 2 + d 3 z 3 kde vztah mezi jednotlivými koeficienty v obou tvarech je roven c 0 = a 3 b 3, c 2 = a 2 b 3, c 1 = a 1 b 3, c 3 = a 0 b 3, d 1 = b 2 b 3, d 2 = b 1 b 3, a d 3 = b 0 b 3. (3.2) Při hledání struktury číslicového filtru, která by realizovala přenosovou funkci H(z), vyjdeme z rovnice (2.6) Y (z) = H(z) X(z). Do tohoto vztahu dosadíme přenosovou funkci H(z) ve tvaru (3.1) a po úpravě získáme obraz výstupního signálu v transformaci Z označený jako Y (z) Y (z) = c 0 + c 1 z 1 + c 2 z 2 + c 3 z 3 1 + d 1 z 1 + d 2 z 2 + d 3 z 3 X(z). Y (z)(1 + d 1 z 1 + d 2 z 2 + d 3 z 3 ) = X(z) (c 0 + c 1 z 1 + c 2 z 2 + c 3 z 3 ).

Číslicové filtry 36 Y (z) = c 0 X(z) + c 1 X(z)z 1 + c 2 X(z)z 2 + c 3 X(z)z 3 d 1 Y (z)z 1 d 2 Y (z)z 2 d 3 Y (z)z 3. (3.3) Nyní použijeme zpětnou transformaci Z pro získání rekurentní rovnice 3. řádu pro výpočet výstupní hodnoty y [n] y [n] = c 0 x [n] + c 1 x [n 1] + c 2 x [n 2] + c 3 x [n 3] d 1 y [n 1] d 2 y [n 2] d 3 y [n 3]. (3.4) V obrázku 1.4 v kapitole 1 jsme uvedli základní bloky pro zápis algoritmu výpočtu výstupní hodnoty číslicového filtru y [n] pomocí grafu signálových toků. Obrázek 3.1 ukazuje zápis rekurentní diferenční rovnice (3.4) pomocí grafu signálových toků. Obrázek 3.1: Nekanonická vnější struktura realizující algoritmus číslicového filtru typu IIR 3. řádu, který je definován diferenční rovnicí (3.4). Graf signálových toků přímo ukazuje, jak bude výpočet probíhat např. v mikroprocesoru. Uzly si lze představit jako registry v datové paměti a v grafu je možné rozpoznat násobičky a sčítačky. Tato struktura se nazývá vnější struktura, neboť popisuje pouze souvislost mezi vstupním signálem x [n] a výstupním signálem y [n]. Jedná se o nekanonickou strukturu, protože počet zpožďovacích bloků je větší než je řád diferenční rovnice a tomu odpovídající řád přenosové funkce, kterou struktura realizuje. V našem případě má struktura 6 zpožďovacích bloků s z 1, tj. dvakrát tolik než je řád diferenční rovnice (3.4). Zavedeme-li vnitřní (stavové) proměnné číslicového filtru, pak je možné definovat kanonické struktury, které podmínku rovnosti řádu diferenční rovnice a počtu zpožďovacích bloků splňují.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 37 Řešené příklady Příklad 3.1 Máme dánu přenosovou funkci číslicového filtru 2. řádu s přenosovou funkcí (příklad 2.3): H(z) = c 0 + c 1 z 1 + c 2 z 2 1 + d 1 z 1 + d 2 z 2 = 1 z 2 1 1, 25z 1 + 0, 78125z 2. Na základě této přenosové funkce vypočítejte vnější popis diferenční rovnice 2. řádu. Řešení: H(z) = c 0 + c 1 z 1 + c 2 z 2 Y (z) = 1 + d 1 z 1 + d 2 z 2 X(z). Rozepsáním dostaneme: Y (z)(1 + d 1 z 1 + d 2 z 2 ) = X(z)(c 0 + c 1 z 1 + c 2 z 2 ) Y (z) = c 0 X(z) + c 1 X(z)z 1 + c 2 X(z). z 2 d 1 Y (z)z 1 d 2 Y (z)z 2. Použijeme-li nyní zpětnou transformaci Z : y [n] = c 0 x [n] + c 1 x [n 1] + c 2 x [n 2] d 1 y [n 1] d 2 y [n 2]. Dosazením konkrétních hodnot obdržíme vnější popis číslicového filtru pomocí diferenční rovnice 2. řádu ve tvaru: y [n] = x [n] x [n 2] + 1, 25y [n 1] 0, 78125y [n 2]. Tato diferenční rovnice se liší od obecné diferenční rovnice ve tvaru (2.3). Diferenční rovnice ve tvaru (2.3) dostaneme, když získanou diferenční rovnice posuneme o dva vzorkovací intervaly takto: y [n + 2] = x [n + 2] x [n] + 1, 25y [n + 1] 0, 78125y [n], neboli y [n + 2] 1, 25y [n + 1] + 0, 78125y [n] = x [n + 2] x [n]. To je stejný tvar diferenční rovnice, který je zadán v příkladě 2.2.

Číslicové filtry 38 3.2 Vnitřní popis číslicového filtru Oproti vnějšímu popisu definuje vnitřní popis lineárního číslicového filtru s konstantními koeficienty vztah mezi vstupními, výstupními a stavovými veličinami číslicového filtru. Stavové proměnné definují u diskrétních systémů stav paměti daného systému. Protože číslicové filtry jsou jednou z realizací diskrétních systémů, pak stavové veličiny definují stav paměti mikroprocesoru, která číslicový filtr realizuje. Z toho důvodu musíme znát blíže vnitřní strukturu diskrétního systému nebo si musíme vytvořit její model. Stavový popis lze získat například přímo z vnějšího popisu vhodnou úpravou přenosové funkce H(z). Zavedeme stavovou proměnnou v [n], která má obraz V (z). Vyjdeme z přenosové funkce (3.1). H(z) = c 0 + c 1 z 1 + c 2 z 2 + c 3 z 3 Y (z) = 1 + d 1 z 1 + d 2 z 2 + d 3 z 3 X(z) V (z) V (z). Přenosovou funkci H(z) rozdělíme na dvě části V (z) X(z) = 1 1 + d 1 z 1 + d 2 z 2 + d 3 z 3, Y (z) V (z) = c 0 + c 1 z 1 + c 2 z 2 + c 3 z 3. Roznásobením a úpravou obdržíme tyto obrazové rovnice V (z) = X(z) d 1 V (z)z 1 d 2 V (z)z 2 d 3 V (z)z 3, (3.5) Y (z) = c 0 V (z) + c 1 V (z)z 1 + c 2 V (z)z 2 + c 3 V (z)z 3. (3.6) Pomocí zpětné transformace Z získáme stavovou diferenční rovnici v [n] = x [n] d 1 v [n 1] d 2 v [n 2] d 3 v [n 3] (3.7) a výstupní diferenční rovnici y [n] = c 0 v [n] + c 1 v [n 1] + c 2 v [n 2] + c 3 v [n 3]. (3.8) Když rovnice (3.7) a (3.8) zapíšeme do grafu signálových toků na obr. 3.2, tak vidíme, že jsme získali kanonickou strukturu. Kanonická struktura má stejný počet zpožďovacích bloků jako je řád výchozí přenosové funkce (3.1).

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 39 Obrázek 3.2: Kanonická vnitřní struktura realizující algoritmus číslicového filtru typu IIR 3. řádu, který je definován diferenčními rovnicemi (3.7) a (3.8). Chceme-li vypočítat přenosovou funkci H(z) pomocí grafu signálových toků, tak použijeme Masonova pravidla [2]. Masonovo pravidlo umožňuje vypočítat přenos grafu z vstupního uzlu x [n] X(z) na výstup y [n] Y (z) podle předpisu H(z) = Y (z) X(z) = S P i (z) i (z) i=1 (z), (3.9) (z) značí determinant grafu, jehož přenos se počítá jako (z) = 1 i S 1i + j S 2j k S 3k +. Symboly ve vztahu (3.9) mají tento význam: S 1i je součet přenosů všech samostatných jednoduchých smyček. Přenos smyčky se i počítá po uzavřené cestě jedním směrem, která se nesmí křížit, a každou větví se prochází pouze jednou. Přenos je roven součinu přenosů všech procházených větví.

Číslicové filtry 40 S 2j je součet kombinací součinů přenosů všech dvojic vzájemně se nedotýkajících j jednoduchých smyček. S 3k značí součet kombinací součinů všech trojic vzájemně se nedotýkajících jednoduchých smyček k atd. P (z) je přenos přímé i-té cesty ze vstupního uzlu k uzlu výstupnímu. Vypočítá se jako součin všech přenosů větví dané cesty. i (z) představuje determinant grafu (z) s vyloučením všech jednoduchých smyček, které se dotýkají dané přímé cesty. Pojem dotýkající se znamená, že smyčky mají společnou alespoň jednu větev. Je nutné poznamenat, že každá z jednoduchých smyček musí obsahovat aspoň jeden blok zpoždění, aby bylo možné číslicový filtr realizovat. 3.3 Maticový zápis stavového popisu Podobně jak je tomu u spojitých systémů, je výhodnější rozepsat jednu stavovou diferenční rovnici s-tého řádu na s stavových diferenčních rovnic 1. řádu. Jestliže opět pro větší názornost použijeme číslicový filtr 3. řádu, který je definován přenosovou funkcí (3.1), pak stavové diferenční rovnice získáme tímto předpisem v 1 [n] = v [n 3], v 2 [n] = v 1 [n + 1] = v [n 2], v 3 [n] = v 2 [n + 1] = v [n 1], (3.10) v 3 [n + 1] = v [n]. Dosazením proměnných v 1 [n], v 2 [n] a v 3 [n] z rovnic (3.10) do vztahu (3.7) a po úpravě dostaneme soustavu tří stavových rovnic v 3 [n + 1] = x [n] d 1 v 3 [n] d 2 v 2 [n] d 3 v 1 [n], v 2 [n + 1] = v 3 [n], (3.11) v 1 [n + 1] = v 2 [n].

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 41 Nyní zapíšeme rovnice (3.11) do maticové rovnice v 3 [n + 1] v 2 [n + 1] v 1 [n + 1] = d 1 d 2 d 3 1 0 0 0 1 0 v 3 [n] v 2 [n] v 1 [n] + 1 0 0 x [n]. (3.12) Zápisem maticové rovnice pomocí vektorových proměnných získáme tento tvar v [n + 1] = Av [n] + Bx [n], (3.13) kde v [n + 1] = [v 3 [n + 1] v 2 [n + 1] v 1 [n + 1]] T. Symbol T značí operaci transponování matice. Podobně vektor v [n] = [v 3 [n] v 2 [n] v 1 [n]] T. Matice A a B jsou rovny A = d 1 d 2 d 3 1 0 0 0 1 0, B = 1 0 0. (3.14) Stavové proměnné v 1 [n], v 2 [n] a v 3 [n] dosadíme také do vztahu (3.8) a dostaneme výstupní diferenční rovnici y [n] = c 0 v 3 [n + 1] + c 1 v 3 [n] + c 2 v 2 [n] + c 3 v 1 [n]. (3.15) Naším záměrem je však získat výstupní maticovou rovnici y [n] = Cv [n] + Dx [n]. (3.16) K tomu účelu musíme dosadit do vztahu (3.15) proměnnou v 3 [n + 1] a rovnici upravit y [n] = c 0 (x [n] d 1 v 3 [n] d 2 v 2 [n] d 3 v 1 [n]) +c 1 v 3 [n] + c 2 v 2 [n] + c 3 v 1 [n]. y [n] = c 0 x [n] + (c 1 c 0 d 1 )v 3 [n] + (c 2 c 0 d 2 )v 2 [n] +(c 3 c 0 d 3 )v 1 [n].

Číslicové filtry 42 Maticový zápis pak je y [n] = [ c 1 c 0 d 1 c 2 c 0 d 2 c 3 c 0 d 3 ] v 3 [n] v 2 [n] v 1 [n] + [c 0] x [n]. (3.17) Srovnáním zápisů (3.16) a (3.17) vidíme čemu jsou rovny matice C a D C = [c 1 c 0 d 1 c 2 c 0 d 2 c 3 c 0 d 3 ], D = [c 0 ]. (3.18) Řešené příklady Příklad 3.2 Diferenční rovnici z příkladu 2.2 ve tvaru: y [n + 2] 1, 25y [n + 1] + 0, 78125y [n] = x [n + 2] x [n], zapište do maticové formy. Řešení: Tato rovnice má obecně tvar: y [n + 2] + d 1 y [n + 1] + d 2 y [n] = c 0 x [n + 2] + c 1 x [n + 1] + c 0 x [n]. Zavedeme stavové diferenční rovnice: v 2 [n + 1] = x [n] d 1 v 2 [n] d 2 v 1 [n] v 1 [n + 1] = v 2 [n]. Výstupní rovnice bude rovna y [n] = c 0 v 2 [n + 1] + c 1 v 2 [n] + c 2 v 1 [n]. Nyní rovnice zapíšeme do dvou maticových rovnic: v 2 [n + 1] v 1 [n + 1] = d 1 d 2 1 0 v 2 [n] v 1 [n] + 1 x [n], 0

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 43 y [n] = [ ] c 1 d 1 c 0 c 2 d 2 c v 2 [n] 0 v 1 [n] + [ c 0 ] x [n]. Druhou maticovou rovnici pro y [n] dostaneme z výstupní rovnice, když do ní dosadíme stavovou rovnici pro v 2 [n + 1]. Dosadíme-li konkrétní hodnoty, tak maticový zápis má tvar: v 2 [n + 1] 1, 25 0, 78125 = v 2 [n] + 1 x [n], v 1 [n + 1] 1 0 v 1 [n] 0 y [n] = [ 1, 25 1, 78125 ] v 2 [n] + [ 1 ] x [n]. v 1 [n] Tento tvar maticových rovnic se nazývá 2. kanonická stavová struktura číslicového filtru typu IIR. 3.4 Kanonické struktury číslicových filtrů Použijeme-li rovnic (3.11) a (3.15) společně, dostaneme zápis 2. kanonické stavové struktury číslicového filtru typu IIR v 1 [n + 1] = v 2 [n], v 2 [n + 1] = v 3 [n], v 3 [n + 1] = x [n] d 1 v 3 [n] d 2 v 2 [n] d 3 v 1 [n], (3.19) y [n] = c 0 v 3 [n + 1] + c 1 v 3 [n] + c 2 v 2 [n] + c 3 v 1 [n]. Na obrázku 3.3 je vidět graf signálových toků, která vychází z rovnic (3.19). Z teorie grafů signálových toků je známé, že prostřednictvím transponování grafu je možné pro stejnou přenosovou funkci získat další struktury číslicových filtrů. Transponování grafu je operace, při níž se zamění uzly vstupní a výstupní veličiny a otočí se do protisměru šipky přenosu všech větví. Provedeme-li transponování grafu signálových toků 2. kanonické struktury na obr. 3.3, tak obdržíme graf signálových toků 1. kanonické stavové struktury, který je na obr. 3.4. Pro větší názornost byly do grafu vloženy větve s jednotkovým přenosem, které nemají vliv na tvar diferenčních rovnic.

Číslicové filtry 44 Obrázek 3.3: Graf signálových toků 2. kanonické stavové struktury číslicového filtru typu IIR 3. řádu. Obrázek 3.4: Graf signálových toků 1. kanonické stavové struktury číslicového filtru typu IIR 3. řádu.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 45 Diferenční rovnice 1. kanonické stavové struktury, které odpovídají obr. 3.4, jsou rovny y [n] = c 0 x [n] + v 1 [n], v 1 [n + 1] = c 1 x [n] d 1 y [n] + v 2 [n], v 2 [n + 1] = c 2 x [n] d 2 y [n] + v 3 [n], (3.20) v 3 [n + 1] = c 3 x [n] d 3 y [n]. Maticový zápis dostaneme z rovnic (3.13) a (3.16) po úpravě, když do prvních tří stavových rovnic dosadíme rovnici výstupní. Matice A, B, C a D pro 1. kanonickou strukturu jsou A = 0 0 d 3 1 0 d 2, B = c 3 d 3 c 0 c 2 d 2 c 0 C = [ 0 0 1 ], D = [ c 0 ]. (3.21) 0 1 d 1 c 1 d 1 c 0 Podobné kanonické struktury lze získat i pro realizaci číslicových filtrů typu FIR. Tyto struktury lze například jednoduše získat ze struktur pro číslicové filtry typu IIR vynecháním zpětnovazebních větví s koeficienty čitatele přenosové funkce. Při implementaci číslicových filtrů v mikroprocesorech nebo signálových procesorech je výhodné realizovat číslicové filtry typu IIR vyšších řádů jako sériové (kaskádní) nebo paralelní spojení dílčích sekcí 1. řádu a 2. řádu. Dílčí sekce se většinou realizují v 1. kanonické struktuře. U číslicových filtrů typu FIR, které neobsahují zpětné vazby, nezáleží při implementaci tolik na volbě kanonické struktury a většinou se volí pro realizaci 2. kanonická stavová struktura. Řešené příklady Příklad 3.3 Diferenční rovnici z příkladu 2.2 ve tvaru y [n + 2] 1, 25y [n + 1] + 0, 78125y [n] = x [n + 2] x [n], zapište do tvaru 1. kanonické struktury číslicového filtru typu IIR. Řešení: Stavové diferenční rovnice v tomto případě mají tvar: y [n] = c 0 x [n] + v 1 [n], v 1 [n + 1] = c 1 x [n] d 1 y [n] + v 2 [n], v 2 [n + 1] = c 2 x [n] d 2 y [n].

Číslicové filtry 46 Před zapsáním do matic musíme stavové diferenční rovnice upravit: v 1 [n + 1] = c 1 x [n] d 1 (c 0 x [n] + v 1 [n]) + v 2 [n] = (c 1 d 1 c 0 )x [n] d 1 v 1 [n] + v 2 [n], v 2 [n + 1] = c 2 x [n] d 2 (c 0 x [n] + v 1 [n]) = (c 2 d 2 c 0 )x [n] d 2 v 1 [n]. Nyní můžeme zapsat stavové a výstupní rovnice do matice: v 2 [n + 1] = 0 d 2 v 2 [n] + c 2 d 2 c 0 x [n], v 1 [n + 1] 1 d 1 v 1 [n] c 1 d 1 c 0 y [n] = [ 0 1 ] v 2 [n] + [ ] c 0 x [n]. v 1 [n] Dosadíme-li konkrétní hodnoty, tak máme tvar: v 2 [n + 1] 0 0, 78125 = v 2 [n] 1, 78125 + v 1 [n + 1] 1 1, 25 v 1 [n] 1, 25 y [n] = [ 0 1 ] v 2 [n] + [ 1 ] x [n]. v 1 [n] x [n], Shrnutí: V kapitole 3 byla ukázána souvislost mezi přenosovou funkcí, lineární diferenční rovnicí s konstantními koeficienty ve tvaru vnějšího popisu číslicového filtru typu IIR a grafem signálových toků. Dále je z vnějšího popisu jednoduchým způsobem odvozen vnitřní popis číslicového filtru a z něho pak jsou zapsány v maticovém tvaru 1. a 2. kanonická struktura. Kanonické struktury mají hlavní význam při implementaci číslicového filtru např. v signálovém procesoru.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 47 4 METODY NÁVRHU ČÍSLICOVÝCH FILTRŮ TYPU FIR Cíl: Číslicové filtry s konečnou impulsní charakteristikou (typu FIR) jsou vždy stabilní, a proto se často používají v aplikacích, kde dochází k časté změně koeficientů (tj. změně tvaru nebo typu přenosové charakteristiky filtru). Typickým případem jsou adaptivní filtry. Pokud je impulsní charakteristika číslicových filtrů typu FIR symetrická nebo antisymetrická mají v celém kmitočtovém rozsahu lineární fázovou kmitočtovou charakteristiku (konstantní skupinové zpoždění). 4.1 Vlastnosti číslicových filtrů typu FIR Než se začneme zabývat metodami návrhu číslicových filtrů s konečnou impulsní charakteristikou (FIR Finite Impulse Response), uvedeme jejich typické vlastnosti a z nich vyplývající oblasti jejich použití. Přenosová funkce číslicového filtru FIR jako diskrétního systému podle (2.11) má tvar H(z) = Y (z) X(z) = N 1 i=0 a i z i z N 1, b s = 1, s = r = N 1, (4.1) kde N je řád číslicového systému, a i jsou koeficienty filtru a zároveň vzorky impulsní charakteristiky (viz část 2.5). Ve jmenovateli vystupuje operátor z v N-té mocnině, aby systém splnil podmínku kauzality (viz část 2.6) a byl realizovatelný. Současně je splněna i podmínka stability, neboť systém má pouze jeden N násobný pól v bodě z = 0 a tedy všechny póly leží uvnitř jednotkové kružnice. Číslicový filtr typu FIR s přenosovou funkcí podle (4.1) je vždy kauzální a vždy stabilní. Tabulka 4.1: Podmínka pro symetrickou a antisymetrickou impulsní charakteristiku. Typ symetrie a podmínka Délka filtru N Skupinové zpoždění τ symetrická h [n] = h [N n 1] sudá [N 1]/2 symetrická h [n] = h [N n 1] lichá [N 1]/2 antisymetrická h [n] = h [N n 1] sudá [N 1]/2 antisymetrická h [n] = h [N n 1] lichá [N 1]/2 Další předností číslicových filtrů typu FIR je možnost získat lineární fázovou kmitočtovou charakteristiku v celém rozsahu kmitočtů. Skupinové zpoždění τ, definované jako záporná derivace fázové kmitočtové charakteristiky podle kmitočtu (2.20), bude konstantní

Číslicové filtry 48 a všechny složky signálu budou průchodem číslicovým filtrem zpožděny o stejný časový interval. Výstupní signál nebude obsahovat zkreslení způsobené nelinearitou fázové kmitočtové charakteristiky. Podmínkou je, aby impulsní charakteristika filtru typu FIR byla symetrická nebo antisymetrická. V praxi mohou nastat čtyři případy podle toho, zda je délka impulsní charakteristiky sudá nebo lichá. Všechny jsou uvedeny v tabulce 4.1. Mezi výhody patří též obecně menší citlivost na kvantování koeficientů a stavových veličin a menší riziko saturace aritmetiky mikroprocesoru, na kterém probíhá zpracování signálu. Naopak nevýhodou číslicových filtrů FIR je vysoký řád N systému, pokud má realizovat přenosovou funkci se strmými přechody mezi kmitočtovými pásmy. Typickým představitelem takovéto přenosové funkce jsou úzkopásmové filtry. S vysokým řádem souvisí vysoké paměťové nároky při výpočtu, neboť musí být vyhrazeno paměťové místo pro uložení hodnot N stavových veličin, veliké zpoždění při zpracování vstupního signálu a prodlužování přechodných dějů v systému. Číslicové filtry typu FIR se používají v aplikacích, které nejsou náročné na strmost přechodového pásma modulové kmitočtové charakteristiky. Příkladem mohou být širokopásmové filtry. U nich často požadujeme lineární průběh fázové charakteristiky přenosové funkce, aby nedocházelo ke zkreslení zpracovávaného signálu, a proto by bylo problematické realizovat je pomocí filtrů typu IIR. Filtry typu FIR se relativně snadno navrhují, protože koeficienty přenosové funkce jsou zárověň hodnoty impulsní charakteristiky a protože jsou absolutně stabilní. To je výhodné zejména při adaptivní filtraci, kde se filtry typu FIR také používají. Použitý iterační algoritmus může být jednodušší, a tedy i méně výpočtově náročný, protože nemusíme testovat stabilitu navrženého filtru. 4.2 Metoda váhové posloupnosti Již bylo uvedeno, že kmitočtová charakteristika číslicového filtru je periodickou funkcí úhlového kmitočtu s periodou 2π (část 2.7). Protože jde o periodickou funkci, lze ji rozvinout T ve Fourierovu řadu h [nt ] = 1 ω vz /2 ω vz ω vz /2 H(e jωt )e jωnt dω. (4.2) Koeficienty Fourierovy řady jsou právě hledané koeficienty impulsní charakteristiky, a tedy i koeficienty přenosové funkce. Ideální příklady modulů kmitočtové charakteristiky H(e jωt ) pro číslicové filtry typu dolní propust (DP), horní propust (HP), pásmová propust (PP) a pásmová zádrž (PZ) jsou na obrázku 4.1. V případě ideální dolní propusti platí H(ω) = A H(ω) = 0 pro ω ω c pro ω c ω ω vz 2, (4.3)

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 49 a proto rovnice (4.2) přejde na tvar h IDP [nt ] = 1 ω c ω vz ω c f c Ae jωnt dω = 2A sinc [ω c nt ], n = 0, ±1, ±2,..., (4.4) f vz kde funkce sinc(x) = sin(x) pro x 0, x 1 pro x = 0. (4.5) a) M DP (ωt ) ω c ω vz ω vz /2 0 ω vz /2 ω vz ω c b) M HP (ωt ) c) ω c ω vz ω vz /2 0 ω p ω vz /2 ω vz M PP (ωt ) ω c ω vz ω vz /2 0 ω vz /2 ω vz ω d ω h d) M PZ (ωt ) ω c ω vz ω vz /2 0 ω vz /2 ω vz ω p ω h ω Obrázek 4.1: Modulové kmitočtové charakteristiky ideálních číslicových filtrů: a) dolní propust, b) horní propust, c) pásmová propust, d) pásmová zádrž. Vypočtená impulsní charakteristika h IDP [nt ] představuje nekauzální systém s nekonečnou impulsní charakteristikou. Abychom vytvořili číslicový filtr s konečnou impulsní

Číslicové filtry 50 charakteristikou musíme zachovat pouze konečný počet členů Fourierovy řady a s ohledem na zachování kauzality ji musíme posunout (zpozdit) o nejméně poloviční počet členů, v případě lichého počtu členů N pak o hodnotu (N 1)/2. Tímto postupem získáme novou impulsní charakteristiku kauzálního číslicového filtru typu FIR [( h IDP [nt ] = h IDP n N 1 ) ] T 2 pro n < 0, N 1 >, h IDP [nt ] = 0 pro ostatní n. (4.6) Posunutí impulsní charakteristiky nemá vliv na modul kmitočtové charakteristiky navrženého filtru, ale ovlivní pouze fázovou kmitočtovou charakteristiku. Ta nyní nebude nulová, ale lineárně klesající, tj. jde o přímku se zápornou směrnicí rovnající se skupinovému zpoždění τ = N 1 2. Výběr konečného počtu vzorků má na tvar kmitočtové charakteristiky navrhovaného filtru mnohem větší vliv. Tuto operaci si můžeme vyjádřit jako součin původní ideální impulsní charakteristiky h IDP [nt ] s váhovací posloupností w [nt ] (označovanou také jako okno), která vybere požadovaný počet členů [( h DP [nt ] = h IDP n N 1 ) ] T w [nt ]. (4.7) 2 Protože součinu dvou funkcí v čase odpovídá v kmitočtové oblasti komplexní konvoluce jejich obrazů, bude nové impulsní charakteristice odpovídat kmitočtová charakteristika H DP (e jωt ) = 1 ω vz/2 ω vz ω vz/2 H IDP ( e jθt ) W ( e j(ω θ)t ) dθ, (4.8) která se bude lišit od požadované kmitočtové charakteristiky H IDP (e jωt ). Nejjednodušší váhovací posloupností je pravoúhlé okno, kdy ponecháme pouze daný počet vzorků impulsní charakteristiky h IDP [nt ] a ostatní vynulujeme. Můžeme však použít libovolnou posloupnost s konečným počtem členů. Typem váhovacího okna výrazně ovlivníme vlastnosti navrženého filtru jako je strmost v přechodovém pásmu nebo útlum v nepropustném pásmu. Proto volba váhovacího okna je nedílnou součástí metody váhové posloupnosti. Běžně používané typy váhovacích oken jsou: Pravoúhlé okno 1 pro n 0, N 1, w [nt ] = 0 pro ostatní n. (4.9)

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 51 Šířka hlavního laloku 4π NT rad s 1. Vrchol postranního laloku 13 db. Barlettovo (trojúhelníkové) okno 2n w [nt ] = pro n 0, N 1, N 1 2 w [nt ] = 2 2n N 1 N 1 pro n, N 1. 2 Šířka hlavního laloku 8π NT rad s 1. Vrchol postranního laloku 25 db. (4.10) Hannovo okno w [nt ] = 0, 5 [ 1 cos [ 2πn N 1 Šířka hlavního laloku 8π NT rad s 1. Vrchol postranního laloku 31 db. Hammingovo okno w [nt ] = 0, 54 0, 46 cos ]] [ 2πn N 1 Šířka hlavního laloku 8π NT rad s 1. Vrchol postranního laloku 41 db. Blackmanovo okno w [nt ] = 0, 42 0, 5 cos [ 2πn N 1 Šířka hlavního laloku 12π NT rad s 1. Vrchol postranního laloku 57 db. Kaiserovo okno w [nt ] = I 0 β ] pro n 0, N 1. (4.11) ] pro n 0, N 1. (4.12) +0, 08 cos [ 4πn N 1 ] pro n 0, N 1.(4.13) ( ) N 1 2 ( n N 1 ) 2 2 2 { I 0 β N 1 } pro n 0, N 1, (4.14) 2 kde I 0 představuje Besselovu funkci nultého řádu prvního druhu.

Číslicové filtry 52 1 0.8 Obálka váhovacích oken Typ okna Blackmanovo Hammingovo Bartlettovo Pravoúhlé Hannovo w[nt] 0.6 0.4 0.2 0 W(f) [db] Modul kmitočtové charakteristiky 0-10 -20-30 -40-50 -60-70 -80 0 4π 8π 12π 16π 20π 24π NTf 0 (N-1)/2 N-1 n Obrázek 4.2: Obálka posloupností nejvíce používaných oken a jejich modulové kmitočtové charakteristiky. Dva údaje doplněné u popisu oken definují jejich vlastnosti. Chybí jen u Kaiserova okna, protože u tohoto typu lze parametrem β měnit jeho vlastnosti a simulovat vlastnosti ostatních oken. Šířka hlavního laloku udává šířku modulové kmitočtové charakteristiky W (e jωt ) ve vztahu (4.8). Šířka není definována pro pokles hodnoty modulu o 3 db, ale je to vzdálenost mezi minimálními hodnotami, které ohraničují hlavní lalok. Hodnota nepřímo ovlivňuje strmost v přechodovém pásmu modulové kmitočtové charakteristiky H DP (e jωt ) navrženého filtru; bude-li šířka hlavního laloku větší, bude strmost přechodového pásma menší. Vrchol postranního laloku udává největší hodnotu lokálního maxima mimo hlavní lalok a má vliv na hodnotu útlumu v nepropustném pásmu číslicového filtru; bude-li hodnota vrcholu postranního laloku velká, lze očekávat, že potlačení v nepropustném pásmu bude malé. Než kapitolu o metodě váhovací posloupnosti pro návrh číslicových filtrů typu FIR zakončíme příkladem návrhu konkrétního filtru, uvedeme ještě analytické vztahy pro výpočet hodnot impulsní charakteristiky i pro ostatní ideální průběhy kmitočtové charakteristiky na obr. 4.1, které byly odvozeny podobně jako v případě dolní propusti. Pro jiné typy filtrů než dolní propust, je nejprve vypočtena šířka pásma fiktivní dolní propusti ω c a střední kmitočet filtru ω s. Na základě těchto parametrů jsou vypočteny hodnoty impulsní charakteristiky ideálních filtrů. Návrh filtru metodou váhové posloupnosti se pak redukuje na dosazení mezních kmitočtů a útlumů do odvozených analytických vztahů a na volbu tvaru váhovacího okna a volbu řádu filtru N. Právě poslední dva jmenované úkony ovlivňují tvar přenosové funkce navrženého filtru.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 53 Analytické vztahy pro výpočet impulsní charakteristiky ideálních filtrů jsou: Ideální dolní propust h IDP [nt ] = 2A f c f vz sinc [ω c nt ], n = 0, ±1, ±2,.... (4.15) Ideální horní propust h IHP [nt ] = 2A f c sinc [ ω c f vz 2 nt ] cos [ω s nt ], n = 0, ±1, ±2,..., ω c = ω vz 2 ω p, ω s = ω vz 2 + ω p. 2 (4.16) Ideální pásmová propust h IPP [nt ] = 2A f c sinc [ ω c f vz 2 nt ] cos [ω s nt ] + 2A f d sinc [ω f d nt ], vz n = 0, ±1, ±2,..., (4.17) ω c = ω h ω d, ω s = ω h + ω d. 2 Ideální pásmová zádrž h IPZ [nt ] = 2A f c sinc [ ω x f vz 2 nt ] cos [ω s nt ] + 2A f d sinc [ω f d nt ], vz n = 0, ±1, ±2,..., ω x = ω vz 2 ω h, ω s = ω vz 2 +ω h 2. (4.18) Řešené příklady: Příklad 4.1 Navrhněte číslicový filtr typu pásmové propusti o zadaném tolerančním schématu pro modul kmitočtové charakteristiky. Návrh proveďte metodou váhové posloupnosti a porovnejte výslednou kmitočtovou charakteristiku pro různé hodnoty řádu systému N a pro různé váhovací posloupnosti nt. Vzorkovací kmitočet je f vz = 44 khz.

Číslicové filtry 54 H(e jωt ) 0 10 db 30 db Toleranční schéma ω d ω h 7 800 8 600 15 800 16 600 f[hz] Řešení: Při návrhu musíme nejprve přepočítat zadané mezní kmitočty na parametry fiktivní dolní propusti. ω c = ω h ω d = 2π15800 2π8600 = 14400π rad s 1 ω s = ω h + ω d 2 = 2π15800 + 2π8600 2 = 24400π rad s 1 Poté můžeme hodnoty dosadit do vztahu (4.17) a vypočítat impulsní charakteristiku ideální pásmové propusti h IPP [nt ] = 2A ω c ω vz sinc [ ω c 2 n] cos [ω s n] = 2 14400π h IPP [nt ] = 18 sinc [7200πn] cos [24400πn] 55 n N 1, N 1 2 2 [ 14400π 88000π sinc 2 ] n cos [24400πn] Tabulka 4.2: Vzorky impulsní charakteristiky délky N = 7 navržené pásmové propusti. n 3 2 1 0 1 2 3 h IPP [nt ] 0.10430 0.25673 0.05338 0.32727 0.05338 0.25673 0.10430

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 55 0 Řád systému N 70 40 7-20 H(f) [db] -40-60 -80-10 -15-20 -25-30 6000 7000 8000 9000 5-100 -35 0 5000 10000 15000 20000 0-5 f [Hz] Obrázek 4.3: Modul přenosové funkce pro různý řád N navrženého filtru. 0-20 Váhovací okno Blackmannovo Hammingovo Pravoúhlé Hannovo H(f) [db] -40-60 -80 6000 7000 8000 9000 0-10 -20-30 -40-50 -100 0 5000 10000 15000 20000 f [Hz] Obrázek 4.4: Modul přenosové funkce pro řád N = 40 při použití různých váhovacích oken.

Číslicové filtry 56 V tabulce 4.2 je vypočteno N = 7 hodnot ideální impulsní charakteristiky. Vidíme, že impulsní charakteristika je symetrická, a proto fázová kmitočtová charakteristika navrženého filtru bude lineární ale představuje nekauzální systém. Charakteristiku h IPP [n] T musíme zpozdit o (N 1)/2 = 3 vzorky tak, aby první hodnota v tabulce pro n = 3 se posunula do počátku (n = 0). Podobně bychom vypočítali hodnoty pro jinou délku posloupnosti N. Na obrázku 4.3 jsou porovnány modulové kmitočtové charakteristiky pro různé řády systému N. Filtr řádu N = 7 nesplňuje toleranční schéma v potlačení signálu v nepropustném pásmu ani ve strmosti modulové charakteristiky v přechodovém pásmu. Filtr řádu N = 40 má již dostatečnou strmost v přechodovém pásmu, ale nedosahuje potřebného potlačení v nepropustném pásmu. Poslední filtr z obr. 4.3 řádu N = 70 splňuje toleranční schéma a lze ho použít. Na obrázku 4.4 je naopak zobrazen modul přenosové funkce navrženého filtru řádu N = 40 pro různé váhovací posloupnosti nt. Vidíme, že při použití pravoúhlého okna je přechodové pásmo nejstrmější, ale potlačení v nepropustném pásmu je nejmenší. Naopak největšího potlačení v nepropustném pásmu dosahuje impulsní charakteristika váhovaná Blackmannovým oknem, která má však nejmenší strmost. Filtr řádu N = 40 splní toleranční schéma při váhování Hammingovým nebo Hannovým oknem. Poznámka Při návrhu číslicového filtru můžeme použít buď označení h [nt ] a H(e jωt ) nebo pouze h [n] a H(e jω ) podle toho, které vyjádření kmitočtové veličiny podle tabulky 2.1 používáme. U metody váhové posloupnosti jsme používali označení h [nt ] a H(ej ωt ). U dalších metod již budeme používat zjednodušené značení h [n] a H(e jω ). 4.3 Metoda vzorkování kmitočtové charakteristiky Kmitočtovou charakteristiku H(e jω ) číslicového filtru typu FIR o dané impulsní charakteristice h [n] můžeme získat diskrétní Fourierovou transformací (DFT). S ohledem na vlastnosti transformace však nezískáme spojitou funkci kmitočtu, ale pouze její vzorky H [k] v bodech na kmitočtové ose stejnoměrně od sebe vzdálených. Pokud tedy máme zadaný průběh kmitočtové charakteristiky a chceme zjistit jí odpovídající impulsní charakteristiku h [n], můžeme postupovat opačně. Kmitočtovou charakteristiku navzorkujeme a zpětnou DFT určíme impulsní charakteristiku h [n] = 1 N N 1 n=0 H [k]e j 2π N kn. (4.19) Spojitá kmitočtová charakteristika navrženého filtru vznikne aproximací mezi vzorky H [k] a může se lišit od zadaného průběhu. Způsob aproximace lze odvodit, pokud z takto definované impulsní charakteristiky vypočítáme průběh kmitočtové charakteristiky v ro-

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 57 vině z H(z) = N 1 n=0 h [n]z n = N 1 n=0 ( 1 N N 1 k=0 H [k]e j 2π N kn ) z n = N 1 k=0 H [k] N 1 z N. (4.20) 1 e jk 2π z 1 N Ve vztahu můžeme vytknout konstantní hodnoty před sumu a získáme výsledný vzorec H(z) = 1 z N N N 1 k=0 H [k] 1 z 1 e j 2π N k. (4.21) Číslicový systém s přenosovou funkcí podle (4.21) si můžeme představit jako kaskádní zapojení dvou systémů. První bude nerekurzivní systém s přenosem (1 z N )/N, někdy označovaný jako hřebenový filtr. Tento název vznikl na základě tvaru kmitočtové charakteristiky, která je na obr. 4.5. Lze odvodit, že hřebenový filtr má N nulových bodů z = e j 2π N k, k = 0, 1,..., N 1 rovnoměrně rozložených na jednotkové kružnici v rovině z a N násobný pól z = 0 v počátku. Obrázek 4.5: Příklad modulu kmitočtové charakteristiky hřebenového filtru řádu N = 7 pro vzorkovací kmitočet f vz = 44 000 Hz a rozložení nulových bodů a pólů v rovině z.

Číslicové filtry 58 Druhý člen za sumou v rovnici (4.21) představuje řadu paralelně spojených číslicových komplexních rezonátorů neboli číslicových filtrů prvního řádu s nekonečnou impulsní charakteristikou, jejichž modul přenosu je určen velikostí kmitočtového vzorku H [k]. Póly jednotlivých rezonátorů leží v rovině z v místech jednotlivých nulových bodů hřebenového filtru. Pokud je hodnota H [k] = 0, přenos rezonátoru je nulový a rezonátor nemá vliv na tvar kmitočtové charakteristiky. Pokud je hodnota H [k] 0, pól a nulový bod se vzájemně vyruší a přenos v okolí vzorku k se změní. V praxi se však vlivem zaokrouhlování a dalších numerických chyb může stát, že pól rezonátoru nepadne přesně do místa nulového bodu. V takovém případě navržený filtr bude mít nekonečnou impulsní charakteristiku a bude tedy typu IIR. Může však nastat ještě horší případ. Aby vyrušily nulové body, musí póly rezonátorů ležet na jednotkové kružnici a systém je na mezi stability. Pokud vlivem zmíněných numerických chyb pól padne vně jednotkové kružnice, systém se stane nestabilním. Řešené příklady: Příklad 4.2 Máme metodou vzorkování kmitočtové charakteristiky navrhnout číslicový filtr typu FIR se stejně zadanou kmitočtovou charakteristikou jako v příkladu 4.1. Řešení: Ukážeme si řešení pro řád systému N = 7. Znamená to, že zadanou kmitočtovou charakteristiku budeme vzorkovat v bodech o kmitočtu k f vz N = k 44000 7 k = 0, 1,..., N 1. = 6285, 7 k Hz Pokud pro dané k padne hodnota kmitočtu do nepropustného pásma, zvolíme hodnotu H [k] = 0. Pokud hodnota kmitočtu padne do propustného pásma, zvolíme hodnotu H [k] = 1. Všechny hodnoty jsou v tabulce 4.3. V tomto případě padne vzorek kmitočtové charakteristiky do propustného pásma pouze pro k = 2 a k = 5. Jinými slovy rekurzivní část filtru bude obsahovat dva rezonátory, jeden o kmitočtu f 2 = 12571 Hz a druhý o kmitočtu f 5 = 31429 Hz, které vyruší příslušné nulové body hřebenového filtru. Tabulka 4.3: Hodnoty vzorků H[k] kmitočtové charakteristiky pro řád systému N = 7 a tolerační schéma zadané v příkladu 4.1. f k [khz] 0,000 6,285 12,571 18,857 25,143 31,429 37,714, H [k] 0 0 1 0 0 1 0 Na obr. 4.6 je zobrazen výsledný modul kmitočtové charakteristiky a rozložení pólů a nulových bodů v rovině z. Vidíme, že nulové body hřebenového filtru na kmitočtu f 2 a

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 59 f 5 byly vykompenzovány póly komplexních rezonátorů. Jako pozůstatek rekurzivní části filtru se objeví jeden nulový bod na reálné ose. Obrázek 4.6: Modul kmitočtové charakteristiky filtru řádu N = 7 navrženého metodou vzorkování kmitočtové charakteristiky a rozložení pólů a nulových bodů v rovině z. V případě vyššího řádu systému, např. N = 40, padnou vzorkovací body i do přechodového pásma. V takovém případě můžeme zvolit hodnotu vzorku v rozmezí H [k] 0; 1 a tak optimalizovat průběh kmitočtové charakteristiky. 4.4 Porovnání metod návrhu filtrů typu FIR Metoda váhové posloupnosti je historicky nejstarší metoda návrhu číslicových filtrů typu FIR. Její použití je jednoduché, ale její nevýhoda spočívá v nepřesném nastavení hranic propustných a nepropustných pásem číslicového filtru. Mezní kmitočty propustného a neproustného pásma závisí nejen na typu okna, ale i na řádu číslicového filtru. Obtížně se dá odhadnout typ okna a řád filtru pro dosažení uspokojivé aproximace kmitočtové charakteristiky. Metoda je ovšem přímočará a výpočtově nenáročná. Metoda vzorkování kmitočtové charakteristiky představuje určité vylepšení metody váhové posloupnosti. Metoda je zajímavá tehdy, když je zadání definováno v kmitočtové oblasti pomocí diskrétní Fourierovy transformace (DFT) a je třeba realizovat úzskopásmové kmitočtové filtry. Nevýhodou je opět nepřesné nastavení hranic propustných

Číslicové filtry 60 a nepropustných pásem výsledné aproximace a dále problémy s nestabilitou rekurzivní části zapojení. Obě uvedené metody mají nevýhodu v tom, že největší zvlnění nastává při aproximaci v místech nespojitostí zadaného průběhu kmitočtové charakteristiky. Nejlepší výsledky lze dosáhnout pomocí metody rovnoměrně zvlněné aproximace označované někdy jako optimální metoda. U této metody je možné nastavit přesně hranice propustných a nepropustných pásem a odchylku od požadovaného průběhu kmitočtové charakteristiky. Problém nalezení koeficientů filtru se převede na aproximační problém, který se poté řeší s využitím modifikované Čebyševovy aproximace a Remezovým algoritmem. Délka filtru N se vždy hledá iteračním postupem, neexistuje analytický vzorec, který by ji určil. Je však dosaženo nejnižšího řádu filtru pro dané zadání ze všech možných metod. To je dáno rovnoměrným rozložením maximální chyby aproximace přes celé propustné a nepropustné pásmo. Nevýhodou je její výpočetní náročnost [2]. Shrnutí: V této kapitole byly shrnuty vlastnosti číslicových filtrů typu FIR a popsány základní metody, které se pro návrh těchto filtrů používají. Nejjednodušší je metoda váhové posloupnosti, která má však nevýhodu v nedokonalém způsobu návrhu. Metoda vzorkování kmitočtové charakteristiky ukazuje problémy při využití zpětné transformace FFT pro návrh číslicových filtrů. Nejlepší výsledky lze dosáhnout pomocí metody rovnoměrně zvolněné aproximace (optimální metoda), jejíž způsob návrhu a vlastnosti lze nalézt v přiložené literatuře.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 61 5 METODY NÁVRHU ČÍSLICOVÝCH FILTRŮ TYPU IIR Cíl: Číslicové filtry s nekonečnou impulsní charakteristikou (typu IIR) se používají tam, kde vyžadujeme malé zpoždění při zpracování vstupního signálu. Mají pro stejné zadání asi desetkrát menší řád přenosové funkce než číslicové filtry typu FIR. Nevýhodou je jejich možná nestabilita a nelineární fázová kmitočtová charakteristika. Přesto se často používají v mnoha aplikacích. 5.1 Vlastnosti číslicových filtrů typu IIR Číslicové filtry typu IIR (Infinite Impulse Response) mají nekonečnou impulsní charakteristiku a pro jejich realizaci je nutné použít zpětných vazeb (rekurzí), tj. rekurzivních struktur. Obecná přenosová funkce má tvar racionálně lomené funkce H(z) = M a i z i i=0. N b i z i i=0 (5.1) Má-li být systém kauzální, musí být polynom v čitateli přenosové funkce nejvýše stejného řádu jako je polynom ve jmenovateli. V rovnici (5.1) tedy musí platit M N. Oproti filtrům typu FIR není vždy zaručena stabilita filtrů typu IIR. Po návrhu se vždy musí provést kontrola, zda všechny póly přenosové funkce leží uvnitř jednotkové kružnice v rovině z. Také nelze navrhnout filtr s lineární fázovou kmitočtovou charakteristikou v celém kmitočtovém rozsahu. Lineární charakteristice se lze pouze přiblížit v úzkém rozsahu kmitočtů. Mezi nevýhody filtrů typu IIR patří větší náchylnost na saturaci aritmetiky procesoru a velká citlivost na kvantování hodnot. Obtížně je lze použít při adaptivní filtraci, přestože mohou k optimálnímu řešení konvergovat rychleji. Nemusí však konvergovat rovnoměrně a navržené filtry nemusí být vždy stabilní. Výhodou filtrů typu IIR je podstatně menší řád přenosové funkce oproti filtrům typu FIR při stejných požadavcích zadání. S tím souvisí menší nároky na paměť pro ukládání koeficientů a stavových proměnných, menší zpoždění při zpracování vstupního vzorku a rychlý průběh přechodových dějů. Ze zkušenosti lze říci, že pro stejné zadání vychází řád přenosové funkce filtru typu FIR asi 10 vyšší než řád přenosové funkce filtru typu IIR. Při návrhu lze využít bohaté literatury návrhových tabulek analogových filtrů, neboť ke každému číslicovému filtru lze najít odpovídající analogový ekvivalent. Některé příklady jsou uvedeny v příloze.

Číslicové filtry 62 Metody návrhu lze rozdělit do dvou skupin: Analogově číslicové transformace Tradičním a populárním přístupem je při návrhu číslicového filtru typu IIR převzetí aproximací používaných při návrhu analogových filtrů. Aproximační úlohy pro aproximaci modulu normované analogové ideální dolní propusti jsou velmi dobře zpracovány a existuje řada tabulek, výpočtových vzorců a nomogramů, z nichž lze získat např. tvar přenosové funkce filtru [14]. Dobře jsou známy Butterworthovy, Besselovy, Čebyševovy nebo Cauerovy (eliptické) filtry. Číslicový filtr vznikne převodem analogového prototypu z roviny p do roviny z některou z analogově číslicových transformací. Mezi tyto metody patří metoda bilineární transformace, vlnové číslicové filtry, metody signálové invariance apod. Iterační optimalizační postupy Přímé metody návrhu v rovině z jsou časově náročnější, neboť návrhové rovnice nejsou řešeny explicitně, ale je vytvořena účelová funkce, která je iteračním postupem minimalizována k určité optimální hodnotě. Lze však dosáhnout nižší řád přenosové funkce a do účelové funkce lze zahrnout i další požadavky, kterými mohou být třeba i citlivost na kvantování. Mezi tyto metody patří metoda nejmenších čtverců v časové nebo kmitočtové oblasti, identifikační parametrické metody používající modelů typu ARMA (Auto Regresive Moving Average) apod. 5.2 Návrh analogového prototypu Při návrhu analogového filtru se vychází z ideální normované analogové dolní propusti, která má mezní kmitočet 1 rad s 1, modul kmitočtové charakteristiky v propustném pásmu H(jω) = 1 a modul kmitočtové charakteristiky v nepropustném pásmu H(jω) = 0. Takový systém představuje nekauzální systém, neboť jeho impulsní charakteristika začíná na časové ose v bodě. Impulsní charakteristiku kauzálního systému získáme aproximací ideálního průběhu. Přitom dojde ke zvlnění modulové kmitočtové charakteristiky navrženého filtru a k rozšíření přechodového pásma. Mezní hodnoty modulové kmitočtové charakteristiky pro aproximovanou impulsní charakteristiku definuje toleranční schéma na obrázku 5.1. Je dobře známa aproximace Butterworthova, Čebyševova aproximace prvního a druhého typu nebo Cauerova aproximace. Butterworthova aproximace a Čebyševova aproximace 1. typu obsahuje pouze póly. U Čebyševovy aproximace 2. typu a Cauerovy aproximace má přenosová funkce kromě pólů i nulové body. U Butterworthovy aproximace je modul kmitočtové charakteristiky navrženého filtru monotónně klesající funkce. To znamená, že kmitočtová charakteristika je v celém kmitočtovém rozsahu hladká bez lokálních maxim nebo minim. Naproti tomu u Cauerovy aproximace dochází ke zvlnění modulu kmitočtové charakteristiky v nepropustném i propustném pásmu a charakteristika vykazuje proměnný počet lokálních extrémů podle řádu systému. U Čebyševovy aproximace

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 63 0 H(jω) [db] A P A N 1 ω DP ω [rad s 1 ] Obrázek 5.1: Toleranční schéma modulové kmitočtové charakteristiky pro normovanou dolní propust. Červeně je znázorněn průběh pro ideální normovanou dolní propust. 1. typu dojde ke zvlnění modulové kmitočtové charakteristiky v propustném pásmu, zatímco v nepropustném pásmu je charakteristika hladká. U Čebyševovy aproximace 2. typu dojde naopak ke zvlnění v nepropustném pásmu, zatímco v propustném pásmu je charakteristika hladká. Všechny uvedené aproximace mají nelineární fázovou kmitočtovou charakteristiku. Nejmenší nelinearitu vykazuje Butterworthova aproximace. V omezeném pásmu je možné fázi korigovat fázovacími články, nelze však dosáhnout přesně lineární fázi v celém kmitočtovém rozsahu. Předchozí text se týkal návrhu normované analogové dolní propusti. Při návrhu filtru jiného typu je nutné jej nejprve převést na normovanou dolní propust podle vztahů na obrázku 5.2. Po výpočtu koeficientů přenosové funkce podle zvolené aproximace provedeme kmitočtovou transformaci normované dolní propusti podle tabulky 5.1 a získáme hledanou přenosovou funkci H(jω) analogového prototypu. 5.3 Analogově číslicové transformace Při aplikaci Laplaceovy transformace na diskrétní signál lze najít souvislost mezi rovinou p a rovinou z z = e pt = e σt e jωt, (5.2) když p = Re{p} + jim{p} = σ + jω značí proměnnou Laplaceovy transformace, T = 1/f vz je vzorkovací perioda a z = re jφ představuje proměnnou jednostranné transformace Z.

Číslicové filtry 64 Dolní propust ω DP = Ω M Ω P Horní propust ω DP = Ω P Ω M 0 H(jω) [db] A P A N 0 A P A N Ω ω[rad s 1 P Ω M ] 0 ω[rad s 1 ] A P A N H(jω) [db] Ω M Ω P Pásmová propust Pásmová zádrž ω DP = Ω2 2 Ω 2 S ω Ω 2 Ω DP = Ω 2 Ω Ω 2 2 Ω 2 S Ω S = Ω D Ω H, Ω = Ω H Ω D H(jω) [db] Ω ω[rad s 1 1 Ω D Ω H Ω 2 ] 0 Ω ω[rad s 1 D Ω 1 Ω 2 Ω H ] A P A N H(jω) [db] Obrázek 5.2: Toleranční schéma modulové kmitočtové charakteristiky běžných typů filtrů a vztahy pro převod na normovanou dolní propust.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 65 Tabulka 5.1: Kmitočtové transformace v analogové oblasti roviny p. Význam použitých symbolů pro úhlové kmitočty je zobrazen na obr. 5.2. Typ kmitočtové transformace DP N DP DP N HP Převodní vztahy p p Ω P p Ω P p DP N PP p p2 + Ω 2 S p Ω DP N PZ p p Ω p 2 + Ω 2 S Jestliže z této rovnice vyjádříme proměnnou p, dostaneme p = 1 T ln z = 1 T z + 1 3(z + 1) 2(z 1) (z 1) 2 5(z + 1) 4(z 1) 2. (k 1)2 (z 1) 2 2k 1(z + 1).. (5.3) V praxi se místo tohoto vztahu zavádí několik analogově číslicových transformací, které jsou výpočtově výrazně jednodušší. Každá z nich má jiné vlastnosti a hodí se pro jiný účel. Při návrhu číslicového filtru IIR podle analogového prototypu musí použitá transformace splnit dva základní požadavky: Stabilní analogový filtr musí transformovat na stabilní číslicový filtr. Stabilní analogový filtr musí mít póly své přenosové funkce v levé polorovině roviny p. Po transformaci do roviny z musí póly číslicového filtru ležet uvnitř jednotkové kružnice. Základní kmitočtové vlastnosti analogového filtru po kmitočtové transformaci musí zůstat zachovány. To znamená, jestliže je původní analogový filtr dolní propustí, musí být číslicový filtr také dolní propustí splňující zadané toleranční schéma.

Číslicové filtry 66 a) Bilineární transformace Použijeme-li z rovnice (5.3) pouze první člen rozvoje logaritmické funkce v řetězový zlomek, získáme převodní vztah bilineární transformace w = 2 T z 1 z + 1. (5.4) Zpětně pro proměnnou z platí z = 2 T + w. 2 T w (5.5) Funkce (5.4) jednoznačně zobrazí úplnou komplexní rovinu z na úplnou komplexní rovinu w (obr. 5.3). Z rovnice (5.5) lze dokázat, že se levá polorovina roviny w transformuje dovnitř jednotkové kružnice v rovině z. První podmínka je splněna a číslicový filtr bude stabilní. Obrázek 5.3: Transformace roviny w na rovinu z metodou bilineární transformace. Splnění druhé podmínky odvodíme transformací kmitočtové osy v rovině w do roviny z. Kmitočtová osa v rovině w je shodná s imaginární osou w = jω a. Dosazením do

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 67 rovnice (5.5) obdržíme 2 T + jω a 2 T jω a ( 2 = T ( 2 T ) 2 + ω 2 a ) 2 + ω 2 a e j ( arctg ωa 2 ) ωat arctg 2 = 1e j2arctg ω at 2. = e jωt. (5.6) Kmitočtová osa se transformuje na jednotkovou kružnici z = e jωt, která je shodná s kmitočtovou osou v rovině z. Vztah mezi analogovým kmitočtem ω a a číslicovým kmitočtem ω je nelineární ω a = 2 T tgωt 2 (5.7) nebo opačně ω = 2 T arctgω at 2. (5.8) Je to způsobeno tím, že transformuje nekonečný úsek analogové kmitočtové osy na konečný úsek číslicové kmitočtové osy. Z toho plyne, že před výběrem typu aproximace a návrhem analogového prototypu musíme s tímto zkreslením kmitočtové osy počítat a provést předzkreslení mezních kmitočtů tolerančního schématu. Metoda bilineární transformace je vzhledem ke zkreslení kmitočtové osy vhodná pro návrh filtrů s po částech konstantní modulovou kmitočtovou charakteristikou (jako jsou filtry typu DP, HP, PP nebo PZ). V některých případech lze nelinearity využít k dosažení větší strmosti v přechodovém pásmu číslicového filtru. Pro návrh filtrů s lineárně rostoucí (derivační filtr) nebo klesající hodnotou modulu kmitočtové charakteristiky není použití této metody příliš vhodné. Řešené příklady: Příklad 5.1 Pro vzorkovací kmitočet f vz = 44 khz navrhněte číslicový filtr typu pásmová propust o zadaném tolerančním schématu pro modul kmitočtové charakteristiky. Koeficienty přenosové funkce vypočtěte bilineární transformací přenosové funkce analogového prototypu. Při návrhu uvažujte Butterworthovu aproximaci.

Číslicové filtry 68 Řešení: H(e jω ) 3dB 20dB 0 Toleranční schéma ω d ω h 5200 8600 15800 19200 f[hz] Prvním krokem při návrhu číslicového filtru metodou bilineární transformace musí být předzkreslení kmitočtové osy. Všechny mezní kmitočty v tolerančním schématu se přepočítají podle vztahu ω = 2 T tg ( ωt 2 ). Výsledky jsou v tabulce 5.2. Tabulka 5.2: Přepočítané hodnoty mezních kmitočtů v tolerančním schématu. ω [rad s 1 ] 32 673 54 035 99 274 120 640 ω [rad s 1 ] 34 262 62 035 185 630 434 300 Druhým krokem je převod filtru na normovanou dolní propust podle obrázku 5.2. Ω S = Ω D Ω H = 62 035 185 630 = 107 310 rad s 1 Ω = Ω H Ω D = 185 630 62 035 = 123 595 rad s 1 ω DP = Ω2 2 Ω 2 S Ω 2 Ω = 434 3002 107 310 2 434 300 123 595 = 3.2994 rad s 1 Třetím krokem je určení koeficientů přenosové funkce analogového prototypu z tabulek. Řád systému určíme z nomogramu pro Butterworthovu aproximaci (obr. B.1). Návod

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 69 Tabulka 5.3: Transformační vztahy pro převod přenosové funkce analogové normované dolní propusti. Vztahy platí pro bilineární analogově číslicovou transformaci. Převod na dolní propust p 2 z 1 Ω PT z + 1 Převod na horní propust p Ω PT 2 z + 1 z 1 Převod na pásmovou propust p β z2 2αz + 1 z 2 1 Převod na pásmovou zádrž β = 4 + Ω 2 S T 2 2 Ω T p 1 β α = 4 Ω 2 S T 2 4 + Ω 2 S T 2 z 2 1 z 2 2αz + 1 na použití je na obr. A.2. Na dvě osy vlevo od hlavního grafu vyneseme útlum v propustném a v nepropustném pásmu. V místě, kde spojnice protne svislou osu hlavního grafu vedeme rovnoběžku s vodorovnou osou. Na vodorovnou osu vyneseme hodnotu vypočteného normovaného kmitočtu ω DP a v tomto bodě vedeme rovnoběžku se svislou osou. Číslo u křivky, která leží nad vzniklým průsečíkem, udává nejmenší řád číslicového filtru splňující toleranční schéma. Z tabulky B.1 pro útlum v propustném pásmu a řád systému zjistíme hodnoty koeficientů a sestavíme přenosovou funkci analogové normované dolní propusti H(p) = 1 1 + 1, 4142436p + p 2. Tuto funkci je nutné kmitočtově transformovat podle tabulky 5.1 a bilineární transformací převést do roviny z. Tyto dva kroky lze provést i v opačném pořadí, tj. nejprve převést přenosovou funkci do roviny z a potom v rovině z kmitočtově transformovat. Často se oba kroky slučují v jediný a výsledkem je jediná transformace podle tabulky 5.3. Po substituci p 1 z 2 1 β z 2 2αz + 1 a úpravě dostaneme výslednou přenosovou funkci navrženého číslicového filtru 0, 1506 0, 3012z 2 + 0, 1506z 4 H(z) = 1 + 0, 5181z 1 + 0, 7161z 2 + 0, 2224z 3 + 0, 2458z. 4

Číslicové filtry 70 0-10 H(f) [db] -20-30 -40-50 0 5000 10000 15000 20000 f [Hz] Obrázek 5.4: Modulová kmitočtová charakteristika navrženého filtru podle zadání v příkladu 5.1. Modulová kmitočtová charakteristika tohoto filtru je na obr. 5.4. b) Metoda invariance impulsní charakteristiky Požadavky na navrhovaný filtr mohou být definovány i v časové oblasti. V takovém případě je nejpoužívanější metodou návrhu metoda invariance impulsní charakteristiky. Spočívá v tom, že se impulsní charakteristiku číslicového filtru h [n] získá vzorkováním impulsní charakteristiky analogového filtru h a (t). Vzorky impulsní charakteristiky jsou rovny h [n] = h a (nt ), n = 0, 1, 2,..., (5.9) kde T je perioda vzorkování. Metoda se dá zobecnit na vzorkování dalších časových charakteristik analogového filtru (přechodové charakteristiky, odezvy na trojúhelníkový signál apod.). Proto se metoda obecně nazývá metoda signálové invariance.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 71 Předpokládejme stabilní a kauzální analogový filtr s přenosovou funkcí ve tvaru racionálně lomené funkce s jednoduchými póly H a (p) = P (p) Q(p), (5.10) kde P (p) je polynom čitatele řádu r a Q(p) je polynom jmenovatele řádu s, r = s 1. Přenosovou funkci lze rozložit na parciální zlomky H a (p) = s i=1 A i p p i. (5.11) Póly p i jsou kořeny rovnice Q(p) = 0 a pro komplexní kořeny platí A i = P (p i) lim p p i = Q(p) p p i P (p i ) dq(p). (5.12) dp p=pi Impulsní charakteristika analogového filtru je dána zpětnou Laplaceovou transformací s h a (t) = L 1 {H a (p)} = A i e pit. (5.13) i=1 Vzorkováním impulsní charakteristiky pro časové okamžiky t = nt dostaneme vzorky impulsní charakteristiky číslicového filtru s h [n] = h a (nt ) = A i e pint. (5.14) i=1 Podrobíme-li tento vztah transformaci Z, dostaneme požadovanou impulsně invariantní přenosovou funkci číslicového filtru s z H(z) = Z {h [n]} = A i i=1 z e p it = R(z) S(z). (5.15) Rovnice (5.15) má opět tvar racionální lomené funkce. Vidíme, že póly p = p i přenosové funkce H a (p) jsou transformovány na póly z = e p it přenosové funkce H(z). Jestliže póly p i leží v levé polorovině roviny p, pak póly z i budou ležet uvnitř jednotkové kružnice

Číslicové filtry 72 v rovině z. Stabilnímu analogovému filtru bude odpovídat stabilní číslicový filtr. Tímto je splněna první z podmínek, které jsou kladeny na analogově číslicové transformace. Platnost druhé podmínky zachování základních kmitočtových vlastností se dá odvodit ze vztahu mezi přenosovými funkcemi analogového a číslicového filtru [3, 4]. H(z) z=e pt = h(0) 2 + 1 T k= ( H a p + j 2π ) T k. (5.16) Tato skutečnost vyplývá ze souvislosti (5.3) mezi proměnnými p a z. Dosadíme-li do rovnice za p = jω, pak zjistíme souvislost mezi kmitočtovými charakteristikami analogového a číslicového filtru H(e jω ) = h(0) + 1 2 T k= ( H a jω + j 2π ) T k. (5.17) Část imaginární osy v rozsahu π/t < ω < π/t se zobrazí jedenkrát na jednotkovou kružnici [2, 3]. Vidíme, že konečný úsek analogové kmitočtové osy se lineárně zobrazí na konečný úsek číslicové kmitočtové osy. Nedochází ke zkreslení kmitočtové osy jako tomu bylo v případě bilineární transformace. Obrázek 5.5: Konformní zobrazení roviny p na rovinu z metodou invariance impulsní charakteristiky. Stejně tak se část imaginární osy v rozsahu π/t + 2πk/T < ω < π/t + 2πk/T, k = ±1, ±2,... lineárně zobrazí na jednotkovou kružnici. Dochází k jevu, při kterém se sčítají

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 73 překrývající se spektra, a který se nazývá aliasing. Jak plyne z obr. 5.5, nekonečný pás v rovině p o šířce ω vz = 2π/T se konformně zobrazuje na celou rovinu z. Levá část pásu pro Re{p} < 0 se zobrazí dovnitř jednotkové kružnice a pravá část pásu Re{p} > 0 se zobrazí vně jednotkové kružnice v rovině z. Je zřejmé, že celá rovina p je rozdělena na nekonečný počet takovýchto pásu rovnoběžných s reálnou osou a každý z nich se zobrazí na jeden list šroubovice Riemanovy plochy funkce z = e pt. Vlivem překrývání jednotlivých pásů nemusí být kmitočtová charakteristika číslicového filtru totožná s charakteristikou analogového filtru. Z toho důvodu není zobrazení mezi rovinou p a rovinou z jednoznačné. Ke změně kmitočtové charakteristiky nedojde pouze v případě, kdy při vzorkování impulsní charakteristiky analogového filtru splníme vzorkovací teorém vyjádřenou rovnicí H a (jω) = 0, pro ω π T = ω vz 2. (5.18) Potom vztah mezi kmitočtovou charakteristikou analogového a číslicového filtru bude definován jednoznačně H(e jω ) = h(0) + 1 2 T H a(jω), (5.19) když H a (jω) je kmitočtová charakteristika analogového filtru, H(e jω ) je kmitočtová charakteristika číslicového filtru a h(0) udává hodnotu impulsní charakteristiky analogového filtru h(t) pro t = 0. Z podmínky (5.18) plyne, že metoda se dá použít pouze pro návrh číslicových kmitočtových filtrů typu dolní propusti nebo pásmové propusti. 5.4 Porovnání metod návrhu filtrů typu IIR Metoda bilineární transformace je jednou z nejpoužívanějších metod pro návrh klasických číslicových filtrů typu IIR. Má výhodu v tom, že se hodí pro návrh číslicových filtrů, které mají po částech konstantní průběh modulu. Zachovává nebo dokonce může zlepšit kmitočtové vlastnosti filtrů, ale nezachovává časové charakteristiky. Protože vztah mezi analogovou a číslicovou osou je nelineární, tak se tento postup nehodí pro návrh diferenciátorů a filtrů s průběhem modulu, který není po částech konstantní. Postup návrhu je však jednoduchý a lze ho zvládnout i s nenáročnými výpočetními prostředky. Je možné také využít velkého počtu tabulek, grafů a nomogramů, které jsou určeny pro návrh analogových filtrů. Metoda impulsní, popř. signálové, invariance je vhodná k použití tam, kde jsou požadavky na navrhovaný filtr definovány v časové oblasti pomocí impulsní charakteristiky, odezvy na trojúhelníkový impuls apod. U metody nedochází ke zkreslení kmitočtové osy

Číslicové filtry 74 a kmitočtové vlastnosti filtrů zůstavají zachovány. Podmínkou je, že navrhovaný filtr je typu dolní propusti nebo pásmové propusti. U ostatních typů filtrů dojde k překrývání spekter a kmitočtové vlastnosti se změní. Mezi ostatní metody návrhu patří metoda vlnových filtrů, která je založena na bilineární transformaci a s tím souvisí i její výhody a nevýhody. Je to metoda těžkopádná a složitost může převážit pouze malá citlivost na kvantovací vlivy. Někdy je vhodné použít i netradiční metody návrhu, např. použít převodní vztah pro kořeny čitatele i jmenovatele přenosové funkce analogového prototypu. Na rozdíl od metody invariance impulsní charakteristiky převedeme póly i nulové body analogového prototypu. Přímé metody návrhu v rovině z se vzhledem ke své výpočtové náročnosti používají jen ve vybraných případech, ve kterých je nutné dosáhnout lepších výsledků než při použití metod vycházejících z analogových prototypů [2]. Shrnutí: Při návrhu číslicových filtrů typu IIR se nejvíce využívá grafů a tabulek, které jsou používány při návrhu analogových filtrů. Navržený analogový filtr se pak pomocí analogově - číslicové transformace převede na filtr číslicový. Nejvíce z metod návrhu se používají metoda bilineární transformace a metoda invariance impulsní charakteristiky. Přehled dalších metod, které ale nejsou tak populární, je uveden v přiložené literatuře.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 75 6 ADAPTIVNÍ ČÍSLICOVÉ FILTRY Cíl: Adaptivní číslicové filtry se velmi často využívají v telekomunikační technice pro potlačení jak elektrických tak i akustických ozvěn. Také se používají pro potlačení šumu a hluku při telefonních hovorech v automobilu, v letadle, v telefonní budce blízko hlučné křižovatky apod. Nejpoužívanější je algoritmus typu LMS, který vychází z optimální Wienerovy filtrace. 6.1 Úvod Pojem adaptabilita vyjadřuje schopnost živého organismu, nějakého orgánu nebo systému přizpůsobit se změněným podmínkám. Jako adaptivní systém je označován takový systém, který přizpůsobuje své vlastnosti měnícím se okolním podmínkám, v nichž pracuje, a to tak, aby své vlastnosti udržoval nebo dokonce i zlepšoval. Tato činnost směřuje k dosažení optimálního chování systému. Proto problémy adaptability mohou úzce souviset s problémy optimality. Jestliže adaptivní systém využívá k udržování nebo zlepšování svých vlastností předchozích zkušeností, nazývá se obvykle učícím se systémem. Učící se systém musí při své činnosti zaznamenávat změny podmínek, v nichž pracuje, zvažovat minulé situace a využívat získaných zkušeností k novému rozhodnutí o své další činnosti. Pojem filtr je používán k označení obvodu nebo systému, který má vybrat užitečnou informaci ze vstupního signálu. Adaptivního filtru můžeme například použít k optimální filtraci nebo k predikci (předpovědi). Většinou předpokládáme, že vstupní signál adaptivního filtru tvoří směs užitečného signálu a šumu a my se filtrací snažíme šum odstranit. Jestliže všechny operace filtru jsou lineární, tak hovoříme o lineární filtraci. Pokud použijeme lineární filtr a nežádoucí šum je přičten k užitečnému vstupnímu signálu (jedná se o aditivní šum), pak lze pro optimální filtraci použít Wienerův filtr. V tom případě ještě musí platit podmínka, že vstupní signál a šum jsou ze statistického hlediska stacionární. Obrázek 6.1: Graf signálových toků číslicového filtru typu FIR v 2. kanonické struktuře.

Číslicové filtry 76 Definujme chybový signál e [n] jako rozdíl e [n] = d [n] y [n], n = 1, 2, 3,.... (6.1) Signál d [n] je signál, který požadujeme (např. čistý vstupní signál bez šumu) a výstupní signál y [n] získáme na výstupu číslicového filtru. Optimální Wienerův filtr je nastaven tak, že filtruje vstupní signál s minimálním výkonem chybového signálu, neboli s minimální hodnotou střední kvadratické hodnoty chybového signálu e [n]. Nejprve je ovšem nutné vypočítat optimální hodnoty impulsní charakteristiky h opt [n] Wienerova filtru na základě výpočtu statistických vlastností vstupního signálu. Norbert Wiener při odvození optimální filtrace používal spojité signály a systémy. Jeho teorie byla N. Levinsonem upravena i pro diskrétní případ. V této kapitole se budeme zabývat pouze popisem Wienerova filtru pro diskrétní a číslicové signály a systémy. Při optimální filtraci bylo použito číslicového filtru typu FIR v 2. kanonické formě podle obr. 6.1 [8]. Po výpočtu hodnot impulsní odezvy je realizována lineární filtrace s tím předpokladem, že statistické vlastnosti vstupního signálu se již nebudou měnit. Obrázek 6.2: Blokové schéma obecného zapojení adaptivního číslicového filtru. Cílem nastavení hodnot impulsní odezvy h [n] adaptivního číslicového filtru je dosažení ustáleného stavu, v němž chybový signál e [n] vyhovuje nějaké podmínce (účelové funkci). Na obr. 6.2 je vidět základní schéma adaptivního filtru. Někdy je toto blokové schéma označováno jako zapojení obecného estimátoru [9]. Vstupní signál adaptivního filtru je označen jako x [n] a jeho výstupní signál je y [n]. Tento výstupní signál má co nejlépe aproximovat žádaný signál d [n] podle podmínky, která je obsažena v účelové funkci. Přenosovou funkci H(z), která odpovídá impulsní odezvě h [n], lze zvolit jako obecnou racionální lomenou funkci s póly a nulovými body. Adaptivní filtr může například vyhovovat stejné podmínce jako Wienerův filtr, tj. dosažení minimálního výkonu signálu e [n]. Podstatný rozdíl mezi Wienerovým optimálním filtrem a adaptivním filtrem je v tom, že u adaptivního filtru se neprovádí výpočet statistických vlastností signálu před filtrací, ale adaptivní filtr začíná filtrovat z nějakého počátečního stavu a postupně se pomocí adaptace dostane do stavu optimální filtrace.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 77 Adaptivní filtr tedy vychází z vhodně nastavených počátečních podmínek a není u něho požadována předběžná znalost statistických vlastností zpracovávaného signálu jako u Wienerova filtru. Pomocí rekurzivního algoritmu jsou měněny koeficienty jeho impulsní charakteristiky tak, aby byla splněna zadaná podmínka. Tou podmínkou může být dosažení optimální filtrace jako u Wienerova filtru, ale také to být nemusí a může být nastavena podmínka jiným způsobem. Operace probíhající při číslicové filtraci řízené adaptivní algoritmem zahrnují dva vzájemně svázané procesy: Číslicová filtrace, která v případě lineárního číslicového filtru s konstantními koeficienty udává vztah mezi vstupním a výstupním signálem pomocí diskrétní konvoluce y [n] = h [0] x [n] + h [1] x [n 1] +... + h [N 1] x [n N + 1] = N 1 m=0 h [m] x [n m]. (6.2) Proces adaptace, jehož cílem je iterativně nastavovat koeficienty adaptivního filtru (např. hodnoty impulsní charakteristiky) tak, aby filtrace splňovala podmínku účelové funkce. V literatuře je popsáno velké množství adaptivních rekurzivních algoritmů, které byly odvozeny pro různé případy využití adaptivního filtru. Výběr vhodného rekurzivního algoritmu je ovlivněn několika hledisky : Rychlost konvergence. Rychlost konvergence je určena počtem iterací (opakování), které rekurzivní algoritmus musí provést k tomu, aby bylo dosaženo optimálního stavu adaptivní filtrace. Například v případě adaptivního filtru realizujícího Wienerovu filtraci je dosaženo konečného stavu tehdy, když je minimalizována střední kvadratická chyba. Chyba konvergence. Chyba je dána rozdílem mezi optimální a skutečnou hodnotou chyby. Např. opět při realizaci Wienerovy filtrace je chyba určena rozdílem mezi hodnotou střední kvadratické chyby při optimální Wienerově filtraci a střední kvadratickou chybou dosaženou pomocí adaptivního filtru. Kvalita sledování. Když adaptivní filtr zpracovává nestacionární signál, pak tento parametr popisuje míru sledování změn statistických vlastností vstupního signálu. Tento činitel souvisí s rychlostí konvergence a numerickými vlastnostmi adaptivního algoritmu. Robustnost. Parametr se vztahuje k schopnosti algoritmu pracovat uspokojivě i se špatně zadanými počátečními podmínkami. Robustnost úzce souvisí s numerickými vlastnostmi daného algoritmu.

Číslicové filtry 78 Výpočetní náročnost. Zde jsou kladeny podmínky na výpočetní výkonnost technického prostředku (počítače, mikroprocesoru apod.), v kterém bude adaptivní algoritmus implementován. Jedná se o počet aritmetických operací (sčítání, násobení apod.), které je nutné realizovat pro výpočet algoritmu při jedné iteraci. Dále je nutné sledovat, jak velikou paměť výpočet zabere a jaká je obtížnost zápisu adaptivního algoritmu v daném programovacím jazyce, který je použit (asembler, jazyk C atd.). Numerické vlastnosti. Při číslicové realizaci vznikají kvantovací chyby, které mohou způsobit problémy při ustálení adaptivního algoritmu pro optimální řešení. Tyto numerické vlastnosti jsou hlavně hodnoceny pomocí numerické stability a numerické přesnosti. Algoritmus, který má nulovou chybu konvergence, může vlivem kvantovacích chyb vykazovat nenulovou chybu mezi optimální a skutečnou hodnotou. Hovoříme-li o numerické robustnosti algoritmu, je tím myšlena skutečnost, že jeho vlastnosti nejsou příliš citlivé na změnu délky slova při kvantování. Struktura algoritmu. Jakou strukturu algoritmus má nás zajímá zvláště tehdy, když chceme provést hardwarovou implementaci pomocí např. VLSI integrovaných obvodů. Pak se zajímáme o to, zda se algoritmus vyznačuje modulovou strukturou, zda některé jeho části lze zpracovat paralelně apod. 6.2 Wienerova optimální filtrace Dříve než si ukážeme princip adaptivní filtrace založené na Wienerově teorii, musíme si vysvětlit princip optimální filtrace. Norbert Wiener zvolil pro realizaci transverzální filtr, což v naší terminologii v diskrétním případě znamená, že jde o 2. kanonickou strukturu číslicového filtru typu FIR (obr. 6.1). Bylo dokázáno, že v případě statisticky stacionárního signálu na vstupu filtru je střední kvadratická chyba E [ e [n] 2 ] funkcí druhého řádu hodnot impulsní charakteristiky h [n]. V teorii pravděpodobnosti pro stacionární diskrétní náhodné procesy je operátor E[x] nazýván střední hodnotou (matematickou nadějí) a je definován takto : E[x] = k x k p (x k ). kde p(x k ) představuje pravděpodobnost výskytu hodnoty x k. N. Wiener dokázal, že závislost mezi střední kvadratickou chybou a hodnotami impulsní charakteristiky má geometrický tvar vícerozměrného paraboloidu, jehož vrchol definuje optimální hodnoty impulsní charakteristiky h opt [n]. Dimenze (počet rozměrů) prostoru, v němž je paraboloid definován, je dán počtem koeficientů impulsní charakteristiky. Definujme vektor vstupního signálu x [n] ve tvaru : x [n] = [x [n] x [n 1] x [n 2]... x [n N + 1]] T, (6.3)

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 79 kde symbol T vyjadřuje transponování matice nebo vektoru. Pro jednoduchost předpokládáme, že všechny signály mají své hodnoty reálné. V obecném případě komplexních signálů by místo prostého transponování matice či vektoru byla použita operace Hermitova transponování (kombinace transponování s komplexním sdružením). Vektor hodnot impulsní charakteristiky h je : h = [h [0] h [1] h [2]... h [N 1]] T. (6.4) Operaci konvoluce (6.2) lze zapsat v maticovém tvaru takto : y [n] = [ h [0] h [1] h [2]... h [N 1] ] x [n] x [n 1] x [n 2]. x [n N + 1] = h T x(n) = x T (n)h. (6.5) Pro nalezení optima Wienerova filtru je definována účelová funkce : J(h) = E[ e [n] 2 ] = E[ d [n] h T x [n] 2 ]. (6.6) Tuto účelovou funkci J(h) minimalizujeme (na nejmenší hodnotu střední kvadratické chyby). Jako výsledek je získána Wienerova-Hopfova rovnice R. h opt = p. (6.7) Matice R je definována jako autokorelační matice ve tvaru R = E [ x [n] x T [n] ] = E[x 2 [n]] E[x [n 1]x [n]] E[x [n N + 1]x [n]] E[x [n]x [n 1]] E[x 2 [n 1]] E[x [n N + 1]x [n 1]] E[x [n]x [n 2]] E[x [n 1]x [n 2]] E[x [n N + 1]x [n 2]]... E[x [n]x [n N + 1]] E[x [n 1]x [n N + 1]] E[x 2 [n N + 1]].(6.8)

Číslicové filtry 80 V případě stacionárních náhodných procesů je tato autokorelační matice R Toeplitzovou maticí, která je regulární a má tedy inverzi R 1. Sloupcový vektor p vyjadřuje vzájemnou souvislost mezi hodnotami vstupního signálu x [n] a žádanou hodnotou d [n] p = E[x [n] d [n]]. (6.9) Tato rovnice řeší optimální nastavení koeficientů impulsní charakteristiky číslicového filtru typu FIR v 2. kanonické struktuře po úpravě takto h opt = R 1 p, (6.10) kde R 1 představuje inverzní matici k matici R. Výpočtem Wienerovy-Hopfovy rovnice získáme optimální koeficienty impulsní charakteristiky h opt [n], které odpovídají v geometrické interpretaci souřadnicím vrcholu paraboloidu. Po výpočtu optimálních koeficientů je nastaven filtr a je realizována číslicová filtrace. U adaptivního filtru je postup filtrace odlišný. Neprovádí se předběžný výpočet, ale koeficienty filtru jsou nastaveny na počáteční hodnoty a pomocí adaptačního algoritmu je jejich hodnota postupně měněna, až je dosaženo optimálního stavu. Pro aproximaci Wienerova postupu optimální filtrace může být například použít adaptivní algoritmu typu LMS (Least Mean Square). 6.3 Adaptivní filtrace pomocí algoritmu typu LMS U adaptivního filtru neočekáváme předběžnou znalost statistických vlastností vstupního signálu a k vrcholu paraboloidu se musíme přiblížit iterativním postupem. První přímočarý způsob se nabízí v iterativním výpočtu Wienerovy-Hopfovy rovnice (6.7). Úskalí tohoto přístupu spočívá ve výpočtových problémech pro vysoký řád adaptivního filtru typu FIR a v malé rychlosti zpracování vstupních dat. Výhodnější je použít metodu největšího spádu. Nejprve je zvolen počáteční odhad vektoru koeficientů impulsní charakteristiky h [0], který odpovídá počátečnímu odhadu souřadnic minima povrchu paraboloidu. Dále je vypočten gradientní vektor a pohyb po povrchu paraboloidu je vybrán ve směru záporně vzaté hodnoty gradientního vektoru. Takto lze získat rekurzivní vztah h i+1 = h i + µ(p Rh i ), i = 0, 1, 2,.... (6.11) Kladná konstanta µ ovlivňuje stabilitu a rychlost adaptace algoritmu [8, 9]. Proměnná i značí i-tou iteraci daného algoritmu. Při realizaci tohoto algoritmu tvoří opět problém výpočet korelačních matic R a p. Widrow a Hoff v roce 1960 navrhli postup,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 81 v němž je tento výpočet matic nahrazen jejich odhady. To znamená, že se neprovádí průměrování v souboru realizací podle operátoru E[x], ale matice R a p jsou nahrazeny jejich současnými odhady R i = x i x T i, p i = x i d(i). Algoritmus, využívající tyto odhady se po úpravě nazývá buď algoritmus typu LMS nebo Widrovův-Hoffův algoritmus ĥ i+1 = ĥi + µx i e(i), i = 0, 1, 2,.... (6.12) Druhý člen na pravé straně rovnice (6.12) představuje korekci nynějšího odhadu koeficientů impulsní charakteristiky. V jedné iteraci algoritmu typu LMS je nutné provést 2N +1 násobení a 2N sčítání. Podobný algoritmus, který pracuje na stejném principu jako algoritmus typu LMS, je algoritmus typu GAL (Gradient Adaptive Lattice). Od algoritmu LMS se liší tím, že místo 2. kanonické struktury číslicového filtru typu FIR je použita křížová struktura [10]. Oba algoritmy LMS a GAL patří mezi stochastické gradientní algoritmy. 6.4 Příklady aplikací adaptivních filtrů Adaptivní filtrace se již úspěšně uplatnila v různých oborech jako např. jsou telekomunikace, radarová a sonarová technika, seismologie nebo biomedicínské inženýrství. Společným základem všech aplikací je skutečnost, že vstupní signál a průběh požadované odezvy slouží k výpočtu chyby, která pak zpětně ovlivňuje nastavení koeficientů. Tyto koeficienty mohou mít různý tvar podle použité struktury pro realizaci adaptivního číslicového filtru (koeficienty impulsní charakteristiky pro 2. kanonickou strukturu nebo koeficienty odrazu pro křížovou strukturu apod.). Rozdíl mezi aplikacemi je hlavně v tom, jak je získán signál na výstupu adaptivního filtru. Z tohoto pohledu lze aplikace rozdělit do čtyř skupin: identifikace inverzní filtrace potlačení rušení predikce

Číslicové filtry 82 6.4.1 Identifikace vlastností neznámého systému Na obrázku 6.3 je vidět způsob použití adaptivního filtru pro zjištění parametrů matematického modelu, který popisuje vlastnosti neznámého systému. Proces adaptivní filtrace slouží k nalezení lineárního matematického modelu, který představuje z určitého hlediska nejlepší aproximaci vlastností neznámého systému. Model tvoří soustava diferenčních rovnic, které jsou definovány zvolenou strukturou adaptivního filtru. Postup identifikace může obsahovat tyto kroky: získání experimentálních poznatků např. pomocí měření, výběr struktury modelu, odhad jeho parametrů a ověření správnosti návrhu modelu. Obrázek 6.3: Identifikace vlastností neznámého systému. 6.4.2 Inverzní adaptivní filtrace Způsob provedení inverzní filtrace je zobrazen na obr. 6.4. Tento způsob adaptivní filtrace lze např. využít při korekci přenosu číslicových dat lineárním přenosovým kanálem. Přenosový kanál je zatížen chybami mezisymbolové interference a také může obsahovat aditivní termický šum přijímače. Adaptivní filtr odstraňuje nežádoucí šumové složky tak, že k nim vytvoří inverzní model a pak je pomocí něho vyfiltruje. Další oblastí, kde se adaptivní inverzní filtrace používá, je seismologie. Adaptivní filtr slouží k realizaci prediktivní dekonvoluce, pomocí níž je získána impulsní charakteristika části zemské kůry, kterou se šíří seismické vlny a jsou přitom zkresleny různými odrazy.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 83 Obrázek 6.4: Odstranění nežádoucích složek, které jsou součástí užitečného signálu, pomocí inverzní filtrace. 6.4.3 Potlačení rušení Adaptivní filtr je nastaven tak, aby potlačil rušení, které se projevuje v hlučných prostorech (telefonní budka blízko křižovatky, mobilní telefon v automobilu apod.). Blokové schéma je vidět na obr. 6.5. Referenční šumový signál je přiveden na vstup adaptivního filtru, který je nastaven tak, aby tento šumový signál byl odečten od primárního signálu. Primární signál tvoří směs užitečného signálu (např. řeči) a šumu. Další aplikace odstranění nežádoucích ozvěn v telefonním kanále, odstranění odrazů při snímání zvuku v místnosti apod. 6.4.4 Predikce signálu Predikce neboli předpověď je operace, která má odhadnout vlastnosti signálu nebo systému v čase t + τ, τ > 0, tj. v budoucnu, na základě dat získaných v čase t. Blokové schéma predikce je zobrazeno na obr. 6.6. Lineární predikce se používá např. při zpracování řečového signálu. Řečový signál lze v rozsahu 10 ms až 30 ms považovat za přibližně stacionární. Lineární predikční kódování (LPC - Linear Predictive Coding) se používá při analýze a syntéze řeči ve vokodérech nebo při převodu psaného textu na řeč jako hlasový výstup počítače (systémy TTS - Text To Speech). Dalšími aplikacemi jsou modulace typu ADPCM (Adaptive Differential Pulse-Code Modulation), autoregresivní spektrální analýza nebo detekce signálu v šumu.

Číslicové filtry 84 Obrázek 6.5: Použití adaptivního filtru k potlačení rušení. Obrázek 6.6: Použití adaptivního filtru pro predikci. Shrnutí: V této kapitole je nejprve stručně popsán princip Wienerovy optimální filtrace, která pro realizaci využívá strukturu číslicového filtru typu FIR v 2. kanonické struktuře. Na základě tohoto popisu je uveden algoritmus typu LMS, který se velmi často pro adaptivní číslicovou filtraci používá. Na závěr této kapitoly jsou uvedeny příklady použití adaptivní číslicové filtrace v praxi.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 85 7 ČÍSLICOVÉ FILTRY SE ZMĚNOU VZORKOVACÍHO KMITOČTU Cíl: Moderní číslicové systémy efektivně využívají decimace a interpolace pro zpracování signálu. Tím je vlastně měněn vzorkovací kmitočet. Toho se například používá pro změnu vzorkovacího kmitočtu z hodnoty 44, 1 khz na hodnotu 48 khz při přenosu hudebního signálu uloženého na disku CD pro zpracování v hudebním studiu. Pokud bychom realizovali tento převod s využitím analogově číslicových a číslicově analogových převodníků byl by hudební signál tak degradován šumem, že už by nebyl vlastně použitelný. Dosti často se princip změny vzorkovacího kmitočtu využívá pro kompresi obrazového a zvukového signálu i ve spojitosti s waveletovou transformací (viz. kap. 8). 7.1 Úvod Číslicové systémy se změnou vzorkovacího kmitočtu našly své uplatnění mezi algoritmy číslicové filtrace vzhledem ke své vysoké výpočtové efektivnosti zvláště ve spojení s implementací v signálovém procesoru. Dnes jsou tyto algoritmy používány v řadě nových aplikací, jako jsou například vícepásmové systémy pro kódování řeči (Subband Coding), zvukových a obrazových informací, datové přenosové systémy s více nosnými, realizace rychlých transformací pomocí banky číslicových filtrů a diskrétní vlnková (wavelet) analýza různých typů číslicových signálů. Současně používané struktury systémů se změnou vzorkovacího kmitočtu slouží i jako modely pro návrh architektury mikroelektronických obvodů. Systém se změnou vzorkovacího kmitočtu (Multirate System) je definován jako systém, který při zpracování signálu používá více různých hodnot vzorkovacího kmitočtu. Otázkou je, kdy se nám vyplatí měnit kmitočet vzorkování, což s sebou nese řadu přídavných operací, jako jsou číslicová filtrace, podvzorkování (decimace), nadvzorkování (interpolace) apod. Jedním z takových případů je, když vznikne požadavek zpracovat záznam signálu digitalizovaného za použití jistého vzorkovacího kmitočtu v zařízení, které používá jinou hodnotu vzorkovacího kmitočtu (např. záznam na datovém nosiči CD se vzorkovacím kmitočtem 44,1 khz se má zpracovat v hudebním studiu, které používá vzorkovací kmitočet 48 khz). Změna vzorkovacího kmitočtu pomocí číslicových metod je v takovém případě mnohem výhodnější než převod do analogové podoby a nové vzorkování s požadovaným vzorkovacím kmitočtem. Změna vzorkovacího kmitočtu může být dvojího typu. Podvzorkováním neboli decimací se rozumí snížení vzorkovacího kmitočtu, naopak nadvzorkováním neboli interpolací se rozumí zvýšení vzorkovacího kmitočtu. U obou skupin se z praktických důvodů dále rozlišuje, zda se jedná o změnu vzorkovacího kmitočtu v poměru celého čísla nebo v poměru necelého racionálního čísla (tj. podílu dvou celých čísel).

Číslicové filtry 86 7.2 Podvzorkování číslicového signálu v poměru celého čísla Podvzorkováním (decimací) diskrétního signálu je nazýván postup, při němž jsou ze signálu rovnoměrně ponechány jen některé vzorky. Nový signál y [k] = x [Mk] je vytvořen z původního signálu x [n] výběrem každého M-tého vzorku. Počet vzorků nového číslicového signálu je tedy M krát nižší než počet vzorků původního signálu. Doba periody vzorkování T y = MT x se zvýší M krát a vzorkovací kmitočet f vzy = f vzx /M klesne také M krát. Při odvození kmitočtového spektra Y (e jω ) podvzorkovaného signálu je nejprve vypočteno spektrum Y (e jω ) číslicového signálu y [n], který vznikne z původního signálu vynulováním některých vzorků místo jejich vyjmutí y [n] = c M [n]x [n], (7.1) kde 1, n = im, c M [n] = 0, n im, i = 0, 1, 2,... (7.2) Protože c M [n] je periodický signál s periodou M, lze ho vyjádřit pomocí diskrétní Fourierovy řady c M [n] = 1 M M 1 k=0 e jk n 2π M. (7.3) Obraz signálu y [n] je pak možné určit pomocí definičního vztahu transformace Z jako Y (z) ( = 1 n=0 M = 1 M = 1 M M 1 M 1 k=0 k=0 n=0 M 1 k=0 e jk n 2π M x [n] ) x [n]e jk n 2π M z n X ( ze jk 2π M ). z n (7.4) Protože y [Mk] = x [Mk] = y [k] (7.5)

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 87 a v ostatních bodech je y [n] = 0, platí pro transformaci Z podvzorkovaného signálu následující vztah Y (z) = y (Mk)z k k=0 = y [n]z n M n=0 = Y (z 1 M ). (7.6) Srovnáním rovnice (7.4) a rovnice (7.6) lze odvodit výsledný vztah mezi transformací Z podvzorkovaného signálu a transformací Z původního signálu Y (z) = 1 M M 1 k=0 X ( z 1 M e jk 2π M ). (7.7) Hledaný vztah mezi kmitočtovým spektrem podvzorkovaného signálu a kmitočtovým spektrem původního signálu má tvar Y (e jω ) = 1 M M 1 k=0 X ( ) e j ω 2πk M. (7.8) Ve vztahu (7.8) představuje proměnná ω relativní úhlový kmitočet, pro který platí ω = 2πf f vzy, (7.9) kde f je absolutní hodnota kmitočtu. Je zřejmé, že stejný absolutní kmitočet bude u původního signálu představovat relativní úhlový kmitočet ω x = 2πf f vzx = 2πf Mf vzy = ω M. (7.10) Pro každou hodnotu ω vyjadřuje první člen X(e j ω M ) pro k = 0 v rovnici (7.8) složku kmitočtového spektra původního signálu x [n] na stejném absolutním kmitočtu jako počítaná složka Y (e jω ). První člen tak představuje kmitočtové spektrum původního signálu. K této složce jsou přičteny další ležící složky ve vzdálenosti k 2π M = k 2πf vzy f vzx

Číslicové filtry 88 od první složky, tj. ležící ve vzdálenosti rovnající se násobku nového vzorkovacího kmitočtu f vzy. Tyto složky představují aliasing, který vzniká periodizací kmitočtového spektra podle sníženého vzorkovacího kmitočtu f vzy a který způsobuje nevratné změny číslicového signálu. Aby k těmto změnám nedocházelo, musí původní signál splňovat vzorkovací teorém ve tvaru f max < f vzy 2, (7.11) kde f max je největší kmitočet spektra původního signálu x [n] a f vzy je snížená hodnota vzorkovacího kmitočtu. Pokud bude splněn vzorkovací teorém, budou členy rovnice (7.7) pro k > 0 rovny nule a rovnici lze upravit na jednodušší tvar Y (z) = 1 M X(z 1 M ). (7.12) bx [n] h 2 [n] b DP M y [k] f vz f vz f vz /M Obrázek 7.1: Blokové schéma podvzorkování (decimace) číslicového signálu. Protože nelze v obecném případě předpokládat splnění vzorkovacího teorému, doporučuje se před podvzorkováním číslicového signálu omezit jeho spektrum filtrací dolní propustí (obr. 7.1) s mezním kmitočtem f H < f vzy /2. Potom číslicový signál po podvzorkování lze matematicky popsat jako y [k] = h 2 [i] x [Mk i], (7.13) i= kde h 2 [n] je impulsní charakteristika dolní propusti. Řešené příklady: Příklad 7.1 Vytvořte harmonický číslicový signál o kmitočtu f x = 1 500 Hz se vzorkovacím kmitočtem f vzx = 8 000 Hz. Vytvořený signál postupně podvzorkujte s činitelem M = 2 a M = 4. Sledujte, jak se mění posloupnost vzorků číslicového signálu a jak se mění modul jeho kmitočtového spektra.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 89 Řešení: a) Původní signál x [n] t [ms] 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1 0 0 f vz /2 f vz x[n] 0.5 0-0.5-1 0 1 2 3 4 5 6 7 8 9 10 11 12 n [-] X(f) [db] -10-20 -30-40 -50-60 0 1000 2000 3000 4000 5000 6000 7000 8000 f [Hz] b) Signál x [n] podvzorkovaný s činitelem M = 2 t [ms] 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1 0 0 f vz /2 f vz 3f vz /2 2f vz y[k] 0.5 0-0.5-1 0 1 2 3 4 5 6 k [-] Y(f) [db] -10-20 -30-40 -50-60 0 1000 2000 3000 4000 5000 6000 7000 8000 f [Hz] c) Signál x [n] podvzorkovaný s činitelem M = 4 t [ms] 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1 0 0 f vz /2 f vz 3f vz /2 2f vz 5f vz /2 3f vz 7f vz /2 4f vz z[l] 0.5 0-0.5-1 0 1 2 3 l [-] Z(f) [db] -10-20 -30-40 -50-60 0 1000 2000 3000 4000 5000 6000 7000 8000 f [Hz] Obrázek 7.2: Ukázka podvzorkování harmonického signálu. Vlevo je vždy posloupnost vzorků (tenkou modrou čarou je zobrazen odpovídající analogový signál) a vpravo modulové kmitočtové spektrum signálu.

Číslicové filtry 90 Vytvořený číslicový signál x [n] = sin [2πf x /f vzx n] je zobrazen na obr. 7.2a. Tenkou modrou čarou je zobrazen odpovídající analogový signál, jehož vzorkováním vznikl uvedený číslicový signál. Modulové kmitočtové spektrum obsahuje harmonickou složku o kmitočtu f x = 1 500 Hz a další složky, které vznikly periodizací podle vzorkovacího kmitočtu f vzx. Nyní vytvořený číslicový signál podvzorkujeme s činitelem M = 2 výběrem každého sudého vzorku y [k] = x [2k] (obr. 7.2b). Počet vzorků decimovaného signálu y [k] bude poloviční než počet vzorků signálu x [n] a na polovinu klesne i hodnota vzorkovacího kmitočtu f vzy = f vzx /2 = 8 000/2 = 4 000 Hz. V kmitočtovém spektru se kromě stávajících harmonických složek objeví další na kmitočtu f y = 2 500 Hz. Tato složka se objeví přesně v souladu s rovnicí (7.8), neboť Y ( f y ) = 1 M Y (2 500) = 1 2 M 1 2 1 k=0 k=0 X ( f y f vzy k ) X (2 500 4 000k ) = 1 2 X(2 500) + 1 X( 1 500) 2 = 1 X( 1 500) 2 Je zřejmé, že spektrum musí být periodické podle vzorkovacího kmitočtu f vzy, a proto se podobná složka objeví i na kmitočtu 5 500 Hz. Při podvzorkování s činitelem M = 4 dojde k porušení vzorkovacího teorému a ke vzniku aliasingu. Pomocí rovnice (7.8) bychom zjistili, že v základním pásmu se objeví nová harmonická složka o kmitočtu f z = 500 Hz. Při rekonstrukci podvzorkovaného signálu z(l) = x(4l) bychom získali analogový harmonický signál o kmitočtu f z = 500 Hz jak je naznačeno na obr. 7.2c. 7.3 Nadvzorkování číslicového signálu v poměru celého čísla Nadvzorkování číslicového signálu je postup, při kterém jsou přidávány nové vzorky mezi vzorky stávající tak, aby se zvýšil počet hodnot a vzorkovací kmitočet. Pokud je mezi dva sousední vzorky číslicového signálu x(n) vloženo L 1 nových vzorků, doba periody vzorkování T y = T x /L klesne L krát a hodnota vzorkovacího kmitočtu f vzy = Lf vzx se L krát zvýší. Přesné hodnoty nových vzorků, které mají být vloženy, však nelze zjistit. Proto se ve většině případů vkládá daný počet nulových hodnot x [n], k = Ln, y [k] = 0, k Ln. (7.14)

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 91 Podobně jako byla odvozena rovnice (7.6), lze odvodit rovnici pro transformaci Z signálu doplněného nulovými vzorky Y (z) = X(z M ). (7.15) Z toho vyplývá vztah mezi kmitočtovým spektrem původního signálu a kmitočtovým spektrem signálu doplněného nulovými vzorky Y (e jω ) = X(e jωm ), (7.16) ω = 2πf f vzy, kde ω představuje relativní úhlový kmitočet, f je hodnota absolutního kmitočtu. Stejný absolutní kmitočet bude u původního signálu vyjádřen relativním úhlovým kmitočtem ω x = 2πf f vzx = 2πf f vzy M = ωm. (7.17) b h 1 [n] b x [n] y [k] L z [l] DP f vz Lf vz Lf vz Obrázek 7.3: Blokové schéma nadvzorkování číslicového signálu. Kmitočtové spektrum signálu doplněného nulovými vzorky bude stejné jako kmitočtové spektrum původního signálu a to včetně složek, které původně vznikly periodizací kmitočtového spektra podle vzorkovacího kmitočtu f vzx. Zperiodizované složky způsobují zkreslení číslicového signálu y [k], neboť původní signál je kmitočtově omezen f vzx /2 a po vzorkování s vzorkovacím kmitočtem f vzy by se v tomto kmitočtovém pásmu harmonické složky neměly vyskytovat. Proto je nutné pomocí číslicového interpolačního filtru typu dolní propust odstranit kmitočtové složky v pásmu od poloviny původního vzorkovacího kmitočtu f vzx /2 do poloviny nového vzorkovacího kmitočtu f vzy /2. V časové oblasti to

Číslicové filtry 92 znamená, že nulové hodnoty přidaných vzorků jsou nastaveny interpolačním filtrem na takovou hodnotu, aby co nejlépe vyplnily prostor mezi vzorky. Nadvzorkovaný signál z [l] získaný podle postupu na obr. 7.3 lze matematicky zapsat takto z [l] = h 1 [i] y [l i]. (7.18) i= kde h 1 [n] je impulsní odezva dolní propusti z obr. 7.3. Řešené příklady: Příklad 7.2 Vytvořte harmonický číslicový signál o kmitočtu f x = 1 500 Hz s vzorkovacím kmitočtem f vzx = 8 000 Hz. Vytvořený signál interpolujte s činitelem L = 2 doplněním nulových vzorků a filtrací dolní propustí. Sledujte jak se mění posloupnost vzorků číslicového signálu a jak se mění modul jeho kmitočtového spektra. Řešení: Na obr. 7.4a je opět číslicový signál x [n] = sin [2πf x /f vzx n]. Tenkou modrou čarou je zobrazen odpovídající analogový signál jehož vzorkováním číslicový signál vznikl. Modulové kmitočtové spektrum obsahuje harmonickou složku o kmitočtu f x = 1 500 Hz a další složky, které vznikly periodizací podle vzorkovacího kmitočtu f vzx. Nyní mezi dva sousední vzorky signálu x [n] vložíme vždy jeden vzorek s nulovou hodnotou a vytvoříme nový číslicový signál y [k]. Počet vzorků signálu y [k] bude dvojnásobný než počet vzorků původního signálu x [n] a stejně tak bude dvojnásobný nový vzorkovací kmitočet f vzy = 2f vzx. Kmitočtové spektrum Y (e jω ) obsahuje stejné harmonické složky jako kmitočtové spektrum původního signálu. Ale vlivem změny vzorkovacího kmitočtu nyní základní pásmo, tj. pásmo < 0; f vzy /2 >, obsahuje dvě harmonické složky. Pokud bychom takový signál rekonstruovali, vznikne analogový signál se dvěmi harmonickými složkami, jak je naznačeno na obr. 7.4b. Signál y [k] zpracujeme dolní propustí o mezním kmitočtu f H = f vzx /2 = 4 000 Hz. Úkolem dolní propusti je odstranit harmonické složky v kmitočtovém pásmu < 4 000 Hz; 8 000 Hz >. V ideálním případě bude kmitočtové spektrum výsledného signálu obsahovat jedinou harmonickou složku o kmitočtu f z = 1 500 Hz. Protože však dolní propust není ideální, dojde ke zpoždění a zkreslení signálu (obr. 7.4c). Nadvzorkovaný signál je vždy jen aproximací číslicového signálu, který by vznikl vzorkováním původního analogového signálu podle nového vzorkovacího kmitočtu f vzy. 7.4 Změna vzorkovacího kmitočtu v poměru racionálního čísla Podvzorkování nebo nadvzorkování v poměru racionálního čísla obecně nelze realizovat prostým výběrem nebo vkládáním odpovídajícího počtu vzorků. Každé racionální číslo

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 93 a) Původní signál x [n] t [ms] 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1 0 0 f vz /2 f vz 3f vz /2 2f vz x[n] 0.5 0-0.5-1 0 1 2 3 4 5 6 7 8 9 10 11 12 n [-] X(f) [db] -10-20 -30-40 -50-60 0 2000 4000 6000 8000 10000 12000 14000 16000 f [Hz] b) Signál x [n] doplněný nulami s činitelem L = 2 t [ms] 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1 0 0 f vz /2 f vz y[k] 0.5 0-0.5-1 0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324 k [-] Y(f) [db] -10-20 -30-40 -50-60 0 2000 4000 6000 8000 10000 12000 14000 16000 f [Hz] c) Signál x [n] nadvzorkovaný s činitelem L = 2 t [ms] 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1 0 0 f vz /2 f vz z[l] 0.5 0-0.5-1 0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324 l [-] Z(f) [db] -10-20 -30-40 -50-60 0 2000 4000 6000 8000 10000 12000 14000 16000 f [Hz] Obrázek 7.4: Ukázka nadvzorkování harmonického signálu. Vlevo je vždy posloupnost vzorků (tenkou modrou čarou je zobrazen odpovídající analogový signál) a vpravo modulové kmitočtové spektrum signálu.

Číslicové filtry 94 však lze převést na podíl dvou celých čísel L/M a tento zlomek vyjadřuje operaci nadvzorkování L a podvzorkování M řazené do kaskády (obr. 7.5a). Pokud lze nalézt největší společný dělitel čísel L a M, je vhodné jím oba činitele podělit. Čím větší totiž daný činitel je, tím více rostou nároky na strmost přechodového pásma filtru typu dolní propusti. bx [n] h 1 [n] h 2 [n] b L DP 1 DP y [k] 2 M f vz Lf vz Lf vz Lf vz M a) Kaskádní spojení nadvzorkování a podvzorkování číslicového signálu. b x [n] h [n] b L DP y [k] M f vz Lf vz Lf vz Lf vz M b) Systém, který vznikne sloučením obou dolních propustí. Obrázek 7.5: Blokové schéma systému se změnou vzorkovacího kmitočtu v poměru racionálního čísla. V takovém případě je zbytečné provádět nejprve filtraci interpolačním filtrem a následně anti-aliasingovým filtrem, ale je možné obě dolní propusti sloučit do jediné (obr. 7.5b) jejíž impulsní charakteristika bude rovna h [n] = h 1 [n] h 2 [n], (7.19) kde h 1 [n] je impulsní odezva interpolačního filtru DP1, h 2 [n] je impulsní odezva anti-aliasingového filtru DP2 a symbol označuje diskrétní konvoluci. Řešené příklady: Příklad 7.3 Číslicový signál vzorkovaný kmitočtem f vzx = 44 100 Hz a zaznamenaný na datovém nosiči CD převzorkujte pro zpracování v hudebním studiu, které používá vzorkovací kmitočet f vzy = 48 000 Hz. Vzorkovací kmitočet musí být změněn v poměru L/M = f vzy /f vzx = 48 000/44 100. Nejvyšším společným jmenovatelem obou vzorkovacích kmitočtů je číslo 300. Nejprve je tedy interpolací s činitelem L = 48 000/300 = 160 zvýšen vzorkovací kmitočet na

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 95 0.5 0.4 Vzorkovací kmitočet f vzx = 44.1 khz f vzy = 48 khz x[nt], y[nt] 0.3 0.2 0.1 0-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 t [ms] Obrázek 7.6: Průběh původního signálu x [n] vzorkovaného kmitočtem f vzx = 44 100 Hz a převzorkovaného signálu y [n] se vzorkovacím kmitočtem f vzy = 48 000 Hz. -20-30 -40 f 2 [Hz] 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 Vzorkovací kmitočet f vzx = 44.1 khz f vzy = 48 khz X(f 1 ), Y(f 2 ) [db] -50-60 -70-80 -90-100 -110-120 0 5000 10000 15000 20000 25000 30000 35000 40000 f 1 [Hz] Obrázek 7.7: Modul kmitočtového spektra původního signálu X(f 1 ) vzorkovaného kmitočtem f vzx = 44 100 Hz a převzorkovaného signálu Y (f 2 ) se vzorkovacím kmitočtem f vzy = 48 000 Hz.

Číslicové filtry 96 hodnotu f vz = 160 44 100 = 7 056 000 Hz. Po filtraci dolní propustí je nadvzorkovaný signál decimován s činitelem M = 44 100/300 = 147 a vzorkovací kmitočet se sníží na požadovanou hodnotu f vz = 7 056 000/147 = 48 000 Hz. Na obr. 7.6 je srovnání původního signálu a signálu vytvořeného změnou vzorkovacího kmitočtu. Je dobře patrné, že oba signály mají stejnou obálku (představující analogový signál), ale nový signál má větší hustotu vzorků než signál původní. Spektra obou signálů (obr. 7.7) mají pro nízké kmitočty velice podobné složky, ale na vyšších kmitočtech se projeví zkreslení způsobené nadvzorkováním a podvzorkováním. 7.5 Vliv změny vzorkovacího kmitočtu na kmitočtovou charakteristiku číslicového filtru Podobné jevy, které nastaly při podvzorkování nebo nadvzorkování číslicového signálu, se projeví na kmitočtové charakteristice číslicového filtru, pokud bude zpracovávat signál o jiném vzorkovacím kmitočtu, než pro který byl filtr navržen. V části 2.7 bylo odvozeno, že kmitočtovou charakteristiku H(e jωt ) číslicového filtru lze získat z přenosové funkce H(z) substitucí z = e jωt. Exponent ωt lze upravit na tvar ωt = 2π f f vz = 2πf r = ω r, (7.20) kde f je absolutní kmitočet, f r je relativní kmitočet, ω je úhlový kmitočet a ω r je relativní úhlový kmitočet. Z důvodu periodicity funkce e jω podle 2π je kmitočtová charakteristika číslicového filtru vždy periodická podle vzorkovacího kmitočtu f vz. Pokud bude číslicový filtr navržený pro vzorkovací kmitočet f vzx použit pro filtraci číslicového signálu se vzorkovacím kmitočtem f vzy = kf vzx bez jakékoli úpravy koeficientů filtru, tzn. přenosová funkce H(z) číslicového filtru zůstane zachována, nezmění se kmitočtová charakteristika H(f r ) filtru v závislosti na relativním kmitočtu. Protože se však změnil vzorkovací kmitočet, dojde k transformaci osy absolutních kmitočtů. Nová hodnota kmitočtové charakteristiky H (f) filtru pro absolutní kmitočet f bude rovna hodnotě původní kmitočtové charakteristiky H(f/k) pro absolutní kmitočet f/k. Důsledkem bude změna mezních kmitočtů, změna šířky pásma filtru a změna strmosti přechodových pásem, přestože tvar charakteristiky zůstane zachován. Pokud bude k > 1, tzn. filtr je použit pro vyšší vzorkovací kmitočet, mezní kmitočty se zvýší, stejně tak se zvýší šířka pásma, ale strmost přechodových pásem se sníží. Naopak pro k < 1, tzn. filtr je použit pro nižší vzorkovací kmitočet, se sníží mezní kmitočty, klesne i šířka pásma, ale strmost přechodových pásem se zvýší.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 97 Pokud z nějakého důvodu vznikne požadavek na zachování osy absolutních kmitočtů, musí být přenosová funkce číslicového filtru transformována substitucí H (z) = H(z k ). (7.21) Potom hodnota nové kmitočtové charakteristiky pro danou hodnotu absolutního kmitočtu bude stejná jako hodnota původní kmitočtové charakteristiky na tomtéž absolutním kmitočtu ( H e j2π f fvzy ) = H ) ( f jk 2π (e fvzy = H e ) jk 2π f kfvzx ( = H e j2π f fvzx ). (7.22) Nepříjemným důsledkem bude změna tvaru charakteristiky. Pokud bude k < 1, tzn. filtr bude použit pro nižší vzorkovací kmitočet, může vzniknout aliasing podobně jako při podvzorkování číslicového signálu. Naopak pokud bude k > 1, tzn. filtr bude použit pro vyšší vzorkovací kmitočet, zůstanou v charakteristice propustná pásma, která vznikla periodizací kmitočtové charakteristiky podle původního vzorkovacího kmitočtu podobně jako při nadvzorkování číslicového signálu. Situace je však daleko složitější a podrobnější popis lze nalézt v knihách o transformaci Z a jejím použití. Řešené příklady: Příklad 7.4 Mějme číslicový filtr typu pásmová propust f D = 1 600 Hz, f H = 2 400 Hz navržený pro vzorkovací kmitočet f vz = 8 000 Hz s přenosovou funkcí H(z) = 0.0018z8 0.0073z 6 + 0.011z 4 0.0073z 2 + 0.0018. z 8 + 3.0543z 6 + 3.8290z 4 + 2.2925z 2 + 0.5507 Vykreslete kmitočtovou charakteristiku tohoto filtru, pokud bude použit pro signál se vzorkovacím kmitočtem f vz = 4 000 Hz,f vz = 8 000 Hz a f vz = 16 000 Hz a to beze změny přenosové funkce nebo s použitím odpovídající substituce z z 1 2, z z 2. Řešení: Nejprve vykreslíme modulové kmitočtové charakteristiky pro různé vzorkovací kmitočty beze změny tvaru přenosové funkce filtru. V tom případě tvar kmitočtové charakteristiky zůstává pro všechny vzorkovací kmitočty stejný (obr. 7.8), pouze dochází ke změně kmitočtové osy podle vzorkovacího kmitočtu. V druhé části musíme nejprve vypočítat přenosovou funkci pro odpovídající substituci. Pro vzorkovací kmitočet f vz = 4 000 Hz platí k = 1/2, a proto hledáme přenosovou funkci H (z) = H ( ) 0.0018z 4 0.0073z 3 + 0.011z 2 0.0073z + 0.0018 z 1 2 =. z 4 + 3.0543z 3 + 3.8290z 2 + 2.2925z + 0.5507

Číslicové filtry 98 a) Vzorkovací kmitočet f vz = 4 000 Hz H(f) [db] 0 f vz /2 f vz H (z) 0-10 -20-30 -40-50 -60 0 500 1000 1500 2000 2500 3000 3500 4000 f [Hz] H(f) [db] 0 f vz /2 f vz 0 H (z 1/2 ) -10-20 -30-40 -50-60 0 500 1000 1500 2000 2500 3000 3500 4000 f [Hz] b) Vzorkovací kmitočet f vz = 8 000 Hz H(f) [db] 0 f vz /2 f vz H (z) 0-10 -20-30 -40-50 -60 0 1000 2000 3000 4000 5000 6000 7000 8000 f [Hz] H(f) [db] 0 f vz /2 f vz H (z) 0-10 -20-30 -40-50 -60 0 1000 2000 3000 4000 5000 6000 7000 8000 f [Hz] c) Vzorkovací kmitočet f vz = 16 000 Hz H(f) [db] 0 f vz /2 f vz H (z) 0-10 -20-30 -40-50 -60 0 2000 4000 6000 8000 10000 12000 14000 16000 f [Hz] H(f) [db] 0 f vz /2 f vz 0 H (z 2 ) -10-20 -30-40 -50-60 0 2000 4000 6000 8000 10000 12000 14000 16000 f [Hz] Obrázek 7.8: Modul kmitočtové charakteristiky filtru pro různé vzorkovací kmitočty. Vlevo je charakteristika filtru bez změny přenosové funkce, vpravo je charakteristika přenosové funkce, která vznikla odpovídající substitucí.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 99 Z kmitočtové charakteristiky (obr. 7.8a) je vidět, že došlo k aliasingu a filtr typu pásmové propusti se změnil na filtr typu horní propusti. Podobně pro vzorkovací kmitočet f vz = 16 000 Hz platí k = 2. Přenosová funkce bude mít po substituci z z 2 tvar H (z) = H ( z 2) = 0.0018z16 0.0073z 12 + 0.011z 8 0.0073z 4 + 0.0018. z 16 + 3.0543z 12 + 3.8290z 8 + 2.2925z 4 + 0.5507 Po substituci opět došlo ke změně kmitočtové charakteristiky číslicového filtru. Číslicový filtr s novou přenosovou funkcí je typu pásmové propusti se dvěmi propustnými pásmy (obr. 7.8c). Shrnutí: Nejprve jsou v této kapitole vysvětleny operace decimace (podvzorkování) a interpolace (nadvzorkování). Potom jsou obě operace spojeny pro dosažení změny vzorkovacího kmitočtu v poměru racionálního čísla. Na závěr je popsán vliv změny vzorkovacího kmitočtu na kmitočtovou charakteristiku číslicového filtru.

Číslicové filtry 100

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 101 8 BANKY ČÍSLICOVÝCH FILTRŮ A SOUVISLOST S VLNKOVOU TRANSFORMACÍ Cíl: V poslední kapitole je popsáno zpracování signálu pomocí bank číslicových filtrů. Ukázalo se, že není nutné zpracovávat signál se stále stejným vzorkovacím kmitočtem, neboť může zbytečně obsahovat nadbytečné informace, které se nevyužívají a vede to k požadavku velké výpočetní výkonnosti. Nejvíce se používají kvadraturní zrcadlové banky číslicových filtrů zvláště pro kompresi signálu nebo pro odstranění šumu. S výhodou se banky číslicových filtrů také používají ve spojení s waveletovou (vlnkovou) transformací. 8.1 Úvod Tradiční metody číslicového zpracování signálů zpracovávají diskrétní signál, který má stále stejný vzorkovací kmitočet. Při zvyšování nároků na výpočetní výkonnost a složitost zpracování se ukázalo, že tyto metody již nesplňují požadavky na ně kladené a byly hledány nové přístupy. Jednou z možností je měnit vzorkovací kmitočet signálu během jeho zpracování. Chceme-li snížit vzorkovací kmitočet diskrétního signálu (signál podvzorkovat neboli decimovat), tak jednoduše vynecháme některé vzorky. Chceme-li zvýšit vzorkovací kmitočet (nadvzorkovat neboli interpolovat), tak naopak další vzorky přidáme. Změně vzorkovacího kmitočtu diskrétního signálu byla věnována kapitola 7. Zpracování signálu s více vzorkovacími kmitočty (multirate digital signal processing) našlo nejprve uplatnění při zpracování hudebního a řečového (audio) signálu. V začátku byla pouze snaha přizpůsobit data ze studiových zařízení DAT (Digital Audio Tape) (f vz = 48kHz), CD (Compact Disc) nosičů (f vz = 44, 1kHz) a rozhlasového vysílání (f vz = 32kHz) bez nutností převodu číslicových dat do analogové formy pomocí D/A převodníku a následného opětovného vzorkování s novým vzorkovacím kmitočtem v A/D převodníku. Ukázalo se, že tento typ zpracování má své výhody ve výpočetní efektivnosti zpracování zvláště tehdy, když je skupina číslicových filtrů sdružena do banky filtrů. Banka číslicových filtrů je skupina číslicových filtrů, která má společný vstupní signál a výstupní signál je získán součtem dílčích výstupních signálů. Banka filtrů se skládá ze dvou částí (obr. 8.1): banka filtrů pro analýzu banka filtrů pro syntézu Sekce analýzy obsahuje M dílčích filtrů s přenosem H i (z), i = 0, 1,..., M 1. Příslušné subpásmové signály jsou x i [n], i = 0, 1,..., M 1. Po přenosu nebo po zpracování dostaneme subpásmové signály pro syntézu y j [n], j = 0, 1,..., L 1. Sekce syntézy obsahuje L dílčích filtrů s přenosem F j (z), j = 0, 1,... L 1. Obecně nemusí platit, že obě

Číslicové filtry 102 Obrázek 8.1: Blokový diagram banky číslicových filtrů. skupiny mají stejný počet číslicových filtrů. Na obrázku 8.2 vidíme příklad idealizovaných modulových kmitočtových charakteristik analyzující banky číslicových filtrů s rovnoměrnou šířkou propustného pásma (obr. 8.2a) a nerovnoměrnou šířkou propustného pásma (obr. 8.2b). Nerovnoměrnou šířku pásma dosáhneme například s pomocí vlnkové transformace. Takovým způsobem lze například také realizovat diskrétní Fourierovu transformaci (DFT) jako banku filtrů typu pásmové propusti se stejně širokými propustnými pásmy [13]. Ukázalo se jako výhodné použít banku filtrů se změnou vzorkovacího kmitočtu během zpracování signálu. Typickou aplikací je subpásmové kódování (subband coding) řečových, zvukových a obrazových signálů, které se používá například v kompresních metodách typu MPEG. Na obrázku 8.3 je vidět M-kanálová banka filtrů s kodéry a dekodéry. 8.2 Banky kvadraturních zrcadlových filtrů Uvažujme nejprve dvoupásmovou verzi banky kvadraturních zrcadlových filtrů neboli banky filtrů typu QMF (Quadrature Mirror Filter), která je zobrazena na obr. 8.4 [11]. Na obrázku 8.5 vidíme idealizované modulové kmitočtové charakteristiky analyzujících číslicových filtrů typu dolní propusti H 0 (e jω ) a typu horní propusti H 1 (e jω ). Vstupní signál je nejprve rozdělen pomocí dolní a horní propusti do dvou pásem. Oba subpásmové signály x 0 [n] a x 1 [n] jsou dále podvzorkovány (decimovány) s činitelem 2 a jsou tak získány signály v 0 [n] a v 1 [n]. Podvzorkování s činitelem 2 znamená, že z po-

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 103 modul H H H H H H 0 1 2 3 4 5... 0 ω modul H H H H 0 1 2 3... 0 ω Obrázek 8.2: Idealizované modulové kmitočtové charakteristiky banky číslicových filtrů s rovnoměrnými (a) a nerovnoměrnými (b) šířkami propustného pásma. Obrázek 8.3: Příklad M-kanálové subpásmové banky filtrů. sloupností x 0 [n] a x 1 [n] je vynecháván každý druhý vzorek, a tudíž výsledné signály v 0 [n] a v 1 [n] mají poloviční délku. Tyto dva signály jsou dále kvantovány a kódovány. Přitom jsou brány v úvahu percepční vlastnosti lidského sluchu nebo zraku, aby nebylo přenášeno více bitů než člověk dokáže rozlišit sluchem nebo zrakem. Po zpracování či přenosu je nejprve provedeno dekódování. Potom je zvýšen dvakrát vzorkovací kmitočet. Dosáhneme toho tím způsobem, že vždy mezi dva vzorky vložíme jeden další nulový vzorek. Výsledné posloupnosti y 0 [n] a y 1 [n] jsou stejně dlouhé jako výchozí posloupnosti x 0 [n] a x 1 [n]. Potom jsou výsledné posloupnost filtrovány rekonstrukčními filtry F 0 (e jω ) a F 1 (e jω ).

Číslicové filtry 104 Obrázek 8.4: Dvoupásmová banka číslicových filtrů typu QMF. modul 1 H j ω j ω (e ) H (e ) 0 1 0 π 2 π ω 0 f vz / 4 f vz / 2 ω Obrázek 8.5: Idealizované modulové kmitočtové charakteristiky analyzujících číslicových filtrů typu dolní propusti a horní propusti. Výstupy obou filtrů jsou sečteny a tak dostaneme rekonstruovaný signál x [n]. Tento signál se může lišit od původního signálu x [n] působením tří vlivů: aliasingu, modulového a fázového zkreslení. Je možné nalézt takové podmínky, že všechny tři nepříznivé vlivy jsou kompenzovány. Potom hovoříme o zpracování signálu bankou filtrů s dokonalou rekonstrukcí. Podobně lze definovat podmínky pro dokonalou rekonstrukci v M-pásmové bance filtrů. Nyní budeme definovat podmínky mezi vstupním signálem x [n] a rekonstruovaným signálem x [n] pro dosažení zpracování s dokonalou rekonstrukcí pro dvoupásmovou banku

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 105 číslicových filtrů. Jak plyne z obrázku 8.4, pro obrazy transformace Z platí: X 0 (z) = H 0 (z) X(z), X 1 (z) = H 1 (z) X(z). (8.1) Podle rovnice (7.7) pro obrazy podvzorkované s činitelem M = 2 platí V 0 (z) = 1 2 X 0(z 1/2 ) + 1 2 X 0( z 1/2 ), V 1 (z) = 1 2 X 1(z 1/2 ) + 1 2 X 1( z 1/2 ). (8.2) Členy 1 2 X 0( z 1/2 ) a 1 2 X 1( z 1/2 ) vyjadřují vliv aliasingu. Další operací je nadvzorkování (interpolace) pro L = 2. Podle (7.15) pro obrazy v transformaci Z platí Y 0 (z) = V 0 (z 2 ) = 1 2 X 0(z) + 1 2 X 0( z) = 1 2 [H 0(z)X(z) + H 0 ( z)x( z)], (8.3) Y 1 (z) = V 1 (z 2 ) = 1 2 X 1(z) + 1 2 X 1( z) = 1 2 [H 1(z)X(z) + H 1 ( z)x( z)]. Rekonstruovaný signál x [n] má obraz v transformaci Z (se substitucí z (8.3)): X(z) = F 0 (z)y 0 (z) + F 1 (z)y 1 (z) = 1 2 [H 0(z)F 0 (z) + H 1 (z)f 1 (z)] X(z) (8.4) + 1 2 [H 0( z)f 0 (z) + H 1 ( z)f 1 (z)] X( z). Druhý sčítanec v rovnici (8.4), který obsahuje X( z), vzniká vlivem podvzorkování a vyjadřuje vliv aliasingu. Jestliže vyjádříme obraz X( z) na jednotkové kružnici v rovině z, tj. když platí z = e jω, pak dostaneme: X( e jω ) = X(( 1)e jω ) = X(e jπ e jω )) = X(e j(ω π) ). (8.5)

Číslicové filtry 106 Jedná se o posunutou verzi původní kmitočtové charakteristiky X(e jω ). Rovnici (8.4) je možné také vyjádřit v maticovém tvaru: 2 X(z) = [ X(z) X( z) ] H 0(z) H 1 (z) H 0 ( z) H 1 ( z) F 0(z) F 1 (z). (8.6) Dokonalé rekonstrukce je u dvoupásmové banky filtrů typu QMF dosaženo tehdy, když rekonstruovaný signál x [n] je pouze zesílenou nebo zeslabenou a zpožděnou verzí vstupního signálu x [n], tj. když platí podmínka x [n] = k x [n n 0 ], k 0, n 0 > 0, X(z) = k z n 0 X(z). (8.7) Nyní hledáme vzájemnou souvislost mezi dílčími přenosy H 0 (z), H 1 (z), F 0 (z) a F 1 (z). K zamezení aliasingu musí být druhý sčítanec v rovnici (8.4) roven nule: H 0 ( z)f 0 (z) + H 1 ( z)f 1 (z) = 0. (8.8) Jedno z možných řešení je: F 0 (z) = H 1 ( z), F 1 (z) = H 0 ( z). (8.9) Základní myšlenkou banky číslicových filtrů typu QMF je povolit aliasing v analyzující části namísto toho, abychom se ho vyvarovali. Syntézující banka filtrů je pak navržena tak, aby v ní byl aliasing z analyzující části vykompenzován. Podmínky (8.8) a (8.9) zabraňují aliasingu. Pro kompenzaci modulových a fázových chyb je nutné doplnit další podmínky. Podmínka dokonalé rekonstrukce v rovnici (8.7) definuje přenosovou funkci: T (z) = X(z) X(z) = k z n 0. (8.10) Za předpokladu platnosti rovnic (8.4) a (8.8) bude tato přenosová funkce mít tvar: T (z) = 1 2 [H 0(z)F 0 (z) + H 1 (z)f 1 (z)]. (8.11)

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 107 Využijeme-li podmínky (8.9) pro odstranění aliasingu, obdržíme: T (z) = 1 2 [H 0(z)H 1 ( z) H 1 (z)h 0 ( z)]. (8.12) Protože požadujeme, aby číslicové filtry H 0 (z) a H 1 (z) měly zrcadlovou kmitočtovou charakteristiku (obr. 8.5), tak z dolní propusti H 0 (z) dostaneme horní propust H 1 (z) tím, že změníme znaménko u parametru z: H 1 (z) = H 0 ( z). (8.13) Jestliže obě přenosové funkce v (8.13) mají pouze reálné koeficienty, pak platí: H 1 (e jω ) = H 0 (e j(ω π) ). (8.14) Z této rovnice také vyplývá název této banky filtrů, protože modul H 1 (e jω ) je zrcadlovým obrazem modulu H 0 (e jω ) vůči kvadraturnímu kmitočtu 2π/4 = π/2 = f vz /4. Dáme-li dohromady rovnice (8.9) a (8.13), pak lze psát: F 0 (z) = H 0 (z), F 1 (z) = H 1 (z). (8.15) Na základě vztahů (8.13) a (8.15) vidíme, že všechny čtyři číslicové filtry banky filtrů typu QMF jsou určeny pouze návrhem jedné přenosové funkce dolní propusti H 0 (z). 8.3 Vlnková transformace a banky číslicových filtrů Při zpracování signálu používáme určité transformace zpravidla z toho důvodu, abychom získali nový pohled na signál a mohli zřetelněji vystihnout jeho vlastnosti. Tyto nové vlastnosti nám pomohou zvolit efektivnější metodu jeho zpracování. Klasickou a velmi používanou transformací je Fourierova transformace [6, 7], která má svou diskrétní podobu v diskrétní Fourierově transformaci (DFT). Základní ortogonální bází této transformace jsou harmonické signály (sinus a kosinus). Definiční vztah Fourierovy transformace spojitého signálu x(t) je: X(jω) = x(t)e jωt dω. (8.16)

Číslicové filtry 108 Fourierův obraz nám detailně popisuje spektrální vlastnosti signálu, ale nemáme současně informaci o tom, v kterém časovém okamžiku mělo spektrum tento tvar. Tento problém v roce 1946 řešil Dennis Gabor tím, že signál před použitím Fourierovy transformace násobil Gaussovým oknem ve tvaru: w(t) = Ce bt2, b > 0. (8.17) Transformace s tímto oknem se nazývá krátkodobá (krátká) Fourierova transformace se spojitým časem s označením STFT (Short-Time Fourier Transform). Někdy se také označuje jako Gaborova transformace. Jedná se stále o spojitou transformaci. x [ n] w [ n] w [ n k ]...... 0 n Obrázek 8.6: Diskrétní signál x [n] násobený oknem w [n], které je posouváno. Uvažujeme diskrétní signál (posloupnost) x [n], který může vzniknout například vzorkováním spojitého signálu x(t) se vzorkovací periodou T = 1/f vz. Potom lze definovat Fourierovu transformaci diskrétního signálu: X(e jω ) = x [n]e jωn. (8.18) n= Vidíme, že kmitočet je stále spojitou veličinou a vlivem diskretizace v časové oblasti došlo ke změně integrálu v sumu. I tato transformace nic neříká o čase, kdy je spektrum zjišťováno. Proto, podobně jak ve spojitém případě, násobíme diskrétní signál oknem. Diskrétní signál násobený diskrétní verzí Gaborova okna je nakreslen na obr. 8.6.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 109 Časově diskrétní transformace typu STFT má tvar: X STFT (e jω, i) = n= x [n]w [n i]e jωn. (8.19) Sice stále jsou časové meze definovány v intervalu od do +, ale od určité hranice dané malými hodnotami okna jsou příspěvky diskrétního signálu ke spektru malé. Poznamenejme, že diskrétní Fourierovu transformaci (DFT) dostaneme z transformace typu STFT tak, že zvolíme pravoúhlé okno o délce N (tím se sníží meze sumy pouze na N hodnot) a kmitočet, který je spojitý, také diskretizujeme pro N hodnot. modul 2 π H 0 H 1 H 2 H 2 H H 0 M 1......... 0 ω 0 ω 1 ω 2 ω 3 ω M ω ω 1 M Obrázek 8.7: Modulové kmitočtové charakteristiky banky číslicových filtrů v kmitočtovém pásmu od 0 do 2π (0 až f vz ). Kmitočtová charakteristika Gaborova okna W (e jω ) má tvar dolní propusti (popř. pásmové propusti uvažujeme-li i záporné kmitočty), která začíná kmitočtem ω = 0. Protože nechceme sledovat jen kmitočtové pásmo kolem nulového kmitočtu, tak provedeme posun středu pásmové propusti z nulového kmitočtu na kmitočet ω k. Zvolme M kmitočtů v pásmu od 0 do 2π podle vztahu: 0 ω 0 < ω 1 < < ω M 1 < 2π. (8.20) V tom případě se transformace typu STFT podle (8.19) dá nahradit bankou filtrů s M pásmovými propustmi s přenosovými funkcemi H k (z), které jsou následovány modulátory e jω kn. Kmitočtové charakteristiky pásmových propustí jsou definovány tvarem okna podle vztahu: H k (e jω ) = W (e j(ω ω k) ), k = 0, 1,..., M 1. (8.21) Pásmové propusti jsou vystředěny kolem kmitočtu ω k, jak je vidět na obr. 8.7.

Číslicové filtry 110 Obrázek 8.8: Transformace typu STFT jako banka číslicových filtrů. Obrázek 8.9: Banka číslicových filtrů pro analýzu, realizující transformaci typu STFT pro M kmitočtových pásem.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 111 Odpovídající banka číslicových filtrů, která realizuje transformaci typu STFT pro M kmitočtů ω k, je zobrazena na obr. 8.8. Signály na výstupu banky filtrů na obr. 8.8 obsahují zbytečně mnoho informace. Tuto nadbytečnost odstraníme podvzorkováním (decimací). Spojení banky STFT číslicových filtrů s podvzorkováním je znázorněno na obr. 8.9. Nevýhodou této banky filtrů a jiných podobných bank s dalšími použitými okny je v tom, že M pásmových propustí má stejnou šířku propustného pásma. Tím je dosaženo nestejného rozlišení pro nízké a vysoké kmitočty. Aby bylo dosaženo stejného relativního kmitočtového rozlišení, bylo by vhodnější, kdyby se postupně šířka propustného pásma pásmových propustí zvětšovala se zvyšováním kmitočtu signálu. Na tomto principu je založeno použití vlnkové transformace. Vlnkové funkce (wavelety) jsou vlastně impulsní charakteristiky číslicových filtrů banky typu QMF. Protože se v bance filtrů používá nestejnoměrné decimace (podvzorkování) a interpolace (nadvzorkování), dochází ke změně šířky kmitočtových pásem číslicových filtrů banky. I když jde pouze o dolní a horní propusti, vlivem změny vzorkovacího kmitočtu a periodicity kmitočtové charakteristiky jsou to vlastně pásmové propusti. Na obr. 8.10 je zobrazena idealizovaná modulová kmitočtová charakteristika horní propusti, která je následovně dvakrát a čtyřikrát podvzorkována. Princip použití QMF banky číslicových filtrů spočívá v postupném dělení užitečného kmitočtového pásma na dvě poloviny pomocí dolní propusti s přenosovou funkcí G(z) a horní propusti s přenosovou funkcí H(z). Tříúrovňový strom banky filtrů s vlnkovými funkcemi je vidět na obr. 8.11. Na dalším obrázku 8.12 jsou zobrazeny idealizované modulové kmitočtové charakteristiky dolní propusti s přenosovou funkcí G(z) (a) a idealizované modulové kmitočtové charakteristiky dalších filtračních cest ve stromu na obr. 8.11. Výstupní signál y 2 [n] dostaneme na výstupu kombinace filtrů s výslednou přenosovou funkcí: H 2 (z) = H(z 4 ) G(z 2 ) G(z). (8.22) Výstupní signál y 1 [n] je získán na výstupu větve s přenosovou funkcí: H 1 (z) = H(z 2 ) G(z). (8.23) Binární strom z obrázku 8.11 je možné převést na odpovídající čtyřkanálový systém, který je ukázán na obr. 8.13. Podobný čtyřkanálový systém pro syntézu, který odpovídá analyzující bance z obr. 8.13, je vidět na obr. 8.14. Typické idealizované modulové kmitočtové charakteristiky, které odpovídají bankám číslicových filtrů s vlnkovými funkcemi jsou ukázány na obr. 8.15.

Číslicové filtry 112 modul H( z ) a) 0 π / 2 π 3 π / 2 2 π ω modul H 2 ( z ) b) modul 0 π / 2 π 3 π / 2 2 π ω H ( z 4 ) c) 0 π / 2 π 3 π / 2 2 π ω Obrázek 8.10: Idealizovaná modulová kmitočtová charakteristika horní propustí s přenosovou funkcí H(z) a její dvakrát (b) a čtyřikrát podvzorkovaná verze (c). Shrnutí: V kapitole byly definovány banky číslicových filtrů zvláště s důrazem na dvojpásmové a vícepásmové banky kvadraturních zrcadlových číslicových filtrů. Byly odvozeny podmínky pro zpracování signálu bankou filtrů s dokonalou rekonstrukcí. Na závěr byl ukázán způsob použití vlnkové transformace pro analyzující a syntezující banku číslicových filtrů.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 113 Obrázek 8.11: Tříúrovňový binární strom banky číslicových filtrů typu QMF s vlnkovými funkcemi. modul G ( z) a) 0 π / 2 π ω modul 4 2 ( ) H z G ( z ) G ( z) 2 H ( z ) G ( z) H ( z) b) 0 π / 2 π ω Obrázek 8.12: Idealizované modulové kmitočtové charakteristiky dolní propusti G(z) (a) a kombinace dolních a horních propustí G(z) a H(z) (b).

Číslicové filtry 114 Obrázek 8.13: Ekvivalentní systém banky filtrů pro analýzu, který odpovídá binárnímu stromu QMF banky filtrů z obr. 8.11. Obrázek 8.14: Syntetizující banka filtrů, která patří k bance pro analýzu na obr. 8.11 nebo 8.12.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 115 modul 2 2 2 2 H 3 a F 3 H 2 a F 2 H 1 a F 1 H 0 a F 0 0 π / 8 π / 4 π / 2 π ω Obrázek 8.15: Idealizované modulové kmitočtové charakteristiky analyzující a syntézující banky číslicových filtrů z obr. 8.13 a 8.14.

Číslicové filtry 116

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 117 Literatura [1] Škrášek, J., Tichý, Z. Základy aplikované matematiky II. SNTL, Praha 1986. [2] Vích, R., Smékal, Z. Číslicové filtry. Academia, Praha 2000. ISBN 80-200-0761-X [3] Vích, R. Z Transform Theory and Applications. SNTL, Praha 1987. ISBN 90-277- 1917-9 [4] Vích, R. Transformace Z a některá její použití. SNTL Praha 1983. 2. vydání. [5] Smékal, Z., Vích, R. Zpracování signálů pomocí signálových procesorů. Radix, spol. s.r.o., Praha, 1998. ISBN 80-86031-18-7 [6] Čížek, V. Diskrétní Fourierova transformace a její použití. SNTL, Praha 1981. ISBN 04-019-81 [7] Čížek, V. Discrete Fourier Transforms and Their Applications. Adam Hilger, Bristol 1986. [8] Haykin S., Adaptive Filter Theory. Prentice Hall, Englewood Cliffs 1986, NJ 07632. ISBN 0-13-013236-5 [9] Uhlíř, J., Sovka P., Číslicové zpracování signálů. Vydavatelství ČVUT, Praha 1995. ISBN 80-01-01303-0 [10] Griffiths, L.J. An Adaptive Lattice Structure for Noise-Cancelling Applications. In: Proceedings of ICASSP, Tulsa, Oklahoma, USA, 1978, pp. 87-90. [11] Vaidyanathan, P.P., Multirate Systems and Filter Banks. Prentice-Hall, Englewood Cliffs, New Jersey, 1993. ISBN 0-13-605718-7 [12] Fliege, N.J., Multirate Digital Signal Processing. John Wiley and Sons, Chichester, 1996. ISBN 0-471-93976-5 [13] Mitra, S.K., Digital Signal Processing - A Computer-Based Approach. McGraw-Hill, New York, 2001. ISBN 0-07-118175-X. [14] Dostál, T., Elektrické filtry. PC-DIR, Brno, 1997. ISBN 80-214-0877-4.

Číslicové filtry 118

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 119 A 1 Návod na použití tabulek H DPN( j ω) [-] A P A N 1 ω DPN ω Obrázek A.1: Modulová kmitočtová charakteristika aproximace normované dolní propusti s vyznačením důležitých hodnot. 3 db 20 db n = 3 2 1 A P [db] A N [db] 3.29 ω DPN Obrázek A.2: Návod na použití nomogramů pro určení řádu filtru.

Číslicové filtry 120 B Butterworthova aproximace Obrázek B.1: Nomogram pro určení řádu Butterworthovy aproximace.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 121 Tabulka B.1: Koeficienty Butterworthovy aproximace. Maximální zvlnění v propustném pásmu 3 db. N b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 1 1 1 - - - - - - - - 2 1 1.4142136 1 - - - - - - - 3 1 2.0000000 2.0000000 1 - - - - - - 4 1 2.6131259 3.4142136 2.6131259 1 - - - - - 5 1 3.2360630 5.2360680 5.2360680 3.2360680 1 - - - - 6 1 3.8637033 7.4641016 9.1416202 7.4641016 3.8637033 1 - - - 7 1 4.4939592 10.0978347 14.5917939 14.5917939 10.0978347 4.4939592 1 - - 8 1 5.1258309 13.1370712 21.8461510 25.6883559 21.8461510 13.1370712 5.1258309 1-9 1 5.7587705 16.5817187 31.1634375 41.9863857 41.9863857 31.1634375 16.5817187 5.7587705 1 H(p) = N 1 bip i i=0

Číslicové filtry 122 C Čebyševova aproximace Obrázek C.1: Nomogram pro určení řádu Čebyševovy aproximace.

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 123 Tabulka C.1: Koeficienty Čebyševovy aproximace. Maximální zvlnění v propustném pásmu 0.5 db. N c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 1 2.8627752 1 - - - - - - - - 2 1.5162026 1.4256245 1 - - - - - - - 3 0.7156938 1.5348954 1.2529130 1 - - - - - - 4 0.3790506 1.0254553 1.7168662 1.1973856 1 - - - - - 5 0.1789234 0.7525181 1.3095747 1.9373675 1.1724909 1 - - - - 6 0.0947627 0.4323669 1.1718613 1.5897635 2.1718446 1.1591761 1 - - - 7 0.0147309 0.2820722 0.7556511 1.6479029 1.8694079 2.4126510 1.1512176 1 - - 8 0.0236907 0.1525444 0.5735604 1.1485894 2.1840154 2.1492173 2.6567498 1.1460801 1-9 0.0111827 0.0941198 0.3408193 0.9838199 1.6113880 2.7814990 2.4293297 2.9027337 1.1425705 1 Maximální zvlnění v propustném pásmu 1 db. N c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 1 1.9652267 1 - - - - - - - - 2 1.1025103 1.0977343 1 - - - - - - - 3 0.4913067 1.2484092 0.9883412 1 - - - - - - 4 0.2756276 0.7426194 1.4539248 0.9528114 1 - - - - - 5 0.1228267 0.5805342 0.9743961 1.6888160 0.9368201 1 - - - - 6 0.0689069 0.3070806 0.9393455 1.2021404 1.9308249 0.9282510 1 - - - 7 0.0307067 0.2136714 0.5486198 1.3575448 1.4287943 2.1760785 0.9231235 1 - - 8 0.0172267 0.1073447 0.4478257 0.8468243 1.8369024 1.6551557 2.4230264 0.9198113 1-9 0.0076767 0.0706048 0.2441864 0.7863109 1.2016072 2.3781189 1.8814798 2.6709468 0.9175476 1 H(p) = c 0 N cip i i=0

Číslicové filtry 124 Maximální zvlnění v propustném pásmu 2 db. N c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 1 1.3075603 1 - - - - - - - - 2 0.8230604 0.8038164 1 - - - - - - - 3 0.3268901 1.0221903 0.7378216 1 - - - - - - 4 0.2057651 0.5167981 1.2564819 0.7162150 1 - - - - - 5 0.0817225 0.4593491 0.6934770 1.4995433 0.7054606 1 - - - - 6 0.0514413 0.2102706 0.7714618 0.8670149 1.7458587 0.7012257 1 - - - 7 0.0204306 0.1661263 0.3826381 1.1445966 1.0395458 1.9936653 0.6980907 1 - - 8 0.0128603 0.0729373 0.3587043 0.5982214 1.5795807 1.2117121 2.2422529 0.6960645 1-9 0.0051076 0.0543756 0.1684473 0.6444677 0.8568648 2.0767479 1.3837465 2.4912897 0.6946793 1 Maximální zvlnění v propustném pásmu 3 db. N c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 1 1.0023773 1 - - - - - - - - 2 0.7079478 0.6448996 1 - - - - - - - 3 0.2505943 0.9283480 0.5972404 1 - - - - - - 4 0.1769869 0.4047679 1.1691176 0.5815799 1 - - - - - 5 0.0626486 0.4079663 0.5489371 1.4150251 0.5745000 1 - - - - 6 0.0442467 0.1634299 0.6990977 0.6906098 1.6628481 0.5706979 1 - - - 7 0.0156621 0.1461530 0.3090167 1.0518448 0.8314411 1.9115507 0.5684201 1 - - 8 0.0110617 0.0564813 0.3207646 0.4718990 1.4666990 0.9719473 2.1607148 0.5669476 1-9 0.0039155 0.0475908 0.1313898 0.5835057 0.6789305 1.9438602 1.1123221 2.4101444 0.5659407 1 H(p) = c 0 N i=0 cip i

Fakulta elektrotechniky a komunikačních technologií VUT v Brně 125 D Eliptická aproximace Obrázek D.1: Nomogram pro určení řádu eliptické aproximace.