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));