Remez-menetelmä FIR-suodinten suunnittelussa

Samankaltaiset tiedostot
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

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

Esipuhe. Tampereella, 9. toukokuuta 2003, Heikki Huttunen

: Johdatus signaalinkäsittelyyn 2

Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu

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

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

Tuntematon järjestelmä. Adaptiivinen suodatin

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

Alipäästösuotimen muuntaminen muiksi perussuotimiksi

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

Tietoliikennesignaalit & spektri

Digitaalinen Signaalinkäsittely T0125 Luento

T Digitaalinen signaalinkäsittely ja suodatus

Kompleksiluvut signaalin taajuusjakauman arvioinnissa

1 Olkoon suodattimen vaatimusmäärittely seuraava:

1 Vastaa seuraaviin. b) Taajuusvasteen

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

Luento 8. Suodattimien käyttötarkoitus

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

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

T SKJ - TERMEJÄ

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

Heikki Huttunen Signaalinkäsittelyn sovellukset

Luento 8. Suodattimien käyttötarkoitus

Katsaus suodatukseen

Spektri- ja signaalianalysaattorit

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

1 Kompleksiluvut 1. y z = (x, y) Kuva 1: Euklidinen taso R 2

SIGNAALITEORIAN KERTAUSTA 1

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

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

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

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

Signaalinkäsittelyn sovellukset

= 2 L L. f (x)dx. coshx dx = 1 L. sinhx nπ. sin. sin L + 2 L. a n. L 2 + n 2 cos. tehdään approksimoinnissa virhe, jota voidaan arvioida integraalin

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

z muunnos ja sen soveltaminen LTI järjestelmien analysointiin

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

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

Perustehtävät. Kompleksitehtävät, 10/9/2005, sivu 1 / 10. Tehtävä 1. Sievennä 1.

Kirjoitetaan FIR-suotimen differenssiyhtälö (= suodatuksen määrittelevä kaava):

Mat / Mat Matematiikan peruskurssi C3-I / KP3-I Harjoitus 5 / vko 42, loppuviikko, syksy 2008

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

Vektoreiden virittämä aliavaruus

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

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

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

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

Matematiikan peruskurssi 2

Ratkaisuehdotukset LH 7 / vko 47

Luento 2. Jaksolliset signaalit

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

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

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

Signaalit ja järjestelmät aika- ja taajuusalueissa

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Laskuharjoitus 2 ( ): Tehtävien vastauksia

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

Analyysi III. Jari Taskinen. 28. syyskuuta Luku 1

A B = 100, A = B = 0. D = 1.2. Ce (1.2 D. C (t D) 0, t < 0. t D. )} = Ae πjf D F{Π( t D )} = ADe πjf D sinc(df)

Numeeriset menetelmät

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

6.2.3 Spektrikertymäfunktio

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

x j x k Tällöin L j (x k ) = 0, kun k j, ja L j (x j ) = 1. Alkuperäiselle interpolaatio-ongelmalle saadaan nyt ratkaisu

Funktion raja-arvo ja jatkuvuus Reaali- ja kompleksifunktiot

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

Osa VI. Fourier analyysi. A.Rasila, J.v.Pfaler () Mat Matematiikan peruskurssi KP3-i 12. lokakuuta / 246

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

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

a) z 1 + z 2, b) z 1 z 2, c) z 1 z 2, d) z 1 z 2 = 4+10i 4 = 10i 5 = 2i. 4 ( 1)

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Kohdeyleisö: toisen vuoden teekkari

y z = (x, y) Kuva 1: Euklidinen taso R 2

Numeerinen analyysi Harjoitus 3 / Kevät 2017

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

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

Kompleksianalyysi, viikko 7

Matematiikan peruskurssi 2

Epälineaaristen yhtälöiden ratkaisumenetelmät

Kevään 2011 pitkän matematiikan ylioppilastehtävien ratkaisut Mathematicalla Simo K. Kivelä /

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

y = 3x2 y 2 + sin(2x). x = ex y + e y2 y = ex y + 2xye y2

Funktioiden approksimointi ja interpolointi

Integroimistekniikkaa Integraalifunktio

Kotitehtävät 1-6: Vastauksia

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

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

Heikki Huttunen Signaalinkäsittelyn sovellukset

MATP153 Approbatur 1B Harjoitus 3, ratkaisut Maanantai

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

805324A (805679S) Aikasarja-analyysi Harjoitus 5 (2016)

Transkriptio:

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 = 2M+ kappaletta) sekäeulerinkaavaavoidaanlauseketta muokata seuraavasti. H(e iω ) = h(n)e iωn M = h()+ = h()+ h(n)e iωn + h(n)e iωn h(n)e iωn + M h( n)e iωn

