[ Takaisin pääsivulle | Back to main page ]

Esimerkki 1

Tutkitaan signaalin suodattamista digitaalisella taajuusselektiivisellä LTI-suotimella.

Syöte - input

Tietokoneessa äänisignaali on numerojono, josta äänikortin ja kaiuttimien kautta tuotetaan ihmisen kuulemaa ääntä. Koska se on numerojono (sequence), voidaan sen arvot tulostaa aikatasossa (time domain), kuten kuvassa 2 on tehty. Sitä voidaan tutkia myös taajuustasossa (frequency domain), joka on esitetty kuvassa 1. Signaalin spektri kertoo, miten voimakas kukin signaalin taajuuskomponentti on välillä 0 .. 22050 Hz.

Olkoon syötesignaali (input) ääntä, tässä tapauksessa noin kuusi sekuntia pitkä näyte. Voit kuunnella sen täältä [ WAV (500 kB) | MP3 (70 kB) ]. Normaalin puheen lisäksi signaalissa kuuluu voimakas korkeataajuinen sirinä. Spektrissä voimme arvella sen koostuvan piikeistä noin 4000 ja 7000 hertzin välillä. Haluamme päästä eroon sirinästä.

Suodin - filter

LTI-suodinta voidaan analysoida niin aika- kuin taajuustasossa. Aikatasossa voimme puhua, että suodin esimerkiksi keskiarvoistaa näytteiden arvoja - taajuustasossa puhuisimme tällöin alipäästösuotimesta. Suotimen siirtofunktiosta H(z) voidaan laskea helposti suotimen käytös.

Tässä esimerkissä meidän tarkoituksenamme on syntetisoida suodin. Asetamme vaatimukseksi sen, että suotimen tulee estää kaikkien yli 3300 hertzin komponenttien läpipääsy. Kun loputkin vaatimukset (specifications) on laadittu, voidaan suodin toteuttaa. Tämän vaiheen tekee tietokone. Lopputulokseksi saadaan siirtofunktion H(z) omaava alipäästösuodin, jonka amplitudivaste on kuvan 1 keskellä. Alhaiset taajuudet pääsevät läpi (kerroin 1), mutta korkeat se estää (kerroin 0).

Vaste - output

Esimerkimme suodatus (filtering) on tehty Matlab-ohjelmistolla. Vastesignaali (output) on LTI-järjestelmän ulostulo annettuun syötteeseen. Tässä esimerkissä saamme vasteeksi äänen, jonka voi kuulla täältä [ WAV (500 kB) | MP3 (70 kB) ].

Vastetta analysoitaessa voidaan taajuustasossa (kuva 1 alhaalla) havaita korkeiden komponenttien katoaminen juuri niin kuin haluttiin. Aikatasossa (kuva 2) punainen käyrä on vastesignaali ja se on paljon "pehmeämpi". Siitä on siis kadonnut nopeita muutoksia eli korkeita taajuuksia. Lisäksi (kausaalinen) digitaalinen suodin aiheuttaa pienen viiveen signaaliin - huomaa, että punainen käyrä on hieman myöhässä verrattuna siniseen alkuperäiseen.

Aikataso ja taajuustaso vastaavat siis toisiaan, ne ovat kaksi eri näkökulmaa samaan asiaan.

Saimme siis poistettu sirinän? Onko vastesignaali nyt "paremman" kuuloinen? (Miten paremmuutta mitataan?)

Spektrit: input, suodin, output
Kuva 1: Syötteen, suotimen ja vastesignaalin spektrit taajuustasossa, X-akselilla taajuudet 0..22050 Hz. Ylimmässsä kuvassa signaalin spektri, signaalissa on sirisevä korkea ääni noin 4000..7000 hertzin kohdalla. Keskimmäisessä kuvassa on elliptinen alipäästösuodin H(z), jonka estokaista alkaa 3300 hertzissä. Alimmassa kuvassa suodatettu ääni.

Aikatasossa input ja output
Kuva 2: Syöte (sininen) ja vaste (punainen) samassa kuvassa aikatasossa, x-akselilla noin 0,005 sekuntia. Huomaa siis alipäästösuodatuksen aiheuttamat muutokset: nopeiden muutosten väheneminen ja laskennasta aiheutunut (pieni) viive.

Matlab-koodi

Jos haluat itse kokeilla samaa esimerkkiä (ehkä muuttaa suotimen rajataajuutta) Matlab-ohjelmalla, tarvitset Matlabissa voit edit-komennolla avata editorin, jolla koodin muokkaaminen on helppoa. Demo lähtee Matlabissa käyntiin komennolla esim1, siis ilman päätettä .m.

[ Takaisin pääsivulle | Back to main page ]

http://www.cis.hut.fi/Opinnot/T-61.3010/Demo/esim1.shtml
t61246@cis.hut.fi
Friday, 16-Jan-2004 16:42:38 EET