Esipuhe. Tampereella, 9. toukokuuta 2003, Heikki Huttunen heikki.huttunen@tut.fi



Samankaltaiset tiedostot
Remez-menetelmä FIR-suodinten suunnittelussa

: Johdatus signaalinkäsittelyyn 2

Signaalinkäsittelyn sovellukset

Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

Tuntematon järjestelmä. Adaptiivinen suodatin

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

IIR-suodattimissa ongelmat korostuvat, koska takaisinkytkennästä seuraa virheiden kertautuminen ja joissakin tapauksissa myös vahvistuminen.

Heikki Huttunen Signaalinkäsittelyn sovellukset

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

1 Olkoon suodattimen vaatimusmäärittely seuraava:

TL5503 DSK, laboraatiot (1.5 op) Suodatus 1 (ver 1.0) Jyrki Laitinen

Kompleksiluvut signaalin taajuusjakauman arvioinnissa

SGN-1251 Signaalinkäsittelyn sovellukset Välikoe Heikki Huttunen

Digitaalinen Signaalinkäsittely T0125 Luento

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

Alipäästösuotimen muuntaminen muiksi perussuotimiksi

Suodattimet. Suodatintyypit: Bessel Chebyshev Elliptinen Butterworth. Suodattimet samalla asteluvulla (amplitudivaste)

TL5503 DSK, laboraatiot (1.5 op) Suodatus 2 (ver 1.0) Jyrki Laitinen

Heikki Huttunen Signaalinkäsittelyn sovellukset

T Digitaalinen signaalinkäsittely ja suodatus

Säätötekniikan ja signaalinkäsittelyn työkurssi

Digitaalinen signaalinkäsittely Kuvankäsittely

Katsaus suodatukseen

Luento 8. Suodattimien käyttötarkoitus

1 Tarkastellaan digitaalista suodatinta, jolle suurin sallittu päästökaistavärähtely on 0.05 db ja estokaistalla vaimennus on 44 db.

z muunnos ja sen soveltaminen LTI järjestelmien analysointiin

Harjoitustyö 1. Signaaliprosessorit Sivu 1 / 11 Vähämartti Pasi & Pihlainen Tommi. Kaistanestosuodin, estä 2 khz. Amplitudi. 2 khz.

1 Vastaa seuraaviin. b) Taajuusvasteen

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Signaalien datamuunnokset. Digitaalitekniikan edut

Signaalien datamuunnokset

Lineaarinen yhtälöryhmä

5. Z-muunnos ja lineaariset diskreetit systeemit. z n = z

ELEC-C Sovellettu digitaalinen signaalinkäsittely. Äänisignaalien näytteenotto ja kvantisointi Dither Oskillaattorit Digitaalinen suodatus

SMG-1100: PIIRIANALYYSI I. Verkkojen taajuusriippuvuus: suo(dat)timet

k=0 saanto jokaisen kolmannen asteen polynomin. Tukipisteet on talloin valittu

Matematiikan peruskurssi 2

Matematiikan tukikurssi

1. Määritä pienin näytelauseen ehdon mukainen näytetaajuus taajuus seuraaville signaaleille:

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Numeeriset menetelmät

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

T SKJ - TERMEJÄ

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Spektri- ja signaalianalysaattorit

SIGNAALITEORIAN KERTAUSTA 1

Matematiikan tukikurssi, kurssikerta 3

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin

4 Yleinen potenssifunktio ja polynomifunktio

Vastekorjaus (ekvalisointi) Lähteet: Zölzer. Digital audio signal processing. Wiley & Sons. Zölzer (ed.) DAFX Digital Audio Effects. Wiley & Sons.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Analyysi III. Jari Taskinen. 28. syyskuuta Luku 1

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

T DSP (Harjoitustyö 2003, v. 5.01) Sivu 2 / 9

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Reaalilukuvälit, leikkaus ja unioni (1/2)

Virheen kasautumislaki

Tietoliikennesignaalit & spektri

w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1.

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

1 Äänisignaalin tallentaminen ja analysointi... 2 Q Q Q Q Häiriönpoisto... 5 Q Q Q2.3...

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Johdatus todennäköisyyslaskentaan Normaalijakaumasta johdettuja jakaumia. TKK (c) Ilkka Mellin (2005) 1

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

Dynaamisten systeemien identifiointi 1/2

Epäyhtälöt 1/7 Sisältö ESITIEDOT: yhtälöt

811120P Diskreetit rakenteet

3. kierros. 2. Lähipäivä

Signaalit ja järjestelmät aika- ja taajuusalueissa

Muuntavat analogisen signaalin digitaaliseksi Vertaa sisääntulevaa signaalia referenssijännitteeseen Sarja- tai rinnakkaismuotoinen Tyypilliset

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

6.2.3 Spektrikertymäfunktio

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018

Kompleksianalyysi, viikko 5

Signaalien tilastollinen mallinnus T (5 op) Syksy 2006 Harjoitustyö

Signaalinkäsittelyn menetelmät

Missä mennään. systeemi. identifiointi. mallikandidaatti. validointi. malli. (fysikaalinen) mallintaminen. mallin mallin käyttötarkoitus, reunaehdot

TL5503 DSK, laboraatiot (1.5 op) Audiosignaalit (ver 1.0) Jyrki Laitinen

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Vektoreiden virittämä aliavaruus

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

Gaussin ja Jordanin eliminointimenetelmä

Tietorakenteet (syksy 2013)

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

3 Ikkunointi. Kuvio 1: Signaalin ikkunointi.

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

: Johdatus signaalinkäsittelyyn 1

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Transkriptio:

Esipuhe Käsillä oleva moniste on tarkoitettu opetusmateriaaliksi Tampereen teknillisen yliopiston signaalinkäsittelyn laitoksen kurssille "8253: Johdatus signaalinkäsittelyyn 2". Materiaali on kehittynyt nykyiseen muotoonsa luennoidessani aiheesta Jyväskylän yliopistossa lukuvuonna 995 996, Tampereen yliopistossa lukuvuonna 999 2 ja Tampereen teknillisessä yliopistossa lukuvuosina 999 23. Kurssi ja sen materiaali ovat suoraa jatkoa syksyisin luennoitavalle kurssille "823: Johdatus signaalinkäsittelyyn ". Syksyn kurssin materiaali löytyy verkosta osoitteesta http://www.cs.tut.fi/kurssit/823/. Ensimmäinen johdatuskurssi esittelee (diskreettiaikaisten) lineaaristen järjestelmien teorian (lineaariset järjestelmät, FFT, z-muunnos) ja suodinsuunnittelun perusteet. Tämän lisäksi kurssin lopussa tutustutaan muutamaan sovellusalueeseen, joita ovat olleet digitaalinen kuvankäsittely, puheenkäsittely, kuvan ja videon kompressio sekä lääketieteellinen signaalinkäsittely. Toinen johdatuskurssi keskittyy enemmän sovelluksiin. Moniste esittelee seuraavat aihepiirit: IIR-suotimet, näytteenottotaajuuden muuntelu, adaptiivinen suodatus, spektrin estimointi, äänisignaalin pakkaaminen ja epälineaarinen suodatus. Tämän lisäksi kurssin alussa saatetaan käydä osa kurssimonisteessa "823: Johdatus signaalinkäsittelyyn " olevista syksyn kurssilla käsittelemättä jääneistä aiheista. Kesällä 2 monisteen laatimisessa oli apuna filosofian ylioppilas Jari Niemi Tampereen yliopistosta. Kiitän häntä hyvin tehdystä työstä. Aikaisempiin versioihin nähden monisteessa olleita virheitä on korjattu sekä harjoitustehtäviä lisätty. Lisäinformaatiota löytyy kurssin kotisivulta, jonka osoite on http://www.cs.tut.fi/kurssit/8253/. Sivulta löytyy myös monisteen tuorein versio pdf-formaatissa. Monistetta on käytetty opetusmateriaalina vastaavilla kursseilla TAMK:issa, Kuopion yliopistossa sekä TTY:n koordinoimassa DI-muuntokoulutuksessa Kuopiossa. Pyynnöstä materiaalin käytölle voidaan myöntää lupa myös muualla. Tällöin voin tarvittaessa toimittaa myös luentokalvot sekä harjoituksissa käytettäviä Matlab-skriptejä. Tampereella, 9. toukokuuta 23, Heikki Huttunen heikki.huttunen@tut.fi

ii 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2