2 SIGAALIKÄSITTELY SOVELLUKSET = h()+ = h()+ = h()+ h(n)(e iωn + e iωn ) h(n)(cos( ωn)+isin( ωn)+cos(ωn)+isin(ωn)) h(n)(2 cos(ωn))). Jatkossa tästä käytetään lyhyempää muotoa, joka saadaan ottamalla käyttöön apukertoimet a(n): H(e iω )= a(n) cos(ωn), n= missä { h(n), kun n = a(n) = (.) 2h(n), kun n M. yt 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. yt kuvassa on nimenomaan suotimen taajuusvaste, joka tässä tapauksessa on reaalinen. äinollen kuvaaja voi saada myös negatiivisia arvoja. Amplitudivaste on alla olevan kuvaajan itseisarvo.

. REMEZ-MEETELMÄ FIR-SUODITE SUUITTELUSSA 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. Kyseisetpisteetkertovat optimaalisentaajuusvasteen 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ä: n= a(n) cos nω k ( )k ɛ W(ω k ) = H ( ) id e iω k, (.2)

4 SIGAALIKÄSITTELY SOVELLUKSET 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ätkuitenkaan olenäissäpisteissä,vaanfunktio 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 ormalisoitu 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 ormalisoitu taajuus (Fs=) yt ɛ =.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. äiden avulla voidaan jälleen selvittää kertoimet a(),a(),...,a(m) sekä ɛ, joista saadaan uusi virhefunktio ja sille uudet pisteet ω,ω,...,ω M+, ja niin edelleen. ä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-MEETELMÄ FIR-SUODITE SUUITTELUSSA 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 yquistin rajataajuutta, eli kompleksitason pistettä e iπ. Lisäksi vektorin ensimmäinen piste pitää olla ja viimeinen. ä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 äistä muodostettu lineaarikombinaatio on muotoa S M (x) = T n (x) = cos nθ, θ = arccosx. a n T n (x) = n= 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ä. äin ollen optimaalinen suodinsuunnittelu on itse asiassa Chebyshevapproksimointia. n=

6 SIGAALIKÄSITTELY SOVELLUKSET Päästökaistat Estokaista Päästökaistan maksimivärähtely Estokaistan minimivaimennus ä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. ä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.VektoriDev on siis Dev=[.559,.56,.559]; Vektori F puolestaan on F=[88,5,75,2]; ja vektori A=[,,];. ä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 ormalisoitu 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-MEETELMÄ FIR-SUODITE SUUITTELUSSA 7 apa-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 ä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 SIGAALIKÄSITTELY SOVELLUKSET 2 Amplitudivaste (db) 2 4 6 8.5..8.25.3.34.4.45.5 ormalisoitu 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: ä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-MEETELMÄ FIR-SUODITE SUUITTELUSSA 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. Tarkastellaanensimmäisentehtä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.

SIGAALIKÄSITTELY SOVELLUKSET 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 SIGAALIKÄSITTELY SOVELLUKSET 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) = H(k)w kn, missä w = e 2πi/. Muunnetaan H(k) napakoordinaatistoon: h(n) = k= k= H(k) e iarg H(k) w kn = H(k) e iarg H(k) e 2πikn/ = k= k= i(arg H(k)+2πkn/) H(k) e = H(k) cos(arg H(k)+2πkn/) k= + i H(k) sin(arg H(k)+2πkn/) k= Koska halutaan reaalikertoiminen suodin, pitää jälkimmäinen summattava jättää pois, h(n) = H(k) cos(arg H(k)+2πkn/). k= Erityisesti lineaarivaiheisille FIR-suotimille on voimassa kun on parillinen ja α = 2. Tällöin arg(h(k)) = 2παk, h(n) = H(k) cos(2π(n α)k/). k= Käänteisen DFT:n suunnittelumenetelmä voidaan kiteyttää tähän kaavaan.

2. KÄÄTEISE FOURIER-MUUOKSE MEETELMÄ 3 Käänteisen DFT:n suunnittelumenetelmä ( parillinen). Kiinnitä ideaalinen taajuusvaste H id (e iω ). 2. Selvitä tätä vastaava DFT H(n) kaavasta ( H(n) =H id missä n =,,2,...,. e 2πin 3. Suunnitellun suotimen impulssivaste saadaan kaavasta k= ), h(n) = ( ) 2π(n α)k H(k) cos, missä n =,,..., ja α = 2. Kokeillaan tätä menetelmää Matlabin avulla. Vaatimukset: äytteenottotaajuus on 44. khz, Taajuuksilla -22.5 khz on estokaista, Taajuuksilla -8 khz on päästökaista. Olkoon kertoimien määrä = 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 ormalisoitu 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 SIGAALIKÄSITTELY SOVELLUKSET 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 yquistin 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 yquistin 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));