DISKRETNI SIGNALI IN SISTEMI Založba SAŠO TOMAŽIČ FE SAVO LEONARDIS Sašo Tomažič, Savo Leonardis Diskretni signali in sistemi Ljubljana 2017 _____________________________________________________ Kataložni zapis o publikaciji (CIP) pripravili v Narodni in univerzitetni knjižnici v Ljubljani COBISS.SI-ID=292593664 ISBN 978-961-243-344-4 (pdf) _____________________________________________________ URL: http://www.fe.uni-lj.si/o_fakulteti/zalozba_in_trgovina/prenos/Tomazic-Leonardis- DiskretniSignaliInSistemi.pdf Založnik: Založba FE, Ljubljana Izdajatelj: Fakuleta za elektrotehniko, Ljubljana Urednik: prof. dr. Sašo Tomažič Recenzenta: prof. dr. Igor Medič 1. elektronska izdaja Predgovor V knjigi pred vami so predstavljene osnove obdelave signalov v diskretnem času kot tudi digitalne obdelave signalov. Predvsem je mišljena kot učbenik pri predmetu Digitalna obdelava signalov. Snov, ki jo pokriva, je bila delno predstavljena že v knjigi o digitalni obdelavi signalov 1, ki je izšla pred šestimi leti kot prva knjiga o digitalni obdelavi signalov v slovenščini, vendar je ta snov v pričujoči knjigi močno dopolnjena in smiselno preurejena. Pri pisanju prvega dela je avtor namreč domneval, da bo imel bralec določeno predznanje iz analize zveznih signalov in linearnih vezij ter osnovne pojme o vzorčenih signalih. Predpostavljeno je bilo tudi dobro poznavanje Fourier in Laplace transforma. Pri predavanjih se je kmalu izkazalo, da ima mnogo študentov težave z razumevanjem pre- hajanja med časovno zveznim in časovno diskretnim prostorom. Njihovo predznanje morebiti ni bilo zadostno ali pa ga niso znali smiselno povezati v celoto. Zato sva se avtorja najprej odločila, da v zelo zgoščeni obliki predstaviva omenjeno snov. Delo je izšlo pred štirimi leti 2. Tudi v tej knjižici sva predpostavila določeno predznanje, predvsem poznavanje lastnosti analog- nih signalov in sistemov ter postopkov frekvenčne analize. Primerjava med časovno zveznim in časovno diskretnim prostorom v delu naj bi študentu na osnovi njegovega poznavanja analog- nih signalov in sistemov omogočila globlje razumevanje postopkov digitalne obdelave signalov in njihove uporabe pri obdelavi realnih signalov. S tem namenom je bila dodana tudi pred- stavitev problemov pri vzorčenju in rekonstrukciji signalov, to je pri pretvorbi zveznih signalov v diskretne in obratno. Ker je prva knjiga skoraj pošla, sva se odločila za smiselno združitev obeh omenjenih del. Analiza analognih signalov in sistemov je v tem delu predstavljena v dodatku, dodano je poglavje o vzorčenju signalov in poglavje, ki opisuje izvedbene vidike sistemov za digitalno obdelavo signalov, ki bo bralcu približalo praktične probleme. Tudi snov poglavij, ki so bila v prvi knjigi, je nekoliko drugače razdeljena, tako da posamezna poglavja čim bolj zaokrožujejo določeno snov. Pri preurejanju snovi je bilo pomembno vodilo, da naj bi bilo v knjigi čim manj sklicevanja vnaprej, kar naj bi bralcu precej olajšalo tako samo branje kot tudi študij predstavljene snovi. Avtorja 1S. Leonardis: Digitalna obdelava signalov, Založba Fakultete za elektrotehniko, Ljubljana, 1996. 2S. Tomažič, S. Leonardis: Zvezni in diskretni signali - analiza in obdelava, Založba Fakultete za elektrotehniko, Ljubljana, 1998. 3 Kazalo 1 Diskretni signali 11 1.1 Definicija diskretnega signala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 Vrste diskretnih signalov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3 Periodični diskretni signali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1 Značilne vrednosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1.1 Srednja vrednost . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1.2 Srednja moč . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1.3 Varianca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3.2 Korelacija in korelacijska funkcija . . . . . . . . . . . . . . . . . . . . . . . 13 1.3.3 Avtokorelacijska funkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.3.4 Konvolucija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 Diskretni Fourier transform – DFT . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4.1 Amplitudni in fazni spekter . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4.2 Močnostni spekter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4.3 Lastnosti DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.3.1 Linearnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.3.2 Premik signala . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.3.3 Premik spektra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.3.4 Modulacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.3.5 DFT konvolucije . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.3.6 DFT produkta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.3.7 Konjugacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.3.8 DFT realnih signalov . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.3.9 DFT sodih in lihih funkcij . . . . . . . . . . . . . . . . . . . . . 19 1.4.3.10 DFT avtokorelacijske funkcije . . . . . . . . . . . . . . . . . . . 20 1.4.3.11 Parsevalov teorem . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.5 Aperiodični diskretni signali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.5.1 Značilne vrednosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.5.1.1 Srednja vrednost . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.5.1.2 Energija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.5.1.3 Srednja moč . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.1.4 Varianca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.2 Avtokorelacijska funkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.3 Konvolucija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5 6 Kazalo 1.6 Časovno diskretni Fourier transform – DTFT . . . . . . . . . . . . . . . . . . . . 23 1.6.1 Amplitudni in fazni spekter . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.6.2 Energijski in močnostni spekter . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6.3 Lastnosti DTFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6.3.1 Linearnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6.3.2 Premik signala . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6.3.3 Premik spektra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.6.3.4 Modulacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.6.3.5 DTFT konvolucije . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.6.3.6 DTFT produkta . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.6.3.7 Konjugacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.6.3.8 DTFT realnih signalov . . . . . . . . . . . . . . . . . . . . . . . 26 1.6.3.9 DTFT avtokorelacijske funkcije . . . . . . . . . . . . . . . . . . . 26 2 Diskretni sistemi 29 2.1 Linearni diskretni sistemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.1.1 Linearnost in časovna nespremenljivost . . . . . . . . . . . . . . . . . . . 29 2.1.2 Sistemska funkcija ali impulzni odziv . . . . . . . . . . . . . . . . . . . . . 29 2.1.3 Sistemska funkcija kavzalnih sistemov . . . . . . . . . . . . . . . . . . . . 30 2.1.4 Prevajalna funkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.1.5 Stabilnost sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2 Transform Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2.1 Definicija transforma Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.2 Transform Z in DTFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.3 Konvergenčno področje transforma Z . . . . . . . . . . . . . . . . . . . . 33 2.2.4 Lastnosti transforma Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.4.1 Linearnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.4.2 Teorem o konvoluciji . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.4.3 Teorem o premiku signala . . . . . . . . . . . . . . . . . . . . . . 36 2.2.4.4 Kaskadna vezava sistemov . . . . . . . . . . . . . . . . . . . . . 36 2.2.4.5 Vzporedna vezava sistemov . . . . . . . . . . . . . . . . . . . . . 36 2.2.4.6 Vezava s povratnim sklopom . . . . . . . . . . . . . . . . . . . . 37 2.2.5 Zgledi transformov Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.2.5.1 Enotin impulz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.2.5.2 Zakasnjen enotin impulz . . . . . . . . . . . . . . . . . . . . . . . 37 2.2.5.3 Enotina stopnica . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.2.5.4 Eksponentni niz . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.2.5.5 Kompleksni harmonični niz . . . . . . . . . . . . . . . . . . . . . 38 2.2.5.6 Sinusni niz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.2.5.7 Kosinusni niz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2.6 Prevajalna funkcija ustvarljivih sistemov . . . . . . . . . . . . . . . . . . . 39 2.2.7 Inverzni transform Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.2.7.1 Inverzni transform z integracijo . . . . . . . . . . . . . . . . . . . 42 Kazalo 7 2.2.7.2 Računanje integrala z residuumi . . . . . . . . . . . . . . . . . . 43 2.2.7.3 Inverzni transform z deljenjem . . . . . . . . . . . . . . . . . . . 43 2.2.7.4 Zgled izračuna inverznega transforma Z . . . . . . . . . . . . . . 44 3 Vzorčenje in rekonstrukcija 45 3.1 Vzorčenje analognega signala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.1 Vzorčenje z enotinimi impulzi . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.2 Spekter pri vzorčenju signalov . . . . . . . . . . . . . . . . . . . . . . . . 46 3.1.2.1 Spektra analognega in δ-vzorčenega signala . . . . . . . . . . . . 46 3.1.2.2 Spektra δ-vzorčenega in diskretnega signala . . . . . . . . . . . . 47 3.1.2.3 Prehod od zveznega do diskretnega signala . . . . . . . . . . . . 48 3.2 Rekonstrukcija zveznega signala . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.2.1 Kritično vzorčenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.2.2 Nadkritično vzorčenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.2.3 Podkritično vzorčenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.3 Spreminjanje vzorčne frekvence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3.1 Decimacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.3.2 Interpolacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3.3 Decimacija in interpolacija za racionalen faktor . . . . . . . . . . . . . . . 56 4 Diskretna sita 59 4.1 Diagram pretoka signala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.1.1 Transpozicija diagrama pretoka signala . . . . . . . . . . . . . . . . . . . 62 4.2 Strukture diskretnih sit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.1 Direktna struktura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.2 Direktna struktura I in II . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2.3 Kaskadna vezava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.4 Vzporedna vezava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.2.5 Druge strukture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.3 Načrtovanje prevajalne funkcije diskretnih sit . . . . . . . . . . . . . . . . . . . . 67 4.4 Načrtovanje sit s končnim odzivom - FIR . . . . . . . . . . . . . . . . . . . . . . 68 4.4.1 Sistemska in prevajalna funkcija sita FIR . . . . . . . . . . . . . . . . . . 68 4.4.2 Sita z linearnim faznim potekom . . . . . . . . . . . . . . . . . . . . . . . 68 4.4.2.1 Koeficienti sita . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.4.2.2 Lega ničel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.4.3 Načrtovanje z inverznim Fourier transformom . . . . . . . . . . . . . . . . 71 4.4.4 Oknjenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.4.4.1 Pravokotno okno . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.4.4.2 Kosinusna okna . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.4.4.3 Kaiserjeva okna . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.4.5 Sita z enakomerno valovitostjo . . . . . . . . . . . . . . . . . . . . . . . . 78 4.4.6 Načrtovanje sit FIR s frekvenčnim vzorčenjem . . . . . . . . . . . . . . . 81 4.4.6.1 Enakomerno vzorčenje . . . . . . . . . . . . . . . . . . . . . . . . 81 8 Kazalo 4.4.7 Nekaj primerov sit FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.4.7.1 Povprečevalno sito . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.4.7.2 Diskretni diferenciator . . . . . . . . . . . . . . . . . . . . . . . . 84 4.4.7.3 Hilbertov transform . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.5 Načrtovanje sit z neskončnim odzivom - IIR . . . . . . . . . . . . . . . . . . . . . 86 4.5.1 Preprosto načrtovanje na osnovi polov in ničel . . . . . . . . . . . . . . . 87 4.5.2 Impulzno invariantna transformacija . . . . . . . . . . . . . . . . . . . . . 89 4.5.3 Bilinearna transformacija . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.5.3.1 Preslikava prevajalne funkcije . . . . . . . . . . . . . . . . . . . . 93 4.5.3.2 Sprememba frekvenčnega merila . . . . . . . . . . . . . . . . . . 94 4.5.3.3 Povzetek postopka načrtovanja . . . . . . . . . . . . . . . . . . . 95 4.6 Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5 Uporaba DFT pri analizi in obdelavi signalov 103 5.1 Hitri Fourier transform - FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.1.1 Decimacija v času . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.1.2 Računska učinkovitost FFT . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.1.3 Decimacija po frekvenci . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.1.4 FFT realnih signalov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.2 Analiza časovno omejenih signalov z DFT . . . . . . . . . . . . . . . . . . . . . . 111 5.3 Spektralna analiza časovno neomejenih signalov . . . . . . . . . . . . . . . . . . 111 5.4 Izvedba sita FIR s pomočjo DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.4.1 Postopek prekrij in seštej . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.4.2 Postopek prekrij in shrani . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.5 Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6 Generiranje diskretnih signalov 123 6.1 Generiranje harmoničnih signalov . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.1.1 Harmonični oscilator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.1.2 Generiranje na osnovi tabeliranih vrednosti . . . . . . . . . . . . . . . . . 124 6.2 Generiranje naključnih signalov . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.2.1 Signali z enakomerno amplitudno porazdelitvijo . . . . . . . . . . . . . . . 127 6.2.2 Psevdonaključni binarni niz . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.2.3 Signali z Gaussovo porazdelitvijo . . . . . . . . . . . . . . . . . . . . . . . 129 6.3 Generiranje naključnega signala v frekvenčnem prostoru . . . . . . . . . . . . . . 132 6.4 Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 7 Praktični vidiki izvedbe diskretnih sistemov 135 7.1 Analogno digitalna pretvorba signalov . . . . . . . . . . . . . . . . . . . . . . . . 135 7.1.1 Sito proti prekrivanju . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 7.1.2 Kvantizacija signala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.1.2.1 Linearna kvantizacija . . . . . . . . . . . . . . . . . . . . . . . . 140 7.1.2.2 Logaritemska kvantizacija . . . . . . . . . . . . . . . . . . . . . . 143 7.1.2.3 Kvantizacija s prevzorčenjem . . . . . . . . . . . . . . . . . . . . 145 Kazalo 9 7.1.3 Pretvorniki ∆Σ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.1.3.1 Šum pri pretvorbi ∆Σ . . . . . . . . . . . . . . . . . . . . . . . . 147 7.2 Digitalno analogna pretvorba signalov . . . . . . . . . . . . . . . . . . . . . . . . 150 7.2.1 Rekonstrukcija signala z impulzi končne širine . . . . . . . . . . . . . . . . 151 7.2.2 Rekonstrukcija s predhodno interpolacijo . . . . . . . . . . . . . . . . . . 152 7.2.3 D/A pretvorba harmoničnega signala . . . . . . . . . . . . . . . . . . . . . 153 7.3 Obdelava signalov s končno natančnostjo . . . . . . . . . . . . . . . . . . . . . . . 154 7.3.1 Kvantizacija koeficientov sit FIR . . . . . . . . . . . . . . . . . . . . . . . 155 7.3.2 Zaokroževanje vmesnih rezultatov sit FIR . . . . . . . . . . . . . . . . . . 156 7.3.3 Kvantizacija koeficientov sit IIR . . . . . . . . . . . . . . . . . . . . . . . 156 7.3.4 Zaokroževanje vmesnih rezultatov sit IIR . . . . . . . . . . . . . . . . . . 159 7.4 Digitalni signalni procesorji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 7.5 Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Dodatek 163 A Analogni signali 165 A.1 Definicija in matematični zapis analognega signala . . . . . . . . . . . . . . . . . 165 A.2 Vrste analognih signalov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 A.2.1 Energijski in močnostni signali . . . . . . . . . . . . . . . . . . . . . . . . 166 A.2.2 Periodični in aperiodični signali . . . . . . . . . . . . . . . . . . . . . . . . 166 A.2.3 Deterministični in naključni signali . . . . . . . . . . . . . . . . . . . . . . 166 A.3 Značilne vrednosti analognih signalov . . . . . . . . . . . . . . . . . . . . . . . . 167 A.4 Korelacijska funkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 A.5 Avtokorelacijska funkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 A.6 Spekter analognih signalov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 A.6.1 Spekter periodičnih signalov . . . . . . . . . . . . . . . . . . . . . . . . . . 169 A.6.2 Spekter aperiodičnih energijskih signalov . . . . . . . . . . . . . . . . . . 171 A.6.3 Spekter naključnih signalov . . . . . . . . . . . . . . . . . . . . . . . . . . 172 B Analogni sistemi 173 B.1 Linearnost in časovna nespremenljivost . . . . . . . . . . . . . . . . . . . . . . . . 173 B.2 Sistemska funkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 B.3 Prevajalna funkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 B.4 Prevajalna funkcija v prostoru s . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 B.5 Prevajalna funkcija RLC vezij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 C Karakteristike analognih prototipnih sit 177 C.1 Butterworthova sita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 C.2 Čebiševjeva sita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 C.3 Eliptična sita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 10 Kazalo D Frekvenčne preslikave 181 D.1 Frekvenčne preslikave v prostoru s . . . . . . . . . . . . . . . . . . . . . . . . . . 181 D.1.1 Sprememba mejne frekvence nizkega sita . . . . . . . . . . . . . . . . . . . 181 D.1.2 Preslikava nizkega v visoko sito . . . . . . . . . . . . . . . . . . . . . . . . 181 D.1.3 Preslikava nizkega v pasovno prepustno sito . . . . . . . . . . . . . . . . . 181 D.1.4 Preslikava nizkega v pasovno zaporno sito . . . . . . . . . . . . . . . . . . 182 D.2 Frekvenčne preslikave v prostoru z . . . . . . . . . . . . . . . . . . . . . . . . . . 182 D.2.1 Sprememba mejne frekvence nizkega sita . . . . . . . . . . . . . . . . . . . 182 D.2.2 Preslikava nizkega v visoko sito . . . . . . . . . . . . . . . . . . . . . . . . 183 D.2.3 Preslikava nizkega v pasovno prepustno sito . . . . . . . . . . . . . . . . . 183 D.2.4 Preslikava nizkega v pasovno zaporno sito . . . . . . . . . . . . . . . . . . 183 1 Diskretni signali Diskretni signali so signali, katerih vrednost poznamo le v določenih časovnih trenutkih. Poleg diskretnosti po času poznamo tudi diskretnost po amplitudi. Za signale, ki so diskretni tudi po amplitudi, uporabljamo ime digitalni signali, zato lahko pri imenovanju signalov, ki so diskretni po času, izpustimo pridevnik časovno in jih skrajšano imenujemo kar diskretni signali. V tem poglavju podamo definicijo diskretnih signalov in predstavimo osnovna orodja za njihovo analizo. Ker nastanejo diskretni signali večinoma z enakomernim vzorčenjem analognih signalov, je za razumevanje prvih nujno dobro poznavanje drugih. V dodatku A je podana kratka predstavitev analognih signalov in orodij za njihovo analizo, ki je namenjena osvežitvi že pridobljenega znanja in boljšemu razumevanju nadaljnje snovi. 1.1 Definicija diskretnega signala Diskreten signal je urejen niz števil. Matematično lahko predstavimo diskreten signal kot niz števil {xn}, signalni vektor x = [x−k, x−k+1, ... x0, x1, ..., xm] ali funkcijo indeksa x[n]. Indeks n je celo število in predstavlja neodvisno spremenljivko. Grafični prikaz diskretnega signala je na sliki 1.1. Slika 1.1 – Diskreten signal Najpogosteje dobimo diskreten signal z enakomernim vzorčenjem analognega signala: x[n] = x(nT ) (1.1) Posamezna števila niza x[n] so tedaj vzorci analognega signala x(t) v trenutkih nT . Indeks n ima zato pomen časa in ga imenujemo časovni indeks. Takšno poimenovanje bomo uporabljali tudi v nadaljevanju. 1.2 Vrste diskretnih signalov Diskretne signale razvrstimo enako kot analogne signale. 11 12 Diskretni signali Periodičen signal mora izpolnjevati osnovno zahtevo periodičnosti: x[n] = x[n + N ] (1.2) kjer je N perioda signala. Aperiodičen signal lahko dobimo z vzorčenjem analognega aperiodičnega signala. Izpol- njena pa mora biti zahteva, da gre njegova perioda N proti ∞. Naključen signal dobimo z vzorčenjem analognega naključnega signala. Neposredno lahko običajno generiramo le tako imenovane psevdonaključne signale, to je signale, ki se navidezno obnašajo kot naključni, v resnici pa so periodični z zelo veliko periodo. 1.3 Periodični diskretni signali Za diskreten signal pravimo, da je periodičen, če izpolnjuje pogoj periodičnosti: x[n] = x[n + N ] (1.3) za vsako celo število n. Najmanjše naravno število N , ki zagotavlja veljavnost zgornjega pogoja, imenujemo perioda signala. Po preteku ene periode se začnejo vrednosti signala ponavljati. Periodičen signal zato v celoti poznamo, če ga poznamo znotraj ene periode. Diskretni signal, ki ga dobimo z vzorčenjem analognega periodičnega signala, ni nujno pe- riodičen. Periodičnost diskretnega signala dobimo le, če je razmerje med vzorčno frekvenco in frekvenco vzorčenega signala racionalno število. Ker so periodični signali časovno neomejeni imajo neskončno energijo, pri končnih vrednostih vzorcev pa imajo končno povprečno moč. Zato periodične signale uvrščamo med močnostne signale. 1.3.1 Značilne vrednosti Ker je periodičen signal popolnoma določen s signalom v eni periodi, lahko dobimo njegove značilne vrednosti na osnovi opazovanja signala znotraj ene periode. 1.3.1.1 Srednja vrednost Srednjo ali povprečno vrednost periodičnega signala dobimo s povprečenjem vrednosti vzorcev znotraj ene periode signala: 1 N−1 x[n] = X x[n] (1.4) N n=0 Takšno povprečje imenujemo tudi časovno povprečje. Kadar govorimo o signalih električnega izvora, imenujemo srednjo vrednost tudi enosmerna komponenta signala. 1.3.1.2 Srednja moč Trenutna moč signala je dana s kvadratom njegove amplitude x2[n]. Srednjo moč periodičnega signala dobimo s časovnim povprečenjem trenutne moči signala: 1 N−1 x2[n] = X x2[n] (1.5) N n=0 Srednjo moč signala imenujemo tudi srednja kvadratična vrednost signala. 1.3 Periodični diskretni signali 13 1.3.1.3 Varianca Varianca signala σ2x je definirana kot srednja kvadratična vrednost odstopanja signala od njegove srednje vrednosti oziroma kot srednja moč izmenične komponente signala: 1 N−1 σ2 X x = (x[n] − x[n])2 (1.6) N n=0 Kvadratni koren variance: q σx = σ2x (1.7) imenujemo standardna deviacija. 1.3.2 Korelacija in korelacijska funkcija Korelacija periodičnih signalov x[n] in y[n] z enako periodo N je definirana z izrazom: 1 N−1 R X xy = x[n]y[n] (1.8) N n=0 Korelacija je merilo podobnosti dveh signalov. Večja ko je korelacija, bolj sta si signala podobna. Kadar ugotavljamo podobnost signalov, korelacijo običajno normiramo, to je delimo s korenom produkta njunih srednjih kvadratičnih vrednosti: R R xy xy n = (1.9) q x2[n] · y2[n] Če bi oba signala zapisali v obliki vektorjev, bi korelacija predstavljala njun skalarni produkt. Kadar je skalarni produkt dveh vektorjev enak nič, pravimo, da sta vektorja ortogonalna (pra- vokotna). Analogno temu pravimo, da sta signala, ki imata korelacijo enako nič, ortogonalna. Sama korelacija ni najboljše merilo za ugotavljanje podobnosti signalov. Dva signala sta si lahko med seboj zelo podobna, vendar sta časovno zamaknjena. Da bi lahko ugotavljali takšno podobnost, drugo funkcijo časovno zamaknemo za m vzorcev in nato naredimo korelacijo. Takšna korelacija je funkcija časovnega zamika m. Dobimo korelacijsko funkcijo: 1 N−1 R X xy[m] = x[n]y[n + m] (1.10) N n=0 Korelacijska funkcija je periodična funkcija s periodo enako periodi signalov. Zadošča torej, da določimo korelacijsko funkcijo za eno periodo signala. Če je korelacijska funkcija enaka nič pri vseh vrednostih indeksa m, razen za m = 0, pravimo, da sta signala nekorelirana. Nekorelirana signala sta ortogonalna pri vsakem časovnem zamiku, zato je pogoj nekoreliranosti signalov bistveno zahtevnejši kot pogoj ortogonalnosti. Za izračun ene periode korelacijske funkcije po enačbi (1.10) potrebujemo tudi vzorce izven periode drugega signala, vendar so ti zaradi periodičnosti enaki ustreznim vzorcem znotraj osnovne periode. Enačbo (1.10) lahko zapišemo tudi na tak način, da nastopajo v njej zgolj vzorci signala znotraj ene periode: 1 N−1 R X xy[m] = x[n]y[(n + m) mod N ] (1.11) N n=0 kjer predstavlja mod N ostanek pri deljenju z N . Vzorci drugega signala se krožno ponavljajo, zato imenujemo tako korelacijsko funkcijo tudi krožna (ciklična) korelacijska funkcija. 14 Diskretni signali 1.3.3 Avtokorelacijska funkcija Če v enačbi (1.11) nadomestimo drugi signal y[n] s prvim signalom x[n], ne primerjamo več dveh signalov med seboj, temveč primerjamo signal sam s seboj. Dobimo avtokorelacijsko funkcijo: 1 N−1 R X xx[m] = x[n]x[(n + m) mod N ] (1.12) N n=0 Avtokorelacijska funkcija je funkcija zamika m. Zaradi krožnega ponavljanja vzorcev imenujemo avtokorelacijsko funkcijo periodičnih signalov tudi krožna (ciklična) avtokorelacijska funkcija. Ker je avtokorelacijska funkcija zelo pomembna pri analizi signalov, si oglejmo nekaj njenih osnovnih lastnosti. 1. Avtokorelacijska funkcija je periodična funkcija s periodo enako periodi signala: Rxx[m] = Rxx[m + N ] (1.13) 2. Avtokorelacijska funkcija je soda funkcija zamika m: Rxx[m] = Rxx[−m] (1.14) 3. Avtokorelacijska funkcija ima največjo vrednost pri zamiku m = 0 Rxx[0] ≥ Rxx[m] (1.15) 4. Vrednost avtokorelacijske funkcije pri zamiku m = 0 je enaka povprečni moči signala: 1 N−1 R X xx[0] = x[n]x[n] = x2[n] (1.16) N n=0 Avtokorelacijska funkcija je merilo za to, kako hitro se signal spreminja. Če korelacijska funkcija zelo hitro upade že pri majhnem zamiku (ozka korelacijska funkcija), pomeni, da se signal tudi znotraj periode zelo hitro spreminja. 1.3.4 Konvolucija Če v korelacijski funkciji (1.10) zamenjamo indeksa m in n in signal y[m] obrnemo, preden ga časovno zamaknemo, dobimo konvolucijo: N −1 x[n] ∗ y[n] = X x[m]y[n − m] (1.17) m=0 Zaradi periodičnosti signalov lahko tudi konvolucijo zapišemo v krožni obliki: N −1 x[n] ∗ y[n] = X x[m]y[(n − m) mod N ] (1.18) m=0 in jo imenujemo krožna konvolucija. Osnovne lastnosti krožne konvolucije so: 1. Krožna konvolucija je funkcija časovnega indeksa n. 1.4 Diskretni Fourier transform – DFT 15 2. Krožna konvolucija je periodična s periodo enako periodi signalov. 3. Krožna konvolucija je komutativna operacija: x[n] ∗ y[n] = y[n] ∗ x[n] (1.19) kar enostavno pokažemo z uvedbo novega indeksa k = n − m v enačbi (1.17). Konvolucija pri analizi signalov ni tako pomembna kot avtokorelacijska funkcija, zato pa je, kot bomo videli kasneje, izredno pomembna pri analizi in realizaciji diskretnih linearnih sistemov. 1.4 Diskretni Fourier transform – DFT Podobno kot pri analognih signalih lahko tudi periodičen diskreten signal razvijemo v Fourierevo vrsto. Naj bo signal x[n] periodičen, s periodo N . Signalu najprej določimo osnovno frekvenco: 1 F0 = (1.20) N Ker je perioda N naravno število, lahko zavzame osnovna frekvenca F0 le vrednosti med 0 in 1. Namesto osnovne frekvence F0 uporabljamo običajno osnovno krožno frekvenco Ω0: 2π Ω0 = 2πF0 = (1.21) N ki lahko zavzame le vrednosti med 0 in 2π. Signal lahko sedaj razvijemo v končno vrsto kom- pleksnih eksponentnih funkcij: N −1 x[n] = X X[k]ejnkΩ0 (1.22) k=0 Koeficienti X[k] so v splošnem kompleksni in predstavljajo spekter signala. Spekter je diskreten. Izračunamo jih s pomočjo izraza: 1 N−1 X[k] = X x[n]e−jnkΩ0 (1.23) N n=0 Zgornji izraz predstavlja diskretni Fourier transform (DFT). Funkcija X[k] je periodična s peri- odo N , vendar so pri razvoju signala v vrsto uporabljeni le koeficienti osnovne periode. Če omejimo k na vrednosti med 0 in N − 1, preslika DFT N vrednosti v osnovni periodi signala v N spektralnih komponent v osnovni periodi spektra. S pomočjo izraza (1.22) lahko preslikamo N spektralnih komponent nazaj v N vrednosti signala. Zato imenujemo to preslikavo inverzni diskretni Fourier transform (IDFT). Signal x[n] in njegov spekter X[k] predstavljata Fourierev par: X[k] = DFT{x[n]} x[n] = IDFT{X[k]} x[n] ↔ X[k] (1.24) Na sliki 1.2 je prikazan periodičen diskreten signal in njegov spekter. Spekter signala je periodičen in diskreten. 16 Diskretni signali Slika 1.2 – Diskreten periodičen signal in njegov spekter Z vpeljavo kompleksne konstante transformacije WN : WN = e−Ω0 = e−2π/N (1.25) lahko poenostavimo zapis DFT v enačbi (1.23): 1 N−1 X[k] = X x[n]W kn N N (1.26) n=0 kakor tudi zapis IDFT v enačbi (1.22): N −1 x[n] = X X[k]W −kn (1.27) N k=0 Faktorji W nk N , ki nastopajo v zgornjih izrazih so periodični in določajo ekvidistančne točke na enotski krožnici v kompleksni ravnini. Pogosto pri konstanti WN opuščamo oznako N , ki označuje število komponent transforma. 1.4.1 Amplitudni in fazni spekter Spektralne komponente X[k] periodičnega signala x[n] so v splošnem kompleksna števila, ki jih lahko zapišemo tudi v polarni obliki: X[k] = Ax[k]eΦx[k] (1.28) kjer je Ax[k] = |X[k]| (1.29) amplitudni spekter in Φx[k] = arg(X[k]) (1.30) fazni spekter signala. 1.4.2 Močnostni spekter Močnostni spekter periodičnega diskretnega signala je definiran kot Fourier transform njegove avtokorelacijske funkcije: Sx[k] = DFT{[Rxx[m]} (1.31) 1.4 Diskretni Fourier transform – DFT 17 1.4.3 Lastnosti DFT Lastnosti DFT so zelo podobne lastnostim Fourier transforma analognih signalov. Poudariti je treba, da je DFT v osnovi določen za periodične signale, zato imajo zamiki in konvolucija krožen značaj. Kot bomo videli kasneje, lahko uporabljamo DFT tudi pri analizi aperiodičnih, časovno omejenih diskretnih signalov, vendar pri tem implicitno predpostavimo, da predstavlja signal, ki ga obravnavamo, le eno periodo periodičnega signala. Zaradi podobnih izrazov za izračun DFT in IDFT (izraza se razlikujeta samo v predznaku eksponenta) imajo vse lastnosti tudi svoje dualne lastnosti. Nekaterim lastnostim bomo v nadal- jevanju eksplicitno navedli tudi dualne lastnosti, drugim spet ne, kar pa ne pomeni, da dualne lastnosti tam ne obstajajo. 1.4.3.1 Linearnost DFT linearne kombinacije signalov z enako periodo je enak linearni kombinaciji DFT-jev posameznih signalov: ( ) DFT X aixi[n] = X aiDFT{xi[n]} (1.32) i i 1.4.3.2 Premik signala Če periodičen signal premaknemo za n0 vzorcev, se njegov amplitudni spekter ne spremeni, spremeni pa se njegov fazni spekter. x[n] ↔ X[k] x[n − n0] ↔ X[k]W kn0 N (1.33) Ker predstavljajo faktorji W kn0 točke na enotski krožnici v kompleksni ravnini: N |W kn0 N | = 1 (1.34) ne morejo spremeniti amplitudnega spektra, temveč vnašajo le fazni zasuk, ki je linearno odvisen od k. Premike za n0, ki so večji ali enaki periodi N lahko, zaradi periodičnosti signala obrav- navamo po modulu N : x[n − n0] = x[(n − n0) mod N ] (1.35) 1.4.3.3 Premik spektra Lastnost premika spektra je dualna lastnosti premika signala: x[n] ↔ X[k] W −k0n N x[n] ↔ X[k − k0] (1.36) Pri premiku spektra za k0 spektralnih komponent, se signal množi s kompleksnim harmoničnim signalom: W −k0n N = ek0Ω0n (1.37) 18 Diskretni signali kar lahko obravnavamo tudi kot modulacijo kompleksnega nosilca frekvence kΩ0 s signalom x[n]. Kompleksni nosilec lahko zaradi periodičnosti zapišemo tudi v obliki: ek0Ω0n = (ek0Ω0 )n = (e(k0 mod N)Ω0)n = e(k0 mod N)Ω0n (1.38) kar pomeni, da lahko frekvenco nosilca obravnavamo po modulu. Frekvenca nosilca s frekvenco nad frekvenco 2π (N Ω0 = 2π) se torej preslika v frekvenčno območje med 0 in 2π. Zaradi periodičnosti spektra lahko tudi frekvenčni premik obravnavamo po modulu N : X[k − k0] = X[(k − k0) mod N ] (1.39) 1.4.3.4 Modulacija Pri modulaciji realnega nosilca cos[k0Ω0n] s signalom x[n], se spekter signala premakne za k0 spektralnih komponent v levo in desno od originalnega spektra, njegova amplituda pa se razpolovi: x[n] ↔ X[k] 1 x[n] cos[k0Ω0n] ↔ (X[k − k 2 0] + X [k + k0]) (1.40) Podobno kot prej lahko frekvenco nosilca in premik obravnavamo po modulu N . 1.4.3.5 DFT konvolucije DFT konvolucije dveh periodičnih nizov je za multiplikacijsko konstanto enak produktu DFT-jev posameznih nizov. Če je niz x[n] posledica konvolucije dveh periodičnih nizov x1[n] ∗ x2[n] z isto periodo, je transform X[k] enak produktu transformov obeh osnovnih nizov: x1[n] ↔ X1[k] x2[n] ↔ X2[k] x1[n] ∗ x2[n] ↔ N X1[k]X2[k] (1.41) Zaradi periodičnosti signala je konvolucija krožna, kot je to razloženo v razdelku 1.3.4. 1.4.3.6 DFT produkta Lastnost množenja je dualna lastnosti konvolucije: x1[n] ↔ X1[k] x2[n] ↔ X2[k] x1[n]x2[n] ↔ X1[k] ∗ X2[k] (1.42) Zaradi periodičnosti spektra tudi tukaj nastopa krožna konvolucija. 1.4 Diskretni Fourier transform – DFT 19 1.4.3.7 Konjugacija Vhodni niz lahko v splošnem vsebuje vzorce kompleksnih vrednosti. Vzemimo osnovni niz x[n] in mu priredimo niz x[n]∗, katerega vzorci imajo kompleksno konjugirane vrednosti. Velja: x[n] ↔ X[k] x[n]∗ ↔ X∗[−k] (1.43) 1.4.3.8 DFT realnih signalov Če je signal x[n] realen, velja: x[n] = x∗[n] (1.44) Naredimo DFT na obeh straneh zgornje enačbe in upoštevamo lastnost konjugacije (1.43). Do- bimo: X[k] = X∗[−k] (1.45) kar lahko zapišemo tudi v obliki: ℜ{X[k]} = ℜ{X[−k]} (1.46) in ℑ{X[k]} = −ℑ{X[−k]} (1.47) To pomeni, da je pri realnih signalih realna komponenta DFT soda funkcija k in imaginarna komponenta liha funkcija k. Zaradi periodičnosti signala imamo enako (liho/sodo) simetrijo tudi okrog mnogokratnikov polovice periode mN/2. Tu moramo posebej opozoriti, da pri lihi vrednosti N , N/2 ni celo število, zato točka simetrije ni na vzorcu temveč na sredini med dvema vzorcema, kot je to razvidno na sliki 1.3. Iz enačbe (1.45) pa neposredno sledi tudi, da je močnostni in s tem tudi amplitudni spekter realnega signala soda funkcija k: |X[k]|2 = X[k]X∗[k] = X∗[−k]X[−k] = |X[−k]|2 (1.48) Iz enačb (1.46) in (1.47) pa se vidi, da je fazni spekter liha funkcija k: ℑ{X[k]} ℑ{X[−k]} Φx[k] = arg = − = −Φ ℜ{X[k]} ℜ{X[−k]} x[−k] (1.49) 1.4.3.9 DFT sodih in lihih funkcij Lastnost je dualna lastnosti DFT realnih signalov in pove, da je DFT sodih funkcij realna funkcija: x[n] = x[−n] X[k] = ℜ{X[k]} (1.50) 20 Diskretni signali Slika 1.3 – Simetrija DFT realnih signalov in DFT lihih funkcij imaginarna funkcija: x[n] = −x[−n] X[k] = ℑ{X[k]} (1.51) Vsak signal x[n] lahko zapišemo kot vsoto lihega in sodega signala: x[n] = xs[n] + xl[n] (1.52) kjer je x[n] + x[−n] xs[n] = (1.53) 2 in x[n] − x[−n] xl[n] = (1.54) 2 Iz zgornjih enačb pa neposredno sledita relaciji: ℜ{X[k]} = DFT{xs[n]} (1.55) in ℑ{X[k]} = −jDFT{xl[n]} (1.56) 1.4.3.10 DFT avtokorelacijske funkcije Močnostni spekter signala x[n] smo definirali kot DFT avtokorelacijske funkcije Rxx[m]. Pokazati je mogoče tudi, da je DFT avtokorelacijske funkcije enak kvadratu amplitudnega spektra: DFT{Rxx[m]} = |X[k]|2 (1.57) kar pomeni, da je močnostni spekter periodičnega signala enak kvadratu amplitudnega spektra: Sx[k] = |X[k]|2 (1.58) 1.5 Aperiodični diskretni signali 21 1.4.3.11 Parsevalov teorem Parsevalov teorem poznamo pri transformaciji analognih periodičnih signalov. Govori o tem, da je povprečna moč signala enaka vsoti povprečnih moči posameznih spektralnih komponent. Do Parsevalovega teorema pri diskretnih signalih pridemo najenostavneje tako, da izraz (1.57) zapišemo z IDFT: Rxx[m] = IDF T {|X[k]|2} (1.59) oziroma: 1 N−1 N −1 X x[n]x[n + m] = X |X[k]|2W −kn (1.60) N n=0 k=0 in postavimo m = 0: 1 N−1 N −1 X |x[n]|2 = X |X[k]|2 (1.61) N n=0 k=0 Zgornji izraz predstavlja Parsevalov teorem za periodične diskretne signale. Vidimo, da je Parsevalov teorem le poseben primer lastnosti DFT avtokorelacijske funkcije. 1.5 Aperiodični diskretni signali Aperiodičen diskreten signal lahko dobimo z vzorčenjem analognega aperiodičnega signala. Kadar razmerje med osnovno frekvenco signala in frekvenco vzorčenja ni racionalno število, dobimo tudi pri vzorčenju periodičnega analognega signala aperiodičen diskreten signal. Časovno omejeni aperiodični signali s končno vrednostjo vzorcev imajo končno energijo, zato jih uvrščamo med energijske signale. Aperiodični signali so lahko tudi naključni. Ti imajo neskončno dolžino in zato tudi neskončno energijo. Če imajo naključni signali končne vrednosti vzorcev, potem imajo končno tudi povprečno moč in jih uvrščamo med močnostne signale. Naključne diskretne signale dobimo z vzorčenjem naključnih analognih signalov. 1.5.1 Značilne vrednosti 1.5.1.1 Srednja vrednost Srednjo ali povprečno vrednost aperiodičnega signala dobimo s povprečenjem vrednosti vseh vzorcev   1 N x[n] = lim X  x[n] (1.62) N →∞ 2N + 1 n=−N Pri energijskih signalih je srednja vrednost vedno enaka 0. 1.5.1.2 Energija Energija aperiodičnega signala je podana z izrazom: ∞ E X x = x2[n] (1.63) n=−∞ Pri močnostnih signalih je energija neskončna. 22 Diskretni signali 1.5.1.3 Srednja moč Srednja moč aperiodičnega signala je enaka limiti:   1 N x2[n] = lim X  x2[n] (1.64) N →∞ 2N + 1 n=−N Pri energijskih signalih je srednja moč enaka 0. 1.5.1.4 Varianca Varianca ali povprečna izmenična moč aperiodičnega signala je dana z izrazom   1 N σ2 X x = lim (x[n] (1.65)  − x[n])2 N →∞ 2N + 1 n=−N Pri energijskih signalih je ta enaka 0. 1.5.2 Avtokorelacijska funkcija Avtokorelacijsko funkcijo definiramo za energijske signale drugače kot za močnostne signale. Energijski signali. Pri energijskih signalih ima avtokorelacijska funkcija značaj energije: ∞ r X xx[m] = x[n]x[n + m] (1.66) n=−∞ Močnostni signali. Pri aperiodičnih močnostnih signalih je avtokorelacijska funkcija defini- rana enako kot pri periodičnih signalih, le da gre perioda signala čez vse meje:   1 N R X xx[m] = lim  x[n]x[n + m] (1.67) N →∞ 2N + 1 n=−N Avtokorelacijska funkcija je soda funkcija zamika m. Največjo vrednost ima pri zamiku m = 0. Pri energijskih signalih je tedaj enaka energiji signala pri močnostnih pa povprečni moči signala. 1.5.3 Konvolucija Konvolucija aperiodičnih signalov x[n] in y[n] je definirana kot: ∞ x[n] ∗ y[n] = X x[m]y[n − m] (1.68) m=−∞ Konvolucija je funkcija časovnega indeksa n. Konvolucija je komutativna operacija: x[n] ∗ y[n] = y[n] ∗ x[n] (1.69) Za razliko od krožne konvolucije, ki smo jo imeli pri periodičnih signalih, imenujemo kon- volucijo aperiodičnih signalov tudi linearna konvolucija. Linearna konvolucija nastopa pri odzivu časovno diskretnih sistemov, kot bomo videli v naslednjem poglavju. 1.6 Časovno diskretni Fourier transform – DTFT 23 1.6 Časovno diskretni Fourier transform – DTFT Spekter periodičnih signalov smo računali s pomočjo diskretnega Fourierovega transforma. Da bi izračunali spekter aperiodičnega signala, lahko aperiodičen diskreten signal predstavimo kot periodičen signal z neskončno periodo. Ko gre perioda signala N čez vse meje, gre njegova osnovna frekvenca Ω0 proti nič, višje harmonske komponente pri frekvencah kΩ0 pa so tako neskončno blizu in tvorijo zvezno frekvenco Ω. Namesto posameznih spektralnih komponent X[k] zato tu računamo gostoto spektra X(Ω): 1 Ω dΩ = → N 2π 2π N → ∞ Ω0 → dΩ kΩ0 → Ω N X[k] → X(Ω) Z X → (1.70) Upoštevanje zgornjih relacij v izrazih za IDFT in DFT nas privede do: 1 Z 2π x[n] = X(Ω)eΩndΩ 2π 0 X(Ω) = X x[n]e−Ωn (1.71) n Druga enačba predstavlja časovno diskretni Fourier transform (Discrete Time Fourier Transform - DTFT), prva enačba pa inverzni časovno diskretni Fourier transform (IDTFT - Inverse DTFT). Pri aperiodičnih diskretnih signalih smo tako dobili Fourierev par: X(Ω) = DTFT{x[n]} x[n] = IDTFT{X(Ω)} x[n] ↔ X(Ω) (1.72) 1.6.1 Amplitudni in fazni spekter Spekter X(Ω) aperiodičnega signala x[n] je v splošnem kompleksna funkcija, ki jo lahko zapišemo tudi v polarni obliki: X(Ω) = Ax(Ω)eΦx(Ω) (1.73) kjer je Ax(Ω) = |X(Ω)| (1.74) amplitudni spekter in Φx(Ω) = arg(X(Ω)) (1.75) fazni spekter signala. 24 Diskretni signali 1.6.2 Energijski in močnostni spekter Pri energijskih signalih določimo energijski spekter kot DTFT avtokorelacijske funkcije energij- skih signalov: Wx(Ω) = DTFT{rxx[m]} (1.76) Pri močnostnih signalih imamo namesto energijskega spektra močnostni spekter, ki je definiran kot DTFT avtokorelacijske funkcije močnostnih signalov: Sx(Ω) = DTFT{Rxx[m]} (1.77) 1.6.3 Lastnosti DTFT DTFT je preslikava, ki preslika signal x[n] iz prostora n v njegov spekter X(Ω) v prostoru Ω. Spekter je periodičen po frekvenci Ω s periodo enako 2π. X(Ω) = X(Ω + 2π) (1.78) Na sliki 1.4 je prikazan diskreten aperiodičen signal v časovnem in frekvenčnem prostoru. Spekter signala je periodičen in zvezen. Slika 1.4 – Diskreten aperiodičen signal v časovnem in frekvenčnem prostoru Lastnosti DTFT so zelo podobne lastnostim DFT. Razlike izvirajo iz dejstva, da je pri DTFT signal aperiodičen, zato avtokorelacijska funkcija in konvolucija nimata krožnega značaja, spekter signala pa je zvezen. 1.6.3.1 Linearnost DTFT linearne kombinacije signalov je enak linearni kombinaciji DTFT-jev posameznih sig- nalov: ( ) DTFT X aixi[n] = X aiDTFT{xi[n]} (1.79) i i 1.6.3.2 Premik signala Če periodičen signal premaknemo za n0 vzorcev, se njegov amplitudni spekter ne spremeni, spremeni pa se njegov fazni spekter. x[n] ↔ X(Ω) x[n − n0] ↔ X(Ω)e−Ωn0 (1.80) 1.6 Časovno diskretni Fourier transform – DTFT 25 1.6.3.3 Premik spektra Lastnost premika spektra je dualna lastnosti premika signala: x[n] ↔ X(Ω) eΩ0nx[n] ↔ X(Ω − Ω0) (1.81) Pri premiku spektra za Ω0, se signal množi s kompleksnim harmoničnim signalom. Zaradi periodičnosti spektra, lahko frekvenčni premik obravnavamo po modulu 2π: X(Ω − Ω0) = X(Ω − (Ω0 mod 2π)) = X((Ω − Ω0) mod 2π) (1.82) 1.6.3.4 Modulacija Pri modulaciji realnega nosilca cos[Ω0n] s signalom x[n], se spekter signala premakne za Ω0 v levo in desno od originalnega spektra, njegova amplituda pa se razpolovi: x[n] ↔ X(Ω) 1 x[n] cos[Ω0n] ↔ (X(Ω − Ω 2 0) + X (Ω + Ω0)) (1.83) Zaradi periodičnosti spektra lahko frekvenco nosilca in frekvenčni premik obravnavamo po mod- ulu 2π. 1.6.3.5 DTFT konvolucije DTFT konvolucije dveh aperiodičnih nizov je enak produktu DTFT-jev posameznih nizov. Če je niz x[n] posledica konvolucije dveh aperiodičnih nizov x1[n] ∗ x2[n], je transform X(Ω) enak produktu transformov obeh osnovnih nizov: x1[n] ↔ X1(Ω) x2[n] ↔ X2(Ω) x1[n] ∗ x2[n] ↔ X1(Ω)X2(Ω) (1.84) Za razliko od DFT tu konvolucija ni krožna, ker imamo opravka z aperiodičnimi signali. 1.6.3.6 DTFT produkta Lastnost množenja je dualna lastnosti konvolucije: x1[n] ↔ X1(Ω) x2[n] ↔ X2(Ω) 1 x1[n]x2[n] ↔ X 2π 1(Ω) ∗ X2(Ω) (1.85) Zaradi periodičnosti spektra je konvolucija krožna po modulu 2π: Z 2π X1(Ω) ∗ X2(Ω) = X1(Λ)X2((Ω − Λ) mod 2π) dΛ (1.86) 0 26 Diskretni signali 1.6.3.7 Konjugacija Konjugacija v časovnem prostoru predstavlja konjugacijo in zrcaljenje preko ordinatne osi v frekvenčnem prostoru. x[n] ↔ X(Ω) x[n]∗ ↔ X∗(−Ω) (1.87) 1.6.3.8 DTFT realnih signalov Za realen signal x[n], velja: X(Ω) = X∗(−Ω) (1.88) kar lahko zapišemo tudi v obliki: ℜ{X(Ω)} = ℜ{X(−Ω)} (1.89) in ℑ{X(Ω)} = −ℑ{X(−Ω)} (1.90) To pomeni, da je pri realnih signalih realna komponenta DTFT soda funkcija Ω in imaginarna komponenta liha funkcija Ω. Podobna simetrija velja tudi za amplitudni in fazni spekter: Ax(Ω) = Ax(−Ω) (1.91) in Φx(Ω) = −Φx(−Ω) (1.92) 1.6.3.9 DTFT avtokorelacijske funkcije Ker smo avtokorelacijsko funkcijo definirali različno za energijske in močnostne signale, moramo tudi njen DTFT obravnavati ločeno. Energijski signali Energijski spekter signala smo definirali kot DTFT avtokorelacijske funkcije energijskih signalov: Wx(Ω) = DTFT{rxx[m]} (1.93) Pokazati je mogoče, da je energijski spekter enak kvadratu amplitudnega spektra: Wx(Ω) = |X(Ω)|2 = A2(Ω) (1.94) Izraz (1.93) zapišemo z IDTFT: rxx[m] = IDTFT(Wx(Ω)) (1.95) Izpišemo avtokorelacijsko funkcijo in IDTFT v zgornjem izrazu in postavimo m = 0. Dobimo: ∞ 1 Z 2π X x2[n] = W 2π x(Ω) dΩ (1.96) n=−∞ 0 kar je Parsevalov teorem za aperiodične energijske diskretne signale. 1.6 Časovno diskretni Fourier transform – DTFT 27 Močnostni signali. Močnostni spekter smo definirali kot DTFT avtokorelacijske funkcije močnostnih signalov: Sx(Ω) = DTFT{Rxx[m]} (1.97) Za močnostni spekter velja tudi: 1 Sx(Ω) = lim WN (Ω) (1.98) N →∞ 2N + 1 kjer smo z WN (Ω) označili energijski spekter signala x[n] na intervalu −N ≤ n ≤ N . Avtokorelacijska funkcija je časovno diskretna in soda aperiodična funkcija, zato je močnostni spekter zvezen, periodičen in realen. Kadar so števila niza x[n] med seboj neodvisna (nekorelirana), je avtokorelacijska funkcija različna od nič le pri m = 0. Močnostni spekter Sx(Ω) je tedaj raven. Pri naključnih signalih je zato močnostni spekter merilo naključnosti signala. Če sedaj izraz (1.97) zapišemo z IDTFT: Rxx[m] = IDTFT(Sx(Ω)) (1.99) in postavimo m = 0, dobimo:   1 N 1 Z 2π lim X  x2[n] = Sx(Ω) dΩ (1.100) N →∞ 2N + 1 2π n=−N 0 kar je Parsevalov teorem za aperiodične močnostne diskretne signale. 2 Diskretni sistemi Pri načrtovanju diskretnih sistemov, povezovanju analognih in diskretnih sistemov ali zamenjavi analognih sistemov z diskretnimi je zelo pomembno, da natančno poznamo tudi osnovne lastnosti analognih sistemov. Zelo pomembne so značilne podobnosti in razlike med njihovimi lastnostmi. 2.1 Linearni diskretni sistemi Slika 2.1 – Časovno diskreten sistem z enim vhodom in enim izhodom Vhodni in izhodni signal diskretnega sistema na sliki 2.1 sta diskretna signala x[n] in y[n]. Izhodni signal lahko predstavimo kot transform vhodnega signala: y[n] = T {x[n]} (2.1) Transformacija T { } je določena z lastnostmi časovno diskretnega sistema in v celoti opisuje sistem. Pri diskretnih sistemih se bomo omejili na linearne časovno nespremenljive (L ČN) sisteme. 2.1.1 Linearnost in časovna nespremenljivost Enako kot pri analognem LČN sistemu lahko tudi za diskreten LČN sistem določimo pogoja za linearnost in časovno nespremenljivost. Sistem je linearen, kadar da linearna kombinacija signalov na vhodu linearno kombinacijo transformov na izhodu sistema. ( ) T X[ai xi[n]] = X [ai T {xi[n]}] (2.2) i i Sistem je časovno nespremenljiv, kadar povzroči časovni premik signala na vhodu sistema enak časovni premik na izhodu. T {x[n]} = y[n] ⇐⇒ T {x[n − n0]} = y[n − n0] (2.3) 2.1.2 Sistemska funkcija ali impulzni odziv Lastnosti diskretnega L ČN sistema lahko opišemo s sistemsko funkcijo h[n], ki je definirana kot odziv sistema na enotin impulz: h[n] = T {δ[n]} (2.4) 29 30 Diskretni sistemi kjer je δ[n] enotin impulz in je določen z: ( 1 ; n = 0 δ[n] = (2.5) 0 ; n 6= 0 Sistemska funkcija oziroma impulzni odziv popolnoma določa diskreten L ČN sistem. Če po- znamo sistemsko funkcijo h[n], lahko vsakemu vhodnemu signalu x[n] določimo ustrezen izhodni signal y[n]. Izhodni signal je enak konvoluciji vhodnega signala s sistemsko funkcijo: y[n] = X x[n − m]h[m] = x[n] ∗ h[n] (2.6) m Da bi pokazali veljavnost zgornjega izraza upoštevajmo v izrazu: y[n] = T (x[n]) (2.7) dejstvo, da je konvolucija enotinega impulza in signala enaka samemu signalu: δ[n] ∗ x[n] = X δ[n − m]x[m] = x[n] (2.8) m Dobimo: ! y[n] = T X x[m]δ[n − m] (2.9) m Člene v zgornjem izrazu seštevamo po indeksu m, v vsakem posameznem členu je torej x[m] konstanten. Če upoštevamo, da je transformacija T linearna, lahko zapišemo: y[n] = X x[m]T (δ[n − m]) (2.10) m Po definiciji je transformacija enotinega impulza enaka sistemski funkciji, ker pa je po pred- postavki sistem časovno neodvisen, je transformacija za m premaknjenega enotinega impulza enaka za m premaknjeni sistemski funkciji, torej velja: y[n] = X h[n − m]x[m] = h[n] ∗ x[n] (2.11) m Ker je konvolucija komutativna operacija, je zgornji izraz enak izrazu (2.6) in veljavnost izraza (2.6) je s tem potrjena. 2.1.3 Sistemska funkcija kavzalnih sistemov Pri ustvarljivih diskretnih sistemih, kjer predstavlja x[n] vzorce signala in je n časovni indeks, posledica ne more prehitevati vzroka, zato se odziv na izhodu sistema ne more pojaviti preden je na vhodu sistema prisoten signal, ki to posledico povzroči. Take sisteme imenujemo tudi kavzalni sistemi. Sistemska funkcija h[n] je definirana kot odziv sistema na enotin impulz δ[n], ki nastopi v trenutku n = 0. V tem primeru je torej h[n] posledica, ki ne more nastopiti pred vzrokom, torej pred časom n = 0 in zato zanjo velja: h[n] = 0 ∀ n < 0 (2.12) Primer sistemske funkcije kavzalnega sistema je prikazan na sliki 2.2. 2.1 Linearni diskretni sistemi 31 Slika 2.2 – Sistemska funkcija kavzalnega sistema 2.1.4 Prevajalna funkcija Pri načrtovanju sistemov je pogosto pomembnejši odziv v frekvenčnem prostoru oziroma njegova prevajalna funkcija. Prevajalna funkcija sistema H(Ω) je definirana kot DTFT sistemske funkcije h[n]: H(Ω) = DT F T (h[n]) = X h[n]e−nΩ (2.13) n Konvolucija v časovnem prostoru se transformira v množenje v frekvenčnem prostoru. Iz tega sledi, da je DTFT izhodnega signala Y (Ω) enak produktu DTFT vhodnega signala X(Ω) in DTFT sistemske funkcije: Y (Ω) = H(Ω)X(Ω) (2.14) Množenje DTFT signala s prevajalno funkcijo predstavlja filtriranje. Iz lastnosti DTFT izhaja, da je prevajalna funkcija H(Ω) periodična po frekvenci Ω s periodo 2π: H(Ω) = H(Ω + 2π) (2.15) Periodičnost filtriranja je nakazana na sliki 2.3. Slika 2.3 – Periodičnost filtriranja Prevajalno funkcija sistema H(Ω) bi lahko definirali tudi kot odziv LČN sistema na vzbujanje s kompleksnim harmoničnim signalom x[n] s krožno frekvenco Ω: x[n] = ˆ XeΩn (2.16) kjer je z ˆ X označena kompleksna amplituda (kazalec) harmoničnega signala. Odziv sistema je enak konvoluciji vhodnega signala in sistemske funkcije: y[n] = x[n] ∗ h[n] ∞ = X h[m] ˆ XeΩ(n−m) m=−∞ ∞ = ˆ XeΩn X h[m]e−Ωm m=−∞ 32 Diskretni sistemi = ˆ XH(Ω)eΩn = ˆ Y eΩn (2.17) Gornji izraz kaže, da je izhodni signal kompleksen harmoničen signal iste frekvence kot vhodni signal, njegova amplituda pa je enaka: ˆ Y = H(Ω) ˆ X (2.18) Prevajalno funkcijo H(Ω) lahko torej določimo iz razmerja amplitud vhodnega in izhodnega signala pri vzbujanju s harmoničnim signalom krožne frekvence Ω: ˆ Y H(Ω) = (2.19) ˆ X 2.1.5 Stabilnost sistema Sistem je stabilen, če je pri končnem vzbujanju tudi odziv sistema končen: |y[n]| < ∞ ∀ n ⇐= |x[n]| < ∞ ∀ n (2.20) Kadar je vzbujanje končno, lahko določimo pozitivno število M tako, da velja: |x[n]| ≤ M (2.21) Absolutno vrednost signala na izhodu sistema določimo na osnovi izraza (2.6): |y[n]| = X x[n − m]h[m] (2.22) m V gornjem izrazu upoštevamo trikotniško pravilo in dobimo neenačbo: |y[n]| ≤ X |x[n − m]| · |h[m]| (2.23) m Neenačaj se ohrani, če vse vrednosti |x[n]| nadomestimo z M. Dobimo: |y[n]| ≤ M X |h[m]| (2.24) m Odziv |y[n]| v zgornji enačbi bo končen, kadar bo končna vsota na desni strani zgornjega izraza. Pogoj X |h[m]| < ∞ (2.25) m je torej zadosten pogoj za stabilnost sistema. Če so meje v zgornji vsoti končne, je tudi vsota končna, kar pomeni, da je sistem s končno dolžino odziva na enotin impulz vedno stabilen. 2.2 Transform Z Podobno, kot smo pri analizi analognih sistemov namesto Fourier transforma sistemske funkcije H(ω) uporabili njen Laplaceov transform HL(s), lahko uporabimo pri diskretnih sistemih trans- form Z sistemske funkcije, to je prevajalno funkcijo HZ(z). 2.2 Transform Z 33 2.2.1 Definicija transforma Z Po definiciji je dvostranski transform Z sistemske funkcije h[n] enak: ∞ H X z(z) = Z h[n] = h[n]z−n (2.26) n=−∞ kjer je z kompleksna spremenljivka. Za razliko od Laplaceovega transforma je transform Z definiran tudi za nekavzalne funkcije h[n], ker je n določen tako za pozitivne kot za negativne vrednosti. Pri kavzalnih sistemih lahko uporabimo desnostranski transform: ∞ H X z (z) = h[n]z−n (2.27) n=0 2.2.2 Transform Z in DTFT Transform Z je v bistvu Laurentova vrsta kompleksne spremenljivke z in lahko izpeljemo vse lastnosti iz teorije kompleksnih spremenljivk. Spremenljivka z ima lahko poljubno vrednost v kompleksni ravnini z, za katero vrsta konvergira. Zapišimo spremenljivko z v polarnem zapisu: z = reΩ (2.28) Transform Z je potem enak: ∞ H X z (reΩ) = h[n]r−ne−Ωn (2.29) n=−∞ Na enotinem krogu v ravnini z pri r = 1 je transform Z ekvivalenten DTFT: Hz(eΩ) = H(Ω) (2.30) Enotska krožnica v ravnini z torej predstavlja frekvenčno krožnico, podobno kot predstavlja imaginarna os v ravnini s frekvenčno os. Frekvenca, ki jo predstavlja točka na enotski krožnici, je enaka kotu, ki ga oklepa daljica med izbrano točko in izhodiščem z realno osjo, kot je to prikazano na sliki 2.4. Da bi prevajalno funkcijo, ki jo dobimo s transformom Z razlikovali od prevajalne funkcije, ki jo dobimo s pomočjo DTFT, smo prvo označili z indeksom Hz(z). Ker je v večini primerov že iz argumenta funkcije razvidno, da gre za transform Z, bomo v primerih, ko je to razvidno, v nadaljevanju eksplicitno oznako z indeksom z izpuščali in uporabili poenostavljen zapis H(z). 2.2.3 Konvergenčno področje transforma Z Vrsta (2.29) ni nujno konvergentna v vseh točkah ravnine z. Da bi lahko določili konvergenčno področje, to je področje v ravnini z, kjer je vrsta zagotovo konvergentna, poiščemo mejno abso- lutno vrednost vrste (2.29): ∞ ∞ |H X X z(reΩ)| = h[n]e−Ωnr−n ≤ |h[n]|r−n (2.31) n=−∞ n=−∞ 34 Diskretni sistemi Slika 2.4 – Frekvenčna krožnica v ravnini z Gornjo vrsto razdelimo v dve vrsti, ki ustrezata levostranskemu in desnostranskemu transformu Z: ∞ −1 ∞ X |h[n]|r−n = X |h[n]| · r−n + X |h[n]| · r−n = n=−∞ n=−∞ n=0 ∞ ∞ = X |h[−n]|rn + X |h[n]|r−n (2.32) n=1 n=0 V področju konvergence transforma Z morata biti obe vrsti konvergentni. Za funkcijo h[n] lahko določimo tri pozitivne konstante M, R1 in R2 tako, da bo izpolnjeno: |h[n]| ≤ MRn1 ; n ≥ 0 |h[n]| ≤ MRn2 ; n < 0 (2.33) Če v skladu z zgornjimi mejami nadomestimo |h[n]| v izrazu (2.32) z večjimi vrednostmi, se neenačaj ohrani, zato velja: " ∞ r n ∞ R n# |H X X 1 z (reΩ)| ≤ M + (2.34) R r n=1 2 n=0 Obe vrsti v zgornjem izrazu sta geometrijski vrsti. Geometrijska vrsta je konvergentna, če je konstanta geometrijskega zaporedja manjša od 1. Prva vrsta, ki pripada levostranskemu transformu Z, bo torej konvergentna, kadar velja: r < R2 (2.35) to je v krogu s polmerom R2 v ravnini z. Druga vrsta, ki pripada desnostranskemu transformu Z, bo konvergentna, kadar velja: r > R1 (2.36) to je zunaj kroga s polmerom R1 v ravnini z. Kadar je R2 > R1, dobimo v ravnini z konvergenčno področje v obroču, ki ga omejujeta R1 in R2, kot je to prikazano na sliki 2.5. Če želimo zagotoviti, da bo DTFT končen pri vseh frekvencah in s tem zagotoviti tudi sta- bilnost sistema, mora ležati frekvenčna krožnica znotraj konvergenčnega področja, kar pomeni, da mora biti R1 < 1 in R2 > 1. 2.2 Transform Z 35 Slika 2.5 – Konvergenčno področje transforma Z Ker se bomo v nadaljevanju ukvarjali le s kavzalnimi sistemi, velja posebej poudariti, da je pri kavzalnih sistemih, le desnostranski transform Z različen od nič, zato je konvergenčno področje zunaj kroga z radijem R1. Pogoj R1 < 1 je tedaj zadosten za stabilnost sistema. Poleg transforma Z sistemske funkcije, lahko naredimo tudi transform Z signala. Ta pri analizi signalov nima večjega pomena, uporaben pa je pri proučevanju transformacije signala pri prehodu skozi LČN sistem. Ker signali v splošnem niso omejeni s pogojem kavzalnosti, imamo tu opraviti z obojestranskim transformom Z. 2.2.4 Lastnosti transforma Z 2.2.4.1 Linearnost Transform Z je linearen, kar pomeni, da je transform linearne kombinacije enak linearni kombi- naciji transformov: ! Z X aihi[n] = X aiZ(hi[n]) (2.37) i i 2.2.4.2 Teorem o konvoluciji Transform konvolucije dveh nizov je enak produktu transformov obeh nizov. y[n] = x[n] ∗ h[n] (2.38) Y (z) = X(z)H(z) Ker predstavlja prva vrstica v (2.38) odziv LČN s sistemsko funkcijo h[n] na vhodni signal x[n], predstavlja druga vrstica odziv sistema v prostoru z. Podobno kot v frekvenčnem prostoru, se tudi v prostoru z pri prehodu skozi sistem signal množi s prevajalno funkcijo sistema. Veljavnost zgornje trditve lahko potrdimo z naslednjimi izvajanji: ∞ ∞ ∞ ! Y (z) = X y[n]z−n = X X x[m]h[n − m] z−n (2.39) n=−∞ n=−∞ m=−∞ 36 Diskretni sistemi Zamenjamo vrstni red seštevanja in dobimo izraz, iz katerega zlahka razberemo produkt obeh transformov: ∞ ∞ ! Y (z) = X x[m]z−m X h[n − m]z−n+m = X(z)H(z) (2.40) m=−∞ n=−∞ 2.2.4.3 Teorem o premiku signala Premik signala za m vzorcev v desno se v prostor z transformira kot množenje z z−m: y[n] = x[n − m] Y (z) = z−mX(z) (2.41) 2.2.4.4 Kaskadna vezava sistemov Slika 2.6 – Kaskadna vezava sistemov Pri kaskadni vezavi sistemov, dobimo prevajalno funkcijo celotnega sistema z množenjem posameznih prevajalnih funkcij: H(z) = H1(z)H2(z) (2.42) Lastnost je razvidna neposredno iz teorema o konvoluciji. 2.2.4.5 Vzporedna vezava sistemov Slika 2.7 – Vzporedna vezava sistemov Pri vzporedni vezavi sistemov, je prevajalna funkcija celotnega sistema enaka vsoti posameznih prevajalnih funkcij: H(z) = H1(z) + H2(z) (2.43) kar sledi neposredno iz lastnosti o linearnosti. 2.2 Transform Z 37 Slika 2.8 – Vezava s povratnim sklopom 2.2.4.6 Vezava s povratnim sklopom Prevajalno funkcijo sistema s povratnim sklopom na sliki 2.8 dobimo tako, da najprej izrazimo izhodni signal: Y (z) = [X(z) + Y (z)H2(z)]H1(z) (2.44) in od tod: Y (z) H H(z) = = 1(z) (2.45) X(z) 1 − H1(z)H2(z) 2.2.5 Zgledi transformov Z V tem razdelku so predstavljeni transform Z nekaterih najznačilnejših kavzalnih nizov. 2.2.5.1 Enotin impulz h[n] = δ[n] (2.46) ∞ H(z) = X δ[n]z−n = 1 (2.47) n=0 Ker je niz končen, je konvergenčno področje celotna ravnina z. 2.2.5.2 Zakasnjen enotin impulz h[n] = δ[n − m] ; m > 0 (2.48) Sistem s tako sistemsko funkcijo zakasni niz za m vzorcev. Transform Z je enak: ∞ H(z) = X δ[n − m]z−n = z−m (2.49) n=0 Če imamo zakasnitev za en vzorec (m = 1), dobimo tako imenovano zakasnilno celico ali D celico. Njena prevajalna funkcija je v skladu z zgornjim izrazom enaka: H(z) = z−1 (2.50) Tudi tu je konvergenčno področje celotna ravnina z z izjemo izhodišča. 38 Diskretni sistemi 2.2.5.3 Enotina stopnica Enotina stopnica u[n] je definirana kot: ( 1 ; n ≥ 0 u[n] = (2.51) 0 ; n < 0 Vsak niz, ki ga množimo z enotino stopnico postane kavzalen. Sistem s sistemsko funkcijo: h[n] = u[n] (2.52) ima prevajalno funkcijo enako: ∞ 1 H(z) = X z−n = (2.53) 1 − z−1 n=0 Zgornja vrsta je konvergentna za vse |z| > 1, to je zunaj enotskega kroga. Ker frekvenčna krožnica ni vključena, DTFT ne obstaja. 2.2.5.4 Eksponentni niz Za kavzalen eksponentni niz: h[n] = u[n]an (2.54) dobimo transform: ∞ ∞ 1 H(z) = X anz−n = X(az−1)n = (2.55) 1 − az−1 n=0 n=0 H(z) konvergira, če je |az−1| < 1 oziroma |z| > |a|, to je zunaj kroga s polmerom a. Da bi obstajal DTFT mora biti a < 1. 2.2.5.5 Kompleksni harmonični niz Kompleksni harmonični niz z upadajočo amplitudo: h[n] = u[n]aneΩ0n (2.56) ima transform Z enak: ∞ 1 H(z) = X aneΩ0nz−n = (2.57) 1 − aeΩ0z−1 n=0 H(z) konvergira za |z| > a, torej zunaj kroga s polmerom a. Da bi obstajal DTFT mora biti a < 1, kar pomeni, da amplituda upada. 2.2.5.6 Sinusni niz Namesto kompleksnega signala imamo lahko realni harmonični niz z upadajočo amplitudo: h[n] = u[n]an sin(Ω0n) (2.58) Sinusno funkcijo izrazimo v kompleksni obliki: 1 u[n]an sin(Ω0n) = u[n]aneΩ0n − u[n]ane−Ω0n (2.59) 2 2.2 Transform Z 39 V gornjem izrazu upoštevamo (2.57).Po preureditvi dobimo: a sin(Ω H(z) = 0)z−1 (2.60) 1 − 2a cos(Ω0)z−1 + a2z−2 Konvergenca zahteva, da je |z| > a, torej DTFT tudi tu obstaja le pri upadajoči amplitudi. Pri a = 1, dobimo kot odziv na enotin impulz nedušeno nihanje, kar predstavlja oscilator. 2.2.5.7 Kosinusni niz Za kosinusni niz: h[n] = u[n]an cos(Ω0n) (2.61) izračunamo transform na enak način kot za sinusni niz. Dobimo: 1 − az−1 cos(Ω H(z) = 0) (2.62) 1 − 2a cos(Ω0)z−1 + a2z−2 Tudi tu dobimo pri a = 1 nedušeno nihanje. Za boljšo preglednost so transformi Z signalov, ki pogosto nastopajo pri obdelavi, podani v razpredelnici 2.1. niz transform konvergenca δ[n] 1 poljubno δ[n − m] z−m poljubno 1 u[n] |z| > 1 1 − z−1 anu[n] 1 1 − az−1 |z| > |a| nanu[n] az−1 (1 − az−1)2 |z| > |a| sin(Ω sin(Ω 0)z−1 0n) u[n] 1 − 2 cos(Ω0)z−1 + z−2 |z| > 1 1 cos(Ω − cos(Ω0)z−1 0n) u[n] 1 − 2 cos(Ω0)z−1 + z−2 |z| > 1 a sin(Ω an sin(Ω 0)z−1 0n) u[n] 1 − 2a cos(Ω0)z−1 + a2z−2 |z| > |a| 1 an cos(Ω − a cos(Ω0)z−1 0n) u[n] 1 − 2a cos(Ω0)z−1 + a2z−2 |z| > |a| Tabela 2.1 – Razpredelnica transformov Z pogostih siganalov. 2.2.6 Prevajalna funkcija ustvarljivih sistemov Ustvarljivi diskretni LČN sistemi so kavzalni in izvedeni s končnim številom elementov. Izhodni vzorec y[n] je zato lahko le linearna kombinacija trenutnega vhodnega vzorca x[n] in končnega števila preteklih vhodnih in izhodnih vzorcev: x[n − i] in y[n − i] pri i > 0: N M y[n] = X b X ix[n − i] − aiy[n − i] (2.63) i=0 i=1 40 Diskretni sistemi Zgornjo enačbo je mogoče realizirati s pomočjo seštevalnikov, množilnikov in zakasnilnih celic. Na trenutni izhodni vzorec vpliva trenutni vhodni vzorec in N preteklih vhodnih vzorcev ter M preteklih izhodnih vzorcev. Naredimo transform Z na obeh straneh gornjega izraza in upoštevamo linearnost transforma Z. Dobimo: N M Y (z) = X b X iZ(x[n − i]) − aiZ(y[n − i]) = i=0 i=1 (2.64) N M = X(z) X b X iz−i − Y (z) aiz−i i=0 i=1 Z ureditvijo dobimo izraz: N X biz−i Y (z) H(z) = = i=0 (2.65) X(z) M 1 + X aiz−i i=1 Vidimo, da je pri ustvarljivih diskretnih sistemih prevajalna funkcija H(z) kompleksna racionalna funkcija, ki jo lahko zapišemo v obliki, iz katere so razvidne ničle in poli: N N Y (1 − z Y niz−1) (z − zni) H(z) = b i=1 i=1 0 = b (2.66) M 0zM −N M Y (1 − z Y piz−1 ) (z − zpi) i=1 i=1 Lege ničel zni in polov zpi prevajalne funkcije H(z) so odločilne za lastnosti sistema. Vrišemo jih v ravnino z. V središču je frekvenčni krog, ki ima enak pomen kot frekvenčna os v ravnini s. Ničle prevajalne funkcije označujemo običajno s krogci, pole pa s križci. Na sliki 2.9 je narisan zgled razporeditve polov in ničel sistema s prevajalno funkcijo drugega reda. Slika 2.9 – Lege polov in ničel prevajalne funkcije v z-prostoru Za ustvarljive diskretne sisteme z realnimi koeficienti ai in bi velja: 2.2 Transform Z 41 • Število polov je vedno večje ali enako kot število ničel. • Poli in ničle prevajalne funkcije H(z) so realni ali pa nastopajo v konjugirano kompleksnih dvojicah. • Amplitudna karakteristika A(Ω) je neposredno odvisna od lege polov in ničel. N N Y |eΩ − z Y ni| dni(Ω) A(Ω) = |H(eΩ)| = |b i=1 i=1 0| = |b (2.67) M 0| M Y |eΩ − z Y pi| dpi(Ω) i=1 i=1 Amplitudna karakteristika je do množilne konstante natančno enaka razmerju med pro- duktom razdalj ničel in produktov razdalj polov do frekvenčnega kroga. Ker imajo ničle in poli pri z = 0 razdaljo enako 1, ne vplivajo na amplitudno karakteristiko. • Tudi fazna karakteristika Φ(Ω) je neposredno odvisna od lege polov in ničel. N M Φ(Ω) = arg[H(eΩ)] = (M − N )Ω + X Φ X ni(Ω) − Φpi(Ω) + kπ (2.68) i=1 i=1 kjer je: ( 0 ; b k = 0 > 0 (2.69) 1 ; b0 < 0 Fazna karakteristika je enaka razliki vsote kotov vektorjev med ničlami in točko na frekvenčni krožnici ter vsote kotov vektorjev med poli in točko na frekvenčni krožnici. Poli in ničle pri z = 0 vnašajo fazni zasuk, ki je linearno odvisen od frekvence Ω. • Konvergenčno področje transforma Z sistemske funkcije h[n] kavzalnega sistema je zunaj kroga s polmerom R, ki ga določa od izhodišča najbolj oddaljen pol prevajalne funkcije H(z): R = max |zpi| (2.70) i • DTFT sistemske funkcije obstaja in sistem je stabilen, če leži frekvenčna krožnica v kon- vergenčnem področju transforma Z sistemske funkcije, kar pomeni, da morajo ležati vsi poli prevajalne funkcije H(z) v enotinem krogu: |zpi| < 1 (2.71) • Pri zrcaljenju poljubne ničle prevajalne funkcije H(z) preko frekvenčne krožnice se ampli- tudni potek A(Ω) spremeni le za multiplikativno konstanto. V prevajalni funkciji H1(z) izpostavimo faktor, ki predstavlja ničlo: H1(z) = H0(z)(1 − znz−1) (2.72) in tvorimo prevajalno funkcijo z ničlo pri z′n = 1/z∗n: 1 H2(z) = H0(z)(1 − z′nz−1) = H0(z)(1 − ) (2.73) z∗nz 42 Diskretni sistemi Amplitudni potek prevajalne funkcije s preslikano ničlo je enak: 1 A2(Ω) = H0(eΩ) · 1 − = z∗neΩ 1 = H0(eΩ) · · z∗ = neΩ − 1 z∗ neΩ 1 = H · 1 − z = |z 0(eΩ) ne−Ω n| 1 = A |z 1(Ω) (2.74) n| • Lege ničel imajo odločilen vpliv na zakasnitev odziva in potek faze prevajalne funkcije. Ločimo tri primere: – vse ničle leže v enotinem krogu: vezje ima najmanjšo zakasnitev odziva in prevajalna funkcija ima minimalni fazni zasuk, – vse ničle leže zunaj enotinega kroga: vezje ima največjo zakasnitev odziva in preva- jalna funkcija maksimalni fazni zasuk, – ničle leže v in zunaj enotinega kroga: vezje ima zakasnitev odziva med mejnima vrednostma in fazni zasuk je med minimalnim in maksimalnim zasukom. 2.2.7 Inverzni transform Z Zelo pogosto analiziramo ali načrtujemo sisteme z uporabo transformov Z, ne da bi transforme spreminjali nazaj v ustrezne nize. Včasih je ta konverzija nujna in jo dobimo z inverznim transformom Z, ki ga označujemo z Z−1: h[n] = Z−1(H(z)) (2.75) Formalna definicija inverznega transforma je preprosta, lahko pa je težaven njen izračun. Uporabljamo več postopkov inverzne transformacije, ki so našteti v nadaljevanju. 2.2.7.1 Inverzni transform z integracijo Inverzni transform izpeljemo na osnovi teorije o kompleksnih spremenljivkah in Cauchyjevega integrala: 1 I h[n] = H(z)zn−1dz (2.76) 2π C Niz h[n] je določen z vrednostjo integrala po poljubni zaključeni krivulji C v ravnini z, ki leži v konvergenčnem področju transforma Z. Če obstaja DTFT niza h[n], leži frekvenčna krožnica v konvergenčnem področju, kar pomeni, da lahko integriramo po frekvenčni krožnici, oziroma postavimo: z = eΩ dz = eΩdΩ (2.77) 2.2 Transform Z 43 in integriramo v mejah od 0 do 2π. Dobimo: 1 Z 2π 1 Z 2π h[n] = H(eΩ)eΩ(n−1)eΩdΩ = H(eΩ)eΩndΩ (2.78) 2π 0 2π 0 kar pa je enako inverznemu DTFT. Vidimo torej, da je inverzni transform Z, vedno kadar obstaja DTFT, kar enak IDTFT. 2.2.7.2 Računanje integrala z residuumi Kadar je H(z) racionalna funkcija spremenljivke z, lahko določimo vrednosti integrala po za- ključeni poti (2.76) na osnovi Cauchy-jevega teorema o residuumih. Označimo funkcijo pod integralom s H0(z, n) in jo zapišimo v obliki: N (z) H0(z, n) = H(z) zn−1 = (2.79) M Y (z − zpi)mi i=1 kjer je zpi i-ti pol funkcije H0(z, n), mi red i-tega pola in M skupno število polov. Pri tem upoštevamo vse pole, vključno s poli v izhodišču ravnine z. Število polov v izhodišču je zaradi faktorja zn−1 v funkciji H0(z, n) odvisno od indeksa n. Integral po zaključeni poti v (2.76) je potem po Cauchy-jevem teoremu o residuumih enak vsoti residuumov funkcije H0(z) v polih: M h[n] = X res [H0(z, n)] (2.80) i=1 z=zpi kjer je: " 1 dm # i−1 res [H0(z, n)] = lim (z − zpi)mH0(z, n) (2.81) z=z z→zpi (m dzmi−1 pi i − 1)! 2.2.7.3 Inverzni transform z deljenjem Transform Z sistemske funkcije h[n] kavzalnega sistema je enak: H(z) = h[0] + h[1]z−1 + h[2]z−2 + .... (2.82) H(z) je v splošnem izražen kot ulomek dveh polinomov: b H(z) = 0 + b1z−1 + b2z−2 + ... + bN z−N (2.83) 1 + a1z−1 + a2z−2 + ... + aM z−M Z deljenjem števca z imenovalcem dobimo zaporedne člene vrste (2.82): (b0 + b1z−1 + ... + bN z−N ) : (1 + a1z−1 + ... + aM z−M ) = = h[0] + h[1]z−1 + h[2]z−2 + . . . (2.84) od koder lahko razberemo vrednosti sistemske funkcije h[n]. Rezultata ne dobimo v obliki splošnega izraza, temveč ga dobimo v obliki niza številk. V določenih primerih je ta niz dovolj preprost, da lahko izpeljemo tudi splošen izraz za odziv sistema. Včasih tega niti ne potrebujemo, saj nam že sam niz pove dovolj o lastnostih sistema. 44 Diskretni sistemi 2.2.7.4 Zgled izračuna inverznega transforma Z Za zgled si oglejmo izračun inverznega transforma Z prevajalne funkcije z enim polom na realni osi: 1 H(z) = (2.85) 1 − az−1 Postopek z residuumi Najprej določimo funkcijo H0(z, n) zn H0(z, n) = H(z)zn−1 = (2.86) z − a Vidimo, da ima funkcija H0(z, n) pri n ≥ 0 natanko en pol prvega reda pri z = a, zato v skladu z (2.81) in (2.86) velja: (z − a)zn h[n] = res [H0(z, n)] = lim = an ; n ≥ 0 (2.87) z=a z→a (z − a) Pri n < 0 ima funkcija dodaten pol (−n)-tega reda pri z = 0. Zato lahko v skladu z (2.80) in (2.81) zapišemo: h[n] = res [H0(z, n)] + res [H0(z, n)] = z=a z=0 " # 1 d−n−1 = an + lim z−nH0(z, n) = z→0 (−n − 1)! dz−n−1 " 1 d−n−1 # = an + lim (z − a)−1 = z→0 (−n − 1)! dz−n−1 = an − an = 0 ; n < 0 (2.88) Rezultata za n ≥ 0 v enačbi (2.87) in n < 0 v enačbi (2.88) lahko sedaj združimo v en izraz. Dobimo: h[n] = anu[n] (2.89) kar je pričakovan rezultat (glej tabelo 2.1). Postopek z deljenjem 1 : (1 − az−1) = 1 + az−1 + a2z−2 + a3z−3 + ... − (1 − az−1) az−1 − (az−1 − a2z−2) a2z−2 − (a2z−2 − a3z−3) a3z−3 (2.90) Iz zaporednih koeficientov zlahka uganemo splošen rezultat, ki smo ga dobili v enačbi (2.89). Na osnovi zgleda vidimo, da različni postopki izračuna privedejo do istega rezultata. Odločimo se lahko za tistega, ki je za dani primer preprostejši. 3 Vzorčenje in rekonstrukcija V prejšnjih dveh poglavjih smo se ukvarjali s splošnimi lastnostmi diskretnih signalov in diskret- nih LČN sistemov ter spoznali orodja za njihovo analizo. Spoznali smo, da so tako lastnosti signalov in sistemov kot tudi orodja za njihovo analizo v zveznem in diskretnem času zelo podobna, vendar ne enaka. V praksi imamo večinoma opraviti z analognimi - časovno zveznimi signali. Da bi take signale lahko obdelovali z diskretnimi sistemi, jih moramo najprej pretvoriti v diskretne signale, kar običajno storimo z vzorčenjem signala v enakomernih časovnih intervalih. Diskreten signal želimo običajno, po tem, ko smo ga obdelali, prenesli ali pa zgolj shranili na elektronski medij, zopet pretvoriti v analogen signal. Postopek imenujemo rekonstrukcija signala. Da bi lahko pri obdelavi izvorno analognih signalov koristno uporabili diskretne sisteme, moramo dobro razumeti dogajanja ob vzorčenju in poznati omejitve, ki vplivajo na verno rekon- strukcijo signala. 3.1 Vzorčenje analognega signala Z vzorčenjem analognih signalov dobimo diskretne signale. Enakomerno vzorčenje ustreza ugo- tavljanju vrednosti zveznega signala x(t) v trenutkih t = nTvz, kjer je Tvz interval vzorčenja in 2π ωvz = (3.1) Tvz vzorčna frekvenca. Tako dobljen časovno diskreten signal je urejen niz števil – vzorcev zveznega signala: x[n] = x(nTvz) (3.2) 3.1.1 Vzorčenje z enotinimi impulzi Za primerjavo z analognimi signali predstavimo diskreten signal s časovno funkcijo, pri čemer predstavlja vzorčenje produkt zveznega signala x(t) in vzorčevalne funkcije vδ(t): xδ(t) = x(t)vδ(t) (3.3) Vzorčevalna funkcija vδ(t) je neskončen niz Diracovih ali enotinih impulzov, ki so razmaknjeni med seboj za vzorčno periodo Tvz: ∞ v X δ (t) = δ(t − nTvz) (3.4) n=−∞ 45 46 Vzorčenje in rekonstrukcija Za Diracov ali enotin impulz δ(t) velja: Z ǫ δ(t) dt = 1 ∀ ǫ > 0 (3.5) −ǫ Diracov impulz si lahko predstavljamo kot pravokoten impulz, ki ga skrajšujemo in mu obenem večamo amplitudo prek vseh meja, tako da ostaja njegova ploščina stalno enaka 1, kot je to prikazano na sliki 3.1. Slika 3.1 – Nastanek Diracovega impulza Signal xδ(t) lahko sedaj zapišemo v obliki: ∞ x X δ (t) = x(nTvz)δ(t − nTvz) = X x[n]δ(t − nTvz) (3.6) n=−∞ n Signal xδ(t) bomo, da bi ga ločevali od diskretnega signala x[n], imenovali δ-vzorčen signal. Primer δ-vzorčenega signala je prikazan na sliki 3.2. Slika 3.2 – δ-vzorčen signal 3.1.2 Spekter pri vzorčenju signalov Doslej smo spektra analognih in diskretnih signalov obravnavali ločeno. Z vzorčenjem smo uvedli povezavo med analognim in diskretnim signalom, zato nas zanima tudi, kakšna je povezava med njunima spektroma. 3.1.2.1 Spektra analognega in δ-vzorčenega signala Spekter δ vzorčenega signala Xδ(ω) lahko zapišemo v obliki, s katere je razvidna njegova povezava s spektrom zveznega signala X(ω). Najprej vzorčevalno funkcijo vδ(t) razvijemo v Fourierevo vrsto. Vsi Fourierevi koeficienti V [k] so enaki 1/Tvz, zato velja: 1 ∞ v X δ (t) = ekωvzt (3.7) Tvz k=−∞ 3.1 Vzorčenje analognega signala 47 S Fourier transformom δ-vzorčenega signala Z ∞ Xδ(ω) = F {xδ(t)} = x(t)vδ(t)e−ωtdt = −∞  ∞  Z ∞ 1 = x(t) X ekωvzt e−ωtdt (3.8)   −∞ Tvz k=−∞ Zamenjamo vrstni red seštevanja in integracije in dobimo: 1 ∞ ∞ Z ∞ 1 X X X δ (ω) = x(t)e−(ω−kωvz)tdt = X(ω − kω T vz ) (3.9) vz T k=−∞ −∞ vz k=−∞ Gornja enačba povezuje spekter zveznega signala s spektrom δ-vzorčenega signala. Vidimo lahko, da se spekter zveznega signala X(ω) ponavlja v spektru δ-vzorčenega signala Xδ(ω) okrog vseh mnogokratnikov vzorčne frekvence. Do enakega rezultata bi prišli, če bi upoštevali, da dobimo zaradi produkta zveznega signala x(t) z vzorčevalno funkcijo vδ(t) v časovnem prostoru konvolucijo spektrov X(ω) in Vδ(ω) v frekvenčnem prostoru: Xδ(ω) = X(ω) ∗ Vδ(ω) (3.10) kjer je Vδ(ω) spekter vzorčevalne funkcije: 1 ∞ V X δ (ω) = δ(ω − kω T vz ) (3.11) vz k=−∞ 3.1.2.2 Spektra δ-vzorčenega in diskretnega signala Spekter δ-vzorčenega signala Xδ(t) dobimo s Fourier transformom δ-vzorčenega signala xδ(t): Z ∞ Xδ(ω) = xδ(t)e−ωtdt = X x[n] e−nωTvz (3.12) −∞ n Spekter je periodičen po frekvenci ω. Perioda je enaka vzorčni frekvenci ωvz: 2π Xδ(ω) = Xδ(ω + ) = X T δ(ω + ωvz ) (3.13) vz Označimo sedaj spekter diskretnega signala x[n], ki ga računamo po enačbi (1.71), z Xd(Ω): Xd(Ω) = X x[n]e−nΩ (3.14) n Če primerjamo (3.12) in (3.14), vidimo, da se spektra razlikujeta le v merilu na frekvenčni osi: Xδ(ω) = Xd(ωTvz) (3.15) Frekvenca Ω predstavlja torej pri enakomernem vzorčenju kar frekvenco ω, ki je normirana z vzorčno frekvenco fvz: ω ω Ω = ωTvz = = 2π (3.16) fvz ωvz 48 Vzorčenje in rekonstrukcija 3.1.2.3 Prehod od zveznega do diskretnega signala Če združimo enačbi (3.9) in (3.12), lahko izrazimo spekter diskretnega signala Xd(Ω) s spektrom analognega signala X(ω): 1 ∞ Ω − 2kπ X X d(Ω) = X( ) (3.17) Tvz T k=−∞ vz Prehod od zveznega do diskretnega signala v časovnem in frekvenčnem prostoru je nakazan na sliki 3.3. V zgornjem delu je prikazan segment zveznega nizkopasovnega signala x(t) in njegov spekter X(ω). Spekter signala je nizkopasoven z mejno frekvenco ωm. Drugi del slike kaže vzorčevalno funkcijo vδ(t) in njen spekter Vδ(ω). V tretjem delu je prikazan δ-vzorčen signal kot produkt analognega signala in vzorčevalne funkcije ter njegov spekter, ki je enak konvoluciji med obema spektroma. Na koncu je prikazan še diskretni signal x[n] in njegov spekter Xd(Ω), ki ga dobimo s spremembo merila na frekvenčni osi. w a) w w w b) w w w w w c) w w W [ n] d) n W Slika 3.3 – Prehod od zveznega do vzorčenega signala v časovnem in frekvenčnem prostoru: a) zvezni signal, b) vzorčevalna funkcija, c) δ-vzorčeni signal in d) diskretni signal 3.2 Rekonstrukcija zveznega signala Da bi lahko zvezni signal x(t) popolnoma rekonstruirali iz njegovih vzorcev x[n], morajo ti vzorci vsebovati vso informacijo o zveznem signalu. Če primerjamo spekter analognega signala in spekter diskretnega signala na sliki 3.3, lahko opazimo, da je spekter diskretnega signala v osnovni periodi enak spektru analognega signala. Razlikujeta se le za množilno konstanto 1/Tvz in v merilu na frekvenčni osi, kot je to razvidno iz enačbe (3.16). Postopek rekonstrukcije je shematsko prikazan na sliki 3.4. Diskretni signal x[n] najprej s pomočjo generatorja δ-impulzov pretvorimo v δ-vzorčeni signal xδ(t). Rekonstruiran signal dobimo tako, da iz signala xδ(t) z nizkim sitom, ki ga imenujemo rekonstrukcijsko sito, izsejemo samo osnovno periodo njegovega spektra. 3.2 Rekonstrukcija zveznega signala 49 Slika 3.4 – Rekonstrukcija signala Kadar je osnovna perioda spektra δ−vzorčenega signala enaka spektru analognega signala, bo tudi rekonstruirani signal ˆ x(t) enak originalnemu signalu x(t). Zgornja predpostavka drži le, kadar je bil analogni signal pred vzorčenjem frekvenčno omejen in smo izbrali dovolj visoko vzorčno frekvenco, da pri vzorčenju ni prišlo do prekrivanja osnovnega spektra s ponovljenimi spektri okrog mnogokratnikov vzorčne frekvence. 3.2.1 Kritično vzorčenje O kritičnem vzorčenju govorimo, kadar je frekvenca vzorčenja ravno dovolj visoka, da ne pride do prekrivanja spektrov, to je, kadar velja: ωvz = 2ωm (3.18) kjer je z ωm označena mejna frekvenca analognega signala, to je najvišja frekvenca, ki nastopa v spektru X(ω). Da bi lahko iz spektra δ-vzorčenega signala izsejali osnovno periodo spektra, mora imeti rekonstrukcijsko sito frekvenčno karakteristiko idealnega nizkega sita z mejno frekvenco enako polovici vzorčne frekvence in ojačenje enako Tvz: ( = T H vz ; |ω| ≤ ωvz/2 r(ω) = (3.19) = 0 ; |ω| > ωvz/2 kot je to prikazano na sliki 3.5. Slika 3.5 – Rekonstrukcijsko sito pri kritičnem vzorčenju 50 Vzorčenje in rekonstrukcija Oglejmo si sedaj še razmere v časovnem prostoru. Filtriranje z idealnim sitom ponazorimo tako, da spekter δ-vzorčenega signala najprej pomnožimo z množilno konstanto Tvz in nato odrežemo vse spektralne komponente nad mejno frekvenco rekonstrukcijskega sita. Rekonstru- irani signal ˆ x(t) je torej enak inverznemu Fourier transformu TvzXδ(ω) v mejah od −ωvz/2 do ωvz/2: T Z ωvz /2 ˆ x(t) = vz X 2π δ(ω) eωtdω (3.20) −ωvz/2 V gornjem izrazu nadomestimo Xδ(ω) v skladu z (3.12 ) in zamenjamo vrstni red seštevanja in integracije. Dobimo: t sin π − n T ˆ x(t) = X x[n] vz (3.21) t n π − n Tvz Vidimo, da lahko filtriranje z rekonstrukcijskim sitom razlagamo tudi kot interpolacijo vrednosti med posameznimi vzorci signala s pomočjo interpolacijske funkcije g(t): t sin π T t g(t) = vz t = sinc π (3.22) π Tvz Tvz Funkcija g(t) predstavlja odziv idealnega nizkega sita na enotin impulz in izraz (3.21) konvolucijo odziva z vzorčenim signalom: ˆ x(t) = xδ(t) ∗ g(t) (3.23) Slika 3.6 – Rekonstrukcija zveznega signala na osnovi vsote odzivov uteženih enotinih impulzov Na sliki 3.6 je nakazana rekonstrukcija zveznega signala iz diskretnega niza, ki ima le dva vzorca različna od nič. Ker nastopajo ničle interpolacijske funkcije g(t) ravno ob mnogokrat- nikih vzorčnega intervala nTvz, ob vzorčnih trenutkih nimamo medsebojnega vpliva vzorcev na rekonstruiran signal. Gornja izvajanja povzema teorem o vzorčenju. Teorem o vzorčenju. Signal x(t) je mogoče pri enakomernem vzorčenju popolnoma rekon- struirati iz vzorcev signala x[n] le, kadar je signal frekvenčno omejen in je frekvenca vzorčenja večja od dvakratne najvišje frekvence prisotne v signalu. Signal rekonstruiramo s pomočjo ide- alnega nizkega sita z mejno frekvenco enako polovici vzorčne frekvence, kar je enakovredno interpolaciji z interpolacijsko funkcijo g(t) = sinc(π(t/Tvz)). Zavedati se moramo, da idealno sito ni izvedljivo, zato predstavlja teorem o vzorčenju le spodnjo teoretično mejo. 3.2 Rekonstrukcija zveznega signala 51 3.2.2 Nadkritično vzorčenje O nadkritičnem vzorčenju govorimo, kadar je frekvenca vzorčenja višja od kritične vrednosti, ki še zagotavlja, da ne pride do prekrivanja spektrov: ωvz > 2ωm (3.24) V tem primeru ravno tako ne pride do prekrivanja spektrov, vendar pa za rekonstrukcijo ne potrebujemo več idealnega sita. Uporabimo lahko sito s prepustnim območjem |ω| ≤ ωm, pre- hodnim območjem ωm < |ω| < ωvz − ωm in zapornim področjem |ω| ≥ ωvz − ωm, kot je to prikazano na sliki 3.7. Slika 3.7 – Rekonstrukcijsko sito pri nadkritičnem vzorčenju Tudi tako rekonstrukcijsko sito ni izvedljivo, vendar se je mogoče z izvedljivimi siti takšni karakteristiki dovolj natančno približati, zato se v praksi večinoma uporablja nadkritično vzorčenje. 3.2.3 Podkritično vzorčenje Vzemimo še primer, ko pogoj ωvz ≥ 2ωm ni izpolnjen. Mejna frekvenca signala ωm presega polovico vzorčne frekvence ωvz/2 in govorimo o podkritičnem vzorčenju. Slika 3.8 – Spektralno prekrivanje oziroma zgibanje zaradi prenizke vzorčne frekvence Razmere pri rekonstrukciji podvzorčenega signala so prikazane na sliki 3.9. Vidimo, da ima rekonstruirani signal ˆ x(t) v vzorčnih trenutkih enake vrednosti kot originalni signal x(t), vendar se potek rekonstruiranega signala med njimi razlikuje od izvornega. Zaradi prekrivanja spektrov pri vzorčenju spekter rekonstruiranega signala ˆ X(ω) ni več enak spektru 52 Vzorčenje in rekonstrukcija Slika 3.9 – Rekonstrukcija signala pri podkritičnem vzorčenju originalnega signala X(ω). Obstaja namreč neskončno različnih signalov, ki imajo ob vzorčnih trenutkih enake vrednosti kot originalni signal, pri nizkopasovni rekonstrukciji pa dobimo le tistega, ki je frekvenčno omejen na ωvz/2. 3.3 Spreminjanje vzorčne frekvence Včasih bi želeli že vzorčenemu signalu spremeniti vzorčno frekvenco. Cilji spreminjanja vzorčne frekvence so lahko: • prilagajanje vzorčnih frekvenc signalov pri povezavah med sistem, V sistemih s standardnimi signali imamo standardizirane vzorčne frekvence za vhodne in izhodne signale (govorne, zvočne, slikovne in druge). Pri prehodu signala med dvema različnima sistemoma je zato potrebno prilagoditi vzorčno frekvenco, pri čemer pa bi se želeli izogniti rekonstrukciji in ponovnemu vzorčenju signala. Tak postopek je drag, obenem pa bi zaradi šuma in netočnosti analogno digitalnih in digitalno analognih pretvornikov zmanjšala kakovost signala. • povečanje učinkovitosti obdelave in Število potrebnih matematičnih operacij na enoto časa je odvisno od vzorčne frekvence. Pri obdelavi signala lahko to število znatno zmanjšamo, če vzorčno frekvenco sproti prilagajamo pasovni širini signala. Želimo, da je vzorčna frekvenca le malo višja od dvakratne mejne frekvence signala. • zmanjšanje zahtevnosti sita proti prekrivanju in rekonstrukcijskega sita. Pred vzorčenjem zveznega signala moramo izločiti neželene signale v frekvenčnem področju nad polovico vzorčne frekvence. Za vzorčenje s frekvenco blizu kritične frekvence pa potrebujemo zahtevna sita z ozkim prehodnim področjem, kot je to razvidno iz slike 3.7. S povečanjem vzorčne frekvence nad kritično frekvenco zmanjšamo zahteve sita proti prekrivanju. V praksi se zato uporabljajo tudi vzorčne 3.3 Spreminjanje vzorčne frekvence 53 frekvence, ki so za faktor 10 in več višje od kritične frekvence. Frekvenčne kom- ponente, ki naj bi jih sicer zadušilo predsito, moramo potem zadušiti z ustreznim digitalnim sitom, kar pa je običajno ceneje od uporabe zahtevnega analognega sita. Zaradi učinkovite nadaljnje obdelave signala oziroma zaradi večje učinkovitosti pri prenosu in shranjevanju signala moramo potem vzorčno frekvenco zmanjšati na vred- nost, ki le malo presega kritično vrednost. Zahteve za rekonstrukcijsko sito se ekvivalentne zahtevam sita proti prekrivanju. Zato lahko tudi zahtevnost rekonstrukcijskega sita znatno zmanjšamo, če signalu pred rekonstrukcijo povečamo vzorčno frekvenco nad kritično vrednost. Pri predvajalnikih zgoščenk se v ta namen pogosto uporablja štirikratno do osemkratno zvišanje vzorčne frekvence pred rekonstrukcijo signala. Z opuščanjem vzorcev lahko vzorčno frekvenco zmanjšamo za celoštevilčen faktor. Postopek imenujemo decimacija. Z računanjem vmesnih vzorcev lahko vzorčno frekvenco povečamo za celoštevilčni faktor. Ta postopek imenujemo interpolacija. S kombinacijo obeh postopkov lahko dosežemo spremembe vzorčne frekvence za racionalen faktor. 3.3.1 Decimacija Frekvenco vzorčenja lahko znižamo za celoštevilčni faktor D tako, da na vsakih D vhodnih vzorcev opustimo D − 1 vzorcev. Signal, ki ga dobimo po opuščanju vzorcev je enak kot signal, ki bi ga dobili, če bi analogni signal že v začetku vzorčili z D-krat nižjo frekvenco. To lahko naredimo brez škode le, če tudi nova vzorčna frekvenca ustreza zahtevam teorema o vzorčenju: ω ω vz1 vz2 = ≥ 2ω D m (3.25) kar pomeni, da mora biti signal pred decimacijo vsaj za faktor D prevzorčen. Faktor decimacije je: ω D = vz1 (3.26) ωvz2 Ker temelji postopek na izpuščanju vzorcev osnovnega niza je lahko faktor decimacije D le naravno število. Kot največjo vrednost D smemo vzeti največje naravno število, ki še zadovoljuje pogoj (3.25): ω D = vz1 (3.27) 2ωm Iz osnovnega niza x[n] dobimo decimirani niz y[m]: y[m] = x[Dm] (3.28) Razmere pri decimaciji signala, vzorčenega s trikratno kritično frekvenco, so prikazane na sliki 3.10. Zgoraj (slika 3.10-a) je prikazan osnovni niz, v sredini (slika 3.10-b) s faktorjem decimacije D = 3 decimiran niz in spodaj (slika 3.10-c) niz pri decimaciji s faktorjem D = 4. Vidimo, da ostane pri decimaciji D = 3, ki izpolnjuje pogoj (3.27), osnovni spekter v odvisnosti od frekvence ω nespremenjen. Če pa ga opazujemo v odvisnosti od normirane frekvence Ω, se ta zaradi spremembe vzorčne frekvence navidezno razširi. Ker pri faktorju D = 4 pogoj (3.27) ni več izpolnjen, pride do prekrivanja spektrov, zato se spekter decimiranega signala razlikuje od spektra osnovnega signala. 54 Vzorčenje in rekonstrukcija Slika 3.10 – Decimacija: a) osnovni niz b) decimirani niz, D = 3 c) decimirani niz D = 4 Da ne bi prišlo do prekrivanja, lahko zmanjšamo vzorčno frekvenco šele potem, ko smo omejili pasovno širino signala pod mejno vrednost: ω ω vz2 m ≤ (3.29) 2 zato v decimacijski sistem pred decimacijo z izpuščanjem vzorcev vključimo diskretno nizko sito HD(Ω) proti prekrivanju z mejno frekvenco: ω ω π Ω m vz2 m = 2π ≤ 2π = (3.30) ωvz1 2 ωvz1 D kot je to prikazano na sliki 3.11. Slika 3.11 – Decimacija s sitom proti prekrivanju Na ta način ostane osnovni spekter signala do kritične mejne frekvence nespremenjen na račun izgube spektralnih komponent osnovnega signala, ki presegajo kritično mejno frekvenco. Spekter osnovnega signala, idealizirana prevajalna funkcija sita proti prekrivanju in spektra signalov po filtriranju in decimaciji so prikazani na sliki 3.12. 3.3.2 Interpolacija Interpolacija je dualna operacija decimaciji. Z njo povečamo vzorčno frekvenco izhodnega sig- nala. Povečanje vzorčne frekvence je določeno z interpolacijskim faktorjem I. Dvema sosednjima vzorcema osnovnega niza določimo I −1 vmesnih vzorcev. Postopek ustreza vrivanju I −1 vmes- nih vzorcev med vzorce osnovnega niza. Interpolacija na tej osnovi omogoča le celoštevilčne interpolacijske faktorje. ω I = vz2 (3.31) ωvz1 3.3 Spreminjanje vzorčne frekvence 55 Slika 3.12 – Spektri signalov pri decimaciji s filtrom proti prekrivanju Interpolacijo z interpolacijskim faktorjem I si lahko razlagamo z zaporedno vezavo enote za rekonstrukcijo zveznega signala in vzorčevalnika z vzorčno frekvenco ωvz2. Če je osnovni signal kritično vzorčen, je interpolirani signal prevzorčen. Na sliki 3.13 je predstavljen interpolacijski sistem z vmesno rekonstrukcijo zveznega signala. Slika 3.13 – Interpolacijski sistem na osnovi rekonstrukcije zveznega signala Na sliki 3.14 so prikazani signali, ki nastopijo pri interpolaciji z vmesno rekonstrukcijo in nji- hovi spektri pri interpolacijskem faktorju I = 3. Pasovna širina signala oziroma mejna frekvenca ωm se s faktorjem I ne spreminja. Spekter signala pri normirani frekvenci Ω se zožuje s faktorjem I zaradi spremembe vzorčne frekvence. Interpolacija z vmesno rekonstrukcijo analognega signala in ponovnim vzorčenjem ni smiselna, saj lahko signal interpoliramo neposredno z digitalnim nizkim sitom, ki deluje z vzorčno frekvenco ωvz2. Interpolacijski sistem z interpolatorjem ničelnih vzorcev I in digitalnim inter- polacijskim sitom HI(Ω) je prikazan na sliki 3.15. Vhodni signal je niz x[n] z vzorčno frekvenco ωvz1. Ker deluje interpolacijsko sito z I krat višjo vzorčno frekvenco, vrinemo med dva vzorca osnovnega niza I −1 ničelnih vzorcev. Dobimo niz y1[m]: ( x[n] ; m = nI y1[m] = (3.32) 0 ; m 6= nI Signali v časovnem prostoru z ustreznimi spektri v odvisnosti od frekvence ω in normirane frekvence Ω so prikazani na sliki 3.16. Spekter signala se zaradi vrivanja ničelnih vzorcev ne spremeni, zato velja: Y1(ω) = X(ω) 56 Vzorčenje in rekonstrukcija Slika 3.14 – Primerjava spektra osnovnega vzorčenega signala in signala interpoliranega s faktorjem I = 3 Slika 3.15 – Interpolacijski sistem z digitalnim sitom Pri normirani frekvenci pa se spekter zaradi spremembe vzorčne frekvence zoži, kar ustreza: Y1(Ω) = X(IΩ) Digitalno sito z mejno frekvenco ωm = ωvz1/2 oziroma Ωm = π/I (interpolacijsko sito), inter- polira vrednosti vrinjenih vzorcev. Ker deluje interpolacijsko sito z vzorčno frekvenco ωvz2, je njegova prevajalna funkcija periodična s periodo ωvz2. V spektru signala na izhodu interpo- lacijskega sita Y (ω) je zato le vsaka I-ta ponovitev osnovnega spektra. Dobimo enak signal, kot pri interpolaciji z vmesno rekonstrukcijo analognega signala (glej sliko 3.14). 3.3.3 Decimacija in interpolacija za racionalen faktor Vzemimo, da želimo spremeniti vzorčno frekvenco za racionalen faktor K: ωvz2 I = K = (3.33) ωvz1 D Kadar vzorčno frekvenco zmanjšamo (K < 1) govorimo o decimaciji in kadar jo povečamo (K > 1) o interpolaciji. Sistem realiziramo kot zaporedno vezavo interpolatorja s faktorjem I in decimatorja s faktorjem D. Interpolator vključuje vrivanje ničel in nizko sito z mejno frekvenco ΩmI = π/I, ki interpolira vrednosti vrinjenih vzorcev. Interpolirani niz moramo nato frekvenčno omejiti, da pri decimaciji ne nastopi zgibanje spektra. Zato potrebujemo nizko sito z mejno frekvenco ΩmD = π/D. Pri zaporedni vezavi dveh nizkih sit ohranimo le nizko sito z ožjo pasovno širino. To je pri K < 1 protizgibno sito in pri K > 1 interpolacijsko sito. Sistem je prikazan na sliki 3.17. Kadar je faktor decimacije ali interpolacije iracionalen, lahko rešujemo problem s približnim racionalnim faktorjem ali pa z vmesno interpolacijo analognega signala. Znane so tudi druge aproksimacijske metode z interpolacijo med sosednjimi vzorci. 3.3 Spreminjanje vzorčne frekvence 57 Slika 3.16 – Signali in njihovi spektri pri interpolaciji Slika 3.17 – Sistem decimacije z racionalnim faktorjem 4 Diskretna sita Omenili smo že, da predstavljajo diskretni LČN sistemi frekvenčna sita (filtre), ki določene frekvence signala prepuščajo, druge pa slabijo. Diskretna sita običajno uporabljamo pri obdelavi diskretnih signalov, ki smo jih dobili z vzorčenjem analognega signala. Po obdelavi signal zopet pretvorimo v analogen signal. Pri načrtovanju frekvenčne karakteristike diskretnega sita moramo zato upoštevati frekvenčno skali- ranje, ki nastopi pri vzorčenju signalov. Frekvenčna karakteristika diskretnega sita H(Ω) je določena z njegovo prevajalno funkcijo v prostoru z, saj velja H(Ω) = Hz(eΩ) (4.1) Prevajalne funkcije H(z) ne moremo poljubno izbirati, ker vse funkcije z realnimi sistemi niso ustvarljive. V načrtovanju diskretnih sit zato ločimo dve fazi: 1. izbira ustrezne strukture sita, ki omogoča izvedbo sita ob določenih robnih pogojih, ki jih določajo zahtevane lastnosti, računska zmogljivost in cena vezij in 2. iskanje ustrezne prevajalne funkcije H(z), ki čimbolj ustreza želeni karakteristiki sistema in je izvedljiva z izbrano strukturo sita. Kot smo ugotovili že v razdelku 2.2.6, opisuje izvedljive diskretne sisteme diferenčna enačba (2.63), ki jo zaradi večje preglednosti ponovno navajamo: N M y[n] = X b X ix[n − i] − aiy[n − i] (4.2) i=0 i=1 Naredimo transform Z na obeh straneh zgornje, enačbe preuredimo in dobimo: N X biz−i Y (z) H(z) = = i=0 (4.3) X(z) M 1 + X aiz−i i=1 Vidimo, da delež preteklih vhodnih vzorcev določa ničle, delež izhodnih vzorcev pa pole preva- jalne funkcije. Na tej osnovi ločimo dva osnovna tipa diskretnih sit: • sita, pri katerih je izhodni vzorec y[n] odvisen le od vhodnih vzorcev (x[n − i] ; i ≥ 0) in so vsi koeficienti ai enaki 0. V prevajalni funkciji sita nastopajo le ničle pri vrednostih z 6= 0, vsi poli pa so pri vrednosti z = 0. Taka sita imajo končno trajanje odziva na enotin impulz (FIR - Finite Impulse Response). 59 60 Diskretna sita • sita pri katerih je izhodni y[n] odvisen tudi od preteklih izhodnih vzorcev (y[n − i] ; i > 0), pri čemer je vsaj po en koeficient ai in bi različen od nič. V prevajalni funkciji sita nastopajo tudi poli pri z 6= 0. Taka sita imajo neskončno trajanje odziva na enotin impulz (IIR - Infinite Impulse Response). V izrazu (4.2) nastopajo naslednje računske operacije: • seštevanje dveh vzorcev, • množenje vzorca s konstanto in • zakasnitev vzorca za i časovnih intervalov. Operacije lahko izvedemo s pomočjo vezja, ki vsebuje seštevalnike, množilnike in zakasnilne celice. S preurejanjem osnovne enačbe (4.2) oziroma njenega transforma (4.3) lahko dobimo različne strukture vezij. Pojavlja se vprašanje, katera izvedba je boljša ali celo optimalna. Op- timalnost ugotavljamo preko obsega zahtevanih vezij in odstopanj od idealnih lastnosti zaradi vpliva zaokroževanja koeficientov in rezultatov, kot je to nujno pri praktični izvedbi vezja, kar bomo natančneje obravnavali v poglavju 7. Različne strukture diskretnih sit običajno prikazu- jemo v diagramu pretoka signala. 4.1 Diagram pretoka signala V diagramu pretoka signala prikazujemo strukturo diskretnega vezja. Najlažje si ogledamo diagram pretoka na enostavnem zgledu. Vzemimo sito FIR s tremi koeficienti: y[n] = b0x[n] + b1x[n − 1] + b2x[n − 2] (4.4) Izvedemo ga lahko s pomočjo vezja na sliki 4.1. Vhodni signal x[n] pripeljemo na vhod pomikalnega registra. Pomikalni register sestavlja veriga D celic. D celica zadrži vrednost za en časovni interval, tako, da je na njenem izhodu vrednost, ki je bila na vhodu v prejšnjem vzorčnem intervalu. Izhodni signal dobimo tako, da trenutni vzorec pomnožimo s koeficientom b0, za en časovni interval zakasnjen vzorec s koeficientom b1 in za dva časovna intervala zakasnjen vzorec s koeficientom b2. Izhodni vzorec dobimo s seštevanjem dobljenih vrednosti. Ustrezno vezje je prikazano na sliki 4.1 Slika 4.1 – Izvedba FIR sita s tremi koeficienti 4.1 Diagram pretoka signala 61 Strukturo vezja lahko bolj pregledno prikažemo v diagramu pretoka signala. Najprej nared- imo transform Z na obeh straneh enačbe (4.4) in izraz preuredimo: Y (z) = X(z)b0 + X(z)z−1b1 + X(z)z−1z−1b2 (4.5) V zgornji enačbi nastopajo samo seštevanja in množenja. Zakasnitev za en časovni interval se namreč pri transformaciji preslika v množenje z z−1. Ustrezen diagram pretoka signala je prikazan na sliki 4.2. Zakasnilne celice so označene z operatorjem zakasnitve z−1 nad puščico, Slika 4.2 – Diagram pretoka signala FIR sita s tremi koeficienti ki kaže smer signala. Množilniki so ponazorjeni s puščico in vrednostjo koeficienta. V vezju so uporabljeni le dvovhodni seštevalniki, ki so ponazorjeni s praznim krogcem. Cepljenje signala je predstavljeno s polno črno piko. V diagramu lahko, zaradi enostavnosti, tudi seštevalnike predstavimo s polno črno piko. Seštevalnike in razcepišča potem ločujemo po smeri puščic v vejah diagrama. Diagram pretoka signala prikazuje strukturo vezja, vendar ne določa njegove izvedbe. Vezje določene strukture lahko izvedemo z uporabo seštevalnikov, množilnikov in zakasnilnih celic, kot je to prikazano na sliki 4.1, ali pa ga izvedemo programsko na signalnem procesorju. V prvem primeru lahko iz diagrama razberemo število posameznih elementov, ki jih mora vsebovati vezje, v drugem primeru pa lahko iz diagrama razberemo, koliko računskih operacij mora opraviti pro- cesor v časovnem intervalu med dvema vzorcema in koliko pomnilnika potrebuje za shranjevanje podatkov. Za vsako zakasnilno celico in za vsak koeficient potrebujemo namreč svojo pom- nilniško lokacijo. Običajno potrebujemo še nekaj dodatnih pomnilniških lokacij za shranjevanje vmesnih rezultatov, kar pa je že odvisno od same izvedbe programa. V programskem jeziku Pascal, bi bil program videti nekako takole: {Nastavitev koeficientov sita} b0 := 0.5; b1 := -0.5; b2 := 0.5; {Inicializacija začetnih vrednosti} X0:=0; X1:=0; {Zanka v kateri se izvaja program} Repeat {zajem vhodnega vzorca iz vhodne enote} Read (Input, X); 62 Diskretna sita {Pomik vzorcev v pomikalnem registru} X2 := X1 X1 := X0; X0 := X; {Računanje izhodnega vzorca} Y := b0 * X0 Y := Y + b1 * X1; Y := Y + b2 * X2; {Predaja novega vzorca izhodni enoti} Write (output, Y): Until False; Zgornji izsek iz programske kode je napisan tako, da vsaka vrstica odraža operacijo, ki jo zmore večina signalnih procesorjev izvesti v enem koraku, obenem pa koda neposredno odraža strukturo prikazano v diagramu pretoka signala. Program ni napisan optimalno, kajti v resnici lahko pomikalni register izvedemo brez dejanskega prepisovanja vrednosti in na ta način prihranimo precejšnje število operacij. 4.1.1 Transpozicija diagrama pretoka signala Diagram poteka signala diskretnega sita z enim vhodom in enim izhodom lahko spremenimo v transponirano obliko. Ustrezno vezje ima enako prevajalno funkcijo kot vezje, iz katerega smo izhajali. Upoštevati moramo naslednja pravila: • spremenimo smer pretoka v vseh vejah, • vsa razcepna vozlišča originalnega vezja postanejo seštevalna vozlišča transponirane izvedbe, • vsa seštevalna vozlišča originalnega vezja postanejo razcepna vozlišča transponirane izvedbe, • mesti vhodne in izhodne sponke se zamenjata pri prehodu iz originalnega v transponirano vezje. Diagramu s slike 4.2 transponiran diagram pretoka signala je prikazan na sliki 4.3 Slika 4.3 – Diagramu s slike 4.2 transponiran diagram pretoka signala 4.2 Strukture diskretnih sit 63 4.2 Strukture diskretnih sit Omenili smo že, da lahko za izvedbo diskretnega sita uporabimo različne strukture. Izhajamo iz zapisa osnovne funkcije H(z), ki jo preuredimo po različnih postopkih, ki ustrezajo različnim načinom vezav posameznih podvezij. Naj naštejemo le nekaj osnovnih: • Kaskadna vezava: Funkcijo H(z) razstavimo v produkt več funkcij. Vzemimo produkt dveh členov: H(z) = H1(z)H2(z) (4.6) Vezje bo sestavljeno iz kaskadne, zaporedne vezave dveh vezij, ki bosta imeli prevajalni funkciji H1(z) in H2(z), kot je to prikazano na sliki 2.6. • Vzporedna vezava: Funkcijo H(z) razstavimo v vsoto več členov. Za zgled razstavimo na dva člena: H(z) = H1(z) + H2(z) (4.7) Vezje vsebuje dve vzporedni veji, ki imata prevajalni funkciji H1(z) in H2(z). Vezava je prikazana na sliki 2.7. • Vezava s povratnim sklopom: Prevajalno funkcijo H(z) izrazimo s prevajalnima funkcijama H1(z) in H2(z), tako da velja: H H(z) = 1(z) (4.8) 1 − H1(z)H2(z) V celotnem vezju bo vezje s prevajalno funkcijo H2(z) nastopalo v povratni vezavi, kot je to prikazano na sliki 2.8. • Transponirana vezava: Strukturo diskretnega vezja, ki je podana z diagramom pretoka signala, lahko pretvorimo v transponirano izvedbo. Zgornji postopki predstavljajo le osnovne možnosti. Uporabimo lahko tudi kombinacije teh postopkov nad celotno prevajalno funkcijo ali pa na njenih posameznih delih. Na ta način lahko pridemo do zelo različnih struktur vezij. 4.2.1 Direktna struktura Direktno strukturo časovno diskretnega sita dobimo, če izhajamo neposredno iz enačbe (4.3), ki jo zapišemo v obliki: N M Y (z) = X b X iX (z)z−i − aiY (z)z−i (4.9) i=0 i=1 64 Diskretna sita Za primer N = 3, M = 3 dobimo: Y (Z) = X(z)b0 + X(z)z−1b1 + X(z)z−2b2 + X(z)z−3b3 + +Y (z)z−1(−a1) + Y (z)z−2(−a2) + Y (z)z−3(−a3) = = X(z)(b0 + z−1(b1 + z−1(b2 + z−1b3))) + +Y (z)z−1(−a1 + z−1(−a2 + z−1(−a3))) (4.10) Diagram pretoka signala, ki ustreza gornji enačbi, je prikazan na sliki 4.4. Slika 4.4 – Direktna struktura 4.2.2 Direktna struktura I in II Bolj učinkovito strukturo dobimo, če razstavimo osnovni izraz za H(z) v produkt dveh členov, kar ustreza serijski vezavi dveh podsit. H1 predstavlja prevajalno funkcijo, ki ima le ničle. Funkcija H2(z) pa ima le pole. N (z) H(z) = D(z) N H X 1(z) = N (z) = biz−i i=0 1 1 H2(z) = = (4.11) D(z) M 1 + X aiz−i i=1 Vezava na sliki 4.4 je temeljila na serijski vezavi H1(z) in H2(z). Zamenjamo vrstni red obeh podsit in ugotovimo, da vzporedna vezava dveh nizov zakasnilnih celic ni potrebna in lahko en niz opustimo. Dobljeno strukturo imenujemo direktna struktura II in je prikazana na sliki 4.5. Glede na direktno strukturo na sliki 4.4 imamo pri direktni strukturi II pol manj zakasnilnih celic. Izvedena struktura ustreza diferenčni enačbi, ki pa jo neposredno ne ponazarja. Ustrezne diferenčne enačbe lahko dobimo, če uvedemo vmesni signal W (z). W (z) = X(z)H2(z) Y (z) = W (z)H1(z) (4.12) 4.2 Strukture diskretnih sit 65 Slika 4.5 – Direktna struktura II Zgornjim enačbam v prostoru z ustrezata diferenčni enačbi: M w[n] = x[n] − X aiw[n − i] i=1 N y[n] = X biw[n − i] (4.13) i=1 Struktura kaže rekurzivni značaj pri določevanju vmesnega signala, medtem ko je izhodni signal y[n] le linearna kombinacija vmesnih vzorcev. Direktni strukturi II lahko določimo transponirano strukturo. Dobimo direktno strukturo I, ki je podana na sliki 4.6. Slika 4.6 – Direktna struktura I Direktni strukturi I in II sta primera kanoničnih struktur, ki na splošno omogočajo rea- lizacijo določene sistemske funkcije z najmanjšim številom zakasnilnih celic, seštevalnikov in množilnikov. Če predpostavimo, da je N = M , kar je često primer pri IIR sitih, potrebujemo za kanonično strukturo z N + 1 koeficienti (to je strukturo reda N ): • N zakasnilnih celic, • 2N seštevalnikov (pri seštevalnikih predvidevamo dva vhoda in en izhod, za seštevalna vozlišča z več vhodi rabimo več elementarnih seštevalnikov) in • 2N + 1 množilnikov. 4.2.3 Kaskadna vezava S faktorizacijo izraza H(z) dobimo prevajalne karakteristike posameznih celic, ki jih vežemo za- poredno. Najpogosteje zapišemo izraz kot produkt ulomkov drugega reda. Na ta način dosežemo 66 Diskretna sita manjšo občutljivost sita na zaokroževanje koeficientov, kar bomo natančneje obravnavali v 7. poglavju. L H(z) = b Y 0 Hi(z) (4.14) i=1 kjer so 1 + b H 1iz−1 + b2iz−2 i(z) = (4.15) 1 + a1iz−1 + a2iz−2 Uporabimo lahko kaskadno vezavo direktne strukture I ali II. Ker sta obe kanonični, porabimo za obe verziji enako število gradnikov. Načelna vezava z direktno strukturo I pri L = 2 je prikazana na sliki 4.7. Slika 4.7 – Kaskadna vezava podsit Načeloma je mogoče faktorizirati tudi prevajalne funkcije H(z) sit FIR, vendar s tem ničesar ne pridobimo, zato se kaskadna vezava uporablja predvsem pri sitih IIR. 4.2.4 Vzporedna vezava Izraz H(z) lahko razvijemo v parcialne ulomke. Če želimo, da so pri kompleksnih vrednostih polov in ničel koeficienti realni, moramo združevati kompleksno konjugirane dvojice polov in ničel v podsitih drugega reda. V splošnem dobimo naslednjo razvrstitev: L b H(z) = X 0i + b1iz−1 (4.16) 1 + a i=1 1iz−1 + a2iz−2 Poli posameznih podsit predstavljajo tudi pole celotnega sita, ničle podsit pa v splošnem niso tudi ničle celotnega sita. Lastnosti sita z vzporedno vezanimi podsiti ne odstopajo od lastnosti sita v direktni strukturi, če nimamo zaokroževanja koeficientov in vmesnih rezultatov. Z ozirom na zaokroževanje je kaskadna vezava ugodnejša od vzporedne. 4.2.5 Druge strukture Poleg omenjenih struktur je mogoče tvoriti tudi drugačne strukture, ki imajo lahko, glede na namen njihove uporabe, določene prednosti pred opisanimi strukturami. Polifazna sita, ki so sestavljena iz vzporedno vezanih sit z različnimi faznimi karakteristikami, predstavljajo poseben primer vzporedne vezave. V kombinaciji z decimacijo, ki je natančneje opisana v 3. poglavju, omogočajo ta sita učinkovito izvedbo nekaterih vrst naborov sit. Določene strukture lahko odražajo fizikalno ozadje nastanka signalov, ki jih obdelujemo. Primer take strukture so tako imenovana valovna sita, ki jih poznamo tudi v analognih izvedbah. 4.3 Načrtovanje prevajalne funkcije diskretnih sit 67 Posebno zvrst sit predstavljajo sita, ki so namenjena adaptivni obdelavi signalov. Takim sitom sproti spreminjamo koeficiente tako, da njihovo delovanje prilagajamo okolju v katerem trenutno delujejo. V ta namen lahko uporabljamo strukture, ki omogočajo izvedbo učinkovitejših algoritmov za prilagajanje. Primer take strukture so tako imenovana lestvičasta sita (angl.: lattice filter). Natančnejši opis vseh teh in drugih alternativnih struktur sit presega obseg te knjige. 4.3 Načrtovanje prevajalne funkcije diskretnih sit V prejšnjem razdelku smo pokazali, da dobimo različne strukture diskretnih sit z ustrezno preureditvijo zapisa prevajalne funkcije H(z). V tem razdelku si bomo ogledali, kako načrtujemo prevajalno funkcijo H(z), ki čim bolje ustreza podanim zahtevam. Pri načrtovanju moramo upoštevati določene omejitve, predvsem omejitve glede kompleksnosti, ki neposredno vplivajo tudi na ceno. Na ceno najbolj vpliva število računskih operacij, ki jih moramo opraviti v časovni enoti in število pomnilniških celic, ki jih potrebujemo za izvedbo sita. Oboje je neposredno odvisno od reda (dolžine) sita, zato se pri načrtovanju običajno trudimo, da bi izpolnili zahteve s sitom čim nižjega reda. Z ozirom na ničle in pole v prevajalni funkciji sita smo ločili sita s končnim odzivom FIR in sita z neskončnim odzivom IIR. Pristop k načrtovanju prevajalne funkcije se pri obeh vrstah sit precej razlikuje, zato se moramo najprej odločiti za vrsto sita. Odločamo se z ozirom na njune lastnosti: • Sita FIR 1. Dolžina odziva je za ena daljša od reda sita (številu zakasnilnih elementov), zato je načeloma potreben višji red sita kot pri sitih IIR. 2. V prevajalni funkciji FIR sita nastopajo samo ničle pri vrednostih različnih od nič, zato FIR sita ne morejo biti nestabilna. 3. FIR sita lahko načrtujemo tako, da imajo linearno fazo. Vezja z linearno fazo ne vnašajo faznih popačenj. • Sita IIR 1. Odziv sita je pri končnem redu sita neskončno dolg. Načeloma so zato vezja pri danih zahtevah nižjega reda kot pri sitih FIR. 2. IIR vezja so lahko nestabilna. To je problematično predvsem, kadar spreminjamo koeficiente sita med samim delovanjem v odvisnosti od okolja, v katerem deluje. 3. Stabilna IIR sita ne morejo imeti linearne faze. 4. Manjše število koeficientov povečuje zahtevnost po natančnosti zapisa koeficientov, zaokroževanje rezultatov pa lahko povzroča večje težave kot pri sitih IIR. 68 Diskretna sita 4.4 Načrtovanje sit s končnim odzivom - FIR 4.4.1 Sistemska in prevajalna funkcija sita FIR V razdelku 2.1.2 smo definirali sistemsko funkcijo LČN sistema kot odziv sistema na enotin impulz. Odziv sita FIR dobimo, če v enačbi (4.2) postavimo vse ai = 0: N y[n] = X bix[n − i] (4.17) i=0 Sistemsko funkcijo dobimo tako, da signal x[n] na vhodu sistema nadomestimo z enotinim im- pulzom δ[n]. Dobimo: N h[n] = X biδ[n − i] (4.18) i=0 Ker je δ[n − i] različen od 0 le pri n = i, dobimo: ( b h[n] = n ; 0 ≤ n ≤ N (4.19) 0 ; drugače Vidimo, da koeficienti bn neposredno določajo odziv sita FIR na enotin impulz, dolžina odziva pa je kar enaka redu sita N . Prevajalna funkcija sita FIR je potem enaka: N H X z(z) = biz−i (4.20) i=0 Če v zgornji izraz vstavimo z = eΩ, dobimo frekvenčno karakteristiko sita: N H(Ω) = H X z (eΩ) = bie−iΩ (4.21) i=0 4.4.2 Sita z linearnim faznim potekom Sita FIR moremo načrtovati tako, da imajo linearen fazni potek. Pri prehodu skozi sito so tedaj vse frekvenčne komponente signala enako zakasnjene, zato taka sita ne vnašajo faznih popačenj. V splošnem lahko prevajalno funkcijo sistema z linearno fazo zapišemo v obliki: H(Ω) = Hz(eΩ) = A(Ω)e−KΩ (4.22) kjer je A(Ω) amplitudni in Φ(Ω) = −KΩ fazni potek prevajalne funkcije. Pri kavzalnih sistemih je K pozitivna realna konstanta. 4.4.2.1 Koeficienti sita Skušajmo določiti koeficiente bi v prevajalni funkciji sita FIR (4.21) tako, da bo potek faze linearen. Predpostavimo, da je K v izrazu (4.22) enak N/2 in v izrazu (4.21) izpostavimo faktor, ki predstavlja linearen fazni potek: N H(Ω) = e−(N/2)Ω X bie(N/2−i)Ω (4.23) i=0 4.4 Načrtovanje sit s končnim odzivom - FIR 69 Da bi bil fazni potek res linearen, mora vsota v zgornjem izrazu predstavljati amplitudni potek prevajalne funkcije: N X bie(N/2−i)Ω = A(Ω) (4.24) i=0 Ker je amplitudni potek realna funkcija, moramo izbrati koeficiente bi tako, da bo zgornji izraz realen. Združimo po dva člena (prvega in zadnjega, drugega in predzadnjega, ...). Dobimo: (N −2)/2 A(Ω) = b X N/2 + bie(N/2−i)Ω + bN−ie−(N/2−i)Ω (4.25) i=0 kjer smo privzeli bN/2 = 0, kadar je N liho število. Zgornji izraz je realen pri vseh vrednostih Ω le, kadar velja: bi = bN−i (4.26) Na osnovi zgornjih izvajanj lahko povzamemo, da bo imelo sito FIR linearno fazno karakteristiko le, kadar so koeficienti sita bi simetrični okrog točke N/2. Sita FIR zato običajno načrtujemo s simetričnimi koeficienti. Primer odziva na enotin impulz (h[n] = bn) sita FIR z linearno karakteristiko pri lihem in sodem N je prikazan na sliki 4.8. Slika 4.8 – Odziv sit FIR z linearno fazo pri N = 9 in N = 10 4.4.2.2 Lega ničel Prevajalno funkcijo H(z) sita FIR z linearnim faznim potekom lahko na osnovi izraza (4.25) in pogoja (4.26) zapišemo kot:  (N −2)/2  H(z) = z−N/2 X bN/2 + bi(zN/2−i + zi−N/2) (4.27) i=0 Zamenjamo z z z−1 in dobimo:  (N −2)/2  H(z−1) = zN/2 X bN/2 + bi(zN/2−i + zi−N/2) (4.28) i=0 Sledi: H(z−1) = zN H(z) (4.29) Označimo z zn 6= 0 ničlo prevajalne funkcije H(z): H(zn) = 0 (4.30) 70 Diskretna sita Iz (4.29) potem neposredno sledi tudi: H(z−1 n ) = 0 (4.31) kar pomeni, da je inverzna vrednost ničle tudi ničla prevajalne funkcije. Na osnovi dejstva, da so koeficienti bi realni, sledi, da so ničlam konjugirano kompleksne vrednosti tudi ničle prevajalne funkcije, torej velja: H(z∗n) = 0 (4.32) in H((z∗n)−1) = 0 (4.33) Za lego ničel prevajalne funkcije sita FIR z linearnim potekom faze tako ločimo več primerov: • V splošnem nastopajo ničle v četverčkih, kar je posledica inverznih in konjugirano kom- pleksnih dvojic. z∗n 6= zn ; z−1 n 6= z∗n (4.34) • Kadar je ničla realna, je njena vrednost enaka konjugirano kompleksni vrednosti. Dobimo dvojice ničel na realni osi. z∗n = zn ; z−1 n 6= z∗n (4.35) • Kadar je absolutna vrednost ničle enaka 1, je njena konjugirano kompleksna vrednost enaka njeni inverzni vrednosti. Dobimo dvojice ničel na frekvenčni krožnici. z∗n 6= zn ; z−1 n = z∗n (4.36) • Pri vrednostih ničle zn = 1 ali zn = −1 ima ničla absolutno vrednost enako ena in je hkrati realna, zato lahko nastopa samostojno. z∗n = zn ; z−1 n = z∗n (4.37) Na sliki 4.9 je prikazana lega ničel nizkega sita FIR in njegova amplitudna karakteristika a(Ω): a(Ω) = 20 log10 |H(Ω)| (4.38) V prepustnem področju sita določajo amplitudni potek predvsem ničle v četverčkih, v zapornem področju pa ničle na frekvenčni krožnici v kompleksno konjugiranih dvojicah. Sita FIR imajo lahko poljuben fazni potek, ta je odvisen od lege ničel. Če bi pri situ z linearno fazo vse ničle, ki leže izven frekvenčne krožnice, preslikali znotraj frekvenčne krožnice, bi dobili sito z enako amplitudno karakteristiko in minimalnim faznim zasukom. Ničle v legah |zni| > 1 je potrebno prestaviti v lege (z∗)−1. Sito z linearnim faznim potekom lahko spremenimo tudi v sito z enako amplitudno karakteristiko in maksimalnim faznim zasukom, če vse ničle znotraj frekvenčne krožnice preslikamo izven kroga. 4.4 Načrtovanje sit s končnim odzivom - FIR 71 Slika 4.9 – Zgled lege ničel nizkega sita 4.4.3 Načrtovanje z inverznim Fourier transformom Postopek načrtovanja sit FIR s pomočjo inverznega Fourier transforma je zelo pripraven in ga lahko uporabimo za poljubno frekvenčno karakteristiko. Ker uporabljamo običajno diskretna sita za obdelavo izvorno analognih signalov, ki jih pred obdelavo vzorčimo in po obdelavi zopet pretvorimo v analogne signale, izhajamo pri načrtovanju iz želene amplitudne karakteristike sita Aa(ω) ustreznega analognega sita. Prevajalno funkcijo Ha(ω) izberemo kot čisto realno funkcijo: Ha(ω) = Aa(ω) (4.39) Sistemsko funkcijo ha(t) ustreznega analognega sita dobimo tako, da naredimo IFT njegove prevajalne funkcije: 1 Z ∞ ha(t) = H(ω)eωtdω (4.40) 2π −∞ Ker bomo sito izvedli s časovno diskretnim sistemom, moramo izbrati ustrezno frekvenco vzorčenja: 2π ωvz = (4.41) Tvz s katero bomo vzorčili analogni signal pred obdelavo. Sistemsko funkcijo diskretnega sita dobimo z vzorčenjem sistemske funkcije analognega sita: hd[n] = ha(nTvz) (4.42) Vzorčenje sistemske funkcije ima na prevajalno funkcijo enak učinek kot ga ima vzorčenje signala na njegov spekter, kar smo obravnavali v 3. poglavju. V skladu z izrazom (3.17) lahko zapišemo: 1 ∞ Ω − 2kπ H X d(Ω) = H ) (4.43) T a( vz T k=−∞ vz Vzorčno frekvenco moramo izbrati tako, da velja: ω H vz a(ω) = 0 ; |ω| ≥ (4.44) 2 in ne pride do prekrivanja ponovljenih prevajalnih funkcij okrog mnogokratnikov 2kπ. Za primer, ko za želeno prevajalno funkcijo izberemo idealno nizko sito z mejno frekvenco ωm, so razmere 72 Diskretna sita Slika 4.10 – Vzorčenje prevajalne funkcije idealnega nizkega sita prikazane na sliki 4.10. Vidimo, da bi izbira ωvz = 2ωm povzročila, da bi se sosednje prevajalne funkcije dotikale, zato bi namesto nizkega sita dobili vseprepustno sito. Pri nizkem situ je zato smiselna izbira ωvz ≥ 4ωm. V primeru na sliki je na primer izbrano ωvz = 8ωm. Pri gornji določitvi sistemske funkcije diskretnega sita nastopata dve težavi: odziv sita je neskončno dolg in nekavzalen. Ker imajo sita FIR končen odziv, moramo sistemsko funkcijo h[n] omejiti na N + 1 vzorcev. Da bi dobili linearno fazno karakteristiko, mora biti odziv simetričen, zato upoštevamo le vzorce hd[n] na območju −N/2 ≤ n ≤ N/2, pri čemer mora biti N sodo število1. Tak odziv je še vedno nekavzalen, zato moramo vzorce v odzivu zakasniti za N/2: N h[n] = hd[n − ] ; 0 ≤ n ≤ N (4.45) 2 Ker smo dodali samo zakasnitev, bo ostala fazna karakteristika linearna, ker pa smo zanemarili vzorce, se spremeni amplitudna karakteristika. Nova prevajalna funkcija je podana z izrazom: N H(Ω) = X h[n]e−Ωn (4.46) n=0 Odstopanja amplitudne karakteristike od želenega poteka, ker smo zanemarili vzorce v odzivu na enotin impulz, so odvisna od reda sita N . Z naraščanjem reda sita N se vedno bolj približujemo idealni karakteristiki prevajalne funkcije. Načrtovanje z IFT daje najboljšo aproksimacijo glede na minimalno varianco odstopanja 1 Z π σ2ε = (A π d(Ω) − A(Ω))2dΩ (4.47) 0 med želenim amplitudnim potekom Ad(Ω) in dejanskim potekom A(Ω). Pri taki obravnavi so vsa odstopanja med karakteristikama enako utežena. Kadar želimo imeti veliko slabljenje v zapori, ta kriterij ni najbolj primeren. Za primer nizkega sita z vzorčno 1Možna je tudi izvedba z lihim N , vendar bi bilo potrebno v tem primeru prevajalno funkcijo Ha(ω) ustrezno fazno zamakniti, da bi dobili simetrijo koeficientov sita. Postopek prepuščamo bralcu v razmislek. 4.4 Načrtovanje sit s končnim odzivom - FIR 73 frekvenco ωvz = 8ωm, so dejanske amplitudne karakteristike pri N = 16 in N = 64 prikazane na sliki 4.11. Če opazujemo amplitudno karakteristiko v linearnem merilu na levi strani slike, Slika 4.11 – Amplitudna karakteristika nizkega sita pri N = 16 in N = 64 vidimo, da se z večanjem N amplitudna karakteristika približuje želeni karakteristiki, ki je označena s črtkano črto. Pogled v logaritemskem merilu na desni strani razkrije, da z večanjem N ne povečujemo bistveno slabljenja v zapori. Prvi stranski snop je namreč v obeh primerih približno enako oslabljen, z večanjem N se karakteristika v zapori zgolj stiska po frekvenčni osi. Povečanje slabljenja v zapori lahko dosežemo z uporabo okenskih funkcij, kar bomo obrav- navali v naslednjem razdelku. 4.4.4 Oknjenje Zaradi končne dolžine odziva sita FIR moramo odziv, ki ga dobimo s pomočjo IFT, omejiti, kot smo to storili že v prejšnjem razdelku, kjer smo zanemarili vse vzorce odziva izven končne dolžine sita FIR. Namesto, da bi odvečne vzorce preprosto odrezali, lahko neskončni odziv hd[n] množimo s časovno omejeno okensko funkcijo w[n]: h[n] = w[n]hd[n] (4.48) Ker je želeni odziv hd[n] soda funkcija, mora biti, da bi dobili linearen fazni potek, tudi okenska funkcija w[n] soda. Da bi bil odziv kavzalen, moramo tudi pri oknjenju niz zakasniti za N/2. Ker zakasnitev ne vpliva na amplitudno karakteristiko, bomo v nadaljevanju, zaradi preprostejše obravnave, to zakasnitev zanemarili. Pri tem smo se omejili na okna z lihim številom vzorcev, to je okna, pri katerih je N/2 celo število. Množenju dveh nizov v časovnem prostoru ustreza konvolucija v frekvenčnem prostoru: 1 H(Ω) = W (Ω) ∗ H 2π d(Ω) (4.49) 74 Diskretna sita Ker je konvolucija poljubne funkcije s funkcijo δ(Ω) kar enaka sami funkciji, bo dobljena prevajalna funkcija H(Ω) tem bolj podobna želeni prevajalni funkciji Hd(Ω), kolikor bolj bo W (Ω) podoben δ(Ω). Želimo, da je okenska funkcija W (Ω) čim ožja funkcija s ploščino 2π. Ker so okenske funkcije časovno omejene, nastopa v njihovi amplitudni karakteristiki poleg osnovnega tudi več stranskih snopov – več maksimumov. Izbira okenske funkcije predstavlja kompromis med širino osnovnega snopa in maksimalno amplitudo stranskih snopov. Širina osnovnega snopa določa širino prehodnega področja med prepustnim in zapornim področjem filtra, velikost stranskih snopov pa določa valovitost v prepustnem in zapornem področju. Okenske funkcije običajno poudarijo vzorce na sredini okna in oslabijo vzorce na robovih okna. Na ta način se ublaži učinek rezanja odvečnih vzorcev, ki v frekvenčno karakteristiko prinese stranske snope. Oknjenje bi lahko predstavili tudi v analognem prostoru. Namesto, da bi diskretni odziv množili z diskretnim oknom, lahko analogni odziv ha(t) pred vzorčenjem množimo z zvezno okensko funkcijo wa(t): h(t) = wa(t)ha(t) (4.50) V frekvenčnem prostoru predstavlja množenje konvolucijo, zato velja: 1 H(ω) = W 2π a(ω) ∗ Ha(ω) (4.51) Ta konvolucija za razliko od konvolucije v (4.49) ni krožna, vendar moramo sedaj odziv h(t) še vzorčiti. Pri vzorčenju pride do prekrivanja spektrov okrog mnogokratnikov vzorčne frekvence, kar da na koncu enak rezultat kot krožna konvolucija. V nadaljevanju si bomo ogledali nekaj pogosteje uporabljanih oken. Pravokotno okno je najosnovnejše okno in je enakovredno preprostemu rezanju vzorcev, ki smo ga že obravnavali. Kaiserjeva okna imajo skoraj optimalno slabljenje stranskih snopov pri dani širini osnovnega snopa. 4.4.4.1 Pravokotno okno Pravokotno okno je enakovredno zanemarjanju vzorcev pri |n| > N/2. Okensko funkcijo zapišemo kot: ( 1 ; |n| ≤ N/2 w[n] = (4.52) 0 ; |n| > N/2 DTFT pravokotnega okna je enak: N/2 sin((N + 1)Ω/2) W (Ω) = X e−Ωn = (4.53) sin(Ω/2) n=−N/2 Frekvenčna karakteristika pravokotnega okna pri N = 16 in N = 64 je prikazana na sliki 4.12. Vidimo, da v frekvenčni karakteristiki nastopa osnovni snop in stranski snopi. Z večanjem N se karakteristika oži in osnovni snop viša, tako da se karakteristika na nek način približuje idealni karakteristiki δ(Ω). V frekvenčni karakteristiki sta pomembna predvsem širina osnovnega snopa in slabljenje stranskih snopov. Pri načrtovanju sita na osnovi oknjenja sistemske funkcije idealnega sita določa širina os- novnega snopa širino prehodnega območja med prepustnim in zapornim področjem, stranski 4.4 Načrtovanje sit s končnim odzivom - FIR 75 Slika 4.12 – DTFT pravokotnega okna (N = 16 in N = 64) snopi pa določajo valovitost v obeh področjih. Valovitost je običajno bolj kritična v zapornem področju, saj omejuje slabljenje v tem področju, kot smo to videli na sliki 4.11. Pri pravokotnem oknu lahko določimo širino Bw osnovnega snopa kot razdaljo med prvima ničlama: 4π Bω = (4.54) N + 1 Slabljenje prvega stranskega snopa v amplitudni karakteristiki sita, ki ga dobimo z oknjenjem, je pri pravokotnem oknu bolj ali manj neodvisno od dolžine okna N + 1 in je približno enako 21 dB (glej sliko 4.11). Ker je v skladu z enačbo (4.49) amplitudna karakteristika sita enaka konvoluciji karakteristike idealnega sita s frekvenčno karakteristiko okna, je slabljenje v zapori neposredno odvisno od razmerja ploščine pod osnovnim snopom in ploščine pod prvim stranskim snopom, to pa je pri pravokotnem oknu skoraj neodvisno od N + 1. 4.4.4.2 Kosinusna okna Pravokotno okno ima sorazmerno visoke stranske snope, ki so posledica hitrih preskokov na robovih okna. Veliki stranski snopi v frekvenčni karakteristiki okna poslabšajo tudi zaporno slabljenje z oknjenjem dobljenega sita. Z oblikovanjem okenske karakteristike okna lahko te preskoke omilimo in na ta način zmanjšamo stranske snope v frekvenčni karakteristiki okna. Pri načrtovanju sit FIR se pogosto uporabljajo okna, ki temeljijo na kosinusnih funkcijah: K N w[n] = X ak cos(k2πn/N ) ; |n| ≤ (4.55) 2 k=0 Z izbiro koeficientov ak dobimo okna z različnimi lastnostmi. V tej družini oken so najbolj znana: pravokotno okno a0 = 1 (4.56) Hannovo okno a0 = 0, 5 a1 = 0, 5 (4.57) 76 Diskretna sita Hammingovo okno a0 = 0, 54 a1 = 0, 46 (4.58) Blackmanovo okno a0 = 0, 42 a1 = 0, 5 a2 = 0, 08 (4.59) Okenske funkcije so v obliki zveznih krivulj prikazane na sliki 4.13. Slika 4.13 – Nekatera kosinusna okna (N = 20) Amplitudne karakteristike filtrov, ki jih dobimo z oknjenjem odziva idealnega nizkega sita z mejno frekvenco Ωm = π/4 in uporabo različnih kosinusnih oken so v logaritemskem merilu prikazane na sliki 4.14. Slika 4.14 – Slabljenje nizkih sit s kosinusnimi okni (N = 20) Z ustrezno izbiro koeficientov ak bi pravzaprav lahko dobili poljubno okensko funkcijo. Pri tem je problematično predvsem to, da lahko postane število koeficientov zelo veliko, pri čemer ne vemo natančno, kako izbira posameznih koeficientov vpliva na končni rezultat, zato bi bilo potrebno uporabiti metodo s poskušanjem. 4.4 Načrtovanje sit s končnim odzivom - FIR 77 4.4.4.3 Kaiserjeva okna Zelo dobre rezultate z ozirom na slabljenje stranskih snopov dobimo z uporabo Kaiserjevih oken. Ta tvorijo celo družino oken, ki temelje na modificiranih Besselovih funkcijah ničtega reda prve vrste. So skoraj optimalna glede na slabljenje stranskih snopov pri dani časovni omejitvi odziva. Okno iz družine je določeno z enim samim parametrom β, ki ga izberemo na osnovi kompromisa med širino osnovnega snopa in slabljenjem največjega stranskega snopa. Družina Kaiserjevih oken je podana z enačbo: q I0 β 1 − (2n/N )2 N w[n] = ; |n| ≤ (4.60) I0(β) 2 Kaiserjeva okna pri različnih vrednostih parametra β so prikazana na sliki 4.15. Tipične vred- Slika 4.15 – Kaiserjeva okna (N = 20) nosti parametra β so v območju med 4 in 9. Za β = 0 dobimo pravokotno okno in pri β = 5, 44 okno, ki je zelo podobno Hammingovem oknu. Za modificirano Besselovo funkcijo ničtega reda prve vrste velja: ∞ xm 2 I X 0(x) = 1 + (4.61) m! 2m m=1 Slika 4.16 – Slabljenje nizkih sit na osnovi Kaiserjevih oken (N = 20) Na sliki 4.16 so prikazane amplitudne karakteristike nizkih sit, ki so dobljena z oknjenjem odziva idealnega nizkega sita s Kaiserjevimi okni (N = 20, Ωm = π/4). 78 Diskretna sita Ker je širina osnovnega snopa v frekvenčni karakteristiki okna, ki preko konvolucije vpliva na širino prehodnega področja med prepustnim in zapornim področjem sita, obratno sorazmerna N , lahko širino prehodnega območja pri danem minimalnem slabljenju zmanjšujemo le tako, da povečujemo dolžino sita N . Za ilustracijo vpliva N na slabljenje, je na sliki 4.17 podana primerjava amplitudnih karakteristik nizkega sita s Kaiserjevim oknom β = 6 pri N = 20 in N = 80. Slika 4.17 – Vpliv dolžine sita na potek slabljenja (β = 6) Primernost Kaiserjevih oken lahko preverimo, če jih primerjamo z Gaussovimi okni: w[n] = e−(an/N)2 ; |n| ≤ N/2 (4.62) ki so v časovnem prostoru zelo podobne oblike kot Kaiserjeva okna, vendar ima sito načrtovano na osnovi Gaussovega okna pri enaki širini prehodnega območja bistveno nižje slabljenje v zapori kot sito na osnovi Kaiserjevega okna. Primerjava vpliva Gaussovega in Kaiserjevega okna z enako širino prehodnega področja je prikazana na sliki 4.18. Slika 4.18 – Primerjava vpliva Gaussovega in Kaiserjevega okna 4.4.5 Sita z enakomerno valovitostjo Pri načrtovanju sit FIR z inverznim Fourier transformom in oknjenjem smo izhajali iz ide- alne karakteristike sita. Zaradi omejitve dolžine odziva je na koncu karakteristika sita bolj ali manj odstopala od idealne karakteristike. Želeli smo, da so ta odstopanja čim manjša, vendar 4.4 Načrtovanje sit s končnim odzivom - FIR 79 maksimalnih dopustnih odstopanj nismo vnaprej predpisali. Pri izbrani dolžini sita smo z izbiro okenske funkcije naredili kompromis med širino prehodnega področja in minimalnim slabljenjem v zapori. Pri načrtovanju sit z enakomerno valovitostjo vnaprej podamo dopustna odstopanja slabljenja od idealnega poteka v prepustnem in zapornem področju in širino prehodnega območja, v katerem mora biti ojačanje monotono padajoča funkcija frekvence. Pri FIR sitih običajno predpostavimo linearen fazni potek. V splošnem ima lahko sito več prepustnih in zapornih področij. V takem primeru je potrebno podati zahteve za vsa posamezna področja. Kot primer si oglejmo specifikacijo nizkega sita. Nizko sito ima na intervalu 0 ≤ Ω ≤ π eno prepustno, eno prehodno in eno zaporno področje. Pri nizkem situ je potrebno določiti parametre. V specifikaciji sita moramo podati: Ωp – mejna frekvenca prepustnega področja, Ωz – mejna frekvenca zapornega področja, ap – minimalno ojačenje (valovitost) v prepustnem območju in az – maksimalno ojačenje (valovitost) v zapornem področju. Ti parametri določajo okvir (gabarit), ki je prikazan na sliki 4.19. Amplitudna karakteristika sita lahko poteka le v področju, ki je na sliki obarvano sivo. Slika 4.19 – Specifikacija nizkega sita Z ustrezno izbiro dolžine sita N in z izbiro primerne okenske funkcije lahko tudi po doslej obravnavanih postopkih načrtamo sito, ki ustreza podani specifikaciji, kot je to prikazano na sliki 4.20. Vidimo, da amplituda stranskih snopov v zapori upada z odmikom od prepustnega področja. Zelo oddaljeni snopi so precej pod dopustno mejo ojačenja v zapori. Ker tako ve- likega slabljenja ne potrebujemo, lahko amplitudo stranskih snopov povečamo in na ta način zmanjšamo dolžino sita, ki je potrebna, da izpolnimo zahteve. Podobno velja tudi za prepustno področje. Ojačenje doseže svojo minimalno vrednost le na robu prepustnega območja, povsod drugje pa je večje. Tudi tu lahko zmanjšamo potrebno dolžino sita, če karakteristiko načrtujemo tako, da ojačenje v prepustnem področju večkrat doseže minimalno vrednost. 80 Diskretna sita Slika 4.20 – FIR sito s Kaiserjevim oknom, ki ustreza podanim specifikacijam Izkaže se, da je potrebna dolžina sita FIR najmanjša, kadar je valovitost tako v zapornem kot v prepustnem območju enakomerna, tako da so vsi minimumi in maksimumi enako visoki, kot je to prikazano na sliki 4.21. Slika 4.21 – Sito z enakomerno valovitostjo Približek sita s kriterijem enake valovitosti znotraj predpisanih meja ne predstavlja na- jboljšega približka glede na minimalno kvadratično odstopanje preko celotnega frekvenčnega področja, ki ga dosežemo s postopkom z inverznim Fourier transformom in pravokotnim oknom. Če pa izhajamo le iz specifikacij za določena frekvenčna področja, bodo filtri z enakomerno valovitostjo odstopanja v teh področjih optimalni. Načrtovanje sita z enakomerno valovitostjo poteka po iterativnem postopku. Velikost ek- stremov v amplitudni karakteristiki sita je odvisna od njihove lege na frekvenčni osi, ta pa je odvisna od lege ničel v ravnini z. Z razporejanjem ekstremov vzdolž frekvenčne osi moremo doseči enako valovitost. Za načrtovanje sta bila razvita dva osnovna pristopa. Pri prvem, ki sta ga predlagala Her- mann in Schuessler, izberemo red sita N , minimalno ojačenje v prepustnem območju ap, mak- simalno ojačenje v zapori az in mejno frekvenco prepustnega območja Ωp. Širine prehodnega področja oziroma frekvence Ωz ne moremo poljubno izbrati, ker je že določena s prejšnjimi parametri. Če je prehodno področje preširoko, moramo povečati N , če pa je ožje od zahte- vanega lahko N zmanjšamo. 4.4 Načrtovanje sit s končnim odzivom - FIR 81 Pri drugem postopku, ki ga sta ga razvila Parks in McClellan, izberemo N , Ωp in Ωz in razmerje δp/δz, kjer je: δp = 1 − Ap = 1 − 10ap/20 (4.63) valovitost v prepustnem območju in δz = Az = 10az/20 (4.64) valovitost v zapornem področju. Vrednosti ap in az sta posredno odvisni od izbranih parametrov, tako da moramo, podobno kot pri prejšnjem postopku, uporabiti iterativni postopek pri- bliževanja podanim zahtevam. Ta postopek je osnova večine danes uporabljanih načrtovalskih programov za sita FIR z enakomerno valovitostjo. 4.4.6 Načrtovanje sit FIR s frekvenčnim vzorčenjem Postopek načrtovanja s frekvenčnim vzorčenjem je zelo primeren za sita, kjer imamo predpisano prevajalno karakteristiko, ki ni določena z območji s konstantno amplitudo. Taka sita so na primer diferenciator, sito Hilbertovega transforma, korekcijsko sito pri rekonstrukciji, sito za izločevanje intersimbolne interference pri prenosu podatkov in druga podobna sita. Prednosti tega postopka sta predvsem: • Dolžino časovnega odziva omejimo že na začetku, tako da ne pride do problemov, ki nastopijo pri oknjenju. • Izhajamo iz spektra časovno diskretnih signalov, zato ne nastopi problem prekrivanja prevajalne funkcije zaradi vzorčenja. Postopek je zato primeren za načrtovanje poljubno izbrane frekvenčne karakteristike v frekvenčnem področju 0 ≤ Ω ≤ π. 4.4.6.1 Enakomerno vzorčenje Na osnovi transformacije DFT vemo, da K vzorcev v frekvenčnem prostoru določa K točk v časovnem prostoru. Če izberemo K vrednosti prevajalne funkcije H[k], lahko določimo K vzorcev časovnega odziva h[n] (red sita N = K − 1). Najprej izberemo želeno prevajalno funkcijo časovno diskretnega sistema Hd[Ω]. Če želimo imeti linearno fazno karakteristiko, jo izberemo kot čisto realno funkcijo: Hd(ω) = Ad(ω) (4.65) Da bi bil odziv sita realen, mora biti amplitudna karakteristika in zato tudi prevajalna funkcija Hd(Ω) soda: Hd(Ω) = Hd(−Ω) (4.66) kar pomeni, da jo lahko poljubno izbiramo le na področju 0 ≤ Ω ≤ π. Želeno prevajalno funkcijo vzorčimo v enakomernih frekvenčnih intervalih: 2π Ω0 = (4.67) K znotraj osnovnega frekvenčnega področja 0 do 2π: Hv[k] = Hd(kΩ0) k = 0, 1, 2, ..., K − 1 (4.68) 82 Diskretna sita S pomočjo IDFT (1.27) nato izračunamo ustrezno sistemsko funkcijo: hv[n] = IDFT{H[k]} (4.69) Sistemsko funkcijo hv[n] smo izračunali s pomočjo IDFT in s tem implicitno predpostavili, da je periodična. Pri lihem K vzamemo za prevajalno funkcijo sita FIR le osnovno periodo prevajalne funkcije hv[n] na intervalu −(K − 1)/2 ≤ n ≤ (K − 1)/2 vzorcev: K − 1 h[n] = hv[n − ] ; n = 0, 1, 2, ..., K − 1 (4.70) 2 Prevajalna funkcija dobljenega sita je enaka DTFT sistemske funkcije: H(Ω) = DTFT{h[n]} (4.71) Amplitudni potek H(Ω) se ujema z želenim potekom Hd(Ω) v K izbranih frekvenčnih točkah, fazni potek pa je linearen: K − 1 Φ(Ω) = − Ω (4.72) 2 kar je posledica dodane zakasnitve. Med izbranimi točkami lahko amplitudni potek močno odstopa od želenega poteka, kar je odvisno predvsem od gostote vzorčenja frekvenčnega poteka in od izbire želene prevajalne funkcije. Oglejmo si preprost zgled načrtovanja nizkega sita z ωp = π/4, ωz = π/2 in K = 31. Vsi vzorci v prepustnem področju naj bodo enaki 1 in vsi vzorci v zapornem področju enaki 0. V prehodnem področju lahko vzorce poljubno izbiramo. Na sliki 4.22 je prikazana amplitudna karakteristika sita, ki jo dobimo, če tudi vse vzorce v prehodnem področju π/4 < Ω < π/2 postavimo na 0. Zaradi strmega prehoda med prepustnim in zapornim področjem dobimo med vzorci znatno odstopanje karakteristike od idealnega poteka. Slika 4.22 – Frekvenčni vzorci pri nizkem situ Veliko boljši rezultat dobimo, če izberemo vzorce v prehodnem področju tako, da karakte- ristika od prepustnega do zapornega področja počasi upada, kot je to prikazano na sliki 4.23. V opisanih primerih smo načrtovali sita z lihim številom koeficientov, kjer je nekoliko pre- prosteje doseči simetrijo sistemske funkcije kot pri sodem številu, vendar to ne pomeni, da se s frekvenčnim vzorčenjem ne da načrtovati sit s sodim številom koeficientov. Za take primere si bralec lahko za vajo določi ustrezne izraze. 4.4 Načrtovanje sit s končnim odzivom - FIR 83 Slika 4.23 – Frekvenčni vzorci pri nizkem situ 4.4.7 Nekaj primerov sit FIR 4.4.7.1 Povprečevalno sito Najenostavnejše nizkopasovno sito je povprečevalnik preko zadnjih N + 1 vzorcev (Mooving Average Filter). Odziv tega sita podaja enačba: 1 N y[n] = X x[n − i] (4.73) N + 1 i=0 Vsi koeficienti sita bi so enaki 1/(N + 1), zato je prevajalna funkcija sita enaka: 1 N H(z) = X z−n (4.74) N + 1 i=0 Vsoto s členi v zgornji enačbi lahko izrazimo s kvocientom: 1 1 − z−(N+1) Hz(z) = · (4.75) N + 1 1 − z−1 Zgornji izraz ima N + 1 ničel, ki so enakomerno razmeščene po frekvenčni krožnici. Izraz 1 − z−1 v imenovalcu pa daje pol pri z = 1, ki kompenzira ničlo v tej legi. N polov leži v koordinatnem izhodišču. Za N = 4 so narisane lege polov in ničel na sliki 4.24. Slika 4.24 – Lege polov in ničel povprečevalnega sita (N = 4) Frekvenčno karakteristiko povprečevalnega sita dobimo, če v izrazu (4.75) nadomestimo z z eΩ. H(Ω) = Hz(eΩ) (4.76) 84 Diskretna sita Slika 4.25 – Frekvenčna karakteristika povprečevalnega sita pri N = 4 in N = 20 Ojačenje povprečevalnega sita pri N = 4 in N = 20 je prikazano na sliki 4.25. Izraz (4.75) kaže možnost izvedbe povprečevalnega sita s kaskadno vezavo dveh sit, sita FIR s prevajalno funkcijo: 1 H1(z) = (1 − z−(N+1)) (4.77) N + 1 in sita IIR s prevajalno funkcijo: 1 H2(z) = (4.78) 1 − z−1 Taka izvedba zahteva manj računskih operacij kot izvedba v čisti strukturi FIR. Obe izvedbi za N = 4 sta predstavljeni na sliki 4.26. Slika 4.26 – Struktura povprečevalnika brez in z rekurzivnim delom pri N = 4 4.4.7.2 Diskretni diferenciator Najpreprostejši diferenciator določa razliko med dvema zaporednima vzorcema. Zanj velja enačba: yn = xn − xn−1 H(z) = 1 − z−1 (4.79) 4.4 Načrtovanje sit s končnim odzivom - FIR 85 Prevajalna karakteristika tega enostavnega diferenciatorja je: H(Ω) = 1 − e−Ω = 1 − cos Ω +  sin Ω (4.80) Po absolutni vrednosti je prevajalna karakteristika enaka: Ω |H(Ω)| = 2 sin (4.81) 2 in fazni zasuk: sin Ω arg H(Ω) = arctan (4.82) 1 − cos Ω Na sliki 4.27 sta narisani idealna in dejanska karakteristika filtra z diferenco prvega reda. Preprost diferenciator se po karakteristiki približuje idealnem diferenciatorju le pri zelo nizkih frekvencah, ko je sin Ω približno enak Ω. Slika 4.27 – Idealna in dejanska karakteristika filtra z diferenco prvega reda Za idealen diferenciator zahtevamo, da je frekvenčni odziv sorazmeren frekvenci in da je fazni zasuk enak 90◦ neodvisno od frekvence. To nam da zahtevo: H(Ω) = B(eΩ) = Ω − π < Ω < π (4.83) Uporabimo postopek z inverznim Fourier transformom in dobimo: 1 Z π hn = ΩenΩdΩ (4.84) 2π −π Kot rešitev dobimo antisimetričen niz vzorcev okoli h0 = 0:   0 n = 0  hn = (−1)|n|+1 (4.85)  n 6= 0  n Odziv je antisimetričen in predznak se spreminja med zaporednimi vzorci. Če uporabimo pra- vokotno okno za omejitev dolžine, bomo ugotovili valovitost prevajalne karakteristike. Ta je bistveno manjša, če uporabimo okno s počasnim prehodom. Na sliki 4.28 sta narisani karakte- ristiki za pravokotno in Hammingovo okno dolžine 20. 86 Diskretna sita Slika 4.28 – Karakteristiki diferenciatorja s pravokotnim in Hammingovim oknom 4.4.7.3 Hilbertov transform V določenih primerih potrebujemo vezje, ki je vseprepustno sito z amplitudo 1 in suče fazo za −90◦. Tako idealno vezje ustreza Hilbertovi transformaciji, katere karakteristika je: ( − 0 < Ω < π H(Ω) = (4.86)  −π < Ω < 0 Zgornji izraz zahteva nekavzalen filter z liho simetrijo odziva h(n). Aproksimacija, ki ustreza idealnim zahtevam, ne bo izpolnila zahteve po amplitudi v dveh točkah, to je v Ω = 0 in π. Na osnovi zahtev za H(Ω) izračunamo odziv za idealni primer. Vzorci odziva tvorijo neskončen antisimetričen niz: h2n = 0 1 (4.87) h2n−1 = n Na sliki 4.29 je narisana idealna karakteristika in odziv hn. Slika 4.29 – Karakteristika in odziv hn Hilbertovega transforma 4.5 Načrtovanje sit z neskončnim odzivom - IIR Izhodni vzorec sita IIR je odvisen od trenutnega vhodnega vzorca in enega ali več preteklih vhodnih in izhodnih vzorcev, kot je to razvidno iz enačbe (2.63). Zaradi boljše preglednosti jo zapišimo ponovno: N M y[n] = X b X ix[n − i] − aiy[n − i] (4.88) i=0 i=1 4.5 Načrtovanje sit z neskončnim odzivom - IIR 87 Opravka imamo s sistemom s povratnim sklopom, kar pogosto zelo učinkovito oblikuje prevajalno karakteristiko sita. Sito IIR z nekaj koeficienti v povratnem sklopu lahko, glede na slabljenje v zapornem območju, nadomesti sito FIR s sto in več koeficienti. Sita IIR imajo tudi pomanjkljivosti. Pri napačni izbiri koeficientov lahko postanejo IIR sita nestabilna, kar je posebno moteče pri načrtovanju adaptivnih sistemov, pri katerih se koeficienti spreminjajo med samim delovanjem. IIR sita tudi ne morejo imeti linearnega faznega poteka. Za linearen fazni potek je namreč potrebna simetrija sistemske funkcije h[n], kot smo to že ugotovili pri obravnavi sit FIR v razdelku 4.4.2. Sita IIR imajo neskončno dolg odziv h[n]. Velikost vzorcev odziva h[n] pri stabilnem sistemu upade na nič, ko gre n → ∞. To pomeni, da pri ustvarljivih (kavzalnih) sistemih odziv ne more biti simetričen in zato tako sito ne more imeti linearnega faznega poteka. V razdelku 2.2.6 smo zapisali prevajalno funkcijo sita v obliki, s katere so razvidni poli in ničle prevajalne funkcije v ravnini z: N N Y (1 − z Y niz−1) (z − zni) H(z) = b i=1 i=1 0 = b (4.89) M 0zM −N M Y (1 − z Y piz−1 ) (z − zpi) i=1 i=1 in pokazali, da so lastnosti sita, kot so to amplitudni potek, fazni potek, stabilnost in druge, neposredno odvisne od lege polov in ničel. Digitalna sita IIR bi torej lahko načrtovali tako, da bi določili izhodiščne lege polov in ničel glede na željen amplitudni potek prevajalne funkcije. Nato bi izračunali dobljeno prevajalno funkcijo. Na osnovi razlike med dobljeno in želeno karakteristiko bi korigirali lege polov in ničel ali celo dodali kakšen pol ali ničlo. Postopek bi morali večkrat ponoviti, da bi dobili zadovoljiv rezultat. Tak postopek je preprost le za sita nizkega reda. Sita višjih redov načrtujemo na računalnikih s programsko podporo, ki je primerna za adaptivno načrtovanje sit. Bistveno boljši pristop je načrtovanje diskretnih sit s pomočjo transformacije prevajalne funkcije analognih sit. Transformacije temelje na preslikavi polov in ničel iz ravnine s v ravnino z. Tak pristop je smiseln predvsem zato, ker so postopki za načrtovanje analognih sit do- bro raziskani, znane pa so tudi optimalne rešitve glede na potreben red sita ( Čebiševjeva sita, eliptična sita, ...). Dokler ni bilo na voljo računalniških programov, so načrtovali analogna sita na osnovi frekvenčno normiranih sit, ki jih je bilo moč najti v obširnih katalogih analognih sit. Danes so postopki za načrtovanje analognih sit običajno že vgrajeni v računalniške programe, ki omogočajo načrtovanje diskretnih sit na osnovi transformacije. Poznamo več vrst transformacij, od teh sta najbolj pogosto uporabljeni bilinearna in im- pulzno invariantna transformacija. 4.5.1 Preprosto načrtovanje na osnovi polov in ničel S postopkom določanja lege polov in ničel v ravnini z na osnovi intuicije si lahko pomagamo le pri sitih zelo nizkega reda. Ker sita najpogosteje načrtujemo na osnovi specifikacij amplitudnega poteka prevajalne funkcije, zapišimo ponovno enačbo (2.67), ki podaja odvisnost amplitudnega 88 Diskretna sita poteka prevajalne funkcije od lege polov in ničel: N Y dni(Ω) A(Ω) = |b i=1 0| (4.90) M Y dpi(Ω) i=1 kjer so z dni(Ω) in dpi(Ω) označene razdalje ničel in polov od točke na krožnici pri kotu Ω. Za zagotavljanje stabilnosti sita morajo biti poli v enotinem krogu. Postopek načrtovanja preprostih sit z določanjem lege polov in ničel je prikazan na sliki 4.30, amplitudne karakteristike dobljenih sit pa na sliki 4.31 Slika 4.30 – Načrtovanje nizkega sita na osnovi lege polov in ničel a) Ker nastopajo poli v imenovalcu izraza (4.90), se s približevanjem pola frekvenčni krožnici (točki z = 1) povečuje amplituda prevajalne funkcije pri frekvenci 0. b) Pri nizkem situ je smiselno, da je amplituda prevajalne funkcije pri frekvenci Ω = π, enaka 0. To lahko dosežemo z dodajanjem ničle pri z = −1. c) Z dodatnimi poli lahko izboljšamo potek v prepustnem območju. Pole dodajamo v enot- ski krog v bližini krožnice v prepustnem področju. Če želimo, da bo imelo sito realne koeficiente, morajo nastopati poli v konjugirano kompleksnih parih. d) Potek v zapori lahko izboljšamo z dodatkom ničel na frekvenčni krožnici v zapornem področju. S tem zožimo širino prehodnega področja in povečamo minimalno slabljenje v zapornem področju. Tudi ničle morajo nastopati v konjugirano kompleksnih parih, da bi bili koeficienti sita realni. Koeficient b0 v izrazu (4.90) izberemo tako, da je amplituda pri frekvenci Ω = 0 enaka 1. 4.5 Načrtovanje sit z neskončnim odzivom - IIR 89 Slika 4.31 – Amplitudne karakteristike preprostih sit s slike 4.30 Visoko sito lahko dobimo z zrcaljenjem polov in ničel nizkega sita preko imaginarne osi, ali pa ga načrtujemo neposredno, podobno kot nizko sito. Najpreprostejše pasovno prepustno sito je resonator z dvojico kompleksno konjugiranih polov v notranjosti frekvenčnega kroga (slika 4.32 a). Slabljenje v zapori povečamo z dodatnimi ničlami na frekvenčni krožnici (slika 4.32 b). Z dodajanjem polov v bližini centralne frekvence bi lahko, podobno kot pri nizkem situ, razširili prepustno področje in povečali strmino v prehodnem področju. Pri najpreprostejšem pasovnem zapornem situ potrebujemo dvojico kompleksno konjugi- ranih ničel na frekvenčni krožnici in dvojico kompleksno konjugiranih polov znotraj frekvenčne krožnice. Sita z zahtevnejšimi specifikacijami načrtujemo s pomočjo transformacij analognih prototip- nih sit oziroma modeliranja prevajalne funkcije. 4.5.2 Impulzno invariantna transformacija Postopek impulzno invariantne transformacije je najbolj neposredna preslikava sita iz prostora s v prostor z. Izhajamo iz zahteve po ohranitvi (invarianti) odziva sita na enotin impulz. Želimo torej, da je sistemska funkcija s transformacijo dobljenega diskretnega sita h[n] enaka vzorčeni sistemski funkciji analognega prototipnega sita ha(t): h[n] = ha(nTvz) (4.91) Pri načrtovanju se moramo zavedati, da se pri vzorčenju sistemske funkcije, v skladu z ugo- tovitvami v 3. poglavju, prevajalna funkcija preslika okrog mnogokratnikov vzorčne frekvence: 1 ∞ 2kπ H X δ(ω) = H ) (4.92) T a(ω − vz T k=−∞ vz 90 Diskretna sita Slika 4.32 – Preprosto načrtovanje pasovnega sita Prevajalno funkcijo diskretnega sita dobimo nato v skladu s (3.17) zgolj s spremembo merila na frekvenčni osi: 1 ∞ Ω − 2kπ H(Ω) = X H ) (4.93) T a( vz T k=−∞ vz Če vrednost prevajalne funkcije Ha(ω) nad Nyquistovo frekvenco (nad polovico vzorčne frekvence) ni zanemarljivo majhna, dobimo prekrivanje preslikanih prevajalnih funkcij. Tudi pri nizkih vrednostih prevajalne funkcije v področju nad Nyquistovo frekvenco, pride do prekrivanja, vendar to vpliva predvsem na zaporno področje, vpliv na prepustno področje pa ni izrazit. Za primer nizkega sita z enim polom na realni osi (sp = −ωm) je vpliv prekrivanja na frekvenčno karakteristiko prikazan na sliki 4.33. Vidimo, da je vpliv prekrivanja tudi pri vzorčni Slika 4.33 – Prekrivanje frekvenčne karakteristike zaradi vzorčenja 4.5 Načrtovanje sit z neskončnim odzivom - IIR 91 frekvenci ωvz = 8ωm še vedno izdaten, ker pri tako preprostem situ amplituda prevajalne funkcije s frekvenco relativno počasi upada. Iz navedenih razlogov je impulzno invariantna transformacija primerna predvsem za nizka sita, ki jim slabljenje v zapornem področju naglo oziroma vsaj monotono upada, kot so to na primer Butterworthova in Čebiševjeva sita tipa I. Za eliptična sita in Čebiševjeva sita tipa II z enakomerno valovitostjo v zapornem področju impulzno invariantna transformacija ni primerna zaradi prevelikega vpliva prekrivanja preslikanih prevajalnih funkcij. Za realizacijo diskretnega sita potrebujemo njegovo prevajalno funkcijo v prostoru z: ∞ H(z) = X ha(nTvz)z−n (4.94) n=0 Zgornji izraz v splošnem ni primeren za neposredno transformacijo, saj običajno nimamo podane sistemske funkcije analognega sita ha(t) temveč le njegovo prevajalno funkcijo Ha(s) v prostoru s. Da bi lahko prevajalno funkcijo Ha(s) neposredno preslikali iz prostora s v prostor z, jo najprej zapišemo v obliki vsote parcialnih ulomkov. Prevajalno funkcijo N -tega reda, ki nima polov višjega reda, število polov pa je večje od števila ničel (kar zagotavlja monotono upadanje amplitudne karakteristike), lahko zapišemo v obliki: N C H X i a(s) = (4.95) s − s i=1 pi kjer so z spi označeni poli prevajalne funkcije, konstante Ci pa so enaka residuom prevajalne funkcije v njenih polih: Ci = res [H(s)] (4.96) s=spi Vsak člen v enačbi (4.95) je posledica enega pola. Odziv analognega sita na enotin impulz je enak vsoti odzivov, ki pripadajo posameznim parcialnim ulomkom: N h X a(t) = u(t) Ci espit (4.97) i=1 kjer je z u(t) označena enotina stopnica. Sistemska funkcija diskretnega sita je potem enaka: N h[n] = h X a(nTvz) = u[n] CiespiTvzn (4.98) i=1 Naredimo transform Z na obeh straneh zgornjega izraza in upoštevajmo linearnost transforma Z. Dobimo: N n n o H(z) = X CiZ espiTvz u[n] (4.99) i=1 Iz razpredelnice transformov Z (tabela 2.1 na strani 39) lahko razberemo: n n o 1 Z espiTvz u[n] = (4.100) 1 − espiTvz z−1 in od tod: N C H(z) = X i (4.101) i=1 1 − espiTvz z−1 92 Diskretna sita Vidimo, da se vsi poli spi iz ravnine s preslikajo v pole: zpi = espiTvz (4.102) v ravnini z. S to transformacijo lahko dobimo popolnoma uporabna sita, vendar zaradi prekrivanja pre- vajalnih funkcij transformacija ne ohranja verno lastnosti v frekvenčnem prostoru. Preslikava je sprejemljiva, če so vsi poli prevajalne funkcije v pasu |ℑ(s)| < π/Tvz ravnine s oziroma čim bliže realni osi. Primer 4.1 – Kot zgled si oglejmo načrtovanje diskretnega nizkega sita z mejno frekvenco Ωm = π/4 in valovitostjo 3 dB v prepustnem področju na osnovi Čebiševjevega sita tretjega reda. Čebiševjevo sito ima samo pole, zato lahko njegovo prevajalno funkcijo zapišemo v obliki: 1 H(s) = (4.103) (1 − s s )(1 − s )(1 − s ) p1 sp2 sp3 Tvz določimo tako, da dobimo ustrezno mejno frekvenco diskretnega sita, s pomočjo enačbe: Ω T m vz = (4.104) 2πfm kjer je z fm označena mejna frekvenca prototipnega sita, ki jo lahko izberemo poljubno. Za fm = 1 lahko preberemo vrednosti polov iz ustreznega kataloga analognih sit: sp1 = −1, 75 sp2 = −0, 875 + 5, 441 sp3 = −0, 875 − 5, 441 Lega polov v ravnini s in frekvenčna karakteristika prototipnega sita sta prikazana na sliki 4.34. Prevajalno funkcijo H(z) zapišemo v obliki: Slika 4.34 – Lega polov in frekvenčna karakteristika prototipnega sita C C C H(z) = 1 + 2 + 3 (4.105) 1 − zp1z−1 1 − zp2z−1 1 − zp3z−1 4.5 Načrtovanje sit z neskončnim odzivom - IIR 93 pole zpi in konstante Ci izračunamo na osnovi enačb (4.102) in (4.96). Dobimo: zp1 = 0, 803 C1 = 1, 75 zp2 = 0, 697 + 0, 564 C2 = −0.875 + 0, 141 zp3 = 0, 697 − 0, 564 C3 = −0.875 − 0, 141 Z numerično rešitvijo enačbe H(z) = 0 izračunamo še ničle prevajalne funkcije. Ena ničla leži v izhodišču, edina od nič različna ničla pa na negativni realni osi pri zn = −0, 863. Lega polov in ničel in frekvenčna karakteristika tako dobljenega diskretnega sita sta prikazana na sliki 4.35. Slika 4.35 – Lega polov in ničel ter frekvenčna karakteristika diskretnega sita 4.5.3 Bilinearna transformacija Pri bilinearni transformaciji preslikamo vse točke ravnine s v točke ravnine z preko relacije: 1 + s/ω z = 0 (4.106) 1 − s/ω0 Transformacijo imenujemo bilinearna, ker sta števec in imenovalec linearni funkciji spremenljivke s. Pri bilinearni transformaciji se preslika leva polravnina s znotraj frekvenčne krožnice v ravnini z in desna polravnina s izven frekvenčne krožnice v ravnini z, kot je to prikazano na sliki 4.36. Frekvenčna merilo se pri preslikavi nelinearno ukrivi, pri čemer se področje frekvenc 0 ≤ ω ≤ ω0 preslika v področje 0 ≤ Ω ≤ π/2 in področje frekvenc ω > ω0 v po- dročje π/2 < Ω < π. 4.5.3.1 Preslikava prevajalne funkcije Prevajalno funkcijo Ha(s) analognega prototipnega sita lahko neposredno preslikamo iz ravnine s v ravnino z, tako da najprej na osnovi relacije (4.106) eksplicitno izrazimo s in nato z njim nadomestimo s v prevajalni funkciji Ha(s): z − 1 H(z) = Ha ω0 (4.107) z + 1 94 Diskretna sita Slika 4.36 – Preslikava iz ravnine s v ravnino z Ker pri bilinearni transformaciji preslikamo vse točke ravnine s v ravnino z, se na enak način preslikajo tudi poli in ničle prevajalne funkcije Ha(s): 1 + s z pi/ω0 pi = 1 − spi/ω0 1 + s z ni/ω0 ni = (4.108) 1 − sni/ω0 Pri analognem situ mora biti število ničel N manjše ali kvečjemu enako številu polov M , da je sito ustvarljivo. Kadar je število polov večje od števila ničel, leži M − N ničel v neskončnosti. Te se pri bilinearni transformaciji preslikajo v točko z = −1. Če poznamo pole in ničle proto- tipnega analognega sita, lahko zapišemo prevajalno funkcijo H(z) neposredno v obliki, s katere so razvidne ničle in poli: N Y (1 − zniz−1) H(z) = b i=1 0(1 + z−1 )M −N (4.109) M Y(1 − zpiz−1) i=1 Konstanto b0 določimo tako, da imamo enako vrednost prevajalne funkcije preslikanega in orig- inalnega sita pri frekvenci 0. H(1) = Ha(0) (4.110) 4.5.3.2 Sprememba frekvenčnega merila Frekvenčna os s = ω, ki predstavlja mejo med obema polravninama v ravnini s na sliki 4.36, se preslika v frekvenčno krožnico z = eΩ v ravnini z, pri čemer se nelinearno spremeni frekvenčno merilo. Kakšna je sprememba merila, lahko ugotovimo, če v izrazu (4.107) nadomestimo s ← ω in z ← eΩ in izraz preuredimo. Dobimo: ω eΩ − 1 ω eΩ/2 − e−Ω/2 Ω ω = 0 = 0 = ω (4.111)  0 tg eΩ + 1  eΩ/2 + e−Ω/2 2 in ω Ω = 2 arctg (4.112) ω0 Celotno frekvenčno področje ω se stisne v interval med −π in π frekvence Ω, pri tem pa se merilo nelinearno ukrivi. Ukrivljenje merila za frekvence ω > 0 je prikazano na sliki 4.37. Frekvence 4.5 Načrtovanje sit z neskončnim odzivom - IIR 95 Slika 4.37 – Ukrivljenje merila na frekvenčni osi do frekvence ω0 se preslikajo dokaj linearno, nad to frekvenco pa se prične frekvenčno merilo vedno bolj stiskati. Sama frekvenca ω0 pa se preslika točno na polovico aktualnega frekvenčnega področja Ω, to je v točko Ω = π/2. Z izbiro frekvence ω0 torej določamo, kako se bo merilo pri preslikavi ukrivilo. Za primer sita z enim polom s slike 4.33 je primerjava frekvenčnih karakteristik dobljenih z impulzno invariantno (ωvz = 8ωm) in bilinearno transformacijo (ω0 = 4ωm) prikazana na sliki 4.38. Slika 4.38 – Primerjava frekvenčnih karakteristik dobljenih z bilinearno in impulzno invariantno transformacijo (sp = −ωm, ω0 = 4ωm, ωvz = 8ωm) Na enak način kot pri amplitudnem poteku se spremeni tudi merilo faznega poteka prevajalne funkcije. Ta sprememba spremeni fazno popačenje, ki ga dobimo za prototipno sito v ravnini s. Ker se pri preslikavi spremeni samo frekvenčno merilo, ostane valovitost pri sitih z enakomerno valovitostjo nespremenjena. 4.5.3.3 Povzetek postopka načrtovanja Celoten postopek načrtovanja IIR sit s pomočjo bilinearne transformacije obsega naslednje faze: 1. Izhajamo iz specifikacij diskretnega nizkega sita Ωp, Ωz, ap in az, kot so podane na strani 79. 2. Na osnovi izraza (4.111) transformiramo Ωp in Ωz v ωp in ωz analognega prototipnega sita. 3. Na osnovi zahtev ωp, ωz, ap in az določimo red sita in izberemo ustrezno analogno sito. 96 Diskretna sita 4. Na osnovi izraza (4.108) transformiramo ničle sni in pole spi iz ravnine s v ničle zni in pole zpi v ravnini z. 5. V skladu z (4.109) zapišemo izraz za H(z). 6. Na osnovi (4.110) določimo še konstanto b0. 7. Če potrebujemo visoko ali pasovno sito, preslikamo nizkopasovno funkcijo H(z) z ustrezno frekvenčno transformacijo. 8. Izberemo ustrezno strukturo. Najmanjši vpliv kvantizacije koeficientov imamo pri serijski vezavi celic drugega reda. V vsaki celici lahko združimo po en konjugirano kompleksen par polov in ničel. Združevanje konjugirano kompleksih parov je potrebno, če želimo imeti realne koeficiente sita. Kako in katere pole in ničle bomo združevali v celice, je nebistveno, če ne upoštevamo praktičnih omejitev pri kvantizaciji koeficientov in zaokroževanju rezul- tatov v množilnikih. 9. Izračunamo koeficiente sita za izbrano strukturo. Primer 4.2 – Načrtati želimo diskretno nizko sito. Podane so specifikacije analognega sita, ki ga dobimo z dodatkom vzorčevalnika na vhodu in rekonstrukcijskega vezja na izhodu diskretnega sita: fp = 1kHz fz = 1, 5kHz fvz = 10kHz ap = −0, 30dB az = −50dB Izračun: • Določimo frekvenci Ωp in Ωz diskretnega sita Ωp = 2πfp/fvz = 0, 628 Ωz = 2πfz/fvz = 0, 942 • Ker so analogna sita v katalogih ponavadi podana za normirano frekvenco ωp = 1, izberemo ω0 tako, da se mejna frekvenca Ωp preslika v ωp = 1. ω0 = tg−1(Ωp/2) = 3, 08 • Na osnovi (4.111) izračunamo ωz prototipnega sita. ωz = 1, 568 • Iz tabeliranih podatkov za eliptične filtre ugotovimo, da dobimo pri N = 5 in ωz = 1, 556 valovitost v prepustnem področju ap = −0, 28 dB in v zapornem področju az = −50, 1 dB, 4.5 Načrtovanje sit z neskončnim odzivom - IIR 97 kar izpolnjuje podane zahteve. Dobili smo prototipno sito z naslednjimi poli in ničlami: sp1,2 = −0.097 ± 1, 030 sp3,4 = −0, 334 ± 0, 718 sp5 = −0, 495 sn1,2 = ±1, 617 sn3,4 = ±2, 438 sn5 → ∞ • Na osnovi izraza (4.108) preslikamo pole in ničle iz ravnine s v ravnino z. Dobimo: zp1,2 = 0.754 ± 0.570 zp3,4 = 0.728 ± 0.364 zp5 = 0.723 zn1,2 = 0.567 ± 0.824 zn3,4 = 0.229 ± 0.973 zn5 = −1 • Po izrazu (4.110) izračunamo konstanto b0 b0 = 0, 0082 • Sito izvedemo kot kaskadno vezavo dveh celic drugega reda in ene celice prvega reda v diskretni strukturi II, kot je to prikazano na sliki 4.39. Slika 4.39 – Struktura diskretnega sita petega reda • V posamezni celici združimo po en konjugirano kompleksen par polov in ničel. Za prvo celico uporabimo zp1,2 in zn1,2, za drugo zp3,4 in zn3,4 ter za zadnjo zp5 in zn5. • Koeficienta a11 in a21 prve celice izračunamo tako, da izenačimo polinom imenovalca z (1 − zp1)(1 − zp2): 1 + a11z−1 + a21z−2 = (1 − zp1z−1)(1 − zp2z−1) Z rešitvijo gornje enačbe dobimo: a11 = −(zp1 + zp2) a21 = zp1zp2 98 Diskretna sita • Po podobnem postopku izračunamo še vse ostale koeficiente sita. Dobimo: a11 = −1, 508 a21 = 0, 893 b11 = 1, 130 b21 = 1, 000 a12 = −1, 456 a22 = 0, 662 b12 = −0, 458 b22 = 1, 000 a13 = −0, 723 b13 = 1, 000 4.6 Problemi 1. Določite, ali ima sito s podano prevajalno funkcijo linearno fazo in kakšna je zakasnitev signala. H1(z) = 1 + z−1 − z−2 − z−3 H2(z) = 1 − z−1 + z−2 − z−3 + z−4 Fazne razmere preverite s primerjavo potekov izhodnega signala pri harmoničnem signalu x[n] = sin(2πn/100) za podani siti. 2. Določite pasovno širino (−3 dB) povprečevalnega sita s prevajalno funkcijo H(z) za primera N = 5 in 21. Primerjajte upadanje amplitudne karakteristike od števila N . N 1 − z−N H(z) = X z−n = (4.113) 1 − z−1 n=0 3. Pasovno sito pri centralni frekvenci Ω0 načrtujte na osnovi prestavitve karakteristike povprečevalnika kot nizkega sita v lego okoli Ω0. To dosežemo s konvolucijo spektralne črte pri Ω0 in karakteristike nizkega sita v frekvenčnem prostoru. a) Izračunajte karakteristiko s konvolucijo. Določite prevajalno karakteristiko v odvisnosti od frekvence za primera Ω0 = π/2 in π/3 ter N = 21. b) Preverite izračunano karakteristiko za Ω0 = π/2 in π/3 ter N = 21 na osnovi odziva v časovnem prostoru. Odziv pasovnega sita izračunamo kot produkt odziva idealnega resonatorja in nizkega sita. Razložite bistveno počasnejše upadanje stranskih vrhov pri selektivnem situ kakor pri nizkem situ. S čim razlagate nesimetričnost stranskih vrhov pri Ω0 = π/3. 4. Določite odziv idealnega pasovnega sita preko inverznega Fourier transforma. Za spodnjo mejno frekvenco izberite Ω1 = π/5 in zgornjo Ω2 = π/3. Izračunajte prevajalno karakteris- tiko, če odziv simetrično oknite s pravokotnim oknom z N = 21. Oglejte si karakteristiko še za N = 41, 51 in 81. 5. Situ vrste FIR z y(n) = x(n) − x(n − 4) določite amplitudni in fazni odziv ter odziv na vhodni signal x(n) = cos(πn/2) + cos(πn/4). 4.6 Problemi 99 6. Imamo dva povprečevalnika, katerih prevajalni funkciji sta določeni z: 1 M y X 1(n) = x[n − k] 2M + 1 k=−M 1 1 M −1 1 y X 2(n) = x[n + M ] + x[n − k] + x[n − M] 4M 2M 4M k=−M +1 Katera izvedba povprečevalnika je boljša glede na prevajalno karakteristiko oziroma v čem se razlikujeta? Analizirajte razliko pri M = 10. 7. Določite sito FIR, ki popolnoma zaduši harmonični signal frekvence Ω = 2π/3. Prevajalna funkcija naj ima H(Ω = 0) = 1 in sito realne koeficiente. 8. Imamo povprečevalnik s funkcijo: H(z) = 1 + z−1 + z−2 + ... + z−9 Frekvenca vzorčenja je 1 kHz. Katere harmonične komponente sito popolnoma zaduši? 9. Načrtajte na osnovi nizkega sita FIR z mejno frekvenco Ωm = π/3, ki ste ga določili na osnovi enega postopka, naslednja sita: a) visoko sito VS s pomočjo prestavitve centralne frekvence na fvz/2, b) pasovnega zapornega sita PZS na osnovi vsote odzivov nizkega in visokega sita in c) pasovnega prepustnega sita PS na osnovi ustrezne kombinacije odzivov vseprepustnega VPS, nizkega NS in visokega sita VS. Preverite lastnosti načrtovanih sit. 10. Določite, kakšen fazni potek (minimalno, maksimalno ali linearno fazo) imajo sita FIR na osnovi lege ničel s prevajalno funkcijo: H1(z) = (1/6)(6 + z−1 − z−2) H2(z) = (1/6)(1 − z−1 − 6z−2) H3(z) = (1/3)(1 − 2.5z−1 − 1.5z−2) H4(z) = (1/2)(1 + 5z−1 z−2) 3 − 23 Gornje funkcije imajo vse enako amplitudno karakteristiko. Razložite z lego ničel. Za minimalno fazo so vse ničle prevajalne funkcije znotraj enotske krožnice, za maksimalno fazo so vse ničle zunaj enotske krožnice in za linearno fazo ležijo ničle inverzno in konju- girano kompleksno. 11. Ugotovite, če ima FIR z naslednjim odzivom H(z) = 10+9z−1 −7z−2 −8z−3 +5z−5 +3z−6 minimalni fazni potek sita. 12. Določite ničle sistemskih funkcij in določite značaj vezij: 100 Diskretna sita y1[n] = x[n] + x[n − 1] y2[n] = x[n] − x[n − 1] y3[n] = x[n] − x[n − 3] y4[n] = x[n − 4] y5[n] = x[n] − 2x[n − 1] + x[n − 2] y6[n] = x[n] + 2x[n − 1] + x[n − 2] 13. Preverite trditvi: konvolucija dveh nizov minimalne faze je vedno niz minimalne faze in vsota dveh nizov minimalne faze je vedno niz minimalne faze. 14. Določite frekvenčno karakteristiko pravokotnega, trikotnega, Hannovega, Hammingovega in Kaiserjevega (β = 8) okna za N = 51. Primerjajte širine osnovnega snopa, upadanje stranskih snopov in slabljenje največjega stranskega snopa. 15. Načrtajte nizko sito z mejno frekvenco π/3 reda N = 21 na osnovi oknjenja odziva preko inverznega Fourier transforma. Uporabite pravokotno, trikotno in Hammingovo okno. Primerjajte pasovno širino pri usihu za −3 dB glede na frekvenco Ω = 0 in širino do prvega minimuma. 16. Načrtajte nizko sito enake valovitosti z mejno frekvenco π/3 reda N = 21 s Hammingovim oknom. Z ustreznim matematičnim programom določite lege ničel in preverite, ali lege ustrezajo pogojem za sita z linearno fazo. 17. Načrtajte sito Hilbertovega transforma na osnovi idealnega odziva in oknjenja s Hammin- govim oknom z N = 21. Primerjajte izhodni signal sita z vhodnim pri krmiljenju s har- moničnim signalom frekvence π/4. Določite maksimalna odstopanja znotraj frekvenčnega področja med 0.1π in 0.9π, če amplitudo karakteristike normirate na srednjo aritmetično vrednost omenjenega področja. Kakšne razmere dobite pri uporabi Blackmanovega okna? 18. S harmoničnim signalom vzporedno krmilite sito Hilbertovega transforma H1(z) iz prob- lema 17 in vseprepustno sito FIR H2(z). Obe siti naj enako zakasnita signal na izhodu. Preverite, ali sta izhodna signala obeh sit med seboj ortogonalna? Ali je potrebno s ko- relacijo preveriti ortogonalnost za različne frekvence vhodnega signala med 0 in π? 19. Diferenciator načrtajte na osnovi odziva idealnega diferenciatorja, ki ga oknite s Ham- mingovim oknom z N = 20. Določite maksimalna relativna odstopanja med doseženo in idealno amplitudno karakteristiko v območju med 0 in 0.9π. Kakšne razmere dobite pri uporabi Hammingovega okna? 20. S primernim računalniškim programom načrtujte različna sita na osnovi oknjenja in na osnovi načrtovanja enake valovitosti. 21. Določite amplitudno in fazno karakteristiko filtra prvega reda s prevajalno karakteristiko: z − 2 H(z) = 2(z − 0,5) Narišite lego polov in ničel. 4.6 Problemi 101 22. Sito drugega reda ima dvojni pol pri p1,2 = 0.5 in ničli pri z1,2 = e±3π/4. Določite frekvenčni odziv in mejno frekvenco. 23. Določite pasovni širini nizkih sit: 1 − a H1(z) = 1 − az−1 1 − a 1 + z−1 H2(z) = · 2 1 − az−2 24. Načrtajte nizko sito s poskušanjem lociranja polov. Sito naj ima približno enako pasovno širino (π/3) za primere: a) prvega reda z realnim polom (zn = 0, z = a 1 p1 1), b) drugega reda (zn = 0, konjugirano kompleksna pola z = r 1,2 p1,2 2e±φ2 ) in c) tretjega reda (zn = −1, z = 0, kompleksno konjugirana pola z na radiju r 1 n2,3 p1,2 3 pri kotu ±φ3 in zp na realni osi na razdalji r 3 4). Določite amplitudne in fazne karakteristike. 25. Na osnovi problema 24 narišite lege polov in ničel za sita prvega, drugega in tretjega reda. 26. Na osnovi problema 24 z nizkim sitom narišite lege polov in ničel za vseprepustno sito prvega, drugega in tretjega reda. 27. Vzemimo sito z glavnikasto karakteristiko v frekvenčnem prostoru s prevajalno karakte- ris-tiko H(z): 1 − z−L(M+1) H(z) = 1 − z−L Določite amplitudno in fazno karakteristiko za parametra L = 3 in M = 7. Narišite lege polov in ničel ter si razložite delovanje sita. 28. Na osnovi ugotovitev pri reševanju problema 27 načrtajte sito, ki bo zadušilo osnovni har- monični signal frekvence π/10 in vse višje (do devete) razen pete harmonične komponente. 29. S primernim načrtovalskim programom za načrtovanje sit IIR preverite postopke načrtovanja na osnovi impulzne invariance in bilinearne transformacije. Preverite različne vrste sit (nizka, visoka in pasovna) ter različne tipe (Butterworthove, Čebiševjeve I in II, eliptične in Besselove). Pri načrtovanju bodite pozorni na vpliv širine prehodnega območja in dopustne valovitosti na zahtevan red sita ter lokacije polov in ničel. Opazujte fazne poteke različnih tipov sit in zakasnitve signala. 30. Določite vse možne strukture sita drugega reda z enačbo: b H(z) = 0 + b1z−1 + b2z−2 1 + a1z−1 + a2z−2 Sestavite za izbrane strukture ustrezne programe, ki bodo računali izhodni niz y[n] na osnovi vhodnega niza x[n]. 102 Diskretna sita 31. Imamo paralelno strukturo dveh celic sit prvega reda: 1 z−1 H(z) = + 1 − az−1 1 − az−1 Analizirajte sito glede na posamezno celico in skupno vezavo. Za a=0.5 določite vezavo z eno celico drugega reda. 32. V izrazu H(z) iz problema 31 tvorite razliko obeh ulomkov. Kakšno sito dobimo in kakšen bo zapis za sito z eno celico drugega reda? 33. Imamo podano sito FIR četrtega reda s koeficienti a0, a1, a2, a3 in a4. Kakšni bi bili koeficienti dveh kaskadno vezanih sit FIR drugega reda? 5 Uporaba DFT pri analizi in obdelavi signalov Fourier transform uporabljamo pri analognih signalih predvsem kot matematično orodje za spektralno analizo signala. Določene lastnosti signalov je namreč mnogo lažje razbrati iz spek- tra signala kot iz njegovega časovnega poteka. Analognih signalov ne moremo obdelovati s pomočjo Fourier transforma iz preprostega razloga, ker nimamo na voljo analognega vezja, ki bi neposredno izvajalo Fourier transform signala. Zato tudi analogni spektralni analizatorji niso izvedeni na osnovi Fourier transforma. Običajno so spektralni analizatorji izvedeni s pasovnim sitom in frekvenčnim mešanjem signala s spremenljivo frekvenco, tako da se centralna frekvenca sita navidezno pomika vzdolž frekvenčne osi. Pri diskretnih signalih je situacija nekoliko drugačna. Tu lahko nad signali neposredno izvajamo matematične operacije. Omejitev predstavlja predvsem hitrost, s katero lahko izvajamo računske operacije in natančnost tako računanja kot zapisa posameznih vzorcev signala. Pri analizi diskretnih signalov smo se srečali z dvema oblikama diskretnega Fourier transforma: diskretni Fourier transform (DFT), ki smo ga definirali pri obravnavi periodičnih diskretnih signalov v razdelku 1.4 kot: 1 N−1 1 N−1 X[k] = X x[n]e−2πnk/N = X x[n]W kn N N N (5.1) n=0 n=0 in časovno diskretni Fourier transform, ki smo ga definirali pri obravnavi aperiodičnih signalov v razdelku 1.4 kot: ∞ X(Ω) = X x[n]e−Ωn (5.2) n=−∞ Ker imamo večinoma opravka z analizo aperiodičnih signalov bi potrebovali DTFT vendar ta za analizo (s spektralnim analizatorjem) ni najbolj primeren, ker je spekter zvezen, kar pomeni, da bi ga morali izračunati v neskončno frekvenčnih točkah. Zato namesto tega, kot bomo videli v nadaljevanju, ponavadi uporabimo kar DFT. Poleg tega, da nam služi DFT kot orodje za analizo signalov, pa ga lahko uporabimo tudi pri sami obdelavi signalov, kot na primer pri filtriranju, če na ta način povečamo računsko učinkovitost obdelave. Računsko učinkovitost obdelave signalov je mogoče z uporabo DFT povečati predvsem zato, ker • so nekatere operacije (npr. operacija filtriranja) v frekvenčnem prostoru precej preprostejše kot v časovnem prostoru in • ker obstajajo hitri algoritmi za izračun DFT in IDFT, ki jih poznamo pod skupnim imenom hitri Fourier transform. V tem poglavju si bomo najprej ogledali osnovne algoritme za hitri izračun diskretnega Fourier transforma, nato pa še nekaj primerov uporabe DFT pri analizi in obdelavi signalov. 103 104 Uporaba DFT pri analizi in obdelavi signalov 5.1 Hitri Fourier transform - FFT Kot smo omenili že v uvodu tega poglavja, uporabljamo izraz hitri Fourier transform (FFT - Fast Fourier Transform) kot skupno ime za različne algoritme, ki omogočajo izračun DFT z bistveno manjšim številom računskih operacij, kot bi bilo to potrebno, če bi ga računali neposredno na osnovi izraza (5.1). Želja po zmanjšanju računskih operacij pri izračunu DFT je že zelo stara. Za prvi učinkovit algoritem lahko štejemo postopek Cooley-Turkey. Ime ima po avtorjih, ki sta ga objavila leta 1965, čeprav je bilo kasneje, leta 1985, odkrito, da je postopek opisal že Gauss leta 1805 v manj znani reviji, ki je izhajala le v latinskem jeziku. Že na samem začetku se zdi potrebno opozoriti na pravilno razumevanje in rabo pojma FFT. Pogosto bomo, tudi v nadaljevanju te knjige, srečali povezave kot: “naredimo FFT” , “FFT signala je enak” in podobno. Takšna raba je lahko zelo zavajajoča, saj dajejo občutek, da gre pri FFT za nek nov transform, kar pa ni res. Pravilno bi se zgornji dve izjavi namreč glasili: “s pomočjo FFT izračunamo DFT” in “DFT (ki smo ga izračunali s pomočjo FFT) je enak”. Postopki FFT temelje na dekompoziciji transforma dolžine N na več krajših transformov. Poznamo dva osnovna postopka dekompozicije: decimacijo po času (DIT - Decimation In Time) in decimacijo po frekvenci (DIF - Decimation In Frequency). 5.1.1 Decimacija v času Pri tem postopku izvedemo dekompozicijo z decimacijo N vzorcev vhodnega signala. Dekom- pozicija je najučinkovitejša, kadar je število N celoštevilčna potenca števila 2: N = 2M ⇐⇒ M = log2 N (5.3) kjer je M naravno število. V tem primeru dobimo z M polovičenji (decimacijami za faktor 2) osnovnega niza N nizov z enim samim vzorcem. Izhajamo iz enačbe (5.1). V osnovni definiciji bomo zaradi enostavnosti izpustili skalirni faktor 1/N , saj lahko dobljene komponente transforma pomnožimo s skalirnim faktorjem šele po izračunu. Osnovno vrsto najprej razstavimo v dve vrsti. Prva vrsta naj vsebuje vzorce s sodimi indeksi: N n = 2r ; 0 ≤ r ≤ − 1 (5.4) 2 in druga vzorce z lihimi indeksi: N n = 2r + 1 ; 0 ≤ r ≤ − 1 (5.5) 2 Dobimo: N/2−1 N/2−1 X[k] = X x[2r]W 2rk X N + x[2r + 1]W (2r+1)k = N r=0 r=0 N/2−1 N/2−1 kr kr = X x[2r] W 2 X N + W k N x[2r + 1] W 2 N (5.6) r=0 r=0 5.1 Hitri Fourier transform - FFT 105 Konstanto W 2 N v gornjem izrazu, ki pripada transformu dolžine N , lahko izrazimo s konstanto transforma dolžine N/2: W 2 N = e−2 2π N = e− 2π N/2 = WN/2 (5.7) Upoštevamo to v izrazu (5.6) in dobimo: N/2−1 N/2−1 X[k] = X x[2r]W kr X N/2 + W k N x[2r + 1]W kr N/2 (5.8) r=0 r=0 Če primerjamo gornji izraz z osnovnim izrazom za izračun DFT (5.1) vidimo, da prva vsota predstavlja DFT sodih vzorcev osnovnega niza. Označimo ga z Xs[k]. Druga vsota predstavlja DFT lihih vzorcev in ga označimo z Xl[k]. Dobimo: X[k] = Xs[k] + Xl[k]W kN (5.9) Xs[k] in Xl[k] sta transforma polovične dolžine, zato je tudi perioda spektra enaka N/2 in velja: Xs[k + N/2] = Xs[k] Xl[k + N/2] = Xl[k] (5.10) kar pomeni, da je potrebno izračunati le njune komponente za 0 ≤ k < N/2. Komponente osnovnega transforma za 0 ≤ k < N/2 računamo torej neposredno po enačbi (5.9), za preostale pa uporabimo izraz: X[k + N/2] = Xs[k] + Xl[k]W k+N/2 N ; 0 ≤ k < N/2 (5.11) Upoštevamo še: W N/2 = e− 2πN/2 N = eπ = N −1 (5.12) in dobimo: X[k + N/2] = Xs[k] − Xl[k]W kN ; 0 ≤ k < N/2 (5.13) Za komponente transforma z indeksi med N/2 in N − 1 lahko tako uporabimo že izračunane komponente Xs[k] in W kN Xl[k], tako da hkrati izračunamo X[k] in X[k+N/2], kot je to prikazano v diagramu pretoka signala na sliki 5.1. Slika 5.1 – Kombinacija dveh soležnih komponent polovičnih transformov Za izračun dveh komponent izhodnega transforma iz komponent polovičnih transformov potrebujemo tako le eno množenje, eno seštevanje in eno odštevanje. Kombinacija seštevanja in odštevanja je enaka pri izračunu vseh komponent transforma, saj ni odvisna od indeksa k. Zaradi specifične oblike jo imenujemo tudi metuljček (angl. butterfly). Ker se pri izračunu FFT pogosto ponavlja, uvedemo zanjo nov simbol, kot je to prikazano na sliki 5.2. 106 Uporaba DFT pri analizi in obdelavi signalov Slika 5.2 – Metuljček kot osnovna komponenta izračuna pri FFT Slika 5.3 – Struktura FFT-DIT dimenzije N = 8 po prvi dekompoziciji Za primer N = 8 je postopek izračuna celotnega DFT po prvi dekompoziciji prikazan na sliki 5.3. Postopek dekompozicije lahko sedaj ponovimo na obeh transformih dolžine N/2 in dobimo 4 transforme dolžine N/4. Po M dekompozicijah dobimo na vhodu N transformov dolžine 1, ki pa so kar enaki vhodnim vzorcem, saj za DFT dolžine 1 velja: 0 X[0] = X x[n]W 0 1 = x[0] (5.14) n=0 Za primer N = 8 je končni rezultat po 3-kratni (log2 N ) dekompoziciji prikazan na sliki 5.4. Slika 5.4 – Struktura FFT-DIT dimenzije N = 8 Opazimo lahko, da indeksi signala na vhodu ne nastopajo več v pravilnem vrstnem redu temveč premešano. To premešanje je posledica zaporednega razdeljevanja na sode in lihe vred- nosti. Pokazati je mogoče, da tako dobljen vrstni red ustreza bitno reverznem razvrščanju. Tega 5.1 Hitri Fourier transform - FFT 107 naravni binarni obrnjen reverzen indeks zapis zapis indeks 0 000 000 0 1 001 100 4 2 010 010 2 3 011 110 6 4 100 001 1 5 101 101 5 6 110 011 3 7 111 111 7 Tabela 5.1 – Naravni in bitno reverzni indeksi pri FFT dobimo, če indekse najprej zapišemo v binarnem zapisu v naravnem vrstnem redu in jim nato obrnemo vrstni red bitov. Zgled za N = 8 kaže razpredelnica 5.1. Za hitrejše računanje FFT imajo nekateri zmogljivejši signalni procesorji že vgrajeno možnost naslavljanja v reverznem bitnem redu. 5.1.2 Računska učinkovitost FFT Računsko učinkovitost FFT lahko ugotavljamo, če primerjamo število računskih operacij, ki jih potrebujemo za izračun, s številom računskih operacij, ki bi jih potrebovali z računanjem neposredno po enačbi (5.1). Pred pojavom signalnih procesorjev so bila pomembna pred- vsem množenja, saj je potreboval za množenje procesor približno tridesetkrat več časa kot za seštevanje. Zato je bilo narejenih veliko algoritmov, ki so zmanjševali potrebno število množenj na račun povečanega števila seštevanj. Ker imajo signalni procesorji vgrajene množilnike, ki lahko množenje opravijo v enem urinem ciklu, takšni algoritmi nimajo več pravega pomena. Ker je večina procesorjev sposobna v istem ciklu rezultat množenja še prišteti neki vrednosti, se pogosto kot merilo uporablja kar število operacij zmnoži in prištej. Takšen način je zelo primeren za diskretna sita, ker se rezultat množenja zelo pogosto prišteva prej dobljenemu rezultatu. Ker ima FFT precej zahtevnejšo strukturo, tako poenostavljeno vrednotenje računskih operacij ni najprimernejše. Nekateri algoritmi FFT so sicer dodatno prilagojeni tem zmožnostim signalnih procesorjev, vendar njihova obravnava presega okvire te knjige. Iz zgoraj navedenih razlogov bomo pri računanju potrebnega števila operacij enakovredno upoštevali seštevanja, odštevanja in množenja. Pri tem pa se moramo zavedati, da je potrebno za množenje dveh kompleksnih števil (a,b) in (b,c): (a, b) · (c, d) = (ac − bd, ad + bc) (5.15) izvesti šest operacij (4 množenja in dve seštevanji), za množenje realnega števila s kompleksnim pa sta potrebni le dve množenji. Za seštevanje dveh kompleksnih števil sta potrebni dve operaciji. Oglejmo si sedaj število operacij, ki je potrebno za izračun DFT po osnovni enačbi (5.1). Za izračun vsake komponente transforma je potrebno N množenj in N − 1 seštevanj. Množenja in seštevanja so v splošnem kompleksna. Ker moramo izračunati N komponent transforma, je 108 Uporaba DFT pri analizi in obdelavi signalov skupno število operacij enako: . K = N (6N + 2(N = 8N 2 (5.16) DFT − 1)) Če predpostavimo, da je signal x[n] realen, so namesto kompleksnih množenj potrebna množenja kompleksnega števila z realnim številom. Poleg tega je potrebno pri realnih signalih zaradi simetrije izračunati le N/2 vrednosti. Celotno število operacij je v tem primeru enako: N . K (2N + 2(N = 2N 2 (5.17) DFTre = − 1)) 2 kar je četrtino manj kot pri kompleksnem signalu. Pri oceni števila operacij potrebnih za FFT si lahko pomagamo s sliko 5.4. Vidimo, da računamo transform v M = log2 N stopnjah. V vsaki stopnji nastopa N/2 metuljčkov. Za izračun vsakega metuljčka sta potrebni dve kompleksni seštevanji in eno kompleksno množenje. Skupno število računskih operacij je tako enako: N K = log (4 + 6) = 5N log FFT 2(N ) 2 2N (5.18) Predpostavka, da je signal x[n] realen, nima bistvenega vpliva na zmanjšanje števila operacij, saj se to pozna le v prvi stopnji, potem pa množenja postanejo spet kompleksna. Ravno tako zelo malo prihranimo, če računamo samo polovico komponent transforma, ker se to pozna le v zadnji stopnji. Ker imamo večinoma opravka z realnimi signali, je smiselno pri izračunu faktorja učinkovitosti število operacij pri FFT primerjati s številom operacij DFT realnega signala: K 2 N U = DFTre = (5.19) K 5 log FFT 2 N Vidimo, da učinkovitost hitro, skoraj linearno narašča z dolžino transforma N , kot je to prikazano na sliki 5.5. Pri manjših dolžinah FFT lahko učinkovitost nekoliko povečamo, če upoštevamo, Slika 5.5 – Učinkovitost FFT v odvisnosti od dolžine transforma da je W 0 K = 1 za vsak K in vsa ta množenja izpustimo, vendar lahko to precej zaplete izvedbo samega algoritma. 5.1.3 Decimacija po frekvenci Postopek decimacije po frekvenci (DIF) je dualen postopku DIT. Tu izvajamo decimacijo v frekvenčnem namesto v časovnem prostoru. Dekompozicija temelji na ločitvi komponent trans- forma X[k] v dva niza, prvega s sodimi in drugega z lihimi indeksi. Vhodni signal x[n] pri tem 5.1 Hitri Fourier transform - FFT 109 razdelimo v dva enako dolga niza v naravnem vrstnem redu. Ob upoštevanju lastnosti potenc števila WN , ki smo jih upoštevali tudi pri DIT, in lastnosti: W rN N = (W N N )r = 1r = 1 (5.20) zapišimo najprej DFT za sode indekse k = 2r: N/2−1 N −1 X[2r] = X x[n]W 2rn X N + x[n]W 2rn N = n=0 n=N/2 N/2−1 N/2−1 = X x[n]W rn X N/2 + W rN N x[n + N/2] W rn N/2 = n=0 n=0 N/2−1 = X (x[n] + x[n + N/2]) W rn N/2 = n=0 n o = DFTN x[n] + x[n + N/2] (5.21) 2 in nato še za lihe indekse k = 2r + 1: N/2−1 N −1 X[2r + 1] = X x[n]W (2r+1)n + X x[n]W (2r+1)n = N N n=0 n=N/2 N/2−1 = X x[n]W rn N/2W n N + n=0 N/2−1 + W rN X N W N/2 N x[n + N/2]W rn N/2W n N = n=0 N/2−1 = X (x[n] − x[n + N/2])W n N W rn N/2 = n=0 n o = DFTN (x[n] + x[n + N/2])W n N (5.22) 2 Gornja izraza določata postopek računanja FFT-DIF po eni decimaciji po frekvenci, kot je to za primer N = 8 prikazano na sliki 5.6. Če nadaljujemo z dekompozicijo polovičnih transformov, dobimo končno shemo FFT-DIF kot je prikazana na sliki 5.7. Iz slik lahko ugotovimo, da imamo pri postopku DIF naravno razvrščene časovne vzorce, frekvenčni vzorci pa so premešani po reverznem bitnem redu. Računska učinkovitost je pri DIF enaka kot pri DIT, razlika je le v razvrstitvi vzorcev na vhodu oziroma izhodu. Če primerjamo DIT prikazan na sliki 5.4 in DIF na sliki 5.7, lahko opazimo, da predstavlja diagram pretoka signala za DIF transpozicijo diagrama pretoka signala za DIT. Pri tem velja opozoriti, da pravil o transpoziciji diagrama pretoka signala ne moremo enostavno posplošiti iz primera vezja z enim vhodom in enim izhodom na več vhodno in več izhodno vezje. 5.1.4 FFT realnih signalov Pri obravnavi računske učinkovitosti FFT v razdelku 5.1.2 smo videli, da FFT omogoča obdelavo kompleksnih signalov, zato v primeru realnih signalov ne izkoriščamo celotne zmogljivosti algo- 110 Uporaba DFT pri analizi in obdelavi signalov Slika 5.6 – Struktura FFT-DIF dimenzije N = 8 po prvi dekompoziciji Slika 5.7 – Struktura FFT - DIF dimenzije N = 8 ritma. Temu se ognemo, če sočasno obdelujemo dva realna signala. Realna signala x1[n] in x2[n] združimo v en kompleksen signal: x[n] = x1[n] + x2[n] (5.23) Na osnovi linearnosti DFT lahko zapišemo: X[k] = X1[k] + X2[k] (5.24) Zapišimo še konjugirano kompleksno vrednost transforma z obrnjenimi indeksi: X∗[N − k] = X∗1[N − k] − X∗2[N − k] (5.25) Ker sta X1[k] in X2[k] transforma realnih signalov, velja: X∗1[N − k] = X1[k] X∗2[N − k] = X2[k] (5.26) in od tod tudi: X∗[N − k] = X1[k] − X2[k] (5.27) Z seštevanjem oziroma odštevanjem enačb (5.24) in(5.27) dobimo po preureditvi rezultat: X[k] + X∗[N − k] X1[k] = 2 5.2 Analiza časovno omejenih signalov z DFT 111 X[k] − X∗[N − k] X2[k] = (5.28) 2 Za izračun transformov dveh realnih nizov potrebujemo torej toliko operacij kot za izračun transforma enega kompleksnega niza z dodatkom 2N kompleksnih seštevanj. 5.2 Analiza časovno omejenih signalov z DFT Kot smo že omenili na začetku tega poglavja, je DFT določen z enačbo (5.1), v osnovi orodje za spektralno analizo periodičnih signalov. DFT preslika N vzorcev ene periode signala x[n] v N spektralnih komponent ene periode spektra X[k]. Zaradi periodičnosti signala imamo opravka z diskretnimi spektralnimi komponentami pri mnogokratnikih osnovne frekvence Ω0: 2π Ω0 = (5.29) N Indeks k pove kateri mnogokratnik osnovne frekvence predstavlja posamezna spektralna kom- ponenta. Za spektralno analizo aperiodičnih energijskih signalov uporabljamo DTFT, ki ga definira enačba (??). Tu nimamo več opravka s posameznimi spektralnimi komponentami temveč z gostoto spektra X(Ω), ki je funkcija zvezne frekvence Ω. Posebna vrsta aperiodičnih signalov so signali končnega trajanja. Vzemimo da je signal x[n] časovno omejen in ima nenične vzorce le na intervalu 0 ≤ n < N . DTFT takega signala je potem enak: N −1 X(Ω) = X x[n]e−Ωn (5.30) n=0 Primerjava gornje enačbe z enačbo (5.1) pokaže, da je gostota spektra pri mnogokratnikih frekvence Ω0 kar enaka N -kratniku ustrezne spektralne komponente pripadajočega periodičnega signala: X(kΩ0) = N X[k] (5.31) kjer je z X(·) označen DTFT in z X[·] DFT signala x[n]. Vidimo, da je mogoče gostoto spektra časovno omejenega signala v posameznih točkah izračunati neposredno s pomočjo DFT, kar je pomembno predvsem zato, ker lahko pri izračunu uporabimo FFT algoritem. Problem lahko nastopi takrat, kadar je osnovna frekvenca Ω0 prevelika glede na frekvenčno vsebino signala in so frekvenčne komponente izračunane z DFT preveč na redko, da bi ponujale jasno predstavo o signalu. V tem primeru si pomagamo z dodatkom ničel na koncu signala (angl. zero padding). Z dodatkom ničel se poveča perioda pripadajočega periodičnega signala in s tem zmanjša osnovna frekvenca. Podobno si lahko z dodajanjem ničel pomagamo, kadar dolžina signala ni enaka celi potenci števila 2 in želimo pri računanju uporabiti FFT. Primer izračuna gostote spektra pravokotnega signala dolžine N = 8 s pomočjo DFT dolžine 8, 16 in 64 je prikazan na sliki 5.8. 5.3 Spektralna analiza časovno neomejenih signalov Pri naključnih signalih, tako zveznih kot diskretnih, ne moremo narediti natančne spektralne analize, ker časovno niso omejeni. Signal bi namreč morali opazovati ves čas trajanja, kar 112 Uporaba DFT pri analizi in obdelavi signalov Slika 5.8 – DTFT pravokotnega signala dolžine 8 in njegov izračun z DFT dolžin 8, 16 in 64 pa večinoma v praksi ni sprejemljivo. V ta namen zato pogosto uporabljamo nabore pasovno prepustnih sit, ki so uglašena na različne frekvence, kot je to prikazano na sliki 5.9. Slika 5.9 – Nabor diskretnih sit Vhodni signal x[n] pripeljemo na vhode vseh sit, in na njihovih izhodih opazujemo signale od x1[n] do xN−1[n]. Amplituda signala na izhodu posameznega sita v grobem ustreza ampli- tudnemu spektru signala v frekvenčnem področju, ki ga to sito pokriva. Od pasovne širine sit, njihove kvalitete in razporeditve centralnih frekvenc je odvisna tudi vrsta spektralne analize. V splošnem lahko trdimo, da ožja sita bolj verno odražajo spekter signala, zato pa je tudi nji- hov odziv počasnejši. Ker v spektru signala, ki ga dobimo na ta način, ni zajet celoten signal, se spekter s časom spreminja. Tovrstno spektralno analizo imenujemo zato tudi kratkoročna spektralna analiza. Običajno želimo, da je posamezna frekvenčna komponenta v signalu čim bolj lokalizirana, kar pomeni, da idealno povzroči odziv enega samega sita, kar pomeni, da se frekvenčne karakteristike sit med seboj ne bi smele prekrivati. Ker po drugi strani želimo, da bi bilo celotno frekvenčno 5.3 Spektralna analiza časovno neomejenih signalov 113 področje čim bolj enakomerno pokrito, moramo dovoliti delno prekrivanje karakteristik sit, kot je to shematično prikazano na sliki 5.10. Slika 5.10 – Delno prekrivanje frekvenčnih karakteristik nabora sit Ker so sita v naboru načeloma ozkopasovna, lahko naredimo decimacijo signalov na njihovih izhodih, ali pa, za povečanje računske učinkovitosti, že na vhodih posameznih sit. Obstaja cela vrsta učinkovitih postopkov za različne vrste naborov sit, vendar njihova obravnava presega okvire te knjige. V tem razdelku želimo zgolj pokazati, da lahko DFT interpretiramo tudi kot nabor preprostih sit FIR. Frekvenčne karakteristike sit v naboru sicer niso najbolj ugodne, velika prednost pa je v računski učinkovitosti, ki jo dosežemo z uporabo FFT. Prav v tem je razlog, da so tudi nekateri bolj zapleteni nabori sit osnovani na DFT. Slika 5.11 – DFT kot nabor sit Osnovna vezava DFT kot nabora sit je prikazana na sliki 5.11. Signal yk[n] na k-tem izhodu je enak komponenti X[k] transforma preteklih N − 1 vzorcev in trenutnega vzorca signala, zato lahko zapišemo: 0 N −1 y X X k [n] = x[n − m]W k(N−1−m) = x[n (5.32) N − m]W −k(m+1) N m=N −1 m=0 Če primerjamo gornji izraz z odzivom linearnega sistema na vhodni signal (2.6), vidimo, da ta predstavlja odziv linearnega sistema s sistemsko funkcijo enako: hk[n] = W −k(n+1) ; 0 N ≤ n < N (5.33) Ker je odziv končen je to sito FIR. Prevajalno funkcijo k-tega sita v naboru sit je enaka trans- formu Z njegove sistemske funkcije: N −1 1 − W −kN z−N H X N k(z) = W −k(n+1)z−1 = W −k (5.34) N N n=0 1 − W −k N z−1 114 Uporaba DFT pri analizi in obdelavi signalov Gornji izraz ima N ničel, ki so enakomerno razporejene po frekvenčnem krogu. Pol, ki tudi leži na frekvenčnem krogu, natančno kompenzira ničlo pri frekvenci: 2π Ωk = k = kΩ N 0 (5.35) tako, da ostane le N − 1 ničel, frekvenca Ωk pa predstavlja centralno frekvenco k-tega sita. Za N = 8 in k = 3 je razporeditev ničel prikazana na sliki 5.12. Slika 5.12 – Razporeditev ničel za sito DFT s k = 3 pri N = 8 Frekvenčno karakteristiko k-tega sita dobimo tako, da v enačbo (5.34) vstavimo: z = eΩ W −k = ek 2π N = eΩk (5.36) N Dobimo: 1 − e−N(Ωk−Ω) Hk(Ω) = eΩk (5.37) 1 − e−(Ωk−Ω) Izraz nekoliko preuredimo: e−N(Ωk−Ω)/2 e−N(Ωk−Ω)/2 − e−N(Ωk−Ω)/2 Hk(Ω) = eΩk · · = e−(Ωk−Ω)/2 e−(Ωk−Ω)/2 − e−(Ωk−Ω)/2 sin(N (Ω = eΩ k − Ω)/2) k · e−(N−1)(Ωk−Ω)/2 · (5.38) (Ωk − Ω)/2 Prva dva faktorja v zgornjem izrazu sta po absolutni vrednosti enaka 1, zato je amplitudni potek prevajalne funkcije k-tega sita enak: sin(N (Ω − Ω A k)/2) k(Ω) = (5.39) (Ω − Ωk)/2 Pri k = 0 dobimo povprečevalno sito, vsa ostala sita pa imajo enak amplitudni potek, le da je ta premaknjen po frekvenčni osi za frekvenco Ωk = kΩ0, kot je to prikazano na sliki 5.13. Na sliki je prikazano le frekvenčno področje 0 ≤ Ω ≤ π, saj bo odziv na realne signale simetričen okrog frekvence π. Vidimo, da so sita nabora DFT sorazmerno šibka. Predvsem moti majhno slabljenje stranskih snopov. Na posamezno frekvenco v vhodnem signalu se zato odzovejo vsa sita, kot je to v sliki nakazano z navpično pikčasto črto pri frekvenci Ω = 1, ki seka karakteristike vseh sit. Izjema so le frekvence v rastru DFT, to je frekvence, ki so mnogokratniki osnovne frekvence Ω0. Na posamezno frekvenco v rastru se vedno odzove eno samo sito, ker imajo vsa ostala sita pri tej 5.3 Spektralna analiza časovno neomejenih signalov 115 Slika 5.13 – Amplitudni poteki prevajalnih funkcij za sito DFT8 frekvenci ničlo. To je tudi pričakovan rezultat, saj je DFT prvotno namenjen analizi periodičnih signalov, v katerih nastopajo samo mnogokratniki osnovne frekvence. Rezultat, ki bi ga dobili s frekvenčno analizo harmoničnega signala frekvence Ω = 1 s pomočjo DFT8 in DFT64, je prikazan na sliki 5.14. Vidimo, da rezultat, ki ga dobimo z DFT8, ne pove Slika 5.14 – Rezultat frekvenčne analize harmoničnega signala Ω = 1 z DFT8 in DF T64 kaj dosti o frekvenci vhodnega signala. Enak rezultat bi lahko dobili, če bi bil na vhodu spe- ktralnega analizatorja signal s petimi frekvencami ustreznih amplitud v rastru DFT. Analiza z DF T64 daje boljši rezultat, še posebej, ker je frekvenca Ω = 1 zelo blizu frekvence 5π/16, ki je v rastru DFT64. Mnogo boljše rezultate lahko dobimo s predhodnim oknjenjem signala. Stranske snope v sitih DFT nabora bi lahko namreč pripisali tudi pravokotnemu oknu, s katerim smo iz celotnega signala x[n] vzeli le zadnjih N vzorcev. Če uporabimo namesto pravokotnega okna eno od oken, ki smo jih obravnavali v razdelku 4.4.4, lahko močno povečamo slabljenje stranskih snopov in s tem izboljšamo lokalizacijo signala v frekvenci. Sistemska funkcija k-tega sita je potem enaka: hk[n] = hk[n] = W −k(n+1)w[n + (N N − 1)/2] = eΩk(n+1)w[n + (N − 1)/2] (5.40) kjer smo z w[n] označili okensko funkcijo v izhodiščni legi. Vidimo, da je okenska funkcija množena s kompleksnim harmoničnim signalom frekvence Ωk, kar pomeni, da se amplitudna karakteristika premakne za Ωk iz osnovne lege, podobno, kot se pri neoknjenem DFT premika frekvenčna karakteristika pravokotnega okna. Za primer Kaiserjevega okna (β = 3 in β = 9) je rezultat frekvenčne analize signala frekvence Ω = 1 z DFT64 prikazan na sliki 5.15. Vidimo, 116 Uporaba DFT pri analizi in obdelavi signalov Slika 5.15 – Odziv DFT s Kaiserjevim oknom na signal frekvence Ω = 1) da je vpliv stranskih snopov močno zmanjšan, zato ni odziva na sitih, ki so bolj oddaljena od Ω = 1, vendar pa se zato razširi osnovni snop. Z daljšanjem transforma zožimo osnovni snop in s tem povečamo resolucijo spektralnega analizatorja. Omeniti velja tudi, da dobimo pri obravnavanih naborih sit na vsak vhodni vzorec N izhodnih vzorcev, po enega na vsakem situ. Ker lahko z IDFT iz N spektralnih komponent enoumno določimo N vzorcev vhodnega signala, bi lahko signal rekonstruirali, če bi naredili DFT vsakih N vzorcev in ne pri vsakem novem vzorcu na vhodu. S tem za faktor N zmanjšamo število operacij. Postopek je enakovreden decimaciji izhodnih vzorcev za faktor N . Kljub temu, da na ta način nismo izgubili informacije o signalu, saj je mogoče signal zopet rekonstruirati, pa je prikaz spektra nestacionarnega signala vsakih N preveč redek, da bi lahko spremljali spremembe spektra s časom. Med enim in drugim vzorcem spektra se ta namreč lahko popolnoma spremeni. V praksi se pogosto uporablja prekrivanje posameznih DFT v N/2 vzorcih. 5.4 Izvedba sita FIR s pomočjo DFT Izhodni signal sita FIR dolžine M podaja enačba: M −1 y[n] = X x[n − m]h[m] = x[n] ∗ h[n] (5.41) m=0 kjer je z * označena linearna konvolucija. Po gornji enačbi potrebujemo za filtriranje L vzorcev vhodnega signala LM množenj in L(M − 1) seštevanj. Konvolucijo lahko namesto v časovnem prostoru izvedemo v frekvenčnem prostoru, kjer dobimo odziv preprosto z množenjem DFT signala X[k] in prevajalne funkcije sita H[k]: Y [k] = X[k]H[k] (5.42) Da bi dobili izhodni signal v časovnem prostoru, moramo narediti še IDFT dobljenega produkta, kot je to prikazano na sliki 5.16. Pri tem pa se moramo zavedati, da smo pri DFT predpostavili periodičnost signala in je konvolucija zato krožna in periodična s periodo N , kjer je N dolžina DFT. Linearna konvolucija po enačbi (5.41) bo dala na izhodu sita signal dolžine M + L − 1 vzorcev. Če želimo, da ne pride do prekrivanja med sosednjimi periodami, mora zato veljati: N ≥ M + L − 1 (5.43) Preden naredimo DFT, moramo zato signalu in sistemski funkciji sita dodati ustrezno število ničelnih vzorcev. Izračun konvolucije z množenjem v frekvenčnem prostoru zagotovo ne bi bil 5.4 Izvedba sita FIR s pomočjo DFT 117 Slika 5.16 – Izračun konvolucije preko množenja v frekvenčnem prostoru učinkovitejši od direktnega izračuna, če ne bi imeli na voljo učinkovitih algoritmov FFT. Da bi lahko računali transform s pomočjo FFT, mora biti dolžina transforma celoštevilska potenca števila dva: N = 2K ≥ M + L − 1 (5.44) Izberemo najmanjše število K, ki še izpolnjuje gornji pogoj. Manjkajoče vzorce lahko dopolnimo z ničnimi vzorci, bolj smiselno pa je ustrezno podaljšati odziv sita in na ta način izboljšati njegovo karakteristiko, ali pa vzeti daljši signal. Postopek imenujemo tudi hitra konvolucija (FC - Fast Convolution). Oglejmo si sedaj še računsko učinkovitost postopka. Kadar je signal realen, je število računskih operacij, ki jih moramo izvesti po osnovni enačbi enako: K = LM + L(M FIR − 1) = L(2M − 1) (5.45) Zaradi preprostosti predpostavimo, da N = L+M −1 izpolnjuje zahtevo po celoštevilčni potenci. Pri izračunu potrebnega števila operacij moramo šteti operacije, ki so potrebne za izračun FFT signala, za izračun produkta prevajalne funkcije in transforma signala in za izračun IFFT, ki je računsko enako zahteven kot FFT. Operacij potrebnih za izračun H[k] ni potrebno izračunati, ker se ta ne spreminja in jo lahko izračunamo vnaprej. V skladu z enačbo (5.18) je skupno število operacij za izračun s pomočjo hitre konvolucije enako: K = 10(M + L FC − 1) log2(M + L − 1) + 6(M + L − 1) = = 10(M + L − 1)(log2(M + L − 1) + 6) (5.46) učinkovitost pa je enaka: L(2M − 1) U = (5.47) 10(M + L − 1)(log2(M + L − 1) + 6) Za primer L = M je računska učinkovitost postopka v odvisnosti od dolžine sita M prikazana na sliki 5.17. Vidimo, da je postopek hitre konvolucije učinkovitejši od neposrednega izračuna za sita FIR dolžine 64 in več. Z dodatnimi optimizacijami se da učinkovitost nad 1 doseči že pri N = 32. Podobno kot pri izračunu DFT pa lahko tudi pri izvedbi sita s hitro konvolucijo računamo odziva dveh sit naenkrat. Če vzamemo kombinacijo DIF za FFT in DIT za IFFT so indeksi na vhodu in izhodu v naravnem vrstnem redu. Malce drugačen problem imamo, če želimo filtrirati zelo dolg ali celo neprekinjen vhodni niz s sitom FIR dolžine M . Vhodni niz je predolg, da bi računali en sam transform DFT. Velika dolžina DFT vnaša tudi veliko zakasnitev, ki pri obdelavi signalov v realnem času včasih ni dopustna. Izhodni signal je namreč zakasnjen najmanj za celotno dolžino DFT. Vhodni niz 118 Uporaba DFT pri analizi in obdelavi signalov Slika 5.17 – Računska učinkovitost hitre konvolucije pri L = M moramo zato razdeliti v krajše odseke in za vsak odsek ločeno izračunati konvolucijo, nato pa rezultate posameznih konvolucij združiti v en izhodni niz. To razdeljevanje in združevanje lahko naredimo na različne načine. V nadaljevanju si bomo ogledali dva najbolj znana postopka: prekrij in seštej (ang. overalap-add) in prekrij in shrani (ang. overlap-save). 5.4.1 Postopek prekrij in seštej Pri tem postopku razdelimo vhodni signal x[n] na neprekrivajoče odseke dolžine L. Za vsak odsek izračunamo konvolucijo po zgoraj opisanem postopku. Ker je dolžina konvolucije enaka M + L − 1, se konvolucije, ki pripadajo različnim odsekom, časovno prekrivajo v M − 1 vzorcih. Vhodni signal lahko predstavimo kot vsoto posameznih odsekov: x[n] = X xi[n] (5.48) i kjer smo z xi[n] označili i-ti odsek vhodnega signala. Izhodni signal, ki pripada i-temu odseku je potem enak: yi[n] = xi[n] ∗ h[n] (5.49) Ker je konvolucija linearna operacija, je konvolucija vsote enaka vsoti konvolucij, zato velja: y[n] = X yi[n] (5.50) i kar pomeni, da dobimo izhodni signal preprosto s seštevanjem konvolucij posameznih odsekov. Razmere so prikazane na sliki 5.18. Računsko je postopek skoraj enako učinkovit kot pri Slika 5.18 – Računanje konvolucije po postopku prekrij in seštej 5.5 Problemi 119 računanju konvolucije s končnim nizom dolžine L, saj je potrebno po izračunu posamezne kon- volucije dodati le še M − 1 realnih seštevanj. 5.4.2 Postopek prekrij in shrani Ta postopek temelji neposredno na krožni konvoluciji. Namesto, da bi vzorce signala dopolnili z ničnimi vzorci, vzamemo rajši daljše odseke signala L, ki pa se med seboj prekrivajo v M − 1 vzorcih. L mora biti zato obvezno večji od dolžine sita M . Dolžina DFT je pri tem postopku kar enaka dolžini posameznega odseka signala N = L in mora biti cela potenca števila 2, da lahko uporabimo FFT. Ker delamo krožno konvolucijo je tudi ta dolžine L, pri čemer se M − 1 vzorcev, za kolikor je linearna konvolucija daljša od krožne, prekriva z vzorci osnovne periode. Problem prekrivanja vzorcev v časovnem prostoru je dualen problemu prekrivanja spektrov pri vzorčenju signalov. To, da naredimo DFT namesto DTFT, je pravzaprav enakovredno vzorčenju spektra s frekvenčnim razmikom Ω0. Zadnjih M − 1 vzorcev konvolucije je zato napačnih in jih zavržemo, kot je to prikazano na sliki 5.19. Ime postopka izvira iz dejstva, da moramo shraniti Slika 5.19 – Postopek prekrij in shrani M − 1 vzorcev vhodnega niza, ki so hkrati zadnji vzorci prve analize in prvi vzorci naslednje analize. Računsko je postopek približno enako učinkovit kot postopek prekrij in seštej, le da se pri tem postopku izognemo potrebi po dodatnih seštevanjih. 5.5 Problemi 1. Imamo signal končne dolžine z vzorci x1[n] = {1, 2, 3, 2, 1, 1}. Zanj določite Fourier transform X1(k) za N = 6. Iz gornjega niza x[n] s krožno zakasnitvijo dobimo niz x2[n] = {3, 2, 1, 1, 1, 2}. Ugotovite, s kakšnim faktorjem moramo množiti transform X2(k), da bo enak transformu X1(k). 2. Zakasnitev niza x[n] = {3, 2, 4, 2, 1, 4} za tri intervale naredite preko DFT postopka. 3. Izračunajte linearno konvolucijo dveh nizov x1 = [1, 2, 3, 3] in x2 = [1, 1, 2, 2, 2, 2] preko DFT. Primerjajte dobljeno vrednost z rezultatom direktne konvolucije. 4. Za niz x2 iz problema 3 preverite Parsevalov teorem. 120 Uporaba DFT pri analizi in obdelavi signalov 5. Analizirajte rezultate frekvenčne analize signala linebreak z dvema harmoničnima kom- ponentama: x[n] = cos(2πf1n) + cos(2πf2n) s frekvencama f1 = 5/128 in f2 = 11/128. Določite DFT za dimenzije N = 64, 128 in 256. Ugotovite razlike med transformi. 6. S simulacijami na računalniku analizirajte rezultate frekvenčne analize signala z dvema harmoničnima komponentama: x[n] = cos(2πf1n) + cos(2πf2n) s frekvencama f1 = 5/128 in f2 = 11/128. Primerjajte rezultate analize DFT dimenzije N = 256 pri različnih vrednostih dolžine niza 0 ≤ n ≤ N1 osnovnega signala, ki je dopolnjen z ničelnimi vzorci. Za N1 vzemite 64, 128 in 256. Ugotovite razlike med transformi. 7. Signal z dvema frekvenčnima komponentama iz problema 5 utežite s Hammingovim oknom in nato določite DFT za N = 64, 128 in 256. Signal je prisoten preko celotnega trajanja analize. 8. S simulacijami na računalniku analizirajte rezultate frekvenčne analize amplitudno moduli- ranega signala z modulacijskim signalom z dvema harmoničnima komponentama: x[n] = 1 + 0.25 cos(2πf1n) + 0.25 cos(2πf2n) in nosilcem x0(n) = cos(2πf0n). Frekvence kompo- nent so: f1 = 1/128, f2 = 5/128 in f0 = 30/128. Določite vrednost transforma DFT pri dimenzijah N = 32 in 256. 9. Za simetrični žagasti signal med ±1 določite vzorčeni signal. Vzorčna frekvenca je 16, 64 in 256 krat višja od osnovne frekvence žagastega signala. Določite transform DFT za N = 256 in primerjajte rezultate z izrazom iz matematičnega priročnika, ki določa časovno zvezni žagasti signal z vrsto harmoničnih komponent (4/π)(cos(x) + cos(3x)/9 + cos(5x)/25 + ..). 10. Z DFT analiziramo signal z le eno harmonično komponento. Določite postopek, s ka- terim bi lahko iz dveh po velikosti največjih komponent transforma izračunali amplitudo in frekvenco signala. Najenostavnejši način določitve frekvenčnega odmika od rastra lahko določimo s tabelo, kjer imamo podan frekvenčni odmik od razmerja dveh največjih spek- tralnih komponent. Frekvenčni odmik lahko izrazimo z normirano vrednostjo potenčne vrste arctan(|Xm/Xm−1|), kjer sta Xm in Xm−1 največja in prva manjša sosednja kom- ponenta DFT. Enako lahko računamo amplitudni korekcijski faktor. Vzemite transform dimenzije N = 128 in poskusite dobiti primerne postopke. 11. Na razpolago imamo računalniški program za DFT. Kako moramo prirediti rezultate X(k), da uporabimo isti program za IDFT. 12. Imamo kompleksen signal z dvema harmoničnima komponentama x[n] = sin(2πf1n) + j sin(2πf2n) s f1 = 3/16 in f2 = 7/16. Za N = 16 izračunajte transform DFT. Ločite iz transforma del, ki pripada realnemu in imaginarnemu delu vhodnega niza. 13. Določite linearno konvolucijo dveh nizov h[n] = {1, 1, -1, -1, 0, 0,...} in x[n] = cos(2πn3/32) za n = {0, 1, ..24} s pomočjo transformacije DFT. Rezultat preverite s konvolucijo v časovnem prostoru. 14. Določite odziv y[n] za n = 0, 1, ..95 povprečevalnega sita s H(z) = P7n=0 zn pri vhodnem signalu x[n] = sin(πn/16) + sin(πn/2). Konvolucijo v času naredite preko transforma DFT 5.5 Problemi 121 po metodi “prekrij in prištej”. Določite izhodni signal s transformom z N = 64 za dva intervala. V prvem intervalu poskrbite, da se signal začne pri nivoju nič. Pri pravilnem postopku bo ovojnica izhodnega signala zvezna. 15. Določite odziv na vhodni signal x[n] = a1 sin(πn/16) + a2 sin(πn/2) povprečevalnega sita s H(z) = P7n=0 zn preko obdelave v frekvenčnem prostoru po metodi “prekrij in shrani”. Prvo določite odziv le za signal z eno harmonično komponento (a1 = 1, a2 = 0). Določite izhodni signal s transformom DFT z N = 64 za dva intervala. V prvem intervalu poskrbite, da se signal začne pri nivoju nič. Nato dodajte še drugo harmonično komponento (a1 = a2 = 1) in določite izhodni signal. Pravilnost postopka bo pokazala zveznost ovojnice izhodnega signala. Ocenite, koliko operacij potrebujemo pri določitvi konvolucije v času in koliko preko frekvenčnega prostora, če predpostavimo, da potrebujemo za N točkovni transform 4N log2(N ) realnih aritmetičnih operacij. 16. Imamo DFT z N = 64 in naslednjimi komponentami, ki so različne od nič za naslednje primere: X(8) = 32, X(56) = 32 X(1) = 32, X(8) = 32, X(56) = 32, X(63) = −32 X(1) = 32, X(8) = 32, X(56) = 32, X(63) = 32 Določite vhodni signal (realni in imaginarni del). 17. Na osnovi analogije načrtajte postopek hitrega transforma DFT za N = 9 po principu decimacije vhodnih vzorcev v tri podnize. s 6 Generiranje diskretnih signalov V sistemih za obdelavo signalov pogosto potrebujemo pomožne signale. To so predvsem har- monični signali z eno ali več komponentami in naključni signali z vnaprej predpisano amplitudno porazdelitvijo in/ali vnaprej predpisanim močnostnim spektrom. Te signale želimo generirati neposredno v časovno diskretnem prostoru in se na ta način izogniti nepotrebni pretvorbi analog- nih signalov. 6.1 Generiranje harmoničnih signalov Diskretne harmonične signale lahko generiramo s pomočjo diskretnega oscilatorja ali pa odčitavamo vzorce harmoničnega signala iz pomnilniške tabele. Prvi način je manj zahteven glede pomnilniških zmogljivosti vendar je zato računsko nekoliko zahtevnejši. 6.1.1 Harmonični oscilator Diskretni harmonični oscilator je sito FIR s sistemsko funkcijo enako želenemu harmoničnemu signalu. Za generiranje sinusnega signala potrebujemo torej sito s sistemsko funkcijo: hs[n] = sin(Ω0n) u[n] (6.1) Prevajalna funkcija sita je enaka transformu Z sistemske funkcije. Transform Z gornje funkcije lahko najdemo v tabeli transformov na strani 39, od koder lahko razberemo: sin(Ω H 0)z−1 s(z) = (6.2) 1 − 2 cos(Ω0)z−1 + z−2 Struktura sita, ki ustreza tej prevajalni funkciji je prikazana na sliki 6.1. Oscilator na sliki 6.1 Slika 6.1 – Harmonični oscilator vzbudimo k oscilacijam z δ impulzom (Z{δ[n]} = 1). Časovni odziv vezja pri vzbujanju z δ impulzom podaja rekurzivna enačba: ys[n] = sin(Ω0)δ[n − 1] + 2 cos Ω0 ys[n − 1] − ys[n − 2] (6.3) 123 124 Generiranje diskretnih signalov Vsi izhodni vzorci pred nastopom vzbujanja (n ≤ 0) so enaki 0. Zapišimo še nekaj zaporednih izhodnih vzorcev po vzbujanju: ys[0] = 0 ys[1] = sin(Ω0) ys[2] = 2 cos(Ω0) sin(Ω0) = sin(2Ω0) ys[3] = − sin(Ω0) + 2 cos(Ω0) sin(2Ω0) = sin(3Ω0) ys[4] = − sin(2Ω0) + 2 cos(Ω0) sin(3Ω0) = sin(4Ω0) (6.4) Na podoben način lahko naredimo tudi generator kosinusnega signala, le da je v tem primeru prevajalna funkcija, ki jo preberemo iz tabele transformov Z enaka: 1 − cos(Ω H 0)z−1 c(z) = (6.5) 1 − 2 cos(Ω0)z−1 + z−2 Vidimo, da imamo v obeh primerih konjugirano kompleksen par polov na frekvenčni krožnici pri kotih ± Ω0. Obe siti imata torej enak rekurzivni del, razlikujeta se le v nerekurzivnem delu, ki ga določajo ničle prevajalne funkcije. Pri vzbujanju z δ impulzom vpliva ta le na začetno stanje obeh zakasnilnih celic. Obe enačbi 6.2 in 6.5 lahko realiziramo v vezavi na sliki 6.2. Tako dobimo kvadraturni os- Slika 6.2 – Oscilator z ortogonalnima izhodoma cilator oziroma oscilator z ortogonalnima izhodoma. Amplitudo oscilacij nastavimo z začetnima vrednostma v obeh zakasnilnih celicah. Podana zasnova oscilatorja omogoča spreminjanje frekvence le s spreminjanjem koeficienta a1 = 2 cos Ω0. Pri spremembi koeficienta se bosta spremenili frekvenca in amplituda signala. Zavedati se moramo, da sta v pomnilnih celicah vrednosti, ki pripadata prejšnji frekvenci, in bosta dali pri spremenjeni frekvenci drugačne am- plitudne pogoje. Za izvedbo generatorja spremenljive frekvence zato potrebujemo še posebno vezje za nadzor amplitude. 6.1.2 Generiranje na osnovi tabeliranih vrednosti Harmonični signal lahko generiramo preprosteje z odčitavanjem vzorcev v pomnilniški tabeli. V tabelo zapišemo N vzorcev ene periode. Načeloma potrebujemo dve tabeli, tabelo za kosinus in 6.1 Generiranje harmoničnih signalov 125 tabelo za sinus: 2πn c[[n]] = cos( ) ; 0 ≤ n < N N 2πn s[[n]] = sin( ) ; 0 ≤ n < N (6.6) N kjer [[n]] označuje naslov pomnilniške lokacije. Če iz tabel čitamo zaporedne vzorce, dobimo harmoničen signal najnižje frekvence: 2π Ω0 = (6.7) N Z odčitavanjem vsakega k-tega vzorca dobimo harmoničen signal, ki je k-ta harmonska kompo- nenta signala z najnižjo frekvenco. yc[n] = C[[kn mod N ]] ys[n] = S[[kn mod N ]] (6.8) Na ta način lahko generiramo le signale frekvenc v rastru kΩ0, kjer je 0 ≤ k < N/2. Najnižja frekvenca Ω0 predstavlja frekvenčno resolucijo generatorja. Čim več točk ene periode zapišemo v pomnilnik, tem boljša je frekvenčna resolucija generatorja. Naslove pomnilnika generiramo s števcem po modulu N , ki mu ob vsakem koraku povečamo vrednost za k. Zaradi preprostejšega izračuna operacije po modulu vzamemo N = 2L, kjer je L naravno število. Namesto operacije po modulu je potrebno pri naslavljanju pomnilnika v tem primeru vzeti le zadnjih L bitov števca. Potrebe po pomnilniku lahko zmanjšamo, če upoštevamo: c[[n]] = c[[N − n]] ; n ≥ N/2 c[[n]] = −c[[N/2 − n]] ; n > N/4 (6.9) Na ta način potrebujemo le N/4 + 1 pomnilniških lokacij za zapis ene periode kosinusa. Isto tabelo pa lahko uporabimo tudi za sinus, saj velja: s[[n]] = c[[N/4 − n]] (6.10) Če faktor k v enačbi (6.8) ne bi bil omejen zgolj na naravna števila, bi lahko dobili tudi frekvence, ki niso v rastru. Ker v tem primeru tudi število r = kn mod N (6.11) ki predstavlja trenutno fazo signala, v splošnem ni celo število, vrednosti vzorca ne moremo odčitati neposredno iz tabele. Vrednost lahko izračunamo na osnovi sosednjih vzorcev s pomočjo interpolacije. Najpreprostejša je linearna interpolacija. Označimo z i indeks najbližje tabelirane vrednosti, to je največje celo število manjše od r, in z ∆r razliko med trenutno vrednostjo faze in indeksom i: ∆r = r − i (6.12) Vrednost vzorca kosinusnega signala lahko potem izračunamo s pomočjo enačbe: yc[n] = c[[i]] + (c[[i + 1]] − c[[i]])∆r = c[[i]] + r∆c[[i]] (6.13) 126 Generiranje diskretnih signalov Enemu seštevanju se lahko izognemo, če poleg vrednosti c[[i]] tabeliramo tudi vrednosti ∆c[[i]]. Namesto linearne interpolacije bi lahko uporabili tudi kakšen drug, natančnejši postopek, vendar je smiselnost tega, zaradi večje računske zahtevnosti vprašljiva. Linearna interpolacija vnaša napako. Napaka, ki jo naredimo, je neposredno odvisna od N . Največjo napako naredimo na delu krivulje, kjer je odstopanje od linearnosti največje. Pri harmoničnem signalu je to v bližini ekstremov. Najslabši primer, je prikazan na sliki 6.3. Ker Slika 6.3 – Napaka pri linearni interpolaciji do takega primera pri sodem N ne more priti, je napaka linearne interpolacije vedno manjša od napake δ prikazane na sliki. Na osnovi slike lahko izračunamo zgornjo mejo napake linearne interpolacije. Za vrednost r lahko vzamemo katerokoli vrednost, pri kateri ima funkcija cos(Ω0r) ekstrem. Zaradi preprostejšega izračuna vzamemo r = 0 in dobimo: Ω π . π2 δ = cos(0) − cos( 0 ) = 1 − cos( ) = (6.14) 2 N 2N 2 Ker je maksimalna vrednost kosinusne funkcije enaka 1, predstavlja δ kar relativno napako. S pomočjo gornje enačbe lahko tako ocenimo potrebno velikost N , da bo relativna napaka pod dopustno mejo δ: π N > √ (6.15) 2δ Pri zahtevi, da je maksimalna napaka vsaj 100 dB pod maksimalno vrednostjo signala, bi dobili v skladu z gornjo enačbo pogoj N > 497. Ker želimo, da je N cela potenca števila 2, vzamemo N = 512. Velikost potrebnega pomnilnika za zapis celotne tabele je tako majhna, da optimizacija v skladu z (6.9) v tem primeru nima pravega pomena. 6.2 Generiranje naključnih signalov Pogosto potrebujemo naključen signal za preverjanje lastnosti sistemov. Vzorcem takega niza pripišemo vrednosti naključnih števil. S pomočjo časovno diskretnih vezij ali s pomočjo računalnikov pravzaprav ne znamo generirati resnično naključnih signalov. Signali, ki jih gener- iramo so rezultat determinističnih matematičnih postopkov, zato so tudi sami deterministični. Večina signalov, ki jih generiramo na ta način je periodičnih, vendar imajo lahko zelo veliko periodo. Kadar tak signal opazujemo le delček periode, je videti naključen, zato imenujemo take signale psevdonaključni signali. Naključne signale najbolje opisujejo značilne funkcije, ki jih pripišemo tem signalom. Pred- vsem sta pomembni dve značilni funkciji: porazdelitvena funkcija amplitude in avtokorelacijska funkcija. 6.2 Generiranje naključnih signalov 127 Porazdelitvena funkcija amplitude ali krajše amplitudna porazdelitev pove, kako pogosto oziroma s kakšno verjetnostjo nastopa določena amplituda v signalu. Kadar je amplituda signala diskretna, je tudi amplitudna porazdelitev diskretna funkcija. Ker so naključni signali močnostni signali, je njihova avtokorelacijska funkcija definirana z enačbo (1.67) na strani 22. Avtokorelacijska funkcija govori o tem, v kolikšni meri so vzorci signala med seboj linearno odvisni. Kadar so med seboj popolnoma neodvisni, je avtokorelacijska funkcija enaka δ impulzu. DTFT avtokorelacijske funkcije je enak gostoti močnostnega spektra signala. Kadar so vzorci med seboj neodvisni, je spekter konstanten in neodvisen od frekvence. Pravimo, da je spekter bel, naključen signal z belim spektrom pa imenujemo bel šum. 6.2.1 Signali z enakomerno amplitudno porazdelitvijo Najprej si oglejmo nekaj postopkov za generiranje naključnih signalov z enakomerno amplitudno porazdelitvijo, ki so tudi osnova za generiranje signalov z drugimi porazdelitvami. Enakomerna porazdelitev je porazdelitev, pri kateri nastopajo vse amplitude v določenem intervalu z enako ve- rjetnostjo. Ogledali si bomo le postopke, ki generirajo niz naravnih števil v mejah 0 ≤ x[n] < N . Pri veliki vrednosti N dobimo približek zvezne porazdelitve na intervalu 0 ≤ x[n] ≤ 1, če delimo dobljene vzorce z N . Zelo pogosto se za generiranje signala z enakomerno porazdelitvijo uporablja preprost postopek, pri katerem računamo trenutni vzorec iz vrednosti preteklega vzorca po izrazu: x[n] = (Ax[n − 1]) mod N (6.16) kjer je N veliko praštevilo. Predhodni vzorec množimo z velikim številom A in nato izračunamo ostanek deljenja z N . Vrednost x[n] = 0 je prepovedana, ker bi bili potem vsi nadaljnji vzorci enaki 0. Lastnosti niza so odvisne od izbire vrednosti N , A in začetne vrednosti x[0]. Niz je periodičen, njegova perioda pa ne more biti daljša od N − 1. Za izračun posameznega vzorca je potrebno eno množenje in eno deljenje. Popolnoma enakomerno porazdelitev dobimo, če je perioda enaka N −1, saj nastopa v tem primeru vsako naravno število na intervalu 0 < x[n] < N natanko enkrat. Pri tem postopku je lahko problematična primerna izbira vrednosti N , A in x[0], ki zagotavlja dovolj veliko periodo. Poleg tega je računanje ostanka pri deljenju z velikim praštevilom relativno zahtevna operacija. Podoben je postopek, pri katerem izračunamo naslednji vzorec po enaki enačbi kot v prejšnjem postopku, le da tu N ni praštevilo, temveč cela potenca števila 2: N = 2L (6.17) za A pa velja relacija: A = 4K + 1 (6.18) kjer sta L in K naravni števili. Prednost tega postopka je v tem, da lahko operacijo po modulu, to je računanje ostanka pri deljenju z N , nadomestimo z rezanjem bitov nad L − 1 bitom v binarnem zapisu števila. Za primer: K = 511 128 Generiranje diskretnih signalov L = 20 x[0] = 12357 (6.19) dobimo psevdonaključni niz s periodo 218 z zelo dobro enakomerno porazdelitvijo. Če razdelimo interval vseh možnih števil, ki jih lahko dobimo z računom po modulu N , na 1024 enakih podintervalov, lahko s pomočjo simulacije ugotovimo, da je v vsakem podintervalu natanko 256 vzorcev tako dobljenega niza, z izjemo enega podintervala, ki vsebuje en vzorec manj. Naključni signal lahko generiramo tudi na osnovi seštevanja dveh preteklih vzorcev po mo- dulu N , v skladu z izrazom: x[n] = (x[n − 1] + x[n − K]) mod N (6.20) kjer je N cela potenca števila 2 kot v izrazu (6.17). Za razliko od prej opisanih postopkov potrebujemo tu K začetnih vrednosti. Naključni signal je torej odvisen od izbire K, N in vseh začetnih vrednosti x[0]...x[K−1]. Postopek daje dobre rezultate pri izbiri K reda 50. Shematično je vezje za generiranje prikazano na sliki 6.4. Na sliki je izpuščena operacija po modulu, ker Slika 6.4 – Generiranje naključnega signala na osnovi seštevanja preteklih vzorcev je seštevanje v digitalnih vezjih vedno izvedeno po modulu dolžine binarnega zapisa števila. Namesto pomikalnega registra, lahko uporabimo tudi pomnilnik, ki ga krožno naslavljamo. Še preprostejši generator dobimo z bitnim seštevanjem po modulu 2 dveh zaporednih pretek- lih vzorcev(operacija XOR oziroma ⊕) in ciklično rotacijo bitov zapisa števila za K mest. Zapišemo temeljno enačbo: x[n] = RK{x[n − 1] ⊕ x[n − 2]} (6.21) kjer je z RK{·} označen operator rotacije za K bitov. Shematično je vezje prikazano na sliki 6.5. Po literaturi povzemamo, da so pri dolžini zapisa vzorcev z 19 biti in cikličnim premikom za eno mesto v desno dobili niz s periodo skoraj 15 · 106 vzorcev. Slika 6.5 – Generator naključnih vzorcev z linearno porazdelitvijo 6.2.2 Psevdonaključni binarni niz Psevdonaključni binarni niz lahko generiramo s pomočjo pomikalnega registra dolžine L bitov. Določene odcepe na pomikalnem registru vežemo v povratno vezavo, kot je to prikazano na 6.2 Generiranje naključnih signalov 129 Slika 6.6 – Generiranje niza ML(3,7) sliki 6.6. Z ustrezno izbiro odcepov v povratni vezavi ima niz periodo 2L − 1, kar pomeni, da v periodi nastopijo vse možne variacije bitov v pomikalnem registru razen kombinacije samih ničel, ki je prepovedana, ker bi bile potem tudi vse nadaljnje vrednosti enake nič. Tak niz imenujemo tudi niz maksimalne dolžine (ML - Maximum Length). Nize ML lahko označujemo s številkami odcepov, ki jih vežemo v povratno vezavo. Niz, ki ga generiramo z vezjem na sliki 6.6, bi tako označili z ML(3,7). Ker je L − 1 odcep vedno vezan v povratno vezavo, dolžine registra ni potrebno posebej označevati, saj je razvidna iz številke zadnjega odcepa. Generiranje niza ML(3,7) opisuje enačba: x[n] = x[n − 3] ⊕ x[n − 7] ; x[n] ∈ {0, 1} (6.22) V literaturi je mogoče najti tabelirane številke odcepov, ki dajejo pri različnih dolžinah L pomikalnega registra niz maksimalne dolžine. Nizi maksimalne dolžine imajo zelo dobre avtokorelacijske lastnosti. Niz y[n], ki ga dobimo iz ML niza x[n] na osnovi izraza: y[n] = 2x[n] − 1 (6.23) ima avtokorelacijsko funkcijo enako: ( 1 ; m = 0 Ryy[m] = (6.24) 1/N ; m 6= 0 Vidimo da je avtokorelacijska funkcija skoraj idealno enaka δ impulzu, zato ima niz maksimalne dolžine bel spekter. Nenična vrednost avtokorelacijske funkcije pri m 6= 0 je posledica dejstva, da je stanje samih ničel v pomikalnem registru prepovedano. V spektru se to pozna kot nekoliko bolj izražena enosmerna komponenta. Nizi maksimalne dolžine se zaradi svojih dobrih spektral- nih lastnosti uporabljajo kot gradniki pri generiranju naključnih kodnih zaporedij pri prenosu signalov z razširjenim spektrom v mobilni telefoniji. Zaporedne bite v pomikalnem registru pa lahko tolmačimo tudi kot binarni zapis nekega števila. Ker nastopijo v eni periodi ML niza vse variacije bitov, dobimo na ta način tudi vsa števila, ki jih je mogoče zapisati z L biti. Niz vzorcev, ki bi ga dobili na ta način, bi imel zato enakomerno porazdelitev. Ker pa dobimo naslednji vzorec takega niza zgolj z vpisom enega novega bita v pomikalni register, bi bili sosednji vzorci med seboj odvisni. Tej odvisnosti se lahko izognemo, če jemljemo le vsako K-to število, pri čemer mora veljati K > L in K tuje 2L − 1. 6.2.3 Signali z Gaussovo porazdelitvijo Gaussova amplitudna porazdelitev s srednjo vrednostjo nič je definirana z izrazom: 1 px(x) = √ e−x2/(2σ2) (6.25) σ 2π 130 Generiranje diskretnih signalov kjer je σ2 varianca oziroma srednja izmenična moč signala. Gaussova porazdelitev je zvezna porazdelitev, zato zgornja enačba podaja gostoto amplitudne porazdelitve. Vrednost x lahko zavzame poljubno vrednost na realni osi. Praktično tega ni mogoče realizirati, zato imajo lahko signali, ki jih generiramo, le približno Gaussovo porazdelitev, saj po eni strani natančnost zapisa onemogoča, da bi zavzeli poljubno vrednost, po drugi strani pa je tudi njihova amplituda omejena. Porazdelitev je lahko zato le približno Gaussova. Najpreprostejši postopek generiranja naključnega niza z Gaussovo porazdelitvijo temelji na centralnem limitnem teoremu, ki pravi, da se porazdelitev naključne spremenljivke, ki jo dobimo s seštevanjem več naključnih spremenljivk, približuje Gaussovi porazdelitvi. Niz z Gaussovo po- razdelitvijo lahko dobimo s seštevanjem N nizov z enakomerno porazdelitvijo ali s seštevanjem N zaporednih vzorcev enega niza z enakomerno porazdelitvijo: N −1 y[n] = X x[nN − i] (6.26) i=0 Z večanjem števila N se porazdelitev y[n] vedno bolj približuje Gaussovi porazdelitvi, vendar hkrati narašča tudi računska zahtevnost. V praksi običajno zadošča N med 10 in 20. Pri izbiri N moramo paziti tudi na to, da je N tuj periodi signala x[n], ker bi bila v nasprotnem primeru perioda signala y[n] krajša od periode signala x[n]. Iz naključnega niza z linearno porazdelitvijo pa lahko dobimo niz z Gaussovo porazdelitvijo tudi preko matematičnih relacij, ki jih tu navajamo brez dokaza. Naj imata signala x1[n] in x2[n] zvezno enakomerno amplitudno porazdelitev na intervalu med 0 in 1. Niz y[n], ki ga dobimo na osnovi relacije: q y[n] = σ cos(2πx2[n]) −2 ln(x1[n]) (6.27) ima potem Gaussovo porazdelitev s srednjo vrednostjo 0 in varianco σ2. Postopek je računsko precej zahteven. Funkciji kosinusa in logaritma lahko računamo na osnovi tabel, podobno kot smo to opisali pri generiranju harmoničnih signalov, in na ta način precej zmanjšamo računsko zahtevnost. Oglejmo si primer generiranja signala po opisanem postopku. Niza x1[n] in x2[n], ki ju potrebujemo za generiranje po izrazu (6.27) lahko tvorimo na osnovi niza x[n] z enakomerno porazdelitvijo. Vzorce obeh nizov lahko tvorimo na osnovi relacij: 1 x1[n] = x[n] N 1 x2[n] = (Bx[n]) mod N (6.28) N Vrednosti so normirane s faktorjem N , da zagotovimo enakomerno porazdelitev na intervalu med 0 in 1. Konstanto B lahko izberemo skoraj poljubno. Na sliki 6.7 je prikazana porazdelitev niza y[n], ki jo dobimo z izbiro B = 7513. Vidimo, da se porazdelitev dokaj dobro prilega Gaussovi porazdelitvi, ki je na sliki narisana s polno črto. Računsko približno enako zahteven je postopek, pri katerem izhajamo iz nizov x1[n] in x2[n] z enakomerno amplitudno porazdelitvijo na intervalu med -1 in 1. Iz obeh nizov izračunamo vzorce pomožnega niza s[n]: s[n] = x21[n] + x22[n] (6.29) 6.2 Generiranje naključnih signalov 131 Slika 6.7 – Amplitudna porazdelitev generiranega signala Če izračunana vrednost preseže 1, zavržemo rezultat in se lotimo izračunavanja na osnovi nasled- njih dveh vzorcev. Verjetnost, da vzorci s[n] presežejo vrednost 1, je le 21 %. Pri računski zahtevnosti moramo to upoštevati. Izhodni niz dobimo na osnovi izraza: s 2 ln s[n] y[n] = x1[n] − (6.30) s[n] Slabost tega postopka je, da zaradi zanemarjanja nekaterih vzorcev, vzorci na izhodu ne priha- jajo v enakomernih časovnih intervalih. Vrednosti naključnega niza z Gaussovo porazdelitvijo lahko tudi tabeliramo. Funkcijo gostote amplitudne porazdelitve razdelimo na odseke z verjetnostjo 1/N . Ker je verjetnost, da bo vrednost na določenem odseku enaka ploščini pod krivuljo, moramo krivuljo razdeliti na odseke z enakimi ploščinami, kot je to za primer N = 10 prikazano na sliki 6.8. Označimo z akσ spodnjo Slika 6.8 – Odseki z verjetnostjo 0.1 pri Gaussovi porazdelitvi mejo k-tega intervala. Kumulativna verjetnost, to je verjetnost, da je vrednost x manjša od vrednosti σak, je potem enaka: Z akσ 1 a k F k x(akσ) = px(x) dx = 1 + erf √ = (6.31) −∞ 2 2 N Kjer je z erf(·) označena funkcija napake: 2 Z x erf(x) = √ e−t2 dt (6.32) π 0 Na osnovi izraza (6.31) lahko določimo konstante ak, ki določajo spodnje meje intervalov: √ 2k ak = 2 ierf − 1 (6.33) N 132 Generiranje diskretnih signalov kjer je z ierf(·) označena inverzna funkcija napake. Na k-ti naslov v tabeli vpišemo povprečno vrednost vzorcev na k-tem intervalu: 1 Z ak+1σ x[[k]] = √ xe−x2/(2σ2)dx (6.34) σ2 2π(ak+1 − ak) akσ Vrednosti iz tabele odčitavamo po naključnem vrstnem redu. Za tvorjenje naslova lahko upora- bimo nekaj bitov naključnega binarnega niza, ki smo ga opisali v prejšnjem razdelku. Če zadošča, da je perioda tako dobljenega psevdonaključnega signala enaka dolžini tabele N , lahko vpišemo vrednosti v tabelo po naključnem vrstnem redu in jih nato pri generiranju signala beremo po pravilnem vrstnem redu. 6.3 Generiranje naključnega signala v frekvenčnem prostoru Včasih želimo generirati šum z vnaprej predpisanim močnostnim spektrom. Tak šum najpre- prosteje generiramo v frekvenčnem prostoru z uporabo IDFT. Vzorce kompleksnega spektra signala tvorimo v skladu z enačbo: X[k] = A[k]eΦ[k] ; 0 ≤ k < N (6.35) kjer je A[k] želen potek amplitudnega spektra in Φ[k] naključna faza z enakomerno amplitudno porazdelitvijo na intervalu med 0 in 2π. Psevdonaključni signal dobimo potem s pomočjo IDFT tako dobljenega spektra: x[n] = IDFT{X[k]} (6.36) ki ga lahko računamo s pomočjo FFT algoritma. Ker želimo, da so vzorci dobljenega signala realni, moramo izpolniti pogoja: A[N − k] = A[k] Φ[N − k] = −Φ[k] (6.37) Perioda dobljenega signala je N , njegova varianca pa je v skladu z Parsevalovim teoremom enaka: N −1 σ2 = X A2[k] (6.38) k=0 Ker dobimo pri IDFT izhodne vzorce s seštevanjem N med seboj neodvisnih vzorcev, se am- plitudna porazdelitev pri velikih N približuje Gaussovi porazdelitvi. Namesto, da bi vzorce računali sproti, zadošča, da jih izračunamo enkrat in vpišemo v tabelo, iz katere jih čitamo pri generiranju signala. Postopek je še posebej uporaben pri preizkušanju akustičnih sistemov, kjer potrebujemo obarvan šum (“pink noise” – rožnat šum), to je šum, ki mu močnostni spekter upada s 3 dB/oktavo. 6.4 Problemi 1. Simulirajte oscilator harmoničnega signala na osnovi rekurzivnega vezja drugega reda s ko- eficientoma a1 = −2 cos Ω0 in a2 = 1. Ugotovite vpliv spremembe frekvence na amplitudo 6.4 Problemi 133 izhodnega signala, če vzamemo na primer za Ω0 prvo vrednost π/6 in pozneje π/8. Zamis- lite si dodatni regulacijski sistem, ki bo korigiral spremembe amplitude ob spremembah frekvence! 2. Za oscilator na osnovi rekurzivnega vezja drugega reda z enim izhodom nakažite ustrezno vezje Ho(z) za generiranje ortogonalne komponente preko zakasnitve in preprostega Hilber- tovega transforma z N = 3 in N = 7! 3. Ugotovite, ali nenatančnost izračunavanja vzorcev vpliva na frekvenco in amplitudo os- cilatorskega sistema iz problema 1. Predpostavite, da je koeficient podan le z devetimi biti za piko in da so z enako dimenzijo računani rezultati za izhodne vzorce. Isto ponovite, če računate z vrednostmi, ki imajo le pet bitov za piko! Določite vplive! 4. Harmonični signal generiramo z odčitavanjem vzorcev iz tabele. Frekvenca signala naj temelji na odčitavanju vsakega M -tega vzorca po kolobarju 0, 1, ..N −1. Vzemite N = 512 in vzorčno frekvenco fvz = 8 kHz. Signale katerih frekvenc lahko generiramo na ta način? Določite število bitov, ki so potrebni za zapis vrednosti vzorcev pri zaokroževanju, da razmerje moči signala proti moči kvantizacijskega šuma ne preseže 60 dB! Ali kvantizacijski šum pri generiranju z odčitavanjem iz tabele ustreza belemu šumu? 5. Harmonični signal generiramo s čitanjem vzorcev iz tabele. Želimo generirati harmonični signal poljubne frekvence med 0 in Nyquistovo frekvenco pri frekvenci vzorčenja fvz = 16 kHz. Argument signala v območju 2π zapišimo s šestnajst bitno besedo. Z zaokroženo vre- dnostjo argumenta določamo lokacijo v tabeli. Ta mora biti takega obsega, da se odčitana vrednost ne bo razlikovala za več kot 10−3 pri amplitudi izhodnega signala 1! Koliko lokacij mora imeti tabela? 6. S pomočjo tabele generirajte harmoničen signal frekvence 1 kHz pri frekvenci vzorčenja 16 kHz. Vzorci so zaokroženi na sedem bitno vrednost. Določite spektralno sliko signala! S kakšno natančnostjo morajo biti določeni vzorci, da nobena spektralna komponenta ne preseže nivoja −80 dB? 7. Za generiranje naključnega signala z linearno porazdelitvijo amplitude uporabite gener- iranje naključnih števil v vašem osebnem računalniku. Dobljene vrednosti od −1 do 1 kvantizirajte z osmimi biti z zaokroževanjem in izračunajte amplitudno porazdelitev za 1000 vzorcev na 128 intervalov! 8. S pomočjo tabele generirajte naključne vzorce preko naključne funkcije rnd(∗), kjer pre- slikate linearno porazdelitev v Gaussovo v 128 intervalov! 7 Praktični vidiki izvedbe diskretnih sistemov Pri obravnavi časovno diskretnih sistemov smo doslej predpostavljali, da so diskretni signali, ki jih dobimo z vzorčenjem analognih signalov realna števila, to je, da lahko zavzamejo poljubno vrednost na realni osi. Pri izvedbi takih sistemov smo omejeni s končno dolžino zapisa števila. Vzorci signala imajo lahko zato le vrednosti, ki jih je mogoče zapisati z določenim številom bitov. Signali, s katerimi imamo opravka zato niso diskretni samo po času, temveč so diskretni tudi po amplitudi oziroma kvantizirani. Signale s kvantiziranimi vzorci imenujemo digitalni signali, namesto o vzorčenju pa govorimo o analogno digitalni pretvorbi. Pri rekonstrukciji signala smo predpostavili, da imamo na voljo generator idealnih δ impul- zov. Predpostavili pa smo tudi idealnost rekonstrukcijskega sita. V praksi enega in drugega nimamo na voljo. Realni digitalno analogni pretvorniki zato odstopajo od idealnih sistemov za rekonstrukcijo signalov. Poleg kvantizacije signalov pa imamo pri obdelavi signalov opravka s kvantizacijo koeficien- tov in z zaokroževanjem vmesnih rezultatov. Lastnosti digitalnih sistemov zato odstopajo od lastnosti idealnih časovno diskretnih sistemov. V tem poglavju si bomo ogledali nekaj problemov, ki nastopajo pri analogno digitalni (A/D) in digitalno analogni (D/A) pretvorbi signalov, vpliv kvantizacije signala in kvantizacije koefi- cientov in na koncu še nekaj osnovnih značilnosti digitalnih signalnih procesorjev (DSP), ki jih najpogosteje uporabljamo za digitalno obdelavo signalov. 7.1 Analogno digitalna pretvorba signalov Izvedba sistema za A/D pretvorbo signalov je shematsko prikazana na sliki 7.1. Sistem vse- buje analogno predsito, vzorčevalnik, zadrževalnik in kvantizator. Iz analognega signala x(t) najprej s predsitom izločimo spektralne komponente, ki bi ob vzorčenju povzročile prekrivanje spektrov okrog mnogokratnikov vzorčne frekvence. Zato imenujemo to sito tudi sito proti prekri- vanju. Frekvenčno omejen vhodni signal vzorčimo in dobimo vzorce vrednosti x(nT ). Amplitudo vzorcev v zadrževalniku raztegnemo po možnosti preko celotnega intervala med dvema zapored- nima vzorcema. S kvantizatorjem še kvantiziramo vrednosti amplitud vzorcev na končno število amplitud, ki jih zahteva končna dolžina zapisa vzorcev. 7.1.1 Sito proti prekrivanju Pred vzorčenjem signala moramo izločiti iz signala vse komponente signala, ki bi povzročile prekrivanje spektra vzorčenega signala. To so komponente s frekvenco, ki presega polovično vred- nost vzorčne frekvence. Ker frekvenčno omejujemo analogni signal, moramo uporabiti analogno sito. Najustreznejše bi bilo idealno nizko sito z mejno frekvenco fvz/2. Ker ne moremo izdelati 135 136 Praktični vidiki izvedbe diskretnih sistemov Slika 7.1 – A/D pretvornik idealnega sita, moramo načrtovati realno sito s prehodnim območjem med fp in fz. Za mejno frekvenco zapornega področja vzamemo fz = fvz/2. Mejna frekvenca prepustnega področja fp določa tudi mejno frekvenco signala fm. Razmerje fz/fp tako določa tudi potrebni faktor pre- vzorčenja signala (glej poglavje 3) obenem pa je od tega razmerja neposredno odvisna zahtevnost sita (glej dodatek C), kar vpliva tudi na njegovo ceno. Običajno uporabljamo frekvenco, ki je za 10 do 20% višja od dvakratne mejne frekvence signala. Za dobro načrtovanje karakteristike predsita moramo natančno poznati spekter vhodnega zveznega signala. Pri digitalizaciji zvočnega signala za zapis na zgoščenkah imamo na primer standardizirano vzorčno frekvenco fvz = 44, 1 kHz in podano mejno frekvenco signala fm = 20 kHz, kar natančno podaja faktor prevzorčenja, ki je v tem primeru enak 1,1025, in s tem tudi širino prehodnega področja sita proti prekrivanju. Pri načrtovanju se moramo zavedati, da se pri vzorčenju vse frekvence nad polovico vzorčne frekvence preslikajo v področje pod polovico vzorčne frekvence in se prištejejo koristnemu signalu kot šum. Kadar so lahko v signalu, ki ga vzorčimo, prisotne tudi precej višje frekvence od mejne frekvence signala, mora biti zato karakteristika sita v zapori pri visokih frekvencah monotono upadajoča, saj bi drugače prišlo do seštevanja spektralnih komponent okrog vseh večkratnikov vzorčne frekvence. Število polov v prevajalni funkciji sita mora biti večje od števila ničel, zato sita z enakomerno valovitostjo v zapori niso najbolj primerna. Najprimernejša so sita s samimi poli, ki imajo monotono padajoč potek ojačenja v celotnem zapornem področju. To dodatno povečuje zahtevnost sita proti prekrivanju. Da bi natančno podali zahteve sita proti prekrivanju, moramo poznati tudi dopustno val- ovitost frekvenčne karakteristike v prepustnem področju (−ap) in minimalno slabljenje v zapori (−az). Valovitost v prepustnem področju je določena z dopustnim amplitudnim popačenjem signala. K celotnemu amplitudnemu popačenju sme sito proti prekrivanju prinesti le polovico, ker se bo pri rekonstrukciji signala prištela tudi valovitost rekonstrukcijskega sita. Če za sito proti prekrivanju pri digitalizaciji zvočnega signala dopustimo 0.5 dB valovitosti v prepustnem področju in zahtevamo, da je slabljenje v zapori najmanj 40 dB, potrebujemo Čebiševjevo sito 14. reda. Lega polov in amplitudna karakteristika ustreznega sita je prikazana na sliki 7.2. Izvedba analognega sita 14. reda je zelo zahtevna in tudi draga. Zahtevnost sita bi lahko precej zmanjšali z dodatkom ničel v zapornem področju v bližini prehodnega področja. Ker bi dodatne ničle povzročile povečanje slabljenja na robu prepustnega področja, bi morali pole na robu prepustnega področja nekoliko približati imaginarni osi. Bistveno manj zahtevno analogno predsito potrebujemo, če se odločimo za vzorčenje z višjo vzorčno frekvenco in decimacijo signala. Vlogo sita proti prekrivanju na ta način razdelimo med analogno sito proti prekrivanju in digitalno decimacijsko sito, ki sledi vzorčevalniku. Analogno sito na vhodu le prepreči, da ne nastopi prekrivanje želenega signala pri vzorčenju z visoko 7.1 Analogno digitalna pretvorba signalov 137 Slika 7.2 – Karakteristika Čebiševjevega sita proti prekrivanju zvokovnega signala vzorčno frekvenco. Z digitalnim sitom nato preprečimo prekrivanje spektra pri decimaciji sig- nala, s katero zmanjšamo vzorčno frekvenco na želeno vrednost, kot je to shematsko prikazano na sliki 7.3. Slika 7.3 – A/D pretvornik s prevzorčenjem in decimacijo Oglejmo si razmere pri vzorčenju zvočnega signala iz prejšnjega primera, če se odločimo za dvojno frekvenco vzorčenja fvz = 88.2 kHz, kar da faktor prevzorčenja 2,205. Ker sta sedaj v serijo vezani dve siti, moramo valovitost v prepustnem področju posameznega sita zmanjšati na polovično vrednost, to je ap = −0.25 dB, slabljenje v zapori pa naj ostane 40 dB. Za analogno sito v tem primeru zadošča že Čebiševjevo sito 5. reda, vendar mora temu situ slediti še digitalno sito. V našem primeru bi potrebovali digitalno sito z naslednjimi specifikacijami: Ωp = π/2, 205 Ωz = π/2 ap = −0, 25 dB az = −40 dB (7.1) Ker smo zahtevo po monotonem upadanju že izpolnili z analognim sitom, lahko za digitalno sito uporabimo preslikano eliptično sito z enakomerno valovitostjo v zapori. Za izpolnitev gornjih specifikacij zadošča diskretno eliptično sito 6. reda. 7.1.2 Kvantizacija signala Naloga kvantizatorja je pretvorba signala x[n] z zveznimi vrednostmi v kvantiziran signal xq[n] s končno zalogo vrednosti, ki jih lahko zapišemo binarno. Število bitov L, ki jih potrebujemo za zapis posameznega vzorca na izhodu kvantizatorja, imenujemo tudi ločljivost kvantizatorja. 138 Praktični vidiki izvedbe diskretnih sistemov Število različnih vrednosti M , ki jih lahko zapišemo z L biti je enako: M = 2L (7.2) Amplitude vzorcev na vhodu kvantizatorja so omejene na vhodno območje kvantizatorja med Amin in Amax. Vse vrednosti, ki so izven tega območja, moramo pri kvantizaciji nado- mestiti z mejnimi vrednostmi, kar imenujemo tudi trdo omejevanje ali rezanje signala. Običajno je območje kvantizatorja simetrično okrog vrednosti 0, za območje kvantizatorja pa vzamemo normirane vrednosti: Amax = 1 Amin = −1 (7.3) Posamezen vzorec xq na izhodu kvantizatorja1 zapišemo v obliki predznačenega binarnega števila, zato so njegove vrednosti omejene na območje med −K in K, kjer je: K = 2L−1 − 1 (7.4) Zaradi simetrije se moramo odpovedati enemu nivoju: . M = 2L − 1 = 2L (7.5) vendar je to pri velikem številu nivojev zanemarljivo. Da bi lahko vzorce x v vhodnem območju kvantizatorja kvantizirali, jih najprej s funkcijo f (x) preslikamo v vzorce x′ v izhodnem območju kvantizatorja: x′ = f (x) (7.6) Pri simetričnem kvantizatorju mora biti f (x) liha funkcija, za katero velja: 1 f (1) = K + 2 f (0) = 0 (7.7) Vrednosti x′ nato kvantiziramo s kvantizacijsko funkcijo: xq = Q(x′) (7.8) Kot kvantizacijsko funkcijo Q(x) lahko uporabimo funkcijo zaokroževanja na najbližjo celo vred- nost ali pa funkcijo rezanja odvečnih bitov v binarnem zapisu. Ker naredimo pri zaokroževanju bistveno manjšo napako kot pri rezanju, bomo v nadaljevanju predpostavili, da vrednosti zaokrožujemo. Da bi iz kvantiziranih vzorcev rekonstruirali signal, uporabimo funkcijo g(x), ki je inverzna funkciji f (x): ˆ x = f −1(xq) = g(xq) (7.9) 1Ker kvantizator obravnava vsak vzorec signala ločeno, neodvisno od drugih vzorcev, bomo v nadaljevanju v zapisu izpuščali časovni indeks n, razen kadar bomo želeli eksplicitno poudariti, da gre za signal. 7.1 Analogno digitalna pretvorba signalov 139 Zaradi vmesne kvantizacije ˆ x ni enak x. Kvantizirani signal odstopa od originalnega signala. Označimo z εx kvantizacijsko napako: εx = ˆ x − x (7.10) Kvantizirani signal lahko potem zapišemo kot vsoto originalnega signala in signala napake: xq[n] = x[n] + εx[n] (7.11) Ob predpostavki, da sta signal napake in originalni signal statistično neodvisna, kar pomeni, da je njuna korelacija enaka 0, lahko signal napake obravnavamo kot aditivni šum in ga imenujemo kvantizacijski šum. Kvaliteto kvantizatorja ocenjujemo z razmerjem med varianco signala σ2x in varianco kvan- tizacijskega šuma σ2ε (SNR - Signal to Noise Ratio): σ2 SNR = x (7.12) σ2ε Pri naključnem signalu s srednjo vrednostjo 0 je varianca signala enaka: Z ∞ σ2x = x2 px(x) dx (7.13) −∞ kjer je px(x) gostota amplitudne porazdelitve signala. Pri veliki ločljivosti kvantizatorja lahko predpostavimo, da x′ z enako verjetnostjo zavzame poljubno vrednost med dvema celima vred- nostma, zato ima napaka εq: εq = xq − x′ (7.14) enakomerno porazdelitev: ( 1 ; |ε p q| ≤ 1/2 q(εq) = (7.15) 0 ; |εq| > 1/2 Kvantizacijska napaka εx je enaka: . εx = ˆ x − x = g(xq) − g(xq − εq) = g′(xq)εq (7.16) kjer je z g′(xq) označena vrednost odvoda funkcije g(x) v točki x = xq. Varianca napake pri tej vrednosti je potem enaka: . Z 1/2 g′2(x σ2 q) ε [xq] = g′2(xq) ε2 dε = (7.17) −1/2 12 Celotna varianca napake je enaka povprečju posameznih varianc: K σ2 X ε = P [xq] σ2ε[xq] (7.18) xq=−K kjer je s P [xq] označena verjetnost, da bo imel kvantiziran vzorec vrednost xq. 140 Praktični vidiki izvedbe diskretnih sistemov 7.1.2.1 Linearna kvantizacija Pri linearni kvantizaciji vzamemo za f (x) linearno funkcijo, ki izpolnjuje pogoj (7.7): M x f (x) = (K + 1/2) x = x = (7.19) 2 ∆ kjer smo z ∆ označili korak kvantizacije: 2 ∆ = (7.20) M Kvantizirana vrednost je potem enaka: x xq = Q (7.21) ∆ Za primer L = 3 in M = 2L − 1 = 7 je linearna kvantizacija z zaokroževanjem prikazana v diagramu na sliki 7.4. Slika 7.4 – Linearna kvantizacija na osnovi zaokroževanja Predpostavimo, da ima signal na vhodu enakomerno amplitudno porazdelitev med −k in k: 1 px(x) = (7.22) 2 k kjer smo s k označili faktor izkrmiljenja kvantizatorja. Da ne bi prišlo do rezanja signala, mora imeti k vrednosti med 0 in 1. Varianca signala je tedaj enaka: 1 Z k k2 σ2x = x2 dx = (7.23) 2 k −k 3 Funkcija g(x) je inverzna funkciji f (x) in je enaka: 2 g(x) = x (7.24) M njen odvod pa je konstanten in enak 2/M . Varianca kvantizacijskega šuma je potem v skladu z (7.18) enaka: 4 K 1 σ2 X ε = P [x (7.25) 12 M 2 q] = 3M2 xq=−K Na osnovi gornjih izrazov lahko izrazimo SNR kot: σ2 k2 · 3M SNR = x = = M 2 k2 = 22L k2 (7.26) σ2ε 3 · 1 7.1 Analogno digitalna pretvorba signalov 141 Vidimo, da SNR narašča s številom nivojev M in izkrmiljenjem signala k. Maksimalno vrednost SNR dobimo pri polnem izkrmiljenju kvantizatorja (k = 1). Izrazimo SNR še v decibelih: SNRdB = 20 log(k) + 20 log(2L) = kdB + 6, 02 L (7.27) Povečanje ločljivosti kvantizatorja za en bit izboljša razmerje med signalom in šumom za 6 dB. Gornja izvajanja veljajo le, kadar ima signal enakomerno amplitudno porazdelitev, v splošnem pa bi lahko za poljubno zvezno porazdelitev z omejeno amplitudo in srednjo vred- nostjo 0 zapisali: SNRdB = kdB + 6, 02 L + Kp (7.28) kjer je Kp konstanta odvisna od porazdelitve in je enaka: Kp = 10 log(3 σ21) (7.29) in σ21 varianca vhodnega signala pri polnem izkrmiljenju. Za harmonični signal (sinus ali kosinus) velja: 1 σ21 = (7.30) 2 in 3 Kp = 10 log = 1.76 (7.31) 2 SNR je pri harmoničnem signalu nekoliko večje kot pri signalu z enakomerno porazdelitvijo. SNR pri polnem izkrmiljenju s harmoničnim signalom imenujemo tudi dinamično območje kvantiza- torja in ga označujemo z R. Izraženo v decibelih, je dinamično območje enako: RdB = 6, 02 L + 1, 76 (7.32) Razmere so nekoliko drugačne, kadar ima signal Gaussovo porazdelitev. Gaussova po- razdelitev s srednjo vrednostjo 0 in varianco σ2x je podana z izrazom: 1 px(x) = e−x2/(2σ2x) (7.33) p2πσ2x Ker signal po amplitudi ni omejen, definiramo faktor izkrmiljenja nekoliko drugače: σ k = x (7.34) Amax Ker smo privzeli Amax = 1, velja kar: k = σx (7.35) Vse vzorce, ki po absolutni vrednosti presežejo vrednost 1, moramo odrezati, zato dobimo poleg napake kvantizacije še napako, ki nastopi zaradi rezanja signala. Varianca signala napake je enaka vsoti varianc kvantizacijskega šuma in šuma, ki nastopi zaradi rezanja: σ2e = Pq σ2q + σ2r (7.36) v gornjem izrazu je Pq verjetnost, da bo signal v območju kvantizatorja: 1 Z σx/k 1 Pq = e−x2/(2σ2x)dx = erf √ (7.37) p2πσ2x −σx/k k 2 142 Praktični vidiki izvedbe diskretnih sistemov σ2q srednja moč kvantizacijskega šuma: 1 σ2 σ2 x q = = (7.38) 3 M 2 3 M 2 k2 in σ2r moč šuma, zaradi rezanja signala: Z ∞ Z ∞ σ2r = 2 x2 px(x) dx − 2 k−2 px(x) dx = σx/k σx/k 1 2 = (1 − k−2) 1 − erf √ + √ e−1/(2 k2) (7.39) k 2 k 2π Celoten izraz za izračun SNR v skladu z gornjimi izvajanji je dokaj zapleten, zato si pri nadaljnji obravnavi pomagamo z grafom na sliki 7.5, ki prikazuje SNR v odvisnosti od izkrmiljenja k v log-log merilu pri različnih ločljivostih kvantizatorja L. Vidimo, da SNR na začetku narašča z Slika 7.5 – SNR pri kvantizaciji Gaussovega signala izkrmiljenjem, nato pa začne zaradi prevlade šuma rezanja nad kvantizacijskim šumom naglo upadati. Optimalna vrednost izkrmiljenja je odvisna od ločljivosti kvantizatorja. Pri ločljivosti L = 8 nastopi maksimum pri izkrmiljenju kdB = −13, 2 dB, pri ločljivosti L = 16 pa pri kdB = −14, 6 dB. To pomeni, da moramo signal odrezati pri σx = 4, 56 v prvem in pri σx = 5, 39 v drugem primeru. V področju izkrmiljenja pod optimalno vrednostjo, je vpliv šuma rezanja zanemarljivo ma- jhen (σ2r → 0), ker je zanemarljivo majhna verjetnost, da bo signal izven območja kvantizatorja . (Pq = 1). V tem področju moramo zato pri izračunu SNR upoštevati zgolj napako kvantizacije σ2q. Če izrazimo SNR v področju pod optimalno vrednostjo izkrmiljenja v decibelih, dobimo: σ2 ! SNR x dB = 10 log = 10 log (3 k2 22L) = k σ2 dB + 6, 02 L + 4.77 (7.40) q Če primerjamo ta rezultat z rezultatom, ki smo ga dobili pri enakomerni porazdelitvi signala, lahko ugotovimo, da je pri kvantizaciji Gaussovega signala SNR pri optimalnem izkrmiljenju kdB ≈ −14 dB precej nižje kot pri signalu z enakomerno porazdelitvijo, kjer je optimum pri kdB = 0. 7.1 Analogno digitalna pretvorba signalov 143 7.1.2.2 Logaritemska kvantizacija Kvantizacijski šum je sorazmeren s kvantizacijskim korakom. Pri linearni kvantizaciji je kvan- tizacijska napaka neodvisna od amplitude signala, zato se pri majhnih signalih poslabša SNR, kar je lahko zelo moteče, še posebno pri akustičnih signalih z veliko dinamiko. Temu se lahko izognemo, če velikost kvantizacijskega koraka prilagodimo velikosti vhodnega vzorca. Ker je v skladu z enačbo (7.16) kvantizacijski korak približno enak odvodu funkcije g(x) bomo konstantno vrednost SNR dosegli, če bo odvod sorazmeren vrednosti funkcije: g′(x) = δ g(x) (7.41) kjer je δ relativna vrednost kvantizacijskega koraka. Kot rešitev gornje enačbe dobimo funkcijo: g(x) = Ceδ x (7.42) kjer je C poljubna integracijska konstanta. Funkcija kvantizatorja f (x) je inverzna funkciji g(x), zato velja: 1 x f (x) = ln (7.43) δ C Gornja funkcija bi sicer zagotovila konstanten SNR pri vseh vrednostih vhodnega signala, vendar pri nobeni izbiri konstante C ne more izpolniti pogoja f (0) = 0 v (7.7). To je razumljivo. Če bi bil namreč kvantizacijski korak vedno sorazmeren signalu tudi, ko gre vrednost signala proti 0, bi šla tudi vrednost kvantizacijskega koraka proti nič in bi dobili neskončno število kvantizacijskih nivojev. Problem je mogoče rešiti na različne načine, ki dajejo podobne rezultate. Pri vseh načinih je pri višjih vrednostih signala SNR konstanten, pri zelo nizkih vrednostih pa začne upadati. Ena izmed možnih rešitev je, da premaknemo logaritemsko funkcijo tako, da gre skozi izhodišče koordinatnega sistema: 1 x f (x) = ln + 1 (7.44) δ C Ta rešitev je uporabljena v tako imenovanem zakonu µ (µ-law) logaritemske kvantizacije, ki je standardiziran za kvantizacijo govornega signala predvsem v Severni Ameriki in na Japonskem. Namesto parametra δ, je tu uporabljen parameter µ, tako da velja: 2 ln(1 + µ) δ = (7.45) M Iz robnega pogoja (7.7) lahko nato izračunamo konstanto C: 1 C = (7.46) µ To funkcijo uporabimo le za pozitivne vrednosti x, za negativne vrednosti pa jo preslikamo skozi izhodišče koordinatnega sistema. Kot končni rezultat dobimo: M f (x) = sig(x) ln (1 + µ |x|) (7.47) 2 ln(1 + µ) Z izbiro parametra µ lahko na račun poslabšanja SNR pri visokih vrednostih signala pomaknemo območje s konstantnim SNR proti nižjim vrednostim x. V standardu je predvideno µ = M . Pri 144 Praktični vidiki izvedbe diskretnih sistemov Slika 7.6 – Logaritemska kvantizacija po zakonu µ a) M =255 in b) M =7 kvantizaciji govornega signala je uporabljen 8-bitni zapis, zato velja M = 255. Na sliki 7.6 a je prikazana funkcija f (x) za M = 255. Za nazornejšo ilustracijo so na sliki 7.6 b prikazane kvantizirane vrednosti pri M = 7. Malo drugačna rešitev je uporabljena pri zakonu A (A-law) logaritemske kvantizacije, ki se uporablja za govorni signal v Evropi. Namesto, da bi logaritemsko funkcijo premaknili v izhodiščno lego, je tu funkcija f (x) sestavljena iz treh odsekov. Logaritemski funkciji za pozitivne in negativne vrednosti signala sta povezani z linearnim odsekom skozi izhodišče. Funkcijo f (x) pri zakonu A lahko zapišemo v obliki:  A M 1  x ;  |x| <  2 (1 + ln(A)) A f (x) = M sig(x) (7.48) 1   1 + ln(A |x|) ; ≤ |x| ≤ 1  2 (1 + ln(A)) A Parameter A ima pri zakonu A podobno vlogo, kot jo ima parameter µ pri zakonu µ, kar pomeni, da lahko z njegovo pomočjo na račun slabšega SNR pri visokem izkrmiljenju izboljšamo SNR pri majhnih izkrmiljenjih. V standardu za PCM telefonski signal sta izbrani vrednosti A = 87, 6 in M = 8. Funkcija f (x) je pri zakonu A videti enaka kot pri zakonu µ, zato ni posebej narisana. Relativna vrednost kvantizacijskega koraka δ je pri zakonu A enaka: 2 (1 + ln(A)) δ = (7.49) M Pri visokih vrednostih izkrmiljenja k > 0, 1 bo funkcija f (x) pri obeh postopkih zelo malo odstopala od idealne logaritemske funkcije. Kvantizacijski korak bo zato približno enak: ∆[xq] = δxq (7.50) Pri dani vrednosti xq bo zato SNR enak: 12x2 12 SNR[x q q] = = (7.51) ∆2[xq] δ2 Vidimo, da je SNR[xq] konstanten in neodvisen od xq in zato kar enak SNR. Pri standardiziranih vrednostih parametrov µ in A dobim po gornjem izrazu pri obeh postopkih SNR=38 dB. Zgornji izračun velja le pri velikem izkrmiljenju. Pri izkrmiljenjih pod -30 dB začne SNR pri obeh postopkih upadati, a je pri zakonu µ nekoliko višje kot pri zakonu A. Pri obeh postopkih pa je SNR za izkrmiljenja pod -10 dB precej ugodnejši kot pri linearni kvantizaciji. 7.1 Analogno digitalna pretvorba signalov 145 V praksi logaritemske kvantizacije skoraj nikoli ne delamo neposredno. Pri kvantizaciji govornega signala, signal običajno najprej pretvorimo z 12-bitnim linearnim A/D pretvornikom in ga nato s pomočjo digitalne obdelave signalov logaritemsko stisnemo po zakonu A ali µ. Pretvorbo najpreprosteje izvedemo s pomočjo tabele, ki je zapisana v pomnilniku. Za zapis vseh 12-bitnih vrednosti potrebujemo pomnilnik s 4096 lokacijami na katerih so vpisane vrednosti logaritmov. Pretvorbo potem izvedemo s preprostim odčitavanjem ustreznih vrednosti iz tabele. 7.1.2.3 Kvantizacija s prevzorčenjem Doslej smo pri obravnavi kvantizacijskega šuma predpostavili, da je ločljivost kvantizatorja ome- jena z dolžino zapisa števila po kvantizaciji. V praksi pa ločljivost kvantizatorja pogosto ome- juje komparator, to je vezje, ki mora ločiti M kvantizacijskih nivojev. Pri 16 bitni kvanti- zaciji bi moral komparator ločiti M = 65535 nivojev, kar pa je izredno zahtevna naloga. Tako zahtevnemu komparatorju se lahko izognemo, če signal najprej močno prevzorčimo, ga kvan- tiziramo z večjim kvantizacijskim korakom in nato izločimo del kvantizacijskega šuma. Varianca signala σ2x in varianca kvantizacijskega šuma σ2q se pri povečanju vzorčne frekvence ne spremenita. Zato samo povečanje vzorčne frekvence ne more izboljšati razmerja med signalom in šumom SNR. Da bi lahko kasneje izboljšali SNR, moramo signalu pred vzorčenjem omejiti mejno frekvenco fm ≪ fvz/2, tako da signal dejansko prevzorčimo. Če so posamezne napake kvantizacijske napake med seboj neodvisne, ima kvantizacijski šum bel spekter in je spektralna gostota kvantizacijskega šuma Sq(Ω) enakomerno porazdeljena v celotnem pasu med 0 in π, spekter signala Sx(Ω) pa je omejen na področje med 0 in Ωm = π fm/fvz, kot je to prikazano na sliki 7.7. V skladu s Parsevalovim izrekom je moč signala enaka ploščini pod krivuljo gostote Slika 7.7 – Močnostni spekter signala in šuma pri prevzorčenju močnostnega spektra. Z nizkim sitom H(Ω) zadušimo šum nad mejno frekvenco, signal pa ostane nespremenjen. Varianca šuma σ2n se pri filtriranju zmanjša v razmerju: Ω 2f σ2 σ2 m m q n = σ2 = (7.52) π q = fvz kp kjer je z kp označen faktor prevzorčenja. Ker ostane moč signala nespremenjena se SNR poveča za faktor kp. Pri podvojitvi vzorčne frekvence se torej podvoji tudi SNR, kar ustreza povečanju resolucije kvantizatorja za 1/2 bita. Po filtriranju lahko signal decimiramo na osnovno vzorčno frekvenco, ki je le nekoliko višja od kritične vzorčne frekvence. Za znatno povečanje resolucije kvantizatorja bi morali izredno povečati vzorčno frekvenco. Razmere lahko prikažemo z zgledom. Kvantizirati želimo zvočni signal z mejno frekvenco 20 kHz 146 Praktični vidiki izvedbe diskretnih sistemov in resolucijo L = 16, kar ustreza zvočnemu zapisu laserske plošče. V vhodni stopnji izberemo kvantizator z ločljivostjo desetih bitov. Povečanje resolucije za šest bitov dosežemo s povečanjem standardizirane vzorčne frekvence 44,1 kHz za faktor 46 = 4096. Za opisani primer bi morali vzorčiti signal s frekvenco 180 MHz. Osnovni pretvornik z resolucijo deset bitov in vzorčno frekvenco 180 MHz bi bilo zelo težko izdelati v CMOS tehnologiji. Poleg tega se pri izredno velikem prevzorčenju signal spreminja zelo počasi v primerjavi z vzorčno frekvenco. Napake zaokroževanja zato med seboj niso več neodvisne in šum nima belega spektra, kar močno omejuje faktor prevzorčenja, ki še omogoča izboljšavo SNR. 7.1.3 Pretvorniki ∆Σ Pretvorniki na osnovi modulacije ∆Σ najprej v vhodni enoti modulirajo signal. Signal xq(t) na izhodu ∆Σ modulatorja, je dvonivojski signal z amplitudama ±X0. Signal pretvorimo v digitalen signal s pomočjo enobitnega A/D pretvornika, ki ugotavlja zgolj predznak signala na vhodu. Vzorčna frekvenca pretvornika fvz1 je mnogo višja od pasovne širine vhodnega signala. Želeno vzorčno frekvenco fvz2 dobimo z decimacijo, ki sledi digitalnemu situ proti prekrivanju. Načelna vezava je prikazana na sliki 7.8. Slika 7.8 – Načelna vezava pretvornika na osnovi modulacije ∆Σ Porazdelitev moči kvantizacijskega šuma ni enakomerna kot pri linearni večbitni kvantizaciji, temveč je poudarjena pri visokih frekvencah. Spektra želenega signala in šuma se pri dovolj velikem prevzorčenju skoraj ne prekrivata, zato nizko sito proti prekrivanju znatno zmanjša kvantizacijski šum. Zahtevana stopnja prevzorčenja za doseganje določene ločljivosti je pri ∆Σ pretvornikih ugodnejša kot pri pretvornikih z linearno večbitno kvantizacijo, kjer kvantizacijski šum pade v področje spektra signala. Pri ∆Σ pretvornikih imamo opravka z visokimi faktorji prevzorčenja in zanje potrebujemo preprosta, hitra analogna in dokaj obsežna digitalna vezja. Da bi lahko analizirali delovanje pretvornika, si moramo najprej ogledati delovanje modula- torja ∆Σ. Načelna vezava modulatorja in demodulatorja je prikazana na sliki 7.9. Signal napake ε(t) je enak razliki med vhodnim signalom in izhodnim signalom. Signal napake integriramo in nato ob vzorčnih trenutkih spreminjamo predznak izhodnega signala v skladu s predznakom signala napake. Izhodni signal se spreminja med vrednostma ±X0 tako, da sproti zmanjšuje vrednost integrala napake in s tem tudi srednjo vrednost signala napake. Če se vhodni signal ne bi spreminjal (enosmeren signal), bi bila srednja vrednost izhodnega signala kar enaka vhodnemu signalu. Kadar se vhodni signal spreminja relativno počasi glede na vzorčno frekvenco fvz1 lahko trdimo, da bo kratkotrajna srednja vrednost izhodnega signala približno enaka trenutni vrednosti vhodnega signala. Ker dobimo kratkotrajno srednjo vrednost s pomočjo nizkega sita, nizko sito služi tudi kot demodulator ∆Σ moduliranega signala. Sito proti 7.1 Analogno digitalna pretvorba signalov 147 Slika 7.9 – Struktura modulatorja in demodulatorja ∆Σ prekrivanju na sliki 7.8 bi zato lahko razlagali tudi kot digitalni demodulator, ki rekonstruira digitalno ∆Σ moduliran signal. Na sliki 7.10 je prikazan izhodni signal modulatorja ∆Σ pri vzbujanju s harmoničnim sig- nalom x(t) = X sin(ω0t). Čim višja je vzorčna frekvenca in čim manjše je razmerje X/X0, tem pogostejši so preskoki izhodnega signala, težišče spektralne gostote pa se pomakne k višjim frekvencam. Slika 7.10 – Izhodni signal modulatorja ∆Σ pri harmoničnem vzbujanju 7.1.3.1 Šum pri pretvorbi ∆Σ Pretvornik ∆Σ je izveden iz dveh delov: analognega modulatorja ∆Σ in digitalnega decimatorja. Modulator ∆Σ lahko izvedemo tudi digitalno. S praktičnega vidika taka izvedba nima smisla, saj bi morali pred modulator vključiti še zelo natančen A/D pretvornik, ki bi obenem deloval pri zelo visoki vzorčni frekvenci. Če bi imeli tak pretvornik na voljo, potem pretvornika ∆Σ ne bi potrebovali. Pri analizi šuma pa je predpostavka, da je modulator ∆Σ izveden kot diskretno vezje smiselna, saj močno olajša analizo. Diagram pretoka signala ustreznega vezja je prikazan na 148 Praktični vidiki izvedbe diskretnih sistemov sliki 7.11. X(z) je transform Z nekvantiziranega vhodnega signala. Integrator je nadomeščen Slika 7.11 – Linearizirani diskretni model modulatorja ∆Σ z zakasnitvijo z−1 v povratni vezavi. E(z) predstavlja transform Z kvantizacijskega šuma. Na ta način lahko nelinearno funkcijo kvantizatorja predstavimo v linearnem modelu. Pri tem se moramo zavedati, da šum ni popolnoma neodvisen od signala, zato tudi rezultati analize ne bodo povsem točni, služijo pa lahko za kvalitativno oceno. Izhodni signal Y (z) je posledica vhodnega signala X(z) in signala kvantizacijskega šuma E(z): Y (z) = Hx(z)X(z) + He(z)E(z) (7.53) pri čemer se prevajalna funkcija poti signala Hx(z) razlikuje od prevajalne funkcije poti kvan- tizacijskega šuma He(z). Prevajalno funkcijo poti signala obravnavamo kot vezje s povratno vezavo v skladu z enačbo (2.45), ki jo zaradi preglednosti zapišemo ponovno: H H(z) = 1(z) (7.54) 1 − H1(z)H2(z) kjer je H1(z) prevajalna funkcija napredujoče smeri in je v našem primeru enaka prevajalni funkciji diskretnega integratorja: 1 H1(z) = (7.55) 1 − z−1 H2 pa je funkcija v povratni vezavi, kjer imamo samo zakasnilni element in množenje z−1, torej velja: H2(z) = −z−1 (7.56) Vstavimo (7.55) in (7.56) v (7.54) in dobimo: 1 H 1 − z−1 x(z) = = 1 (7.57) z−1 1 + 1 − z−1 Prevajalna funkcija poti signala je torej enaka prevajalni funkciji vseprepustnega sita, kar pomeni, da pride sam signal skozi sistem nespremenjen. Tudi pot, po kateri gre kvantizacij- ski šum, lahko obravnavamo kot sistem s povratno vezavo, vendar tu velja: H1(z) = 1 (7.58) in z−1 H2(z) = − (7.59) 1 − z−1 7.1 Analogno digitalna pretvorba signalov 149 Prevajalna funkcija poti šuma je torej enaka: 1 He(z) = = 1 − z−1 (7.60) z−1 1 + 1 − z−1 Prevajalna funkcija šuma ima ničlo pri z = 1, kar povzroči močno slabljenje šuma pri nizkih frekvencah. Pri visokem prevzorčenju je zato večina moči šuma izven frekvenčnega področja signala. Šum izven frekvenčnega področja signala pa zadušimo s sitom proti prekrivanju pred decimacijo. Za oceno kolikšno je zmanjšanje šuma ob povečanju vzorčne frekvence, predpostavimo, da je kvantizacijski šum bel, z varianco σ2e. Sito proti prekrivanju pred decimatorjem ima mejno frekvenco Ωm = π/D, faktor decimacije D pa je enak faktorju prevzorčenja signala. Pred- postavimo dalje, da je decimacijsko sito idealno nizko sito, tako da prepušča šum zgolj pri frekvencah pod mejno frekvenco. Moč šuma na izhodu je tedaj v skladu s Parsevalovim teore- mom (1.100) enaka: σ2 Z Ωm P e e(D) = |H 2π e(eΩ)|2 dΩ = −Ωm σ2 Z π/D = e |1 − e−Ω|2 dΩ (7.61) 2π −π/D Kot rešitev gornjega integrala dobimo izraz: 1 sin(π/D) Pe(D) = 2 σ2e − (7.62) D π Funkcijo sinus v gornjem izrazu nadomestimo s prvima dvema členoma razvoja v vrsto: π . π π3 sin( ) = − (7.63) D D 6 D3 Dobimo: . σ2 P e π2 e(D) = (7.64) 3 D3 Označimo z K2 faktor izboljšanja SNR pri podvojitvi vzorčne frekvence. Ker je moč signala neodvisna od vzorčne frekvence, lahko zapišemo: P K e(D) 2dB = 10 log = 10 log 8 = 9.03 dB (7.65) Pe(2D) Vidimo, da se SNR izboljša za 9 dB pri vsaki podvojitvi vzorčne frekvence. Z večkratno zaporedno integracijo signala pred kvantizacijo dobimo ∆Σ pretvornike višjih redov, pri katerih je še povečan učinek slabljenja nizkofrekvenčnih komponent kvantizacijskega šuma. Na podoben način kot pri ∆Σ pretvorniku bi za pretvornik reda N ugotovili, da je faktor izboljšanja SNR pri podvojitvi vzorčne frekvence enak: K2dB = (2N + 1) · 3, 01 dB (7.66) Vidimo, da se SNR pri modulatorju ∆Σ drugega reda izboljša za 15 dB in pri modulatorju 3 reda že za 21 dB pri vsaki podvojitvi vzorčne frekvence. Zavedati se moramo, da smo pri 150 Praktični vidiki izvedbe diskretnih sistemov analizi uporabili lineariziran model in smo zanemarili odvisnost kvantizacijskega šuma od signala. Zaradi te odvisnosti so lahko rezultati nekoliko slabši, pretvorniki višjih redov pa lahko postanejo nestabilni, predvsem pri enobitni kvantizaciji, kjer je ta odvisnost najbolj izrazita. Ne glede na red pretvornika lahko uporabimo večbitni kvantizator. S tem močno zmanjšamo moč kvantizacijskega šuma, saj povečanje za 1 bit predstavlja povečanje razmerja S/N za 6 dB. Pri večbitnih kvantizatorjih je zelo pomembna linearnost karakteristike, ker se nelinearna popačenja neposredno preslikajo v izhodni signal. Pri zelo visokih vzorčnih frekvencah pa je težko zagotoviti veliko linearnost zato se v praksi uporabljajo le kvantizatorji do največ 6 bitov. A/D pretvornik akustičnih signalov z ločljivostjo 16 bitov pri frekvenci vzorčenja 44,1 kHz (kvaliteta akustičnega signala na laserski plošči) lahko izdelamo z modulatorjem ∆Σ drugega reda s pet-bitnim kvantizatorjem in vzorčno frekvenco 1,5 MHz. Pretvorniki na osnovi modulacije ∆Σ so poleg pretvorbe akustičnih signalov zelo uporabni tudi za pretvorbo drugih nizkopasovnih realnih signalov, realnih in kompleksnih pasovnih signa- lov in tudi za pretvorbo signalov v vzporednih naborih pasovnih sit. 7.2 Digitalno analogna pretvorba signalov Dosedanja izvajanja v 3. poglavju so nazorno predstavila postopek rekonstrukcije zveznega sig- nala, vendar praktična izvedba D/A pretvornika neposredno na tej osnovi ni mogoča predvsem iz dveh razlogov: • Iz digitalnega signala bi morali generirati signal xδ(t) oziroma niz uteženih enotskih impul- zov s ploščinami, ki bi bile enake vrednostim vzorcev. V realnih sistemih tega ne moremo narediti. Namesto tega lahko vzorce diskretnega signala pretvorimo le v impulze končne širine. • Sistemska funkcija rekonstrukcijskega sita ima nekavzalen odziv in zato tako sito ni izvedljivo. V ta namen potrebujemo analogno sito z odzivom, ki je približek odziva ideal- nega sita z mejno frekvenco med ωm in ωvz/2. V praksi je rekonstrukcijsko vezje sestavljeno iz: • Generatorja impulzov, ki digitalni signal pretvori v niz impulzov širine τ in amplitude x[n]. • Rekonstrukcijskega sita, ki je analogno nizko sito pasovne širine med ωm in ωvz/2. Na sliki 7.12 je prikazana načelna vezava rekonstrukcijskega vezja. Slika 7.12 – Sistem za rekonstrukcijo Če tvorimo časovni diskretni signal z nizom zelo ozkih uteženih impulzov širine τ ≪ Tvz in amplitude xn, dobimo po interpolaciji zvezen signal verne oblike in zelo majhne amplitude. Z naraščanjem širine impulzov τ linearno narašča amplituda rekonstruiranega signala, vendar pa se spremeni njegova frekvenčna karakteristika. 7.2 Digitalno analogna pretvorba signalov 151 7.2.1 Rekonstrukcija signala z impulzi končne širine Analizirajmo interpolacijo niza impulzov širine τ z amplitudami vzorcev x[n]. Širina impulzov lahko doseže največ vrednost Tvz. Generator realnih impulzov širine τ lahko matematično predstavimo kot zaporedno vezavo generatorja idealnih δ impulzov in analognega nizkega sita oblike impulza s sistemsko funkcijo hτ (t), kot je to prikazano na sliki 7.14. Slika 7.13 – Sistemska funkcija vrinjenega sita Slika 7.14 – Ponazoritev generatorja impulzov Med generator δ impulzov in rekonstrukcijsko sito je vrinjeno nizko sito, ki pokvari frekvenčni potek signala. Da bi na izhodu vrinjenega sita res dobili impulze širine τ , mora biti sistemska funkcija enaka obliki impulza, kot je vidno na sliki 7.13, saj so na vhodu δ impulzi, sistemska funkcija pa je definirana kot odziv sistema na δ impulz. Prevajalna funkcija sita Hτ (ω) je enaka FT sistemske funkcije: Z τ /2 sin(ωτ /2) Hτ (ω) = e−ωtdt = τ (7.67) −τ /2 ωτ /2 Amplitudna karakteristika Aτ (ω) vrinjenega sita se množi z amplitudno karakteristiko rekon- strukcijskega sita. Amplitudna karakteristika pri različnih širinah impulzov τ je prikazana na sliki 7.15. Slika 7.15 – Amplitudna karakteristika pravokotnemu impulzu ekvivalentnega sita Amplituda je največja pri impulzih širine τ = Tvz, to je, kadar je izhodni signal D/A pretvornika stopničasta funkcija, vendar dobimo pri tej širini impulzov tudi največje odstopanje od idealno ravne amplitudne karakteristike. 152 Praktični vidiki izvedbe diskretnih sistemov Odstopanja od idealne karakteristike pri stopničastem signalu lahko preprosto kompenziramo s korekcijskim digitalnim sitom pred D/A pretvornikom. Prevajalna funkcija korekcijskega sita mora biti enaka inverzni vrednosti prevajalne funkcije Hτ (ω): Ω Hk(Ω) = H−1 τ ( ) ; |Ω| < π (7.68) Tvz Pri korekciji digitalnega signala lahko uporabimo sita vrste IIR ali FIR. Za zgled si oglejmo preprosto sito IIR prvega reda s prevajalno funkcijo: b Hk(z) = (7.69) 1 + az−1 Normirana korigirana amplitudna karakteristika: a(ω) = 20 log [Hk(ωTvz) Hτ(ω)/Tvz] (7.70) ki jo dobimo po korekciji s sitom IIR prvega reda pri a = 0, 224 in b = 1, 092, je prikazana na sliki 7.16. Vidimo, da že z zelo preprostim sitom dosežemo valovitost 1 dB v frekvenčnem Slika 7.16 – S sitom IIR prvega reda kompenzirana amplitudna karakteristika D/A pretvornika področju pod polovico vzorčne frekvence, z malo zahtevnejšim sitom pa lahko dosežemo še bistveno manjša odstopanja od ravne karakteristike. Vpliv širine impulza lahko upoštevamo že v predhodni obdelavi signala, tako da vključimo zahtevano korekcijo v sita, ki jih potrebujemo pri obdelavi signala. Tako načrtovanje sit je označeno kot načrtovanje s kompenzacijo sin(x)/x. 7.2.2 Rekonstrukcija s predhodno interpolacijo Odstopanje frekvenčne karakteristike zaradi širokih rekonstrukcijskih impulzov postane skoraj zanemarljivo, če signal pred rekonstrukcijo interpoliramo s faktorjem interpolacije I: fvz2 = I fvz1 (7.71) Kot širino impulza vzamemo nov vzorčni interval: T τ = T vz1 vz2 = (7.72) I Frekvenčna karakteristika sita oblike impulza Hτ (ω) se zato raztegne po frekvenčni osi, mejna frekvenca signala pa ostane nespremenjena. Na sliki 7.17 je shematsko prikazan primer pri interpolaciji za faktor I = 4. Vidimo, da širina impulza le še malo vpliva na slabljenje signala do mejne frekvence. Zaradi prevzorčenja se ponovitve spektra okrog mnogokratnikov frekvence močno razmaknejo, poleg 7.2 Digitalno analogna pretvorba signalov 153 Slika 7.17 – Spekter signala pri rekonstrukciji z interpolacijo I = 4 tega pa so še oslabljene, saj nastopajo ničle sita oblike impulza ravno pri mnogokratnikih vzorčne frekvence in močno oslabijo ponovljene spektre. To močno zmanjša zahteve za analogno rekon- strukcijsko sito, saj je prehodno področje zelo široko, zahteve po slabljenju pa so tudi manjše. Če dodamo še korekcijsko IIR sito z enim polom, ki smo ga obravnavali v prejšnjem razdelku, dobimo z izbiro a = 0, 105 in b = 1, 10476 v področju pod mejno frekvenco signala skoraj idealno ravno karakteristiko z valovitostjo pod 0,002 dB, kot je to prikazano na sliki 7.18. Slika 7.18 – S sitom IIR prvega reda korigiran potek prevajalne funkcije pri štirikratnem prevzorčenju Za poenostavitev rekonstrukcijskega vezja se v D/A pretvornikih za reprodukcijo laserskih plošč pogosto uporablja osemkratno prevzorčenje. 7.2.3 D/A pretvorba harmoničnega signala Rekonstrukcija digitalnega harmoničnega signala stalne amplitude, ki je vzorčen le malo nad kritično frekvenco, je problematična. Za zgled si oglejmo sinusni signal s frekvenco Ω0 = 0.94π. Na sliki 7.19 so prikazani vzorci x[n] in stopničast signal po D/A pretvorbi xτ (t) pred rekon- strukcijskim sitom. Ker je frekvenca harmoničnega signala blizu polovice frekvence vzorčenja, imamo na eno periodo vzorčenega signala približno po dva vzorca. Amplitude vzorcev se spreminjajo med 0 in temensko vrednostjo signala s frekvenco ωvz − ω0. Da bi dobili iz signala xτ (t) po filtriranju z rekonstrukcijskim sitom rekonstruiran signal ˆ x(t) s konstantno amplitudo, bi moralo imeti rekonstrukcijsko sito zelo veliko vztrajnost, saj bo v nasprotnem primeru signal amplitudno moduliran. Razmere lahko še nazorneje prikažemo v frekvenčnem prostoru. Na sliki 7.20 je shematsko prikazan amplitudni spekter signala na izhodu A/D pretvornika Xτ (ω) in spekter rekonstru- iranega signala ˆ X(ω). Prva ponovljena spektralna komponenta je zelo blizu želeni komponenti, zato je z neidealnim rekonstrukcijskim sitom ne moremo popolnoma izločiti. Na izhodu dobimo zato signal, ki vsebuje 154 Praktični vidiki izvedbe diskretnih sistemov Slika 7.19 – D/A pretvorba harmoničnega signala Ω0 = 0, 94 π Slika 7.20 – Vpliv rekonstrukcijskega sita pri D/A pretvorbi harmoničnega signala dve spektralni komponenti, ki sta le malo razmaknjeni, zato dobimo utripanje amplitude. Če bi imelo rekonstrukcijsko sito pri ωvz − ω0 slabljenje 10 dB, kar je lahko zelo velika zahteva, kadar je vzorčna frekvenca le malo nad kritično, bi izhodni signal izgledal kot je prikazan na sliki 7.20. 7.3 Obdelava signalov s končno natančnostjo Pri obdelavi signalov imamo opravka z aritmetičnimi enotami, ki delujejo z različnimi formati zapisa števil. Ločimo predvsem zapisa s stalno in plavajočo vejico, oba pa sta omejena na določeno število binarnih mest. Pri analizi diskretnih sit smo predpostavljali, da so koeficienti sit realna števila. Pri izvedbi moramo koeficiente zaokrožiti na natančnost, ki jo dopušča uporabljena strojna oprema. Zaradi zaokroževanja se spremenijo karakteristike sit, ki smo jih načrtovali ob predpostavki, da so koeficienti popolnoma natančni. Vpliv kvantizacije koeficientov bistveno zmanjšamo, če že pri načrtovanju upoštevamo kvantizacijo in uporabimo posebne načrtovalske postopke, ki na osnovi zahtevane frekvenčne karakteristike izračunavajo že kvantizirane vrednosti koeficientov. Vpliv kvantizacije koeficientov je močno odvisen od vrste, reda in strukture sit. Največ vpogleda dobimo, če raziščemo vpliv kvantizacije koeficientov na lokacije polov in ničel v ravnini z. 7.3 Obdelava signalov s končno natančnostjo 155 Poleg zaokroževanja koeficientov pa moramo zaokroževati tudi rezultate aritmetičnih op- eracij, ki povečajo dolžino zapisa števila. Pri digitalni obdelavi signalov so to predvsem množenja. Pri množenju je dolžina rezultata enaka vsoti dolžin posameznih operandov. Zaokroževanje vmesnih rezultatov teče za razliko od zaokroževanja koeficientov ves čas ob- delave, zato je vpliv zaokroževanja vmesnih rezultatov podoben vplivu zaokroževanja signala pri pretvorbi A/D in ga obravnavamo kot šum. Vmesni rezultati lahko pri zapisu s stalno vejico presežejo maksimalno vrednost zapisa, zato moramo vmesne rezultate sproti skalirati. 7.3.1 Kvantizacija koeficientov sit FIR Pri sitih FIR je prevajalna karakteristika določena izključno z legami ničel. Pri realizaciji v direktni obliki imamo torej opravka s polinomom višjega reda H(z) in bi pričakovali močan vpliv kvantizacije koeficientov. To ne drži. Ničle, ki določajo potek v prepustnem področju sita, leže precej stran od frekvenčne krožnice. Na frekvenčni potek vpliva razdalja med ničlo in točkami na frekvenčni krožnici. Ker se zaradi kvantizacije koeficientov ta razdalja le malo spremeni, kvantizacija koeficientov ne bo bistveno vplivala na potek prevajalne funkcije v prepustnem področju sita. Če želimo, da ima sito FIR linearen fazni potek, morajo biti koeficienti sita simetrični oziroma antisimetrični. S kvantizacijo simetrije ne pokvarimo, zato sito tudi po kvantizaciji ohrani linearen fazni potek pri nekoliko spremenjeni amplitudni karakteristiki. Ničle, ki določajo karakteristiko filtra v zapornem območju, leže na frekvenčni krožnici ali v njeni neposredni bližini. Kvantizacija bo morebiti dve ničli, ki ležita na frekvenčni krožnici ena poleg druge, izmaknila iz kroga v recipročno dvojico ničel. Odmik ničel od frekvenčne krožnice povzroča zmanjšanje slabljenja v zapori. Za zgled si oglejmo karakteristiko sita FIR dolžine N = 38 z 8 bitnimi koeficienti. Razlika med karakteristiko z natančno izračunanimi koeficienti in z grobo kvantiziranimi koeficienti je sorazmerno majhna in opazna predvsem v področju zapore. Slika 7.21 – Vpliv zaokroževanja koeficientov na 8 bitov pri situ FIR (N = 38) 156 Praktični vidiki izvedbe diskretnih sistemov 7.3.2 Zaokroževanje vmesnih rezultatov sit FIR Oglejmo si še učinek zaokroževanja vmesnih rezultatov na izhodne vzorce sita FIR, ki jih računamo po enačbi: N y[n] = X bm x[n − m] (7.73) m=0 Naj bodo koeficienti zapisani z Lk biti in vzorci signala z Ls biti. Za natančen zapis rezultata množenja potrebujemo Lk + Ls − 1 bitov. Predpostavimo, da računamo gornjo enačbo tako, da rezultat posameznih množenj vzorca signala z ustreznim koeficientom sproti prištevamo vmes- nemu rezultatu v registru procesorja. Pri tem ločimo dva primera: • Register procesorja je dovolj dolg, da omogoča shranjevanje natančnih vmesnih rezultatov. V tem primeru moramo zaokrožiti na Ls bitov le izhodne vzorce sita. Zaokroževanje izhodnih vzorcev ima enak učinek, kot ga ima zaokroževanje vzorcev signala pri A/D pretvorbi. Pri zapisu s stalno vejico je učinek, enak kot pri linearni kvantizaciji, pri zapisu s plavajočo vejico pa približno enak kot pri logaritemski kvantizaciji. • V registru procesorja lahko zapišemo število z enako natančnostjo, kot je zapis vzorcev signala. Vsak produkt koeficienta in vzorca signala moramo potem sproti zaokrožiti in tako zaokrožene vrednosti prišteti vrednosti v registru. V situ reda N z N + 1 odcepi imamo N + 1 zaokroževanj, kar da v izhodnem signalu N + 1 krat večjo moč kvantizacijskega šuma v primerjavi s prvim primerom. Iz gornjih razlogov ima večina signalnih procesorjev dvojno dolžino registrov za shranjevanje vmesnih rezultatov. Procesorji s plavajočo vejico imajo poleg tega, da so preprostejši za uporabo, tudi prednost, da vnašajo manj kvantizacijskega šuma zaradi zaokroževanja vmesnih rezultatov. 7.3.3 Kvantizacija koeficientov sit IIR Vpliv zaokroževanja na lego ničel smo obravnavali že pri sitih FIR. Sita IIR imajo v prevajalni funkciji poleg ničel tudi pole, ki vplivajo na frekvenčno karakteristiko sita. Sprememba koe- ficientov an ima na lego polov popolnoma enak vpliv, kot ga ima sprememba koeficientov bn na lego ničel. Ker pa leže pri sitih IIR poli, ki vplivajo na karakteristiko sita v prepustnem področju, v bližini frekvenčne krožnice, lahko že majhen premik lege povzroči veliko odstopanje frekvenčne karakteristike v prepustnem področju. Poli, ki ležijo zelo blizu frekvenčne krožnice, se utegnejo zaradi kvantizacije premakniti na samo krožnico in povzročiti nestabilnost sita. Oglejmo si najprej vpliv kvantizacije na sito prvega reda s prevajalno funkcijo: 1 H(z) = (7.74) 1 − az−1 Pol leži pri vrednosti a na realni osi v ravnini z. Vrednosti a smejo biti le na intervalu med -1 in 1. Natančnost kvantizacije koeficienta a neposredno vpliva na natančnost lege pola v ravnini z. Z zapisom dolžine L bitov dobimo največ 2L možnih leg pola na realni osi. Z enim polom lahko naredimo nizko ali visoko sito. Pasovna širina sita se manjša, njegova kvaliteta pa narašča s približevanjem pola frekvenčni krožnici. Kvantizacija koeficienta a je 7.3 Obdelava signalov s končno natančnostjo 157 lahko problematična le pri sitih zelo visoke kvalitete, drugače pa povzroči zgolj nenatančnost pri nastavitvi pasovne širine sita. Pri situ drugega reda ima kvantizacija vrednosti koeficientov močnejši vpliv. Vzemimo, da imamo pasovno sito s kompleksno konjugirano dvojico polov pri r e± ϕ s prevajalno funkcijo: 1 1 H(z) = = (7.75) 1 + a1z−1 + a2z−2 (1 − r e ϕ z−1)(1 − r e− ϕ z−1) Z izenačenjem imenovalcev v gornjem izrazu dobimo: a1 = −2 r cos ϕ = −2 ℜ[zp] a2 = r2 (7.76) in od tod možne lege polov: Q(a ℜ[z 1) p] = 2 q |zp| = Q(a2) (7.77) kjer je s Q(·) označena funkcija zaokroževanja na najbližjo vrednost pri dani natančnosti zapisa koeficientov. Kvantizacija koeficienta a1 vpliva na kvantizacijo realnega dela oziroma odmaknjenost polov v smeri realne osi. Pola lahko zato ležita le na navpičnih premicah, ki so med seboj razmaknjene za polovico kvantizacijskega koraka ∆. Kvantizacija koeficienta a2 pa vpliva na radij, na katerem ležita pola, zato lahko pola ležita le na koncentričnih krogih, katerih radiji se zaradi kvadratnega korena v gornjem izrazu ne spreminja linearno. Pri stabilnih sitih ležijo poli v enotskem krogu, zato mora veljati: |a1| ≤ 2 |a2| ≤ 1 (7.78) Če bi v celoti izkoristili dolžino zapisa koeficientov, bi bila, pri dani dolžini L, velikost kvan- tizacijskega koraka ∆ določena s koeficientom a1, ki ima lahko vrednosti v mejah med -2 in 2: 4 ∆ = (7.79) 2L Možne lege polov pri grobi kvantizaciji (L = 5) so prikazane na sliki 7.22. Konjugirano kompleksne dvojice polov lahko leže le na presečiščih navpičnih premic s krožnicami. Vidimo, da je gostota možnih lokacij v bližini ± mnogo večja kakor v bližini ±1. Majhna gostota možnih lokacij je tudi okoli z = 0, kar pa ni problematično. Polov, ki leže na realni osi v izračunu nismo upoštevali, saj smo predpostavili konjugirano kompleksen par polov. Realni poli lahko leže tudi izven presečišč mreže. Gostota možnih leg je tu precej večja kot pri konjugirano kompleksnih parih, kar daje vtis, da lahko njihove lege kljub zaokroževanju koeficientov določamo zelo natančno. Tak vtis je napačen, ker zaokroževanje koeficientov a1 in a2 polov na realni osi ne premakne v najbližji možni legi. Za primer si oglejmo 158 Praktični vidiki izvedbe diskretnih sistemov Slika 7.22 – Mreža, ki določa možne lege polov sita drugega reda pri L = 5 dvakratni pol pri z = 0, 75, ki ga dobimo pri vrednostih koeficientov a1 = −3/2 in a2 = 9/16. Pri L = 5 velja ∆ enak 1/8. Koeficienta a1 torej ni potrebno zaokrožiti, koeficient a2 pa lahko zaokrožimo navzdol na 1/2 ali navzgor na 5/8. V prvem primeru dobimo par polov na realni osi zp1 = 0, 5 in zp2 = 1, v drugem primeru konjugirano kompleksen par polov zp1,2 = 0, 75 ± 0, 25 . Vidimo, da so odstopanja kar precejšna glede na gostoto možnih lokacij na realni osi. Razmere so prikazane na sliki 7.23. Pri situ prvega reda lahko lege polov na realni osi določimo bistveno natančneje. Slika 7.23 – Zaokroževanje koeficienta a2 pri dvakratnem polu Če bi imelo sito poleg polov tudi ničle, ki bi ležale zunaj enotinega kroga, bi morali še povečati kvantizacijski korak, saj bi bil koeficient b1 v tem primeru po absolutni vrednosti lahko večji od 2. Prednost pri situ drugega reda v primerjavi s siti višjih redov, ki smo jih obravnavali pri sitih FIR, je v tem, da lahko ničle postavimo točno na krožnico in s tem dosežemo ugodnejši potek v zapornem področju. 7.4 Digitalni signalni procesorji 159 Analiza postane precej bolj zapletena, če povečujemo red sita. Če ohranimo direktno obliko, določa kvantizacija koeficienta a4 pri redu sita N = 3 vse možne radije, na katerih lahko ležale √ poli. Za radije velja r = 4 a4, kar povzroči še večjo neenakomernost razdalj med krožnicami. Občutljivost leg polov na kvantizacijo v splošnem narašča z redom sita pri direktni obliki reali- zacije. Zato sita višjih redov običajno realiziramo kot zaporedne ali vzporedne vezave filtrskih celic drugega reda. Pri serijski vezavi sit drugega reda imamo izraz: 1 + b H(z) = H i1z−1 + bi2z−2 i0 (7.80) 1 + ai1z−1 + ai2z−2 Če števec gornjega izraza določa ničle, ki prispevajo slabljenje v zapornem območju, bodo te ničle ležale na frekvenčni krožnici znotraj zapornega področja, s čimer je lega dvojic ničel podana z e±ϕi . Iz tega sledi, da je bi2 = 1 in bi1 = −2 cos(ϕ). Prvi pogoj ni vprašljiv, kvantizacija koeficienta bi1 pa lahko ničlo samo malo zamakne po enotinem krogu. Pri paralelni strukturi sita na osnovi celic drugega reda se izkaže, da je ta realizacija bolj občutljiva glede na kvantizacijo koeficientov, ki določajo ničle posameznih celic. 7.3.4 Zaokroževanje vmesnih rezultatov sit IIR Analiza vpliva zaokroževanja vrednosti produktov pri sitih IIR je precej bolj zahtevna kot pri sitih FIR. Vsako zaokroževanje prispeva kvantizacijski šum z naravo belega šuma. Posamezni šumni prispevki pridejo na izhod sita po različnih poteh z različnimi prevajalnimi funkcijami. Šum na izhodu nastane zato kot vsota velikega števila različno obarvanih šumov. Na moč izhodnega šuma vpliva struktura sita in vrstni red posameznih stopenj v sitih višjega reda. 7.4 Digitalni signalni procesorji Vezja za digitalno obdelavo signalov lahko izvedemo neposredno z uporabo ustreznih integriranih elektronskih komponent, kot so to zakasnilne celice, pomikalni registri, seštevalniki, množilniki in podobno. Veliko število takšnih komponent je lahko integrirano v enem samem integriranem vezju, na voljo pa so tudi integrirana vezja z osnovnimi gradniki, ki jih je mogoče povezovati pro- gramsko – programabilna integrirana vezja. V zadnjem času imajo prednost predvsem izvedbe z digitalnim signalnim procesorjem (DSP), saj njihova računska moč in hitrost naraščata, obenem pa njihova cena pada. Signalni procesor je v osnovi mikroprocesor z arhitekturo, prilagojeno digitalni obdelavi signalov. Večnamenski mikroprocesorji so običajno zasnovani na klasični von Newmanovi arhitekturi, ki predvideva skupno vodilo za podatke in ukaze, medtem ko so digi- talni signalni procesorji zasnovani na Harvard arhitekturi, pri kateri sta ločeni podatkovno in programsko vodilo. Načelna arhitektura signalnega procesorja je prikazana na sliki 7.24. Pri izvedbi digitalnih sit se zelo pogosto pojavlja kombinacija računskih operacij, pri ka- teri moramo zmnožiti dve števili in rezultat prišteti prejšnjemu rezultatu. Pri klasični izvedbi procesorja moramo zato opraviti veliko število korakov: • prebrati ukaz iz programskega pomnilnika, • nastaviti naslov prve vrednosti, 160 Praktični vidiki izvedbe diskretnih sistemov Slika 7.24 – Načelna arhitektura signalnega procesorja • prebrati prvo vrednost v register, • nastaviti naslov druge vrednosti, • prebrati drugo vrednost v register, • zmnožiti obe vrednosti, • prebrati ukaz iz programskega pomnilnika, • rezultat prišteti prejšnjemu rezultatu, ki je shranjen v registru. Večino zgoraj naštetih operacij lahko opravimo v enem urinem taktu procesorja, z izjemo množenja, ki je zahtevna operacija in zahteva večje število procesorskih ciklov, ki je odvisno od dolžine operandov. Za celoten postopek bi pri klasičnem procesorju zato potrebovali okrog 40 procesorskih ciklov. Arhitektura signalnega procesorja prikazana na sliki 7.24 omogoča, da potrebuje procesor za izvedbo bistveno manjše število korakov. Ker sta ločeni programsko in podatkovno vodilo, lahko hkrati z branjem oziroma shranjevanjem podatka in izvajanjem trenutnega ukaza prebere in pripravi za izvajanje naslednji ukaz iz programskega pomnilnika. Tak način delovanja imenu- jemo tudi cevovodni način. Paralelni množilnik omogoča izvedbo operacije množenja v enem procesorskem ciklu, ker pa je seštevalnik v ločeni aritmetično logični enoti (ALU - Aritmetic and Logic Unit), lahko procesor v istem ciklu v cevovodnem načinu opravi tudi eno seštevanje. Nekoliko dražji procesorji imajo že vgrajeno množenje in seštevanje s plavajočo vejico (ang. floating point), medtem ko cenejši omogočajo zgolj operacije s celimi števili. Pogosto je v digitalnih signalnih procesorjih ločen tudi vhodni in izhodni pomnilnik, tako da se lahko hkrati z branjem novega podatka shrani tudi prejšnji rezultat. Izkoriščanje cevovodnega načina delovanja signalnega procesorja je lahko programsko zelo zahtevno. V celoti ga lahko izkoristimo le, če program napišemo v zbirnem jeziku procesorja. Pri uporabi višjih programskih jezikov (običajno je to programski jezik C) moramo večino op- timizacije prepustiti prevajalniku. Zavedati pa se moramo, da prevajalnik ne more tako dobro 7.5 Problemi 161 optimizirati kot bi to lahko storil programer, ki pozna vsebino problema in lahko po potrebi tudi prilagodi sam algoritem. Poleg cevovodnega načina delovanja so v digitalnih signalnih procesorjih obdelavi signalov prilagojeni tudi različni načini naslavljanja. Tipično imajo digitalni signalni procesorji vgrajeno naslavljanje s hkratnim povečanjem naslova in krožni način naslavljanja, ki ju potrebujemo za izvedbo pomikalnega registra ter bitno reverzni način naslavljanja, ki ga potrebujemo za FFT. Novejši digitalni signalni procesorji imajo lahko vgrajenih več ALU enot in množilnikov, tako da je mogoče vzporedno izvajanje večjega števila ukazov s pomočjo tako imenovanega nabora zelo dolgih ukazov (VLIW - Very Large Instruction Word). Izkoriščanje take arhitekture pa je programsko še mnogo zahtevnejše. 7.5 Problemi 1. Določite lego pola nizkega sita prvega reda z mejno frekvenco 100 Hz pri tolerancah 10 Hz in vzorčni frekvenci 50 kHz. S koliko biti moramo zapisati koeficient filtra? S koliko biti lahko zapišemo koeficient za enako vrsto nizkega sita s pasovno širino 10 kHz pri enakih tolerancah? 2. Imamo pasovno zaporno sito drugega reda z dvojno ničlo pri π/6 na frekvenčni krožnici in dvojni pol pri istem kotu in na razdalji od središča d = 0.98. V prvem primeru vzemite natančen zapis, v drugem pa zaokrožene vrednosti na 8 bitov, kjer imamo en bit za pred- znak in ostale bite za vrednost med 0 in 2! Kakšni pasovni širini dobimo? 3. Sito FIR z zaokroženimi koeficienti lahko predstavimo kot vzporedno vezavo dveh sit FIR enakega reda. Koeficienti prvega naj bodo enaki natančno izračunanim koeficientom, koe- ficienti drugega pa so enaki razliki hǫ[n] = hq[n] − hideal[n]. Za karakteristiko sita vzemite odziv idealnega sita širine π/8 reda N = 256, uteženega s Hammingovim oknom. Za sito s koeficienti napake določite frekvenčno karakteristiko! Dodatek 163 A Analogni signali A.1 Definicija in matematični zapis analognega signala Signal je poljubna fizikalna veličina (napetost, tok, električno in magnetno polje, pritisk, . . .), ki se spreminja z eno ali več neodvisnimi spremenljivkami. Te so lahko na primer čas, prostor, temperatura in podobno. V praksi se pogosto omejimo na najpreprostejše signale, to je signale, ki se spreminjajo zgolj s časom. Tak signal matematično zapišemo kot funkcijo časa t. Pri signalih, ki predstavljajo neko fizikalno veličino, uporabljamo ustrezna imena funkcij, številčne vrednosti pa podajamo z ustreznimi enotami: u(t) - napetost, i(t) - tok, p(t) - pritisk, ... [merska enota] Pogosto fizikalna narava signala, ki ga opazujemo, ni pomembna in je zato ne upoštevamo. Tak signal imenujemo splošen signal in njegove vrednosti podajamo brez enot: x(t) - vhodni signal, y(t) - izhodni signal (brez enot) Signale pogosto predstavljamo grafično. Grafična predstavitev splošnega signala je prikazana na sliki A.1. Slika A.1 – Grafični prikaz analognega signala A.2 Vrste analognih signalov Signale lahko delimo na več načinov na osnovi raznih lastnosti. Izberimo delitve na osnovi • energije oziroma povprečne moči – energijski in – močnostni signali, • periodičnosti – periodični – aperiodični signali in 165 166 Dodatek Analogni signali • poznavanja signala – deterministični in – naključni signali. A.2.1 Energijski in močnostni signali Na osnovi energije signala oziroma njegove povprečne moči delimo signale na energijske in močnostne. Energijski so signali, ki imajo končno energijo. Ker je energija v naravi končna, so vsi fizikalni signali energijski signali. Močnostne imenujemo signale, ki imajo neskončno energijo in končno povprečno moč. V naravi ni močnostnih signalov. Signale, ki jih opazujemo samo določen čas, lahko predstavimo kot močnostne signale, če predpostavimo, da trajajo neskončno dolgo. Uporaba močnostnih signalov je zelo primerna z matematičnega vidika in pri obdelavi signalov. Poleg signalov s končno močjo včasih uporabljamo tudi signale z neskončno močjo, predvsem kot matematično orodje, ki služi za poenostavitev zapisa. Primer takega signala je niz enotinih impulzov. A.2.2 Periodični in aperiodični signali Periodični signali so tisti signali, ki se ponavljajo v neskončnost. Perioda signala T je najmanjša pozitivna vrednost (T > 0), ki zagotavlja veljavnost izraza: x(t) = x(t + T ) (A.1) To je čas, po katerem se začne signal prvič ponavljati. Periodičnost imamo tudi pri poljubnem mnogokratniku periode kT , kjer je k celo število. Če poznamo signal znotraj ene periode, poz- namo signal za celotno časovno območje −∞ < t < ∞. Ker trajajo periodični signali neskončno dolgo, imajo neskončno energijo. Običajno imajo omejeno povprečno moč, zato jih uvrščamo med močnostne signale. V naravi lahko signali izpolnjujejo pogoj (A.1) le v omejenem časovnem intervalu, ker se vsi signali nekoč začnejo in končajo. Grafična predstavitev periodičnega signala je na sliki A.2 a. Aperiodični signali so signali, ki jim ne moremo določiti periodičnosti oziroma gre njihova perioda preko vseh meja (T → ∞). Značilen predstavnik aperiodičnega signala je signal, ki je različen od 0 le znotraj določenega časovnega intervala. Običajno ima tak signal omejeno energijo, zato ga štejemo med energijske signale. Skica časovno omejenega aperiodičnega signala je na sliki A.2 b. A.2.3 Deterministični in naključni signali Deterministične imenujemo signale, za katere v celoti poznamo njihov potek. Običajno jih lahko zapišemo kot matematično funkcijo. Primer determinističnega signala je periodičen signal. Naključni signali so po naravi aperiodični in so zanje podane le statistične lastnosti, kot sta amplitudna porazdelitev p(x) in varianca σ2x. Pri naključnih signalih lahko poznamo zgodovino signala, ne poznamo pa njegove prihodnosti. Ker ne poznamo v celoti njihovega poteka, vza- memo, da trajajo neskončno dolgo in jih zato uvrščamo med močnostne signale. Pri obdelavi A.3 Značilne vrednosti analognih signalov 167 signalov imamo večinoma opravka z naključnimi signali. Grafični prikaz naključnega signala je podan na sliki A.2 c. Slika A.2 – Grafična predstavitev a) periodičnega, b) aperiodičnega in c) naključnega signala A.3 Značilne vrednosti analognih signalov Signale lahko med seboj primerjamo na osnovi njihovih značilnih vrednosti. Za različne vrste signalov si bomo ogledali naslednje značilne vrednosti: • srednjo vrednost ali enosmerno komponento, • energijo, • srednjo moč in • varianco ali izmenično moč Pri energijskih signalih je zanimiva predvsem energija signala, ki je podana z: Z ∞ E = x2(t) dt (A.2) −∞ Vse ostale zgoraj naštete značilne vrednosti so enake 0, ker pri izračunu enosmerne kompo- nente in srednje moči signala povprečimo čez neskončen časovni interval, kot bomo to videli v naslednjem razdelku. Energija močnostnih signalov je neskončna, ostale značilne vrednosti močnostnih signalov pa so podane v razpredelnici A.1. Za določitev značilnih vrednosti naključnih signalov moramo poznati njihovo gostoto verjetnostne porazdelitve p(x). A.4 Korelacijska funkcija Korelacijska funkcija je funkcija, s katero lahko primerjamo dva signala med seboj. Avtoko- relacijska funkcija je integral produkta prvega signala in zamaknjene različice drugega signala in je funkcija časovnega zamika τ . Avtokorelacijska funkcija je definirana različno za posamezne vrste signalov: 168 Dodatek Analogni signali značilna periodični aperiodični naključni vrednost signali signali signali srednja 1 Z 1 Z Z ∞ vrednost x(t) dt lim x(t) dt x p(x) dx T T T →∞ T T −∞ x srednja 1 Z 1 Z Z ∞ moč x2(t) dt lim x2(t) dt x2p(x) dx T T T →∞ T T −∞ x2 varianca 1Z 1Z Z ∞ (x(t)−x)2dt lim (x(t)−x)2dt (x−x)2p(x)dx σ2 T T T →∞ T T −∞ x Tabela A.1 – Značilne vrednosti močnostnih signalov Periodični signali 1 Z Rxy(τ ) = x(t)y(t + τ ) dτ (A.3) T T Aperiodični energijski signali Z ∞ rxy(τ ) = x(t)y(t + τ ) dτ (A.4) −∞ Aperiodični močnostni signali 1 Z Rxy(τ ) = lim x(t)y(t + τ ) dτ (A.5) T →∞ T T A.5 Avtokorelacijska funkcija Avtokorelacijsko funkcijo dobimo, če v korelacijski funkciji drugo funkcijo, to je y(t), nadomes- timo s prvo, to je x(t). Signal torej primerjamo sam s seboj. Vrednost avtokorelacijske funkcije v izhodišču (τ = 0) je pri energijskih signalih enaka energiji signala: Ex = rxx(0) (A.6) pri močnostnih signalih pa povprečni moči signala: x2(t) = Rxx(0) (A.7) Vrednost avtokorelacijske funkcije je največja v izhodišču. Pri periodičnih signalih je periodična. Maksimalna vrednost se zato ponovi pri celih mnogokratnikih periode. Zgled izračuna avtokorelacijske funkcije časovno omejenega energijskega signala je narisan na sliki A.3. A.6 Spekter analognih signalov 169 Slika A.3 – Signal x(t), zakasnjena replika x(t + τ ) in avtokorelacijska funkcija rxx(τ ) A.6 Spekter analognih signalov A.6.1 Spekter periodičnih signalov Vsak periodičen signal končne moči lahko zapišemo v obliki vsote kosinusnih in sinusnih členov: a ∞ x(t) = 0 + X(a 2 k cos(kω0t) + bk sin(kω0t)) k=1 2π ω0 = (A.8) T Koeficienti ak in bk predstavljajo amplitude posameznih sinusnih in kosinusnih členov in jih lahko izračunamo na osnovi izrazov: 2 Z ak = x(t) cos(kω T 0t) dt T 2 Z bk = x(t) sin(kω T 0t) dt (A.9) T Periodičen signal lahko vsebuje enosmerno komponento in izmenične komponente, ki so mno- gokratniki osnovne frekvence ω0. Osnovna frekvenca ω0 je določena s trajanjem periode T in je tem nižja, čim daljša je perioda. Število višjih harmonskih komponent navzgor ni omejeno. Koeficiente ak in bk imenujemo tudi spekter signala. Spekter periodičnega analognega signala je diskreten. Koeficienti ak predstavljajo kosinusni in koeficienti bk sinusni del spektra. Elegantnejši matematični zapis spektra signala dobimo, če uporabimo pri razvoju signala v vrsto namesto kosinusnih in sinusnih signalov kompleksne harmonične signale: ekω0t = cos(kω0t) +  sin(kω0t) (A.10) Signal v časovnem prostoru je potem podan z vsoto kompleksnih harmoničnih komponent: ∞ x(t) = X X[k]ekω0t (A.11) k=−∞ kjer predstavljajo koeficienti X[k] kompleksni frekvenčni spekter signala in jih izračunamo na osnovi izraza: 1 Z X[k] = x(t)e−kω0t dt (A.12) T T Indeks k v izrazu (A.11) zavzema tudi negativne vrednosti, torej imamo na videz opravka z negativnimi frekvencami. Negativne frekvence nimajo fizikalnega pomena in so uvedene zgolj 170 Dodatek Analogni signali zaradi enostavnejšega matematičnega zapisa, saj za vsak realen vhoden signal x(t) velja: 1 X[k] = X[−k]⋆ = (a 2 k − bk ) (A.13) Realni deli koeficientov predstavljajo kosinusne, imaginarni pa sinusne komponente spektra. Komponente spektra lahko izrazimo tudi z amplitudami |X[k]| in faznimi zasuki Φk: X[k] = |X[k]|eΦk (A.14) Vsak periodičen signal lahko izrazimo v časovnem ali frekvenčnem prostoru. Oba zapisa sta enakovredna ter predstavljata med seboj odvisno dvojico – Fourierev par. V splošnem zapisu za Fourierev par velja: x(t) ↔ X[k] X[k] = F {x(t)} x(t) = F −1{X[k]} (A.15) Na sliki A.4 je prikazan primer pravokotnega periodičnega signala in njegovega amplitudnega spektra. Slika A.4 – Pravokoten periodičen signal v a) časovnem in b) frekvenčnem prostoru Fourier transform avtokorelacijske funkcije periodičnega signala rxx(t) imenujemo močnostni spekter signala: Sx[k] = F {Rxx(τ)} (A.16) Pokazati je mogoče tudi, da je močnostni spekter enak kvadratu amplitudnega spektra: Sx[k] = |X[k]|2 (A.17) A.6 Spekter analognih signalov 171 A.6.2 Spekter aperiodičnih energijskih signalov Aperiodičen signal lahko dobimo tako, da povečujemo periodo periodičnega signala prek vseh meja. Pri tem se zmanjšuje frekvenca osnovne harmonske komponente ω0. Na sliki A.5 je prikazano povečevanje periode. Najprej izločimo signal vsake druge periode in končno ohranimo le eno periodo. Slika A.5 – Predstavitev periodičnega signala v časovnem in frekvenčnem prostoru ter njegova transformacija v aperiodični signal Če povečujemo periodo T čez vse meje, tvori osnovna harmonska komponenta z višjimi harmonskimi komponentami zvezen spekter, ker postaja razmik med frekvenčnimi komponen- tami infinitezimalno majhen (ω0 → dω). Če bi izhajali iz enačb za periodične signale, moramo upoštevati naslednje odnose: T → ∞ ω0 → dω kω0 → ω T X[k] → X(ω) Z X → (A.18) kar nas privede do Fourier transforma, ki preslika signal iz frekvenčnega v časovni prostor in obratno. 1 Z ∞ x(t) = X(ω)eωt dω 2π −∞ Z ∞ X(ω) = x(t)e−ωt dt (A.19) −∞ V splošnem zapisu za Fourierev par velja: x(t) ↔ X(ω) 172 Dodatek Analogni signali X(ω) = F {x(t)} x(t) = F −1{X(ω)} (A.20) Spekter X(ω) je kompleksen in ga lahko izrazimo z amplitudo in fazo: X(ω) = |X(ω)|eΦ(ω) (A.21) Poleg amplitudnega in faznega spektra poznamo tudi energijski spekter signala W (ω), ki je definiran kot Fourier transform avtokorelacijske funkcije: Wx(ω) = F {rxx(τ)} (A.22) Energijski spekter ni odvisen od faze signala in je realna soda funkcija frekvence. Pokazati je mogoče, da je energijski spekter enak kvadratu amplitudnega spektra: Wx(ω) = |X(ω)|2 (A.23) A.6.3 Spekter naključnih signalov Mnogo fizikalnih pojavov v naravi najbolje označimo z naključnimi signali. Mednje lahko uvrstimo razne meteorološke pojave in napetosti termičnega šuma elektronskih komponent. Ravno tako so naključni signali, s katerimi v telekomunikacijah prenašamo sporočila. Naključne signale modeliramo kot neskončno trajajoče signale z neskončno energijo in končno močjo, zato jih štejemo med močnostne signale. Pri naključnih signalih ne poznamo poteka signala, lahko pa poznamo njegovo avtokorelacijsko funkcijo rxx(τ ). Močnostni spekter Sx(ω) naključnega signala je definiran kot Fourier transform avtokorelacijske funkcije. Sx(ω) = F {rxx(τ)} (A.24) Močnostni spekter je merilo naključnosti signala. Bolj naključni oziroma manj korelirani sig- nali imajo ožjo avtokorelacijsko funkcijo in širši močnostni spekter. Pokazati je mogoče, da je močnostni spekter enak limiti: 1 Sx(ω) = lim WT (ω) (A.25) T →∞ T kjer je WT (ω) energijski spekter na interval (−T /2, T /2) omejenega signala. B Analogni sistemi Za sistem na sliki B.1 lahko trdimo, da ga poznamo, če znamo poljubnemu vhodnemu signalu x(t) določiti ustrezen izhodni signal y(t). Zapišemo lahko, da je izhodni signal transform vhodnega Slika B.1 – Sistem z enim vhodnim in enim izhodnim signalom signala: y(t) = T {x(t)} (B.1) Transform T { } je določen z lastnostmi sistema in v celoti opisuje sistem. B.1 Linearnost in časovna nespremenljivost Sistem je linearen, kadar da linearna kombinacija signalov na vhodu linearno kombinacijo trans- formov na izhodu sistema: ( ) T X[ai xi(t)] = X [ai T {xi(t)}] (B.2) i i Sistem je časovno nespremenljiv (invarianten), kadar povzroči časovni premik signala na vhodu enak časovni premik signala na izhodu sistema. T {x(t)} = y(t) ⇐⇒ T {x(t − t0)} = y(t − t0) (B.3) B.2 Sistemska funkcija Lastnosti L ČN sistema moremo opisati v časovnem in v frekvenčnem prostoru. V časovnem prostoru opišemo lastnosti z odzivom na enotin impulz δ(t). Odziv LČN sistema na enotin impulz imenujemo sistemska funkcija h(t): h(t) = T {δ(t)} (B.4) Pri določanju odziva ali sistemske funkcije nastopi vzbujalni impulz v trenutku t = 0. Pri ustvar- ljivih sistemih se lahko odziv h(t) pojavi le kot posledica vhodnega impulza in to v časovnem intervalu t ≥ 0. Tak sistem je kavzalen in zanj velja: h(t) = 0 t < 0 (B.5) 173 174 Dodatek Analogni sistemi Sistemska funkcija popolnoma določa LČN sistem. Če poznamo sistemsko funkcijo, lahko vsakemu vhodnemu signalu določimo ustrezen izhodni signal. Izhodni signal je enak konvoluciji vhodnega signala s sistemsko funkcijo: Z ∞ y(t) = x(t − τ)h(τ)dτ = x(t) ∗ h(t) (B.6) −∞ Trenutno vrednost izhodnega signala v času t si lahko razlagamo s pomočjo slike B.2, na kateri je narisan odziv h(τ ), časovno transponiran signal x(t − τ) in produkt x(t − τ)h(τ). Vrednost produkta omejuje senčeno ploskev, ki je enaka integralu v enačbi B.6 za dano vrednost t. Slika B.2 – Predstavitev konvolucije pri določitvi izhodnega signala v času t B.3 Prevajalna funkcija Lastnosti L ČN sistema lahko opišemo tudi v frekvenčnem prostoru. Prevajalna funkcija sistema H(ω) je definirana kot Fourier transform sistemske funkcije h(t): Z ∞ H(ω) = F {h(t)} = h(t) e−ωt dt (B.7) −∞ Časovni odziv sistema je določen s konvolucijo. Konvolucija v časovnem prostoru se transformira v množenje v frekvenčnem prostoru. Od tod sledi: Y (ω) = H(ω)X(ω) (B.8) Fourier transform (spekter) signala se pri prehodu skozi sistem množi s prevajalno funkcijo sistema, torej sistem ne prepušča vseh frekvenčnih komponent enako, kakor je to prikazano na sliki B.3. L ČN sistemi zato predstavljajo tako imenovana frekvenčna sita (filtre). Pri prehodu Slika B.3 – Filtriranje signala signala skozi L ČN sistem se ne ustvarjajo nove frekvenčne komponente. B.4 Prevajalna funkcija v prostoru s 175 B.4 Prevajalna funkcija v prostoru s Če namesto Fourier transforma naredimo Laplaceov transform sistemske funkcije, dobimo pre- vajalno funkcijo v prostoru s: Z ∞ HL(s) = L{h(t)} = h(t)e−stdt (B.9) 0 Za kavzalne sisteme lahko dobimo prevajalno funkcijo H(ω) iz prevajalne funkcije HL(s) tako, da zamenjamo kompleksno spremenljivko s s frekvenco ω. H(ω) = HL(ω) (B.10) B.5 Prevajalna funkcija RLC vezij Pri RLC-vezjih je HL(s) kompleksna racionalna funkcija. Poli in ničle so realni ali pa nastopajo v konjugirano kompleksnih parih. Splošen izraz za prevajalno funkcijo RLC vezij je podan z izrazom: s s s 1 − 1 − 1 − ... s s s H n1 n2 n3 L(s) = H0 (B.11) s ! s ! s ! 1 − 1 − 1 − ... sp1 sp2 sp3 Lege ničel so označene s sni in lege polov s spi. Lege polov in ničel v ravnini s nam veliko povedo o lastnostih sistema. Na sliki B.4 so za zgled narisani poli in ničle prevajalne funkcije HL(s) v ravnini s. Imaginarna os (s = ω) predstavlja z ozirom na Fourier transform frekvenčno os. S Slika B.4 – Ničle in poli prevajalne funkcije HL(s) v s-ravnini poli in ničlami prevajalne funkcije so povezane naslednje lastnosti: • Število ničel je vedno manjše ali največ enako številu polov. 176 Dodatek Analogni sistemi • Razmerje med produktom razdalj do ničel in produktom razdalj do polov predstavlja absolutno vrednost prevajalne funkcije |H(ω)| oziroma njen amplitudni potek. Y |ω − s Y nk | dnk(ω) |H(ω)| = K k = K k Y |ω − s Y pm| dpm(ω) m m kjer je konstanta K enaka: Y |spm| K = H m 0 Y |snk| k • Razlika vsote kotov ničel in vsote kotov do polov predstavlja fazni potek prevajalne funkcije Φ(ω). Φ(ω) = X Φnk(ω) − X Φpm(ω) + kπ k m kjer velja:  Y s  pm    k  0 ; H > 0  0 Y   s  nk   k = m Y  s  pm    k  1 ; H < 0  0  Y  s  nk  m • Vezje je stabilno, če so vsi poli v levi polravnini. Tedaj velja: Z ∞ |h(t)| dt < ∞ ; Re[spi] < 0 −∞ • Absolutna vrednost prevajalne funkcije |H(ω)| se ne spremeni, če lego poljubne ničle prezr- calimo na drugo stran osi ω. |H(ω)|{z ničlo pri sni} = |H(ω)|{z ničlo pri −sni} • Lege ničel imajo odločilen vpliv na zakasnitev odziva in potek faze prevajalne funkcije. Ločimo tri primere: – vse ničle leže v levi polravnini: zakasnitev vezja je najmanjša, prevajalna funkcija ima minimalni fazni zasuk, – vse ničle leže v desni polravnini: zakasnitev vezja je največja, prevajalna funkcija ima maksimalni fazni zasuk, – ničle leže v levi in desni polravnini: zakasnitev in fazni zasuk sta med minimalno in maksimalno vrednostjo. Prevajalno funkcijo lahko v tem primeru odlikuje linearni fazni potek, ki zagotavlja enako zakasnitev vseh frekvenčnih komponent signala. • RL in RC vezja imajo ničle in pole samo na negativni realni osi. C Karakteristike analognih prototipnih sit Če želimo načrtovati digitalna sita na osnovi analognih prototipnih sit, moramo spoznati last- nosti značilnih vrst analognih sit. Predstavili bomo lastnosti Butterworthovih, Čebiševjevih in eliptičnih sit. Pri načrtovanju sita je predvsem pomemben amplitudni potek: A(ω) = |H(ω)| (C.1) kjer je H(s) Laplaceov transform sistemske funkcije h(t). Amplitudni potek najpogosteje opazu- jemo v logaritemskem merilu: a(ω) = 20 log[A(ω)] (C.2) Redkeje načrtujemo sita na osnovi predpisanega faznega poteka Φ(ω). Običajno načrtujemo nizko prototipno sito, ki ga lahko nato s pomočjo ustrezne frekvenčne transformacije (glej dodatek D) preslikamo v visoko ali pasovno, prepustno ali zaporno sito. V karakteristikah sit ločimo prepustna, prehodna in zaporna področja. Znotraj prepustnih in zapornih območij so določena maksimalna dopustna odstopanja od vnaprej predpisanih vred- nosti. Potek prevajalne karakteristike v prehodnih področjih ni določen in prav ta nedoločenost olajšuje načrtovanje. Specifikacije za nizko sito so z ojačenjem 1 oziroma 0 dB v prepustnem področju podane z: ωp – mejno frekvenco prepustnega področja, ωz– mejno frekvenco zapornega področja, δp – maksimalnim odstopanjem (valovitostjo) v prepustnem področju, oziroma z minimalnim dopustnim ojačenjem ap v prepustnem področju: ap = 20 log(1 − δp) (C.3) in δz – maksimalnim odstopanjem (valovitostjo) v zapornem področju, oziroma maksimalnim dopustnim ojačenjem v az zapornem področju: az = 20 log(δz) (C.4) Ti parametri določajo okvir (gabarit), ki je prikazan na sliki C.1. Amplitudna karakteristika lahko poteka le v področju, ki je na sliki obarvano sivo, kot je za zgled prikazano s črtkano črto. Ustrezno amplitudno karakteristiko lahko realiziramo z različnimi aproksimacijskimi postopki. V enačbah za amplitudne karakteristike prototipnih sit je valovitost v prepustnem področju pogosto podana s parametrom ε2, ki ga lahko izrazimo s parametrom δp kot: 1 ε2 = − 1 (C.5) (1 − δp)2 177 178 Dodatek Karakteristike analognih prototipnih sit Slika C.1 – Specifikacije amplitudnega poteka nizkega sita C.1 Butterworthova sita Prevajalna funkcija H(s) Butterworthovega sita N -tega reda ima N polov v levi polravnini s na krožnici kroga s središčem v koordinatnem izhodišču. Amplitudna karakteristika je določena z izrazom: v u 1 A(ω) = u (C.6) u !2N u ω t 1 + ε2 ωp Lega polov in amplitudna karakteristika sita osmega reda sta prikazani na sliki C.2. Slika C.2 – Razvrstitev polov funkcije H(s) in amplitudna karakteristika a(ω) Butterworthovega nizkega sita (N = 8) Butterworthova sita so sita z maksimalno položnim potekom amplitudne karakteristike, kar pomeni, da ima A(ω) en sam ekstrem pri ω = 0, enako pa velja tudi za vseh N − 1. A(ω) je monotono padajoča funkcija frekvence v celotnem frekvenčnem področju ω > 0. C.2 Čebiševjeva sita Boljše aproksimacije idealnim filtrskim karakteristikam dobimo, če dopuščamo enakomerno val- ovitost znotraj predpisanih območij. Načrtovanje Čebiševjevih sit tipa I ali II temelji na enakomerni valovitosti amplitudne karakteristike v prepustnem ali zapornem področju. Zato s Čebiševjevimi siti dosežemo bolj nagel prehod iz prepustnega v zaporno področje in manjša odstopanja v prepustnem in zapornem področju v primerjavi z Butterworthovimi siti istega reda. Amplitudna karakteristika Čebiševjevega nizkega sita tipa I ima enakomerno valovitost v prepustnem področju in monotono upadanje v zapornem področju. Pri sitih tipa II imamo C.3 Eliptična sita 179 monotono upadanje amplitude v prepustnem področju in enakomerno valovitost v zapornem področju. Poli Čebiševjevega nizkega sita leže na elipsi v ravnini s, ničle so v neskončnosti. Lege polov za določene vrednosti parametrov δp in δz pri normirani frekvenci ωp = 1 najdemo v priročnikih za načrtovanje sit. Amplitudni potek Čebiševjevega sita tipa I je podan z enačbo: 1 A(ω) = (C.7) s ω 1 + ε2 T2N ωc kjer je TN (x) Čebiševjev polinom N -tega reda, varepsilon2 pa določa odstopanje v prepustu. Na sliki C.3 je prikazan razpored polov in amplitudna karakteristika Čebiševjevega nizkega sita osmega reda. Slika C.3 – Lege polov in amplitudna karakteristika Čebiševjevega nizkega sita (N = 8) S pomočjo Čebiševjevih polinomov lahko načrtujemo tudi Čebiševjeva sita tipa II, pri katerih amplitudna karakteristika v prepustnem področju monotono upada in ima v zapornem področju enako valovitost. Pri teh sitih leže ničle na frekvenčni osi s =  ω, kar povzroča enakomerno valovitost v zapori. Čebiševjeva sita tipa II imajo amplitudno karakteristiko, podano z izrazom: 1 A(ω) = (C.8) v ! u ω u z u TN u ωp u1 + ε2 u ω z t TN ω C.3 Eliptična sita Najbolj nagle prehode iz prepustnega v zaporno področje pri predpisanih parametrih ap, az in redu sita N dosežemo z eliptičnim sitom. To je posledica tega, da imamo pri eliptičnih sitih enakomerno valovitost amplitudne karakteristike tako v prepustnem kot zapornem področju. Amplitudna karakteristika je podana z enačbo: 1 A(ω) = (C.9) v u ω ! u t1 + ε2U 2 N ωp 180 Dodatek Karakteristike analognih prototipnih sit UN (ω) je Jakobijeva eliptična funkcija. Lege polov in ničel eliptičnih sit so podane v priročnikih za načrtovanje sit ali pa jih lahko dobimo s pomočjo ustreznega programskega orodja. Na sliki C.4 so prikazane lege polov in ničel ter amplitudna karakteristika eliptičnega nizkega sita osmega reda. Slika C.4 – Poli, ničle in karakteristika nizkega eliptičnega sita (N = 8) Eliptična sita so optimalna glede na odstopanja od idealiziranih vrednosti. Fazna karakteris- tika teh filtrov je bolj neugodna kot pri Čebiševjevih in Butterworthovih sitih. To povzroča pri eliptičnih filtrih bolj neenakomerno zakasnitev frekvenčnih komponent v prepustnem področju, posebno je to kritično v področju prehoda iz prepustnega področja v zaporno področje. D Frekvenčne preslikave D.1 Frekvenčne preslikave v prostoru s Načrtovanje analognih sit vedno temelji na načrtovanju nizkega sita, ki ga nato po potrebi preslikamo v visoko, pasovno prepustno ali zaporno sito. Izhajamo iz normiranega nizkega sita z mejno frekvenco prepustnega območja ωp = 1. D.1.1 Sprememba mejne frekvence nizkega sita Normirano nizko sito Hnp(s) preslikamo v nizko sito Hns(s) z mejno frekvenco ωp z zamenjavo: s s → (D.1) ωp oziroma s Hns(s) = Hnp( ) (D.2) ωp Za zgled vzemimo nizko prototipno sito Hnp(s) prvega reda z mejno frekvenco ωp = 1: 1 Hnp(s) = (D.3) s + 1 Nadomestimo s z s/ωp. Dobimo: s 1 ω H p ns(s) = Hnp( ) = = (D.4) ω s p + 1 s + ωp ωp D.1.2 Preslikava nizkega v visoko sito Nizko prototipno sito preslikamo v visoko sito z mejno frekvenco ωp z zamenjavo: ω s → p (D.5) s S preslikavo nizkega prototipnega sita prvega reda v izrazu (D.3) v visoko sito dobimo: ω 1 s H s vs(s) = Hnp( ) = = (D.6) s ωs + 1 s + ωs s D.1.3 Preslikava nizkega v pasovno prepustno sito Nizko prototipno sito lahko preslikamo v pasovno prepustno sito s spodnjo mejno frekvenco prepustnega področja ωps in zgornjo mejno frekvenco prepustnega področja ωpz z zamenjavo: s2 + ω s → psωpz (D.7) s (ωpz − ωps) 181 182 Dodatek Frekvenčne preslikave S preslikavo nizkega prototipnega sita prvega reda v izrazu (D.3) v pasovno prepustno sito dobimo: s2 + ω ! H psωpz pps(s) = Hnp = s(ωpz − ωps) 1 = = s2 + ωpsωpz + 1 s(ωpz − ωps) s(ω = pz − ωps) (D.8) s2 + s(ωpz − ωps) + ωpsωpz D.1.4 Preslikava nizkega v pasovno zaporno sito Nizko prototipno sito lahko preslikamo v pasovno zaporno sito s spodnjo mejno frekvenco za- pornega področja ωzs in zgornjo mejno frekvenco prepustnega področja ωzz z zamenjavo: s (ω s → zz − ωzs) (D.9) s2 + ωzsωzz S preslikavo nizkega prototipnega sita prvega reda v izrazu (D.3) v pasovno zaporno sito dobimo: s (ω H zz − ωzs) pzs(s) = Hnp = s2 + ωzsωzz 1 = = s(ωzz − ωzs) + 1 s2 + ωzsωzz s2 + ω = zs ωzz (D.10) s2 + s(ωzz − ωzs) + ωzsωzz D.2 Frekvenčne preslikave v prostoru z Podobno kot pri analognih sitih, lahko tudi diskretna sita načrtujemo s pomočjo frekvenčnih preslikav. Nizkemu situ lahko spremenimo mejno frekvenco ali pa ga pretvorimo v pasovno prepustno, pasovno zaporno ali visoko sito. Pri preslikavi nadomestimo spremenljivko z−1 z racionalno funkcijo g(z−1). Ta funkcija mora ustrezati določenim zahtevam. Najpomembneje je, da mora preslikava z−1 → g(z−1) preslikati točke znotraj enotskega kroga v ravnini z nazaj v enotski krog, točke na frekvenčni krožnici pa se morajo preslikati nazaj v točke na frekvenčni krožnici. Ustrezne funkcije dobimo v obliki: n z−1 − a g(z−1) = ± Y k (D.11) 1 − a k=1 k z−1 D.2.1 Sprememba mejne frekvence nizkega sita Za preslikavo nizkega sita z mejno frekvenco Ωp v nizko sito z mejno frekvenco Ω′p uporabimo izraza: sin((Ωp − Ω′ a = p)/2) sin((Ωp + Ω′p)/2) D.2 Frekvenčne preslikave v prostoru z 183 z−1 − a z−1 → (D.12) 1 − a z−1 D.2.2 Preslikava nizkega v visoko sito Za preslikavo nizkega sita z mejno frekvenco Ωp v visoko sito z mejno frekvenco Ω′p uporabimo izraza: cos((Ωp − Ω′ a = p)/2) cos((Ωp + Ω′p)/2) a − z−1 z−1 → (D.13) 1 − a z−1 D.2.3 Preslikava nizkega v pasovno prepustno sito Za preslikavo nizkega sita z mejno frekvenco Ωp v pasovno prepustno sito z mejnima frekvencama Ωps in Ωpz uporabimo izraze: cos((Ω α = pz + Ωps)/2) cos((Ωpz − Ωps)/2) Ω Ω K = cot pz − Ωps tan p 2 2 a1 = −2αK/(K + 1) a2 = (K − 1)/(K + 1) z−2 − a z−1 → − 1z−1 + a2 (D.14) a2z−2 − a1z−1 + 1 D.2.4 Preslikava nizkega v pasovno zaporno sito Za transformacijo nizkega sita z mejno frekvenco Ωp v pasovno zaporno sito z mejnima frekven- cama Ωps in Ωpz uporabimo naslednje izraze: cos((Ω α = pz + Ωps)/2) cos((Ωpz − Ωps)/2) Ω Ω K = tan pz − Ωps tan p 2 2 a1 = −2α/(K + 1) a2 = (1 − K)/(1 + K) z−2 − a z−1 → 1z−1 + a2 (D.15) a2z−2 − a1z−1 + 1 Stvarno kazalo Čebiševjevo sito, 178 direktna struktura, 63 časovna nespremenljivost, 29, 173 struktura I, 64 časovni odziv, 173 struktura II, 64 časovno diskretni FT, 23 diskreten signal, 11 AD pretvorba, 135 diskreten sistem, 29 kvantizacija, 137 diskretni Fourier transform, 15 s prevzorčenjem, 136 DIT, 104 amplitudni potek, 176, 177 DTFT, 23 amplitudni spekter, 16, 23 energijski spekter, 26 analogna sita, 177 in transform Z, 33 analogni signali, 165 konvolucija, 25 aperiodičen signal, 21, 166 lastnosti, 24 avtokorelacijska funkcija, 14, 20, 22, 26, 168, 170 linearnost, 24 bilinearna transformacija, 93 modulacija, 25 Butterworthovo sita, 178 premik spektra, 25 DA pretvorba, 150 produkta, 25 harmoničnega signala, 153 eliptično sito, 179 s predhodno interpolacijo, 152 enakomerna porazdelitev, 127 z impulzi končne širine, 151 enakomerno vzorčenje, 45 decimacija, 52, 53, 56, 136 energija, 21, 167 decimacija po frekvenci, 108 energijski signal, 166 decimacija v času, 104 enotin impulz, 29, 46 determinističen signal, 166 fazni potek, 176, 177 DFT, 15 fazni spekter, 23 anliza signalov, 111 FFT, 104 izvedba FIR sita, 116 decimacija po frekvenci, 108 konvolucije, 18 decimacija v času, 104 lastnosti, 17 hitra konvolucija, 117 linearnost, 17 izvedba FIR sita, 116 modulacija, 18 metuljček, 105 nabor sit, 113 računska učinkovitost, 107 premik spektra, 17 realnih signalov, 109 produkta, 18 filtriranje, 31 realnih signalov, 19 periodičnost, 31 uporaba, 103 fizikalni signal, 165 diagram pretoka signala, 60 Fouriereva vrsta, 169 DIF, 108 frekvenčna preslikava, 181 diferenčna enačba, 59 prostor s, 181 diferenciator, 84 prostor z, 182 digitalni signalni procesor, 159 v nizko sito, 181, 182 Diracov impulz, 46 v pasovno prepustno sito, 181, 183 184 Stvarno kazalo 185 v pasovno zaporno sito, 182, 183 FIR enakomerno vzorčenje, 81 v visoko sito, 181, 183 FIR frekvenčno vzorčenje, 81 frekvenčni odziv, 173 FIR oknjenje, 73 gabarit, 177 FIR z inverznim FT, 71 Gaussova porazdelitev, 129 IIR, 86 generiranje signalov, 123 IIR bilinearna transformacija, 93 harmonični oscilator, 123 IIR impulzno invariantno, 89 naključni signal, 126 IIR postopek, 95 harmonični oscilator, 123 IIR preprosto, 87 na osnovi tabele, 124 nabor sit, 113 Hilbertov transform, 86 nadkritično vzorčenje, 51 hitra konvolucija, 117 naključen signal, 166 prekrij in seštej, 118 naključni signal, 126 prekrij in shrani, 119 časovni, 174 hitri Fourier transform, 104 frekvenčni, 174 IDFT, 15 v s-prostoru, 175 IDTFT, 23 oknjenje, 73 impulzno invariantna transformacija, 89 Kaiserjevo, 77 interpolacija, 52, 54, 56 kosinusno, 75 inverzni transform Z, 42 pravokotno, 74 zgled, 44 Parsevalov teorem, 21, 26, 27 Kaiserjevo okno, 77 periodičen signal, 12, 166 kaskadna vezava, 36, 63, 65 periodičnost filtriranja, 31 kavzalni sistemi, 30, 174 podkritično vzorčenje, 51 konjugacija, 19, 26 polifazno sito, 66 konvergenčno področje, 33 povprečevalno sito, 83 konvolucija, 14, 18, 22, 25, 30, 174 povratni sklop, 37, 63 korelacijska funkcija, 167 pravokotno okno, 74 kosinusno okno, 75 prekrivanje spektra, 48, 51 kritično vzorčenje, 49 premik spektra, 17, 25 kvantizacija, 137, 154 prepustno področje, 177 koeficientov FIR, 155 prevajalna funkcija, 31, 174 koeficientov IIR, 156 načrtovanje, 67 Laplaceov transform, 175, 177 RLC, 175 lastnosti DFT, 17 ustvarljivih sistemov, 39 linearna faza, 176 prevzorčenje, 136 linearnost, 17, 24, 173 prototipno sito, 177 lineren fazni potek, 68 računska učinkovitost, 107 metuljček, 105 ravnina z, 33 minimalna faza, 176 realen signal, 19 moč, 12, 22, 168 rekonstrukcija signala, 48 močnosten signal, 167 rekonstrukcujsko sito, 49 močnostni signal, 166 residuum, 43 močnostni spekter, 16, 24 signali modulacija, 18, 25 analogni, 165 načrtovanje, 67 aperiodični, 21, 166, 171 FIR, 68 deterministični, 166 FIR enakomerna valovitost, 78 diskretni, 11 186 Stvarno kazalo energijski, 166, 167 struktura vezja, 60 fizikalni, 165 transform Z, 32 močnostni, 26, 166, 167 in DTFT, 33 naključni, 166, 172 inverzni, 42 periodični, 12, 166, 169 konvergenca, 33 realen, 19 konvolucije, 35 rekonstrukcija, 48 linearnost, 35 splošni, 165 premik, 36 vrste, 11 zgledi, 37 vzorčeni, 45 transpozicija, 62, 63 značilne vrednosti, 12 uporaba DFT, 103 signalni procesor, 159 ustvarljiv sistem, 59 analogen, 173 valovitost, 177 diskreten, 29 enakomerna, 78 izvedba, 135 varianca, 13, 22, 168 linearen, 29 vzorčenje, 45 praktični vidik, 135 kritično, 49 ustvarljiv, 39, 59, 87 nadkritično, 51 sistemska funkcija, 29, 30, 173 podkritično, 51 kavzalnih sistemov, 30 sprememba vzorčne frekvence, 52 Čebiševjevo, 178 vzorčevalna funkcija, 45 analogno, 177 vzporedna vezava, 36, 63, 66 Butterworthovo, 178 zaporno področje, 177 diskretno, 59 značilne vrednosti, 12, 21, 168 eliptično, 179 IIR, 86 lestvičasto, 67 linearna faza, 68 nabor sit, 113 pasovno, 89 polifazno, 66 povprečevalno, 83 proti prekrivanju, 135 prototipno, 177 rekonstrukcijsko, 49 amplitudni, 16, 23, 170, 172 analognih signalov, 169 energijski, 23, 24, 171, 172 fazni, 23 močnostni, 16, 24, 26, 170 naključnih signalov, 172 periodičnih signalov, 169 prekrivanje, 48, 51 vzorčenih signalov, 46 srednja vrednost, 168 stabilnost, 32, 176 standardna deviacija, 13 struktura sita, 63 Pričujoča knjiga je mišljena prvenstveno kot učbenik za študente DISKRETNI univerzitetnega študija elektrotehnike, vendar je primerna tudi za inženirje, ki so novi na področju digitalne obdelave signalov in se želijo vstopiti na to SIGNALI IN področje. V njej je sistematično osnovni postopki analize časovno diskretnih SISTEMI signalov. Predstavljeni so postopki načrtovanja FIR in IIR frekvenčnih sit, uporaba disktetnega Fourier transforma pri analizi in obdelavi signalov in postopki za generiranje časovno diskretnih signalov. Zadnji del knjige je posvečen problemom pri praktični izvedbi sistemov za digitalno obdelavo signalov. Predstavljeni so digitalno analogni in analogno digialni pretvornikli ter problemi, ki nastopijo zaradi kvantizacije signala in koeficientov digitalnih sit. časovno diskreten signal, časovno diskreten sistem, diskretni Fourier transform, časovno diskretni KLJUČNA Fourier transform, transform Z, IIR sito, FIR sito, vzorčenje, rekonstrukcija, bilinearna transformacija, nabor sit, analogno GESLA digitalni pretvornik, digitalno analogni pretvornik, kvantizacijski šum. Sašo Tomažič je redni profesor na Fakulteti za S. TOMAŽIČ elektrotehniko Univerze v Ljubljani, predstojnik Laboratorija za informacijske tehnologije in večletni predstojnik Katedre za telekomunikacije. Je tudi vodja enega najuspešnejših slovenskih raziskovalnih programov, ki jih financira Agencija za raziskovalno dejavnost. Na Fakulteti za elektrotehniko predava predmete s področja digitalnih komunikacij, informacijskih sistemov in digitalne obdelave signalov. ISBN 978-961-243-344-4 ZALOŽBA FAKULTETE ZA ELEKTROTEHNIKO