Sisältö Esipuhe i Remez-menetelmä FIR-suodinten suunnittelussa. Lähtökohta: optimaalisuus minimax-mielessä...................2 McClellan-Parks-Rabiner algoritmi....................... 3 2 Käänteisen Fourier-muunnoksen menetelmä 3 IIR-suodinten suunnittelu 5 3. Butterworth suotimet............................... 6 3.2 Tyypin I Chebyshev-suotimet........................... 8 3.3 Tyypin II Chebyshev-suotimet........................... 2 3.4 Elliptiset suotimet eli Cauer-suotimet...................... 2 4 Äärellisen sananpituuden vaikutukset IIR-suotimia käytettäessä 27 4. Muunnosvaiheen kvantisointivirhe........................ 28 4.2 Suodatuksen vaikutus kvantisointivirheeseen.................. 3 4.3 Äärellisen sananpituuden vaikutus IIR-suotimen kertoimien talletuksessa ja niillä kertomisessa.................................. 33 5 Näytteenottotaajuuden muuntelu (Multirate DSP) 35 5. Desimointi eli näytteenottotaajuuden alentaminen............... 36 5.2 Näytteenottotaajuuden pienentäminen useassa vaiheessa (multistage decimation)........................................ 39 5.3 Interpolointi eli näytteenottotaajuuden nostaminen.............. 39 5.4 Näytteenottotaajuuden muunnos rationaalikertoimella............ 42 5.5 Interpoloinnin käyttö D/A-muunnoksessa................... 43 5.5. Nollannen asteen pitopiiri......................... 43 5.5.2 Kohinanmuokkaus............................. 46 6 Adaptiivinen suodatus 55 6. Kohinan poisto................................... 55 6.2 Tuntemattoman järjestelmän mallinnus..................... 56 6.3 Ekvalisointi..................................... 57 6.4 Ennustus....................................... 57 6.5 Suodatusongelman teoreettinen optimiratkaisu................. 58 6.6 Gradienttimenetelmä ja LMS-algoritmi...................... 6

iv 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 6.7 Matlab-esimerkki adaptiivisesta suodatuksesta................. 6 7 Spektrin estimoinnista 7 7. Ongelmia pelkkää FFT:tä käytettäessä...................... 7 7.2 Ikkunoiden ominaisuuksia............................. 73 7.2. Värähtely sivukaistoilla.......................... 74 7.2.2 Spektripiikin leveys............................ 74 7.2.3 Scalloping Loss (SL)............................ 75 7.2.4 Equivalent noise bandwidth (ENBW).................. 75 7.2.5 Päällekkäiset ikkunat............................ 76 7.2.6 Processing gain (PG)............................ 77 7.2.7 Pahimman tapauksen hävikki (WCPL)................. 77 7.2.8 Spektrin vinoutuminen (Biasing)..................... 77 7.3 Matlab-testejä eri ikkunoilla............................ 78 7.4 Yhteenveto...................................... 79 8 Audiodatan kompressio 83 8. Kuuloaistin ominaisuuksia............................. 84 8.. Kuuloaistin anatomia........................... 84 8..2 Kuuloaistin mallintaminen........................ 84 8..3 Kuulokäyrä................................. 85 8..4 Peittoilmiö.................................. 86 8.2 Peittoilmiön hyväksikäyttö audion koodauksessa............... 87 8.2. Taajuusalueiden erottelu.......................... 88 8.2.2 Kvantisointikohinan peittyminen ja bittien jakaminen eri taajuuksille 92 9 Epälineaarinen suodatus 99 9. Robustisuus..................................... 2 9.2 Muutamia epälineaarisia suotimia........................ 2 9.2. Mediaani................................... 3 9.2.2 Painotettu mediaanisuodin........................ 3 9.2.3 L-suotimet.................................. 4 9.2.4 Homomorfiset suotimet.......................... 5

