TL5503 DSK, laboraatiot (1.5 op) Suodatus 2 (ver 1.0) Jyrki Laitinen
TL5503 DSK, laboraatiot (1.5 op), K2005 1 Suorita oheisten ohjeiden mukaiset tehtävät Matlab-ohjelmistoa käyttäen. Kokoa erilliseen mittauspöytäkirjaan vastaukset kursiivilla merkittyihin tehtäviin ja kysymyksiin. Merkitse pöytäkirjaan opintojakson koodi ja nimi, laboraation otsikko, suorituspäivämäärä sekä työryhmän jäsenten nimet ja luokkatunnukset. Palauta mittauspöytäkirja opettajalle laboraatiovuoron päättyessä. Hyödynnä tehtävien toteutuksessa ohjetta Lyhyt johdatus Matlabohjelmiston käyttöön laboraatio-opintojaksolla 1. Alustus Perusta käyttöösi työhakemisto D:\Temp, johon tallennat kaikki tekemäsi välitulokset, tarvittavat datatiedostot, yms. Tuhoa laboraatiovuoron päättyessä työhakemisto ja sen sisältämät tiedostot. Ohjelmointia Toteuta työhakemistoosi funktio keskiarvosuodatus, joka sisältää liukuvasti keskiarvoistavan suotimen (keskiarvon voit halutessasi laskea mean-komennolla, signaalin pituuden saat selville length-komennolla). Suotimelle annetaan parametrina suodatettava signaali ja ikkunan pituus. Tuloksena saadaan suodatettu signaali. 1 y( n) = N N 1 k = 0 x( n k) Ikkunan pituus N = 3 Suodatettu piste 3 peräkkäisen arvon keskiarvona. 2.1, -1.1, -1.0, 1.3, -1.8, 0.0, 0.3, 0.4, 0.7, Vastaavalla tavalla voit tarvittaessa ohjelmoida median-komentoa käyttäen mediaanisuotimen. Ikkunan pituus N = 3 Suodatettu piste 3 peräkkäisen arvon mediaanina. 2.1, -1.1, -1.0, 1.3, -1.8, 1.1 Testaa funktio keskiarvosuodatus signaalilla x(n) = {2.1, -1.1, - 1.0, 1.3, -1.8}, kun ikkunan pituus N = 3. Esitä mittauspöytäkirjassa funktion keskiarvosuodatus listaus. 1 http://www.tekniikka.oamk.fi/~jyrkila/tl5503/johdanto.pdf
TL5503 DSK, laboraatiot (1.5 op), K2005 2 Signaalit Kopioi sivulta http://www.tekniikka.oamk.fi/~jyrkila/tl5503.k2005.html (opintojakson webbisivu) tiedostot onering0.mat, onering1.mat, onering2.mat ja onering3.mat työhakemistoosi. Tiedostot sisältävät audiosignaalin g0 ja sen kolme häiriöllistä versiota g1, g2 ja g3. Häiriöt ovat jaksollinen häiriö, satunnaisista bittivirheistä syntyvä häiriö sekä valkoinen kohina. Näytetaajuus f s on kaikissa tapauksissa 8000 Hz. Jaksollisen häiriön ja valkoisen kohinan tapauksessa signaalikohinasuhde on 10 db. 2.1 Lataa load-komennolla kopioimiesi tiedostojen sisältö Matlabiin. Kuuntele soundsc-komennolla signaalit g0, g1, g2 ja g3. Muodosta fft- ja abskomennoilla signaalien amplitudispektrit. Arvioi kuullun perusteella millaisesta häiriöstä kussakin signaalissa on kyse ja esitä mittauspöytäkirjassa arviosi tulos. Arvioi millaiselle taajuuskaistalle valkoinen kohina ja bittivirheistä syntyvä häiriö levittäytyy. Määritä jaksollisen häiriön taajuus f 0. Keskiarvosuodatus Edellä kuvatulla tavalla toteutettu keskiarvosuodin on verraten hidas, joten sitä ei kannata sellaisenaan käyttää suodatettaessa pitkiä signaaleja. Selvitä, miten voit toteuttaa liukuvasti keskiarvoistavan suodatuksen Matlabin funktiolla filter. 3.1 Määritä liukuvasti keskiarvoistavan suotimen kertoimet, tyyppi ja rajataajuus 6 db pisteen perusteella, 1) kun ikkunan pituus on 5 ja 2) kun ikkunan pituus on 10. Suotimen amplitudi- ja vaihespektrin voit muodostaa freqz-komennolla. Esitä mittauspöytäkirjassa suotimien tyyppi ja rajataajuudet. 3.2 Suodata signaalit g1, g2 ja g3 tehtävässä 3.1 muodostamillasi liukuvasti keskiarvoistavilla suotimilla. Arvioi kuuntelemalla suodatettuja signaaleja miten hyvin suotimet toimivat. Kokoa tulokset taulukkoon, joka on muotoa
TL5503 DSK, laboraatiot (1.5 op), K2005 3 Liukuva keskiarvo N = 5 N = 10 g1 tulos tulos g2 tulos tulos g3 tulos tulos tulos = huono keskinkertainen hyvä Pohdi, miksi keskiarvosuodatus tuottaa eri tapauksissa havaitsemasi tuloksen? Mediaanisuodatus Mediaanisuodatuksen voit toteuttaa Matlabin funktiolla medfilt1. 4.1 Suodata signaalit g1, g2 ja g3 mediaanisuotimilla, joiden ikkunan pituudet ovat 5 ja 10. Arvioi kuuntelemalla suodatettuja signaaleja miten hyvin suotimet toimivat. Kokoa tulokset taulukkoon, joka on muotoa Mediaani N = 5 N = 10 g1 tulos tulos g2 tulos tulos g3 tulos tulos tulos = huono keskinkertainen hyvä Pohdi, miksi mediaanisuodatus tuottaa eri tapauksissa havaitsemasi tuloksen? Kaistanestosuodatus Jaksollinen häiriö voidaan poistaa häiriötaajuudelle mitoitetulla kaistanestosuotimella. Suunnittele ellip-komennolla elliptinen IIR-suodin, jonka asteluku on 5 ja joka suodattaa testisignaalista jaksollisen häiriön. Rajoita suurin päästökaistavärähtely arvoon 0.5 db ja vaadi estokaistalla vähintään 40 db vaimennus. Aseta estokaistan leveydeksi 80 Hz. 5.1 Suodata jaksollista häiriötä sisältävä signaali suunnittelemallasi elliptisellä IIRsuotimella. Arvioi kuuntelemalla, miten hyvin suodin poistaa jaksollisen häiriön. Mitä ongelmia tällaiseen suodatukseen voi liittyä?
TL5503 DSK, laboraatiot (1.5 op), K2005 4 Adaptiivinen suodin Tarkastellaan tilannetta, jossa siirrettävään datasignaaliin (f s = 8000 Hz) summautuu tiedonsiirtokanavassa 500 Hz taajuinen jaksollinen häiriö. Mallinnetaan datasignaalia normaalijakautuneella (Gaussian) valkoisella kohinalla ja häiriösignaalia sinimuotoisella signaalilla. Muodosta oheisen kuvan mukainen Matlabin simulointiohjelmiston Simulink-malli, jossa jaksollinen häiriö suodatetaan adaptiivisella LMS-suotimella (asteluku 24). Random Source Scope Scope1 DSP Sine Wave z -16 Integer Delay In Err nlms Out Taps LMS Adaptive Filter 6.1 Säädä kohinan tehoksi (= varianssi) 0. Aseta häiriösignaalin amplitudiksi 1 ja taajuudeksi 500 Hz. Määritä simuloimalla adaptoitumisaika adaptointivakion (Step Size, mu) arvoilla 0.001, 0.01 ja 0.1. Määritä adaptoitumisaika sen ajanhetken perusteella, jolla suodatetun signaalin teho on vaimentunut 40 db alkuarvostaan. Määritä 100 ms adaptoitumisaikaa vastaava adaptointivakion arvo. 6.2 Aseta kohinan tehoksi 0.01 ja häiriön amplitudiksi 1. Aseta adaptointivakioksi 0.01. Simuloi. Miten tulos poikkeaa tehtävän 1 toiminnasta? 6.3 Pohdi lopuksi seuraavaa Miksi suodatuskytkennässä käytetään viivettä ja miksi viiveen arvoksi on asetettu 16? Mitä etua adaptiivisella suodatuksella saavutetaan jaksollisenhäiriön poistossa verrattuna tavanomaiseen kaistanestosuodatukseen?