Luku Remez-menetelmä FIR-suodinten suunnittelussa Remez-menetelmä, eli optimaalinen menetelmä etsii minimax-mielessä optimaalista suodinta. Algoritmi johdetaan seuraavassa (täydellisyyden vuoksi) melko yksityiskohtaisesti. Olennaisinta on kuitenkin ymmärtää tuloksena saatavan suotimen ominaisuudet. Luvun lopussa varsinainen suunnittelu tehdään käyttäen valmista Matlab-ohjelmaa.. Lähtökohta: optimaalisuus minimax-mielessä Tarkastellaan tuttua ideaalista taajuusvastetta: { H id (e iω, kun ω P )=, kun ω P, missä ω [, π] ja P on päästökaista. Remez-algoritmia johdettaessa tarkastellaan vain suotimia, joiden vaihevaste on nolla kaikilla taajuuksilla ja taajuusvaste on reaalinen. Tämä tarkoittaa, että suotimen kertoimet ovat symmetrisesti origon suhteen (eli h(n) = h(n) aina kun n ). Tämä vastaa täysin ikkunamenetelmän tilannetta, jossa suunnitellaan ensin origokeskinen suodin, jota sitten viivästetään niin paljon, että suotimesta saadaan kausaalinen. Jakamalla taajuusvasteen määräävä summa kolmeen osaan ja soveltamalla kertoimien symmetrisyyttä (kertoimia N = 2M+ kappaletta) sekä Eulerin kaavaa voidaan lauseketta muokata seuraavasti. H(e iω ) = M h(n)e iωn M = h()+ = h()+ M h(n)e iωn + h(n)e iωn M h(n)e iωn + M M h( n)e iωn

2 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 = h()+ = h()+ = h()+ M h(n)(e iωn + e iωn ) M h(n)(cos( ωn)+i sin( ωn)+cos(ωn)+i sin(ωn)) M h(n)(2 cos(ωn))). Jatkossa tästä käytetään lyhyempää muotoa, joka saadaan ottamalla käyttöön apukertoimet a(n): M H(e iω )= a(n) cos(ωn), n= missä { h(n), kun n = a(n) = (.) 2h(n), kun n M. Nyt suotimen suunnitteluongelma voidaan esittää seuraavasti: on löydettävä sellaiset kertoimet a(),a(),...,a(m), että virhefunktion E(ω) =H(e iω ) H id (e iω ), itseisarvon suurin arvo on mahdollisimman pieni. Toisin sanoen on etsittävä sellaiset kertoimet a(n), että a(n) =arg min max E(ω), a( ) ω X missä X [, π) koostuu päästö- ja estokaistoista (ei siirtymäkaistasta). Usein virhettä päästö- ja estokaistoilla halutaan painottaa eri tavoin. Tällöin virhefunktioksi valitaan E(ω) =W(ω) ( H(e iω ) H id (e iω ) ), missä painofunktio W(ω) saa eri arvot esto- ja päästökaistalla. Painofunktion arvo voi olla vaikkapa 2 estokaistalla ja päästökaistalla. Tällöin päästökaistalla sallitaan kaksinkertainen virhe estokaistaan nähden. Painofunktion valintaan tutustutaan tarkemmin harjoitustehtävässä.5. Optimaaliselle ratkaisulle voidaan löytää seuraava riittävä ja välttämätön ehto: H(e iω ) on minimax-mielessä optimaalinen, jos ja vain jos on olemassa ainakin M + 2 sellaista pistettä ω,ω,...,ω M+ X, että seuraavat ehdot ovat voimassa: ω <ω < <ω M <ω M+, E(ω k+ )= E(ω k ), kun k =,,...,M, E(ω k ) = max ω X E(ω), kun k =,,...,M+ Optimaalisen ratkaisun taajuusvasteen jokainen värähtelyhuippu päästökaistalla ja estokaistalla on tarkalleen saman korkuinen. Lisäksi virheen merkki vaihtuu jokaisessa värähtelyhuipussa, ks. kuva. Nyt kuvassa on nimenomaan suotimen taajuusvaste, joka tässä tapauksessa on reaalinen. Näinollen kuvaaja voi saada myös negatiivisia arvoja. Amplitudivaste on alla olevan kuvaajan itseisarvo.

. REMEZ-MENETELMÄ FIR-SUODINTEN SUUNNITTELUSSA 3 +δ p δ p δ s δ s f p f s.5 Päästökaista Siirtymäkaista Merkitään maksimivirhettä muuttujalla ɛ, Estokaista ɛ = max ω X E(ω). Silloin optimaalisen taajuusvasteen virheet pisteissä ω,..., ω M+ voidaan esittää muodossa E(ω k )=W(ω k ) ( H ( ( )) e k) iω Hid e iω k =( ) k ɛ, k =,,...,M+. Pisteet ω,ω,...,ω M+ määräytyvät seuraavassa esitettävän algoritmin avulla. Rutiinin alussa ne valitaan esimerkiksi tasaisin välein väliltä [, π]..2 McClellan-Parks-Rabiner algoritmi Suodin, jonka taajuusvaste toteuttaa optimaalisuusehdon on mahdollista löytää seuraavalla algoritmilla. Oletetaan, että meillä on annettuna M + 2 välin [, π] pistettä, ts. joukko Ω = {ω,ω,...,ω M+ }. Tämä joukko on siis mikä tahansa pistejoukko, useimmiten tasaisin välimatkoin valittu. Kyseiset pisteet kertovat optimaalisen taajuusvasteen otaksutut värähtelyhuiput, jotka siis alkuvaiheessa ovat puhtaalla arvauksella valitut. Jos ne olisivat oikeat optimaalisen taajuusvasteen värähtelyhuiput, niin yhtälö E(ω k )=W(ω k ) ( H ( e iω k) Hid ( e iω k )) =( ) k ɛ, k =,,...,M+, olisi voimassa. Tämä voidaan esittää M + 2:na lineaarisena yhtälönä: M n= a(n) cos nω k ( )k ɛ W(ω k ) = H ( ) id e iω k, (.2)

4 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 k =,,...,M+. Tämä yhtälöryhmä sisältää M + 2 tuntematonta, nimittäin muuttujat a(),a(),...,a(m) ja muuttujan ɛ. Yhtälöryhmä matriisimuodossa on seuraavaa muotoa, cos(ω ) cos(m ω ) /W(ω ) a() H id (e iω ) cos(ω ) cos(m ω ) /W(ω ) a() H id (e iω )........ =.. cos(ω M ) cos(m ω M ) /W(ω M ) a(m) H id (e iω M ) cos(ω M+ ) cos(m ω M+ ) /W(ω M+ ) ɛ H id (e iω M+ ) Vektori (a(),a(),...,a(m),ɛ) T voidaan ratkaista tästä yhtälöstä. Saadut kertoimet määräävät taajuusvasteen, joka on pisteissä ω,ω,...,ω M+ etäisyydellä ɛ ideaalisesta taajuusvasteesta. Virhefunktion huippuarvot eivät kuitenkaan ole näissä pisteissä, vaan funktio saa suurempia arvoja muualla. Alla olevassa kuvassa on Remez-algoritmin tuottamia kertoimia vastaavan taajuusvasteen kuvaaja algoritmin toisella iteraatiokierroksella..2.8.6.4.2.2.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus (Fs=) Tätä vastaava virhefunktio on alla olevassa kuvassa..2.5..529.529..5.2.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus (Fs=) Nyt ɛ =.529 ja pisteet ω,ω,...,ω M+ näkyvät kuvassa ympyröinä. Virhefunktio siis saa arvon ɛ pisteissä ω,ω,...,ω M+, mutta nämä pisteet eivät selvästikään ole virhefunktion huippuarvoja. Virhefunktion todelliset huippuarvot voidaan kuitenkin selvittää ja ottaa nämä uusiksi lähtöarvoiksi iteraatiolle. Näiden avulla voidaan jälleen selvittää kertoimet a(),a(),...,a(m) sekä ɛ, joista saadaan uusi virhefunktio ja sille uudet pisteet ω,ω,...,ω M+, ja niin edelleen. Näin jatketaan, kunnes uudet alkuarvot poikkeavat edellisen kierroksen lähtöarvoista riittävän vähän, ω k ω k <α. Viimeisen kierroksen kertoimista a(),a(),...,a(m) voidaan muodostaa impulssivaste h(n) ottamalla huomioon impulssivasteen positiivinen symmetria sekä kaava (.).

. REMEZ-MENETELMÄ FIR-SUODINTEN SUUNNITTELUSSA 5 McClellan-Parks-Rabiner algoritmi. Valitse M + 2 pistettä Ω = {ω,ω,...,ω M+ } joukosta X. 2. Ratkaise yhtälöryhmästä (.2) tuntemattomat a(),a(),...,a(m) ja ɛ. 3. Etsi uudet M + 2 ääriarvoa Ω = {ω,ω,...,ω M+ } näin saadulle uudelle virhefunktiolle. 4. Jos ω k ω k < α, niin palauta joukon Ω pisteitä vastaavat kertoimet h(),h(),...,h(m). Muutoin sijoita Ω := Ω ja palaa kohtaan 2. Algoritmin suppenemisen todistaminen sivuutetaan tässä yhteydessä. Kuitenkin suppeneminen tapahtuu kohti optimiratkaisua, jos äärellinen laskentatarkkuus ei aiheuta juuttumista johonkin sykliin. Todistus on löydettävissä numeerisen matematiikan ja funktioiden approksimoinnin kirjoista. Remez-algoritmin alkuperäinen käyttötarkoitus oli nimittäin parhaan ns. Chebychev-approksimaation löytäminen annetulle funktiolle välillä [, ]. Suotimen asteen (kertoimien määrän) arviointiin ei ole olemassa mitään analyyttistä lauseketta ja aste onkin yleensä enemmän tai vähemmän arvailun varassa. Ifeachorin kirjassa on olemassa empiirisiä arvioita kertoimien määräksi, mutta niihin ei puututa tässä. Matlab antaa arvion tarvittavasta kertoimien määrästä komennolla remezord. Kuten ikkunamenetelmässäkin, myös Remez-algoritmin käytännön hyödyntämisessä on Matlabin signaalinkäsittelyn toolbox korvaamaton apu. Remez-suunnittelun suorittava Matlab-komento on b = remez (n,f,m,w);, missä n on suotimen aste (kertoimien määrä - ), f on vektori, joka määrää pisteet väliltä [, ], joissa asetetaan taajuustason vaatimuksia. Vektori m kertoo vektorin f määräämissä pisteissä halutut taajuusvasteet ja w on Remez-algoritmin käyttämä painofunktio W(ω). Vektorin f määrittelyssä on syytä huomata, että taajuudet on skaalattu välille [, ], missä vastaa Nyquistin rajataajuutta, eli kompleksitason pistettä e iπ. Lisäksi vektorin ensimmäinen piste pitää olla ja viimeinen. Nämä parametrit saadaan komennolla [n,f,m,w] = remezord (F,A,Dev,Fs);, missä vektori F sisältää siirtymäkaistan rajataajuudet, A sisältää amplitudivasteen arvot eri kaistoilla, Dev sisältää maksimipoikkeamat eri kaistoilla lineaarisella asteikolla ja Fs on näytteenottotaajuus. Esimerkki: Suunnittele Matlabin avulla optimaalinen suodin, jonka vaatimukset ovat: Chebychevin polynomit T (x), T (x),t 2 (x),...määritellään seuraavasti Näistä muodostettu lineaarikombinaatio on muotoa S M (x) = T n (x) = cos nθ, θ = arccosx. M a n T n (x) = n= M a n cos nθ, josta pitää löytää optimaaliset kertoimet a n. Tämä puolestaan on täsmälleen sama ongelma kuin optimaalisen taajuusvasteen löytämisessä. Näin ollen optimaalinen suodinsuunnittelu on itse asiassa Chebyshevapproksimointia. n=

6 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 Päästökaistat Estokaista Päästökaistan maksimivärähtely Estokaistan minimivaimennus Näytteenottotaajuus [ Hz,88Hz] ja [2 Hz, 256 Hz] [5 Hz, 75 Hz].5 db 45 db 52 Hz Desibelit täytyy ensin muuntaa lineaariselle asteikolle. Päästökaistalla saa värähtelyä olla.5 db ja ihannearvo on. Amplitudivasteen suurin arvo saa olla siis.5 db ja pienin arvo.5 db. Suurin arvo lineaarisella asteikolla saadaan yhtälöstä 2 log x =.5, eli x =.5/2 =.593. Pienin arvo puolestaan tulee yhtälöstä 2 log x =.5, eli x =.5/2 =.944. Näistä jälkimmäinen on lähempänä ihannearvoa eli ykköstä, joten maksimipoikkeama lineaarisella asteikolla on.944 =.559. Estokaistalla amplitudivasteen pitää olla arvon 45 db alapuolella, eli lineaarisella asteikolla: 2 log x = 45, josta x = 45/2 =.56. Vektori Dev on siis Dev=[.559,.56,.559]; Vektori F puolestaan on F=[88,5,75,2]; ja vektori A=[,,];. Näytteenottotaajuus Fs=52. Aste arvioidaan siis komennolla [n,f,m,w] = remezord (F,A,Dev,Fs); ja tulokseksi saadaan mm. aste n=34, josta kertoimien määräksi tulee 35. 2 Varsinainen suunnittelu tapahtuu komennolla b=remez(n,f,m,w);, joka palauttaa kuvassa olevan impulssivasteen..8.6.4.2 Taajuusvaste:.2 5 5 2 25 3 2 Amplitudivaste (db) 2 4 6 8.5..7.22.3.34.39.45.5 Normalisoitu taajuus Taajuusvaste lineaarisella asteikolla:.4.2.8.6.4.2.5..7.22.3.34.39.45.5 2 Matlabin versio 5.3 palauttaa virheellisesti myös parittomia asteita eli parillisia kertoimien määriä. Tällöin ei kaistanestosuotimen toteutus onnistu.

. REMEZ-MENETELMÄ FIR-SUODINTEN SUUNNITTELUSSA 7 Napa-nollakuvio: 2.5 Imaginary Part.5.5 34.5 2 2.5.5.5.5 2 Real Part Esimerkki: Suunnitellaan ylipäästösuodin seuraavilla vaatimuksilla: Päästökaista Estokaista Päästökaistan maksimivärähtely Estokaistan minimivaimennus Näytteenottotaajuus [5 khz, 22.5 khz] [ khz,8khz]. db 25 db 44. khz Desibeliarvo. db vastaa lineaarisen asteikon maksimipoikkeamaa.4 ja minimivaimennus 25 db poikkeamaa.562, joten vektori Dev=[.562,.4];. Lisäksi F=[8,5];, A=[,]; ja Fs=44.;. Rutiini remezord antaa asteeksi Matlabin versiolla 5.3 arvon n=7, mutta ylipäästösuotimen asteen pitää olla parillinen (ja kertoimien määrän pariton). Siksi otetaan asteeksi n=8. Suunnittelukomento antaa seuraavan impulssivasteen..6.4.2.2 Taajuusvaste desibeleinä on alla..4 2 3 4 5 6 7 8

8 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 2 Amplitudivaste (db) 2 4 6 8.5..8.25.3.34.4.45.5 Normalisoitu taajuus Kuvasta nähdään, että asteen arviointirutiini antaa toisinaan liian pieniä arvoja. Tässä tapauksessa seurauksena oli, ettei estokaistan minimivaimennus ole määrittelyjen mukainen. Oikeaan lopputulokseen päästäisiin kasvattamalla astetta. Taajuusvaste lineaarisella asteikolla on puolestaan seuraavan näköinen..4.2.8.6.4.2.5..8.25.3.34.4.45.5 Lopuksi napa-nollakuvio näyttää seuraavalta..5.5 Imaginary Part.5 8.5 3 2.5 2.5.5.5 Real Part Harjoitustehtäviä.. Piirrä alla olevaa kuvaa vastaava suunnittelukriteereitä havainnollistava kuvio, kun kriteerit ovat seuraavat: Näytteenottotaajuus on 44. khz, Taajuuksilla -8 khz tulee suotimen vaimennuksen olla vähintään 25 db, Taajuuksilla 5-22.5 on päästökaista ja värähtely saa olla enintään. db.

. REMEZ-MENETELMÄ FIR-SUODINTEN SUUNNITTELUSSA 9 +δ p δ p δ s f f p s.5 Päästökaista Siirtymäkaista Estokaista.2. a) Muunna seuraavat luvut desibeleiksi:.5,.2,.,.,., 2. b) Muunna seuraavat desibeliarvot lineaariselle asteikolle: 25 db, 3 db, 6 db, 2 db, 3 db, 6 db..3. Tarkastellaan ensimmäisen tehtävän suunnitteluvaatimuksia ja erityisesti sen päästöja estokaistan sijainteja (vaimennusvaatimukset unohdetaan hetkeksi). Laske montako kerrointa tarvitaan kun suodin suunnitellaan ikkunamenetelmällä käyttäen (a) Suorakulmaista ikkunaa, (b) Hanning-ikkunaa, (c) Hamming-ikkunaa, (d) Blackman-ikkunaa?.4. (Matlab) Suunnittele Remez-algoritmilla suodin, joka toteuttaa ensimmäisen tehtävän vaatimukset (help remez, help remezord). Suunnittele vastaava suodin ikkunamenetelmällä (help fir). Tulosta ruudulle amplitudi- ja vaihevasteet sekä napa-nollakuviot..5. Remez-menetelmän painofunktion avulla voidaan säätää värähtelyä päästö- ja estokaistoilla. Merkitään päästö- ja estokaistan maksimivärähtelyjen suhdetta muuttujalla K: K = δ p δ s = Tällöin painofunktion tulee olla muotoa maksimivärähtely päästökaistalla maksimivärähtely estokaistalla. W(ω) = { päästökaistalla, K estokaistalla. Jos esimerkiksi δ p =. ja δ s =.5, niin K 7.28, ja painofunktio on W(ω) = { päästökaistalla, 7.28 estokaistalla.

8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 Yleensä suunnittelukriteerit on annettu desibeleinä. Tällöin ne pitää ensin muuntaa lineaariselle asteikolle. Määritä Remez-algoritmin painofunktio, kun (a) Päästökaistan värähtely saa olla enintään.26 db ja estokaistan vaimennus vähintään 3 db. (b) Päästökaistan värähtely saa olla enintään.5 db ja estokaistan vaimennus vähintään 4 db. (c) Päästökaistan värähtely saa olla enintään. db ja estokaistan vaimennus vähintään 8 db.

Luku 2 Käänteisen Fourier-muunnoksen menetelmä Käänteisen Fourier-muunnoksen suunnittelumenetelmässä (engl. frequency sampling method) näytteistetään ideaalinen taajuusvaste ja otetaan sen käänteinen diskreetti Fouriermuunnos. Diskreetti Fourier-muunnoshan vastaa taajuusvastetta tietyissä kompleksitason yksikköympyrän pisteissä ja näin ollen käänteinen DFT tuottaa approksimaation ideaaliselle impulssivasteelle. Ongelmana on, että tietoa taajuustason käyttäytymisestä on ainoastaan tietyissä yksikköympyrän pisteissä, ja muista pisteistä ei tiedetä mitään. Tämän menetelmän merkitys on lähinnä historiallinen. Käänteisen Fourier-muunnoksen menetelmä on tapana mainita siksi, että se on helppo ymmärtää ja se on usein ensimmäinen mieleen tuleva ratkaisu taajuuksien suodattamiselle. Kuvassa on esitetty ideaalinen taajuusvaste, taajuusvasteen näytteistyspisteet ja niiden ja käänteisen DFT:n avulla selvitetyn impulssivasteen todellinen taajuusvaste. Kuvasta havaitaan taajuusvasteen heittelehtiminen kiinteiden pisteiden ulkopuolella..5.5..2.3.4.5.6.7.8.9.4.2.8.6.4.2..2.3.4.5.6.7.8.9 Mikään ei kuitenkaan takaa, että kertoimista tulee reaalisia otettaessa käänteinen DFT. Meidän pitääkin eksplisiittisesti valita se taajuusvaste, jonka tuloksena on lineaarivaiheinen reaalikertoiminen FIR-suodin. Valinta suoritetaan niiden ideaalisten taajuusvasteiden

2 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 joukosta, joiden itseisarvot toimivat toivotulla tavalla: Hid (e iω ) {, kun ω P =, kun ω P, missä päästökaista P on jokin joukon [, π] osajoukko. Valinta selviää tarkastelemalla käänteisen DFT:n lauseketta h(n) = N N H(k)w kn N, missä w N = e 2πi/N. Muunnetaan H(k) napakoordinaatistoon: h(n) = N k= k= N H(k) e iarg H(k) w kn N = N H(k) e iarg H(k) e 2πikn/N N = N k= N k= i(arg H(k)+2πkn/N) H(k) e = N H(k) cos(arg H(k)+2πkn/N) N k= + i N H(k) sin(arg H(k)+2πkn/N) N k= Koska halutaan reaalikertoiminen suodin, pitää jälkimmäinen summattava jättää pois, h(n) = N H(k) cos(arg H(k)+2πkn/N). N k= Erityisesti lineaarivaiheisille FIR-suotimille on voimassa kun N on parillinen ja α = N 2. Tällöin arg(h(k)) = 2παk N, h(n) = N H(k) cos(2π(n α)k/n). N k= Käänteisen DFT:n suunnittelumenetelmä voidaan kiteyttää tähän kaavaan.

2. KÄÄNTEISEN FOURIER-MUUNNOKSEN MENETELMÄ 3 Käänteisen DFT:n suunnittelumenetelmä (N parillinen). Kiinnitä ideaalinen taajuusvaste H id (e iω ). 2. Selvitä tätä vastaava DFT H(n) kaavasta ( H(n) =H id missä n =,,2,...,N. e 2πin N 3. Suunnitellun suotimen impulssivaste saadaan kaavasta k= ), h(n) = N ( ) 2π(n α)k H(k) cos, N N missä n =,,...,N ja α = N 2. Kokeillaan tätä menetelmää Matlabin avulla. Vaatimukset: Näytteenottotaajuus on 44. khz, Taajuuksilla -22.5 khz on estokaista, Taajuuksilla -8 khz on päästökaista. Olkoon kertoimien määrä N = 32. Yllä olevan algoritmin tuloksena on suodin, jonka taajuusvaste ideaalisen taajuusvasteen ja kiinnitettyjen pisteiden kanssa on kuvassa..4.2 Amplitudi (abs.).8.6.4.2.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus Ikkunoiden avulla tuloksia saadaan parannettua, mutta ei merkittävästi, eikä lähellekään ikkunamenetelmän tai optimaalisen menetelmän tuloksia. Harjoitustehtäviä 2.. (Matlab) Laadi funktio, joka toteuttaa käänteisen Fourier-muunnoksen suunnittelumenetelmän Matlabissa. Apuna kannattanee käyttää Matlabin editoria (komento edit). Tiedoston ensimmäiselle riville tulee määrittely, tässä tapauksessa function b=invfft(h) missä H on haluttu amplitudivaste eri pisteissä (vektori, jossa on n komponenttia, n on kertoimien määrä) ja tulokseksi tulee suotimen kertoimet sisältävä vektori b. Tiedosto talletetaan samalla nimellä kuin varsinainen funktiokutsu (tässä tapauksessa invfft.m). Tämän jälkeen kirjoitetaan ohjelmakoodi jonka lopussa halutut kertoimet sijoitetaan vektoriin b. Vihje: menetelmä kiteytyy yhteen kaavaan, joka on määrä

4 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 toteuttaa. Koska kyseessä on summa, homman voi hoitaa for-silmukassakin. Tyylikkäämpi ratkaisu saadaan kuitenkin sisätulon avulla, jossa vaakavektori kerrotaan oikealta puolelta pystyvektorilla. Saatat tarvita seuraavia Matlabin funktioita: length, fix ja cos. Jos halutaan 8-kertoiminen alipäästösuodin, jonka rajataajuus on puolet Nyquistin rajataajuudesta, määritellään ensin taajuusvaste H=[,,,,,,,] (huomaa, että amplitudivektori (,,, ) tulee kahteen kertaan) ja kutsutaan rutiinia. Tulokseksi pitäisi tulla b=[-.58,,.38,.5,.38,,-.58,]. 2.2. (Matlab) Suunnittele edellisen tehtävän rutiinilla suodin, jonka amplitudivaste on nolla nollataajuudella ja kasvaa lineaarisesti kunnes on yksi Nyquistin rajataajuudella. Tutustu fir2-rutiiniin ja suunnittele sen avulla vastaava suodin. Vertaa tuloksia eri kerroinmäärillä. Vihje: vertailu onnistunee helpoiten lineaarisella asteikolla; komennoilla [h,w]=freqz(b); plot(w/(2*pi),abs(h));

Luku 3 IIR-suodinten suunnittelu Perinteinen menetelmä IIR-suodinten suunnittelussa on suunnitella ensin vastaava analoginen suodin ja muuntaa se sitten digitaaliseen muotoon. Muunnoksessa käytetään ns. bilineaarimuunnosta tai impulssi-invarianttitekniikkaa. Tällä kurssilla ei perehdytä suunnittelumenetelmiin, vaan ne jätetään myöhemmille lineaarisen suodatuksen kursseille. Seuraavassa esitellään kuitenkin IIR-suodinten neljä eri tyyppiä ja tutkitaan kuinka suunnittelu tehdään Matlabia käyttäen. Matlab-ohjelmiston ja sen signaalinkäsittelyn toolboxin avulla on mahdollista suunnitella IIR-suotimia samaan tyyliin kuin FIR-suotimiakin. Matlabille annetaan siis suotimelle asetettavat vaatimukset vektorimuodossa, ja Matlab palauttaa sitä vastaavan IIR-suotimen kertoimet kahtena vektorina (rekursiivisille termeille ja ei-rekursiivisille termeille). Matlabin suunnittelemiin IIR-suotimiin on kuitenkin syytä suhtautua varauksella. Käytössä on funktioita, jotka arvioivat tarvittavien kertoimien määrää, ja palauttavat jonkin desimaaliluvun, sanokaamme N = 3.57. Kertoimiahan on kuitenkin luonnollisesti aina jokin kokonaislukumäärä, joten tämä täytyy pyöristää ylöspäin: N = 4. Tässä vaiheessa suunnitteluohjelmalla on hieman lisävapautta käyttää näin saatava suotimen tehokkuuden lisäys hyväksi jonkin suotimen ominaisuuden tehostamiseen. Matlab kuitenkin käyttää tämän vapauden yksinomaan siirtymäkaistan leveyden minimointiin unohtaen kokonaan päästö ja estokaistojen värähtelyn minimoimisen. Kun saadut kertoimet otetaan käyttöön jossain sovelluksessa, äärellisen sananpituuden vaikutuksesta saattavat kyseiset värähtelyt ylittää suurimman sallitun määrän päästö tai estokaistalla. Nämä ongelman kuitenkin ovat harvoin suunnittelun esteenä, ja suodinten suunnittelu on siis kuitenkin mahdollista suhteellisen hyvällä tarkkuudella Matlabia käyttäen. Seuraavassa joitain menetelmiä. Tarkastelu jaetaan neljään osaan suodintyyppien mukaan: Butterworth suotimet, Tyypin I Chebyshev suotimet, Tyypin II Chebyshev suotimet, Elliptiset suotimet.

6 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 3. Butterworth suotimet Butterworth-tyyppisille IIR-suotimille on tyypillistä, että päästökaistan alku ja estokaistan loppu (alipäästösuotimen tapauksessa) ovat molemmat mahdollisimman tasaisia (maximally flat stopband; maximally flat passband). Butterworth-tyyppisen IIR-suotimen suunnittelussa tarvitaan kahta komentoa, joista ensimmäinen laskee tarvittavien kertoimien määrän ja skaalaa argumenttina saamansa päästö ja estokaistat vastaavaksi analogisen prototyypin argumentiksi. Käytännössä suunnittelussa ei siis tarvitse muistaa lainkaan analogisen prototyypin käyttöä; Matlab hoitaa sen käytön. Alipäästösuodinta suunniteltaessa kertoimien määrää voidaan arvioida komennolla [N, Wn] = buttord(2*wp, 2*Ws, Rp, Rs) missä N on ulostulona saatava aste ja Wn on analogisen prototyypin rajataajuus. Kahden ensimmäisen parametrin kerroin tarvitaan, koska Matlab skaalaa taajuudet välille [, ] ja tällä kurssilla ne skaalataan välille [,.5]. Tarvittavat argumentit ovat Wp on päästökaistan rajataajuus Ws on estokaistan rajataajuus Rp on suurin sallittu värähtely päästökaistalla desibeleinä Rs on estokaistan minimivaimennus Suunnittelu tapahtuu komennolla [b,a] = butter (N, Wn); Samaa komentoa käytetään myös ylipäästösuodinten suunnittelussa. Tällöin lisätään komennon viimeiseksi argumentiksi merkkijono high. Esimerkiksi: [b,a] = butter (N, Wn, high ); Jos halutaan kaistanpäästö- tai -estosuotimia, pitää argumenttien Ws ja Wp sijasta antaa vektorit [W, W2] ja [W3, W4], jotka ilmoittavat amplitudivasteiden reunoja vastaavat siirtymäkaistat. Lisäämällä viimeiseksi argumentiksi merkkijono stop, saadaan kaistanestosuodin; muutoin tuloksena on kaistanpäästösuodin. Tuloksena saadaan kaksi vektoria, b= (b,b,...,b N ) ja a= (, a,...,a N ), jotka sisältävät siirtofunktion seuraavasti: Y(z) X(z) = H(z) =b + b z + b 2 z 2 + + b N z N + a z + a 2 z 2 + + a N z N. Tästähän saadaan ( varsinaisen suotimen kertoimet kertomalla yhtälön molemmat puolet termillä X(z) + ) N k= a kz k ( Y(z) + ) N a k z k = X(z) k= N b k z k k=

3. IIR-SUODINTEN SUUNNITTELU 7 ja edelleen käänteisen z-muunnoksen avulla N y(n)+ a k y(n k) = k= N b k x(n k). k= Tämä voidaan ilmaista muodossa y(n) = N N b k x(n k) a k y(n k). k= k= Suunnittelun jälkeen tämä kaava voidaankin jo sellaisenaan toteuttaa. Esimerkki: Suunnitellaan alipäästösuodin, jonka päästökaista on normalisoiduissa taajuuksissa välillä [,.] ja estokaista välillä [.45,.5]; päästökaistan maksimivärähtely on. db ja estokaistan minimivaimennus on 47 db. [N, Wn] = buttord (.22,.29,., 47) N = 28 Wn =.2443 Varsinainen suunnittelu tapahtuu komennolla [b,a] = butter(n,wn); Näin saadaan kaksi vektoria; b, jonka kuvaaja on seuraavassa 3.5 x 7 3 2.5 2.5.5 ja vektori a: 5 5 2 25 4 x 4 2 2 4 5 5 2 25 Suunnitellun suotimen impulssivasteen alku saadaan komennolla impz(b,a).5..5.5. 5 5 2 25 Taajuusvaste (freqz (b,a)); huomaa huikea vaimennus estokaistan loppupäässä.

8 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 Amplitudivaste (db) 2 3 4 5 6.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus Vaihevaste on melko lineaarinen päästökaistalla eikä näin ollen haitanne useimmissa sovelluksissa. Sen kuvaaja on alla. Vaihevaste asteina 2 3 4 5 Lopuksi navat ja nollat: 6.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus.8.6.4 Imaginary Part.2.2 28.4.6.8.5.5 Real Part Kuvasta nähdään kaikkien suotimen nollien sijaitsevan pisteessä z =, joka vastaa Nyquistin taajuutta. Näin ollen suotimen amplitudivaste tällä taajuudella on lineaarisella asteikolla nolla, eli desibeleinä amplitudivaste lähestyy arvoa. Amplitudi- ja vaihevasteen kuvaajista nähdäänkin, että Matlabin laskentatarkkuus loppuu lähellä Nyquistin taajuutta. Samasta syystä zplane-komento ei osaa piirtää tämän suotimen napa-nollakuviota oikein: yllä olevassa kuvassa nollat on korjattu oikeiksi käsin. Butterworth-suotimen kaikki nollat sijaitsevat nimittäin aina pisteessä z =. 3.2 Tyypin I Chebyshev-suotimet Ensimmäisen tyypin Chebyshev-suotimille on tyypillistä, että niiden estokaista on maksimaalisen tasainen (maximally flat), mutta päästökaista on tasavärähtelevä (equiripple). Niiden suunnittelussa on käytettävissä vastaavat komennot kuin Butterworth-suodinten tapauksessa. Suotimen aste voidaan arvioida komennolla

3. IIR-SUODINTEN SUUNNITTELU 9 [N, Wn] = chebord(2*wp, 2*Ws, Rp, Rs) missä N on ulostulona saatava aste ja Wnon analogisen prototyypin rajataajuus. Tarvittavat argumentit ovat Wp on päästökaistan lopputaajuus Ws on estokaistan alkutaajuus Rp on suurin sallittu värähtely päästökaistalla desibeleinä Rs on estokaistan minimivaimennus Suunnittelukomento on muotoa [B,A] = cheby(n,rp,wn), missä N on suotimen aste, Rp on suurin sallittu värähtely päästökaistalla ja Wn on analogisen prototyypin rajataajuus (joka arvioidaan chebord -funktiolla). Muut kuin alipäästösuotimet suunnitellaan samalla tavalla kuin Butterworth-suotimen tapauksessa. Tarkastellaan edellisen esimerkin suodinta vastaavaa tyypin I Chebyshevsuodinta: [N, Wn] = chebord(.22,.29,., 47) N = 2 Wn =.22 [b,a] = cheby (N,., Wn); Näin saadun suotimen amplitudi- ja vaihevasteet ovat seuraavassa. Amplitudivaste (db) 2 3 4 Vaihevaste asteina 5.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus 2 4 6 8 2.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus Päästökaistan tasavärähtely-ominaisuus puolestaan nähdään seuraavasta skaalatusta kuvasta, jossa on lineaarinen asteikko..9995.999.9985.5..5.2.25

2 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 3.3 Tyypin II Chebyshev-suotimet Toisen tyypin Chebyshev-suotimille on tyypillistä, että niiden estokaista on tasavärähtelevä (equiripple), mutta päästökaista on maksimaalisen tasainen (maximally flat). Niiden suunnittelussa on käytettävissä vastaavat komennot kuin edellä mainituissa tapauksissa. Suotimen aste voidaan arvioida komennolla [N, Wn] = cheb2ord(2*wp, 2*Ws, Rp, Rs) missä N on ulostulona saatava aste ja Wn on analogisen prototyypin rajataajuus. Tarvittavat argumentit ovat Wp on päästökaistan lopputaajuus Ws on estokaistan alkutaajuus Rp on suurin sallittu värähtely päästökaistalla desibeleinä Rs on estokaistan minimivaimennus Suunnittelukomento on muotoa [B,A] = cheby2(n,rs,wn), missä N on suotimen aste, Rs on suurin sallittu värähtely estokaistalla ja Wn on analogisen prototyypin rajataajuus (joka arvioidaan cheb2ord -funktiolla). Edellisen esimerkin suodinta vastaava tyypin II Chebyshev-suodin suunnitellaan seuraavasti: [N, Wn] = cheb2ord(.22,.29,., 47) N = 2 Wn =.2795 [b,a] = cheby2 (N, 47, Wn); Näin saadun suotimen amplitudi- ja vaihevasteet ovat seuraavassa. Amplitudivaste (db) 2 2 4 6 8.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus Vaihevaste asteina 2 3 4 5 6.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus

3. IIR-SUODINTEN SUUNNITTELU 2 3.4 Elliptiset suotimet eli Cauer-suotimet Elliptisille suotimille on ominaista, että sekä päästökaistan amplitudivaste että estokaistan amplitudivaste ovat tasavärähteleviä. Komennot suunnittelussa ovat [N, Wn] = ellipord(2*wp, 2*Ws, Rp, Rs) ja [B,A] = ellip(n,rp,rs,wn) Kaikkien termien merkitykset on jo selvitetty edellisissä kappaleissa. Esimerkkisuotimemme suunnittelu tapahtuu siis komennoilla [N,Wn] = ellipord(.22,.29,., 47) Tulokseksi saadaan: N = 7 Wn =.22 Seuraavaksi suunnittelukomento: [b,a] = ellip (N,., 47, Wn); Tulokseksi saadaan suodin, jolla on seuraava amplitudivaste: Amplitudivaste (db) Vaihevaste on alla: 2 2 4 6 8.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus Vaihevaste asteina 2 3 4 5.5..5.2.25.3.35.4.45.5 Normalisoitu taajuus Lopuksi vielä amplitudivaste lineaarisella asteikolla zoomattuna päästökaistaan:.9995.999.9985.5..5.2.25 Harjoitustehtäviä 3.. Alla olevat kuvat (a-d) esittävät eräiden IIR-suodinten amplitudivasteita. Kaikki neljä IIR-suodinten tyyppiä on mukana. Mikä suodintyyppi vastaa kutakin kuvaa?

22 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 2 Amplitudivaste desibeliasteikolla 2 Amplitudivaste desibeliasteikolla 2 2 4 4 6 6 8 8.5..5.2.25.3.35.4.45.5.5..5.2.25.3.35.4.45.5 Amplitudivaste lineaarisella asteikolla Amplitudivaste lineaarisella asteikolla.8.6.4.2.5..5.2.25.3.35.4.45.5 (a).8.6.4.2.5..5.2.25.3.35.4.45.5 (b) 5 Amplitudivaste desibeliasteikolla 5 Amplitudivaste desibeliasteikolla 5 5 2 25 3.5..5.2.25.3.35.4.45.5 5 5 2 25.5..5.2.25.3.35.4.45.5 Amplitudivaste lineaarisella asteikolla Amplitudivaste lineaarisella asteikolla.8.6.4.2.5..5.2.25.3.35.4.45.5 (c).8.6.4.2.5..5.2.25.3.35.4.45.5 (d) 3.2. (Matlab) Matlab palauttaa suodinsuunnittelun tuloksena vektorit b =(.2353,.8746,.283,.8746,.2353) ja a = (.,.268,.65,.2989,.339). Alla on yksinkertaistettu esimerkki c-kielisestä ohjelmasta, joka toteuttaa mainitun IIR-suotimen. Ainoastaan varsinaisen suodatuksen toteuttavat rivit puuttuvat. Lisää sopivat rivit (kaksikin riittää). Ohjelmassa taulukko x[] sisältää suodatettavan signaalin ja tulossignaali tulee sijoittaa taulukkoon y[]. Esimerkissä signaali x alustetaan impulssiksi, jolloin lopputuloksena taulukossa y on suotimen impulssivaste. Alla oleva ohjelmakoodi löytyy verkosta ja kääntyy Lintulassa kääntäjällä cc, käännä ja aja ohjelma. http://www.cs.tut.fi/~hehu/857/iir_esim.c. main() { float x[]; /* Suodatettava signaali */ float y[]; /* Suodatuksen tulos */ float b[]={.2353,.8746,.283,.8746,.2353};

3. IIR-SUODINTEN SUUNNITTELU 23 float a[]={.,.268,.65,.2989,.339}; int n; int k; /* Alustetaan x impulssiksi ja y nollasignaaliksi */ for (n=;n<;n++) { x[n]=.; y[n]=.; } x[4]=.; /* Suodatetaan signaali x ja sijoitetaan tulos y:hyn */ for (n=4;n<;n++) { /**** Lisää tähän tarvittavat rivit ****/ } /* Tulostetaan y:n arvot */ } for (n=4;n<;n++) printf ("%.4f ",y[n]); printf ("\n"); 3.3. (Matlab) Suunnittele jollakin Matlabin neljästä suunnittelurutiinista IIR-alipäästösuodin, joka päästää läpi taajuudet välillä Hz 4 Hz ja poistaa taajuudet 7 Hz 2 Hz, kun näytteenottotaajuus on 4 Hz. Minimivaimennus estokaistalla on 45 db ja maksimivärähtely päästökaistalla on.3 db. Tulosta ruudulle impulssivaste (impz), amplitudivaste (freqz) ja napa-nollakuvio (zplane). 3.4. (Matlab) Vertaile eri menetelmillä (4 kpl) suunniteltujen IIR-suodinten kertoimien lukumäärää kun suunnittelukriteerit ovat samat kuin edellisessä tehtävässä. 3.5. (Matlab) Vertaa tulosta ja Remez-menetelmän vaatimien kertoimien määrää (komento: remezord) samoilla suunnittelukriteereillä. 3.6. (Matlab) IIR-suodinten suunnittelussa yleisin menetelmä on bilineaarimuunnos, joka muuntaa analogisen suotimen vastaavaksi digitaaliseksi suotimeksi. Toteutetaan tämä algoritmi alipäästösuotimen tapauksessa Matlabilla tässä ja seuraavassa tehtävässä. Valitettavasti tällä kurssilla ei voida tutustua menetelmän takana olevaan teoriaan, joten tehtävä saattaa tuntua pelkältä kaavakokoelman kirjoittamiselta. Tälläkin tasolla on kuitenkin mahdollista saada käsitys algoritmin monimutkaisuudesta sekä perusideasta. Algoritmi on pääpiirteissään seuraava.. Muunna IIR-suotimen suunnitteluvaatimukset vastaavan analogisen suotimen

24 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 vaatimuksiksi käyttäen muunnosta Ω p = Ω s = c tan(ω s /2), missä ω p on digitaalisen suotimen päästökaistan rajataajuus, ω s on digitaalisen suotimen estokaistan rajataajuus ja Ω p ja Ω s ovat analogisen suotimen vastaavat. Kerroin c saadaan kaavasta c = tan(ω p /2). Huomaa, että taajuudet Hertseinä pitää ensin normalisoida näytteenottotaajuudella ja kertoa luvulla 2π, jotta saadaan ω p ja ω s. 2. Suunnittele analoginen suodin H(s), joka toteuttaa suunnitteluvaatimukset. 3. Muunna analoginen suodin digitaaliseksi bilineaarimuunnoksella, eli sijoittamalla muuttujan s paikalle lauseke s = c z z +, jolloin tuloksena on siirtofunktio H(z). Kerroin c määriteltiin kohdassa. Tarkastellaan näitä kolmea vaihetta tässä ja seuraavassa tehtävässä. Luo tiedosto lowpass.m, jonka ensimmäinen rivi on function [N,D]=lowpass(fp, fs, varahtely, vaimennus, Fs), Näin määritellään siis funktio, jonka parametrit ovat päästökaistan rajataajuus (fp, Hertseinä), estokaistan rajataajuus (fs, Hertseinä), päästökaistan maksimivärähtely (varahtely, desibeleinä, positiivinen kokonaisluku), estokaistan minimivaimennus (vaimennus, desibeleinä, positiivinen kokonaisluku), sekä näytteenottotaajuus (Fs). Näitä muuttujia käyttäen pitäisi tehdä ohjelma, joka palauttaa vektorit N (siirtofunktion osoittaja) ja D (siirtofunktion nimittäjä). Alla on ohjeita, miten ohjelma voisi edetä. Muunna ensin rajataajuudet vastaaviksi analogisen suotimen rajataajuuksiksi. Analogisen Butterworth-suotimen amplitudivasteen neliö on alla olevan kuvan mukainen. Kuvasta voidaan ratkaista vaimennusparametrit: ɛ = δp/, A = δs/, missä δ p on digitaalisen suotimen päästökaistan maksimivärähtely ja δ s on digitaalisen suotimen estokaistan minimivaimennus. Laske ɛ ja A. Englanniksi tästä operaatiosta käytetään nimitystä prewarping.

3. IIR-SUODINTEN SUUNNITTELU 25 +ε2 2 A 2 Ω = p Ω c Ω s Ω 3.7. (Matlab) (Jatkoa tehtävään 3.6) Suotimen aste voidaan arvioida kaavasta ( ) A log 2 ɛ M = 2. 2 log Ω s Tuloksena saadaan siis siirtofunktion aste, joka pitää pyöristää ylöspäin kokonaisluvuksi (pyöristys: ceil). Vaatimukset toteuttavan Butterworth-tyyppisen analogisen suotimen siirtofunktio H(s) on muotoa ( ) M p p 2 p M H(s) = (s p )(s p 2 ) (s p M ), missä navat p,p 2,...,p M saadaan kaavasta p k =. ɛ /Meπi[/2+(2k )/(2M)] Laske ohjelmassasi kyseiset navat ja muodosta niistä vektori. Kun analogisen prototyypin navat ovat selvillä, saadaan vastaavat digitaalisen suotimen navat bilineaarimuunnoksella. Bilineaarimuunnoksen kaavahan oli s = c z z +. Nyt tiedetään analogisen suotimen navat (s) ja halutaan digitaalisen suotimen navat (z). Ylläolevasta kaavasta ratkaistaan siis z: z = + s/c s/c. Kukin napa p k kuvautuu siis digitaalisen suotimen navaksi p k = + p k/c p k /c. Tee sama Matlabilla. Vektorit jaetaan termi kerrallaan operaatiolla "./", esimerkiksi p3=p./p2.

26 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 Digitaalisen alipäästösuotimen tapauksessa kaikki nollat ovat pisteessä z =. Muodosta näistä vektori (M termiä), minkä jälkeen saat siirtofunktion komennolla zp2tf. Komento saa parametreinään nollat, navat sekä vahvistuksen nollataajuudella (gain). Laita tässä vaiheessa vahvistukseksi ykkönen. Nyt sinulla on siirtofunktion kertoimet (osoittaja N ja nimittäjä D). Koska vahvistukseksi heitettiin summassa ykkönen, se on varmaankin pielessä. Vähäisellä pyörittelyllä havaitaan, että todellinen vahvistus nollataajuudella (H()) on Matlabin syntaksilla ilmaistuna K=sum(N)/sum(D). Lopullinen tulos saadaan nyt jakamalla vektori N luvulla K. Rutiini palauttaa vektorit N ja D automaattisesti. 3.8. (Matlab) Suunnittele edellisen tehtävän rutiinilla seuraavien vaatimusten mukainen alipäästösuodin. Päästökaista Estokaista Päästökaistan maksimivärähtely Estokaistan minimivaimennus Näytteenottotaajuus [ khz,9khz], [2.5 khz,6khz],.4 db, 25 db, 32 khz. Tulosta ruudulle napa-nollakuviot sekä amplitudivaste.

Luku 4 Äärellisen sananpituuden vaikutukset IIR-suotimia käytettäessä Tähänastinen IIR-suodinten suunnittelu on tehty oletuksella, että käytössä on ääretön sananpituus ja laskentatarkkuus. Jopa Matlabilla suunniteltaessa saatavien suodinten kertoimet on esitetty verrattain suurella tarkkuudella. Kun suotimet käytännössä toteutetaan, täytyy kuitenkin kiinnittää huomiota käytettävän lukuesityksen vaikutukseen suodinten todelliseen käyttäytymiseen. Jos suotimet toteutetaan jollain korkean tason ohjelmointikielellä (C, Pascal, Fortran, Matlab), pyöristysvirheet eri vaiheissa ovat suhteellisen pieniä johtuen näiden kielten kehittyneestä liukulukuaritmetiikasta. Todellisiin ongelmiin joudutaan kun käytetään esimerkiksi signaalinkäsittelykorttia, jossa käytetään 8-, 2- tai 6- bittistä kiinteän pilkun aritmetiikkaa. Toisaalta suunniteltaessa signaalinkäsittelypiirejä, on syytä käyttää mahdollisimman pientä määrää bittejä, jotta laskutoimitukset saataisiin yksinkertaisemmaksi toteuttaa ja jotta piiri olisi halpa valmistaa. Digitaalisen IIR-suotimen tärkeimmät äärellisestä sananpituudesta johtuvat virhelähteet on lueteltu seuraavassa. Kvantisointivirhe, joka syntyy muunnettaessa sisään tuleva analoginen signaali digitaaliseksi signaaliksi, jonka esityksessä käytetään verraten pientä bittimäärää. IIR-suotimen kertoimien esitys äärellisellä bittimäärällä aiheuttaa muutoksia taajuusvasteessa ja stabiilisuusominaisuuksissa. Äärellisen sananpituuden seurauksena järjestelmän laskutoimituksissa saattaa tulla ylivuotoa, jolloin tulokset menettävät merkityksensä lähes täysin. Suodatettaessa tarvittavien kertolaskuoperaatioiden tulokset pyöristetään tai katkaistaan käytetyn sananpituuden mukaisesti. Jos aritmetiikka on toteutettu kahden komplementtiin (two s complement) perustuen, niin ylivuototilanteessa esimerkiksi kahden suuren positiivisen luvun summaksi saadaan itseisarvoltaan suuri negatiivinen luku. Tämä luonnollisestikin sotkee koko suodatuksen, sillä tällainen suuri virhe säilyy ja kertautuu jatkossa IIR-suodinten rekursiivisen rakenteen vuoksi.

28 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 4. Muunnosvaiheen kvantisointivirhe Muunnettaessa saapuva analoginen signaali digitaaliseksi on käytettävissä ainoastaan äärellinen määrä bittejä kunkin signaalin arvon esittämiseen. Merkitään käytettävää bittimäärää (merkkibittiä lukuunottamatta) muuttujalla b ja tarkastellaan tapausta, jossa diskreetin signaalin kaikki lukuarvot on jaettu tasavälisesti välille [, ]. Jos käytössä on esimerkiksi seitsemän bittiä (+merkkibitti), voidaan kahden komplementtiaritmetiikalla esittää luvut 28, 27, 26,...,,,,...,25, 26, 27. Nämä luvut skaalataan välille [, ] yksinkertaisesti jakamalla ne luvulla 2 7 = 28. Näin saadaan kvantisointitasot 28, 27, 26,...,,, 25,...,, 26, 27. Nämä kolme esitysmuotoa tapauksessa b = 2 on esitetty alla olevassa 28 28 28 28 28 28 28 28 28 taulukossa. binääriesitys desimaaliesitys 4 3 2 2 3 kvantisointitaso 4 3 2 2 3 4 4 4 4 4 4 4 4 Taulukon tapauksessa kahden kvantisointivälin etäisyys on ja yleisesti ottaen se on 4 2 b käytettäessä b:tä bittiä (+merkkibittiä). Kvantisoitaessa muodostuva virhe on enintään puolet tästä eli 2 b /2, jos käytetään pyöristystä lähimpään numeroon. Tämä virhe e(n) voidaan ajatella lisätyksi alkuperäiseen signaaliin x(n), jolloin saadaan tulos ^x(n) =x(n)+e(n). Alla olevissa kuvissa on esitetty sinisignaali yhtenäisellä viivalla ja tulos kvantisoitaessa seitsemään bittiin (+merkkibittiin) ympyröillä. Alemmassa kuvassa on kvantisointivirhe e(n)..5.5 2 3 4 5 6 x 3 3 2 2 3 2 3 4 5 6 Tyypillisesti kvantisointivirheestä e(n) tehdään seuraavat oletukset tilastollista analyysiä varten. Ylin kvantisointitaso on poikkeus tästä, koska esimerkiksi taulukon tilanteessa pitää kaikki luvut väliltä [ 3 4,] pyöristää alaspäin lukuun 3 4. Tämä poikkeus jätetään yleensä huomiotta, koska suuremmilla bittimäärillä virheen suuruusluokka on hyvin pieni ja se myöskin esiintyy hyvin harvoin.

4. ÄÄRELLISEN SANANPITUUDEN VAIKUTUKSET IIR-SUOTIMIA KÄYTETTÄESSÄ 29. Signaali e(n) on stationaarinen satunnaisprosessi, eli sen tilastolliset ominaisuudet eivät muutu ajan myötä. 2. Signaalin e(n) lukuarvot eivät riipu lukujonon x(n) arvoista. 3. Signaalin e(n) arvot ovat riippumattomia toisistaan, eli e(n) on valkoista kohinaa (white noise). 4. Signaalin e(n) arvot ovat jakautuneet tasaisesti välille ( 2 b /2, 2 b /2]. Nämä oletukset ovat syntyneet käytännön pakosta, ja eivät suinkaan pidä paikkaansa kaikille signaaleille x(n). Jos esimerkiksi x(n) on yksikköaskel, niin useimmat edellä mainituista oletuksista eivät ole voimassa. Näitä oletuksia käyttämällä saadaan kuitenkin johdettua yksinkertainen malli kvantisointivirheiden vaikutukselle IIR-suotimen käyttäytymiseen. Jos oletetetaan järjestelmän käyttävän pyöristystä lähimpään lukuun, niin silloin signaalin e(n) odotusarvo 2 µ e = E[e(n)] =, ja varianssi σ 2 e = E[(e(n) µ e ) }{{} 2 ]=E[e(n) 2 ]. = Odotusarvon (toisesta) määritelmästä 3 saadaan edelleen: E[e(n) 2 ] = = 2 b 2 b /2 2 b /2 x 2 dx 2 b 2/ b /2 2 b /2 = 2 b ( 2 3b = 2 2b 2. x 3 3 24 + 2 3b 24 Kvantisoidun signaalin signaali-kohinasuhde (signal to noise ratio; SNR) määritellään signaalin tehon suhteena kohinan tehoon (desibeliasteikolla), ja se saadaan näiden varianssien suhteesta: σ 2 x SNR = log. σ 2 e 2 Kutakuinkin sama asia kuin lukujonon keskiarvo, s.o. lim n n 2n+ k= n e(k). 3 Jos tiedetään satunnaismuuttujan x jakauma p(x), voidaan x:n odotusarvo laskea kaavasta E[x] = xp(x) dx. )

3 8253 JOHDATUS SIGNAALINKÄSITTELYYN 2 Signaali-kohinasuhde on siis kvantisoinnissa b bittiin (+merkkibitti) σ 2 x SNR = log 2 2b /2 = log (σ 2 x )+ log (2)+2b log (2) log (σ 2 x )+.79 + 6.2b. Signaali-kohinasuhde kasvaa siis noin 6 db jokaista lisäbittiä kohden. Ylla olevaa kaavaa sievempään muotoon ei ole mahdollista päästä tekemättä oletuksia signaalista x(n) ja sen varianssista σ 2 x. Kulutuselektroniikkatuotteissa halutaan yleensä mahdollisimman hyvä signaali-kohinasuhde ja siksi teknisissä tiedoissa ilmoitettu SNR lasketaan mahdollisimman suuriamplitudiselle signaalille. Tällaiseksi sopii esimerkiksi sini- tai kosinisignaali amplitudilla, esimerkiksi x(n) =cos(2π.25n). Nyt signaalissa x(n) toistuu jakso...,,,,,..., joten signaalin neliön odotusarvo on 2. Samaan tulokseen päästään muillakin taajuuksilla kuin.25. Oletuksella σ2 x = 2 saadaan signaali-kohinasuhteeksi SNR log ( )+.79 + 6.2b = 6.2b + 7.78. 2 Esimerkiksi CD-soitin esittää näytteet 6 bitin tarkkuudella, joten tällä sinisignaalilla sen SNR 6.2 (6 )+7.78 98 db. Toinen yleinen oletus signaalin x(n) varianssista on, että sen amplitudi on skaalattu johonkin vakioarvoon. Käytännön tilanteissa täytyy nimittäin varautua siihen, että analoginen signaali, josta näytteitä otetaan, saa ajoittain hyvinkin suuria arvoja. Siksi sisääntulevan signaalin amplitudi on tapana kertoa jollain vakiolla A. Näin saatavan signaalin Ax(n) hajonta on A 2 σ 2 x, joten kvantisoinnin jälkeinen signaali-kohinasuhde on SNR 6.2b +.79 + log (σ 2 x )+2 log (A). Nyrkkisääntönä voidaan sanoa, että valitsemalla A = /(4σ x ) käytännössä eliminoidaan liian suurien arvojen saapumisen mahdollisuus. Tällöin skaalatun signaalin Ax(n) varianssi on σ 2 x /(6σ2 x )= ja signaali-kohinasuhde on desibeleissä 6 SNR 6.2b +.79 + log ( )=6.2b.25. 6 Muitakin skaalaustermejä toki käytetään ja kullekin niistä voidaan johtaa oma SNR-kaava. Mitä pienempi skaalaustermi A on, sitä pienemmäksi tulee myös SNR. Jos esimerkiksi halutaan signaali-kohinasuhteeksi tällä skaalauksella yli 8 db, niin pitää olla 6.2b.25 > 8, eli 8 +.25 b> = 3.5. 6.2 Näin ollen riittää valita 4-bittinen esitys (+merkki).

4. ÄÄRELLISEN SANANPITUUDEN VAIKUTUKSET IIR-SUOTIMIA KÄYTETTÄESSÄ 3 4.2 Suodatuksen vaikutus kvantisointivirheeseen Tarkastellaan kvantisoidun signaalin ^x(n) = x(n) +e(n) suodatusta lineaarisella ja aikainvariantilla (LTI) järjestelmällä F( ), jonka impulssivaste on h(n). Koska järjestelmä on lineaarinen, niin suodatustuloksen F[^x(n)] = F[x(n)+e(n)] = F[x(n)] + F[e(n)] virhettä voidaan tarkastella erikseen. Suodatuksen jälkeinen pelkästään kvantisoinnista johtuva virhe on f(n) =F[e(n)] = h(k)e(n k). k= k= Tämän virheen odotusarvo on [ ] µ f = E h(k)e(n k) = k= = µ e k= h(k)e[e(n k)] h(k). Viimeiselle lausekkeelle saadaan myös käyttökelpoisempi muoto havaitsemalla z-muunnoksen määritelmästä, että µ e h(k) =µ e H(). k= Varianssin laskenta on hieman hankalampaa, ja lausekkeen johto sivuutetaankin tässä yhteydessä. Lopputulos voidaan ilmaista seuraavasti. Kvantisointivirheestä johtuvan virheen varianssi σ 2 f suodatuksen jälkeen voidaan esittää seuraavissa muodoissa: σ 2 f = σ 2 e h(n) 2 = σ2 e 2π = σ2 e 2πi n= π π H ( e iω ) 2 dω C H(z)H(z ) dz z, missä σ 2 e on sisäänmenevän (kvantisointivirheestä johtuvan) valkoisen kohinan varianssi, h(n) on tarkasteltavan suotimen impulssivaste, H(z) on sen siirtofunktio ja C on funktion H(z)H(z )/z suppenemisalueella sijaitseva suljettu käyrä. Esimerkki: Oletetaan, että analoginen signaali muunnetaan digitaaliseksi (+7)-bittisellä A/D-muuntimella, ja että näin saatu digitaalinen signaali suodatetaan IIR-suotimella, jonka siirtofunktio on H(z) = z +.5.