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

Samankaltaiset tiedostot
SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

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

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

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

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

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

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

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

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

1 Olkoon suodattimen vaatimusmäärittely seuraava:

Digitaalinen Signaalinkäsittely T0125 Luento

Remez-menetelmä FIR-suodinten suunnittelussa

Kompleksiluvut signaalin taajuusjakauman arvioinnissa

20 Kollektorivirta kun V 1 = 15V Transistorin virtavahvistus Transistorin ominaiskayrasto Toimintasuora ja -piste 10

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

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

T Digitaalinen signaalinkäsittely ja suodatus

Matlab-tietokoneharjoitus

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

S Laskennallinen Neurotiede

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

Katsaus suodatukseen

Alipäästösuotimen muuntaminen muiksi perussuotimiksi

Laskuharjoitus 4 ( ): Tehtävien vastauksia

Tuntematon järjestelmä. Adaptiivinen suodatin

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

Heikki Huttunen Signaalinkäsittelyn sovellukset

Spektri- ja signaalianalysaattorit

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

T SKJ - TERMEJÄ

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

Laskuharjoitus 2 ( ): Tehtävien vastauksia

Signaalinkäsittelyn sovellukset

Esipuhe. Tampereella, 9. toukokuuta 2003, Heikki Huttunen

: Johdatus signaalinkäsittelyyn 2

Digitaalinen audio

Luento 8. Suodattimien käyttötarkoitus

Åbo Akademi klo Mietta Lennes Nykykielten laitos Helsingin yliopisto

SGN Bachelor's Laboratory Course in Signal Processing ELT Tietoliikenne-elektroniikan työkurssi. Äänitaajuusjakosuodintyö ( )

Luento 8. Suodattimien käyttötarkoitus

SGN-4010, Puheenkäsittelyn menetelmät Harjoitus 6, 18. ja

Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu

Tiedonkeruu ja analysointi

FYSP105 / K3 RC-SUODATTIMET

3 Ikkunointi. Kuvio 1: Signaalin ikkunointi.

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

THE audio feature: MFCC. Mel Frequency Cepstral Coefficients

Mitä FIR suodin on oikeastaan. Pekka Ritamäki. Esittely. Esimerkki

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

Signaalien datamuunnokset. Digitaalitekniikan edut

Signaalien datamuunnokset

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

LABORATORIOTYÖ 2 A/D-MUUNNOS

SGN-4200 Digitaalinen audio

Organization of (Simultaneous) Spectral Components

ILKKA HULKKO TAAJUUDEN MITTAUS PAINESIGNAALISTA. Kandidaatintyö

1 Vastaa seuraaviin. b) Taajuusvasteen

KON-C3004 Kone- ja rakennustekniikan laboratoriotyöt Tiedonkeruu ja analysointi Panu Kiviluoma

Tiedonkeruu ja analysointi

LOPPURAPORTTI Lämpötilahälytin Hans Baumgartner xxxxxxx nimi nimi

TL5231, Signaaliteoria (S2004) Matlab-harjoituksia

AV-muotojen migraatiotyöpaja - ääni. KDK-pitkäaikaissäilytys seminaari / Juha Lehtonen

LABORATORIOTYÖ 3 VAIHELUKITTU VAHVISTIN

Luento 8. tietoverkkotekniikan laitos

Värähtelymittaus Tämän harjoituksen jälkeen:

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

LABORATORIOTYÖ 2 A/D-MUUNNOS

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

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

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

FIR suodinpankit * 1 Johdanto

1 PID-taajuusvastesuunnittelun esimerkki

TL5503 DSK, laboraatiot (1.5 op) Kuvasignaalit. Jyrki Laitinen

LABORATORIOTYÖ 2 SPEKTRIANALYSAATTORI

Virheen kasautumislaki

Digitaalinen signaalinkäsittely Kuvankäsittely

Yksinkertaisin järjestelmä

Successive approximation AD-muunnin

Y Yhtälöparista ratkaistiin vuorotellen siirtofunktiot laittamalla muut tulot nollaan. = K K K M. s 2 3s 2 KK P

Signaalit ja järjestelmät aika- ja taajuusalueissa

Puheenkoodaus. Olivatpa kerran iloiset serkukset. PCM, DPCM ja ADPCM

SEBASTIAN RINTALA SIGNAALIN DOMINOIVAN TAAJUUDEN ARVIOINTI

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

Radioamatöörikurssi 2013

Alias-ilmiö eli taajuuden laskostuminen

Radioamatöörikurssi 2015

Puhesynteesin perusteet Luento 4: difonikonkatenaatio

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

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

ELEC-C5070 Elektroniikkapaja (5 op)

Toinen harjoitustyö. ASCII-grafiikkaa

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

Analyysi on helpointa aloittaa painamalla EDIT-painiketta. (Tuotu tiedosto täytyy olla aktiivinen eli valittuna).

1. a) Piiri sisältää vain resistiivisiä komponentteja, joten jännitteenjaon tulos on riippumaton taajuudesta.

Transkriptio:

1 Äänisignaalin tallentaminen ja analysointi... 2 Q1.1... 2 Q1.2... 2 Q1.3... 3 Q1.4... 4 2 Häiriönpoisto... 5 Q2.1... 5 Q2.2... 8 Q2.3... 9 3 FIR- ja IIR-suotimien vertailu... 10 Q3.1... 10 Q3.2... 11 Q3.3... 13 Q3.4... 15 4 Discrete multitone transmission... 18 Q4.1... 18 5 Palaute... 19 Liitteet... 20 Liite 1 Matlab-koodi tehtävään Q1.2... 20 Liite 2 Matlab-koodi tehtävään Q1.3... 20 Liite 3 Matlab-koodi tehtävään Q1.4... 20 Liite 4 SignalQ2.wav aika- ja taajuusalueessa... 21 Liite 5 Matlab-koodi tehtävään Q2.1... 22 Liite 6 Z-tason kuva Chebyshew II suotimesta... 23 Liite 7 Matlab-koodi tehtävään Q2.2... 24 Liite 8 Matlab-koodi tehtävään Q3.1... 24 Liite 9 Matlab-koodi tehtävään Q3.2... 25 Liite 10 Matlab-koodi tehtävään Q3.3... 26 Liite 11 Matlab-koodi tehtävään Q3.4... 27 1

1 Äänisignaalin tallentaminen ja analysointi Q1.1 Nauhoitin opiskelijanumeroni (60451P) viimeistä numeroa yksi sisältävän äänteen /a/. Se on esimerkiksi lounastaa sanassa. Nauhoittamani sana löytyy osoitteesta: http://users.tkk.fi/~hhyyti/dsp/lounastaa_m.wav Q1.2 Tallentamani lounastaa_m.wav -tiedoston näytteenottotaajuus on 44100Hz ja se on tallennettu 16bittisellä näytteistyksellä. Tallensin ääninäytteen vektoriin y. Siinä on 56738 kpl näytteitä. Sekunteina näytejakson pituus saadaan näytteiden määrä jaettuna näytteenottotaajuudella. Näyte on siis noin 1.2866 sekuntia pitkä. Kuvassa 1 on esitetty sanomani sana lounastaa spektrogrammina. Tehtävässä käytetty matlab-koodi on liitteessä 1. Kuva 1: Spektrogrammikuva sanasta lounastaa. 2

Q1.3 Luodaan 50ms pitkä vektori y2. Se tarkoittaa 44100Hz näytteenottotaajuudella 2205 näytettä. Paras signaalin y jakso alkaa kohdasta 0.95s eli näytteestä 41895 eteenpäin. Kuvassa 2 on piirrettynä 50ms pitkä signaali y2. Se kuvaa äännettä /a/. Signaali toistuu pitkien piikkien välein samanlaisena. Tämä perusjakson pituus on 0,0112 sekuntia. Se vastaa 89,3 Hz taajuutta. Kuvan 2 äänisignaali löytyy osoitteesta: http://users.tkk.fi/~hhyyti/dsp/y2.wav Tehtävässä käytetty matlab-koodi on liitteessä 2. Kuva 2: y2, 50ms pätkä äänteestä /a/ 3

Q1.4 FFT-muunnetaan edellisen tehtävän signaali y2. Saadaan kuvassa 3 esitetty taajuusesitys. Kuvassa oleva perustaajuus osuu 86Hz kohdalle. Se sopii mitattavalla tarkkuudella edellisen kohdan mittaustuloksiin. Tehtävässä käytetty matlab-koodi on liitteessä 3. Kuva 3: FFT-muunnettu signaali y2 4

2 Häiriönpoisto Tutkitaan signaalia signalq2.wav aika-, taajuus- ja aika-taajuustasossa. Kuvassa 4 on ilmaistuna käsittelemätön, alkuperäinen tutkittava signaali spektrogrammina aikataajuustason esitystä varten. Aika ja taajuusesitykset ovat liitteessä 4. Kuvista voidaan havaita, että signaalissa on koko ajan korkeataajuisia räsähdyksenomaisia häiriöitä. Kuvasta 4 voidaan selkeästi havaita myös 2-3kHz taajuuksilla oleva pitkäkestoinen voimakas häiriö 5-7 sekunnin välillä. Häiriöt olivat havaittavissa myös omilla korvilla. Kuva 4: SignalQ2.wav-äänitiedoston spektrogrammiesitys. Q2.1 Pyritään suodattamaan edellä havaittuja korkeataajuisia häiriöitä N pisteen keskiarvoistavalla ja mediaanisuodatuksella. Keskiarvoistavalla suodatuksella suodatettuna, kun N = 6, alkuperäinen puhesignaali ei vielä muuttunut liikaa, mutta suurin osa korkeataajuisista häiriöistä poistui. Taajuuskäyrä näyttää lähes nollaa 2kHz suuremmilla taajuuksilla. Suuremmilla N:n arvoilla puhesignaalinkin korkeammat taajuudet alkoivat vaimentua, ja puheesta tuli epäselvempää. Kuvassa 5 on spektrogrammiesitys 5-asteisella keskiarvoistavalla FIR-suotimella (N=6) suodatetusta SignalQ2-signaalista. Siitä voidaan havaita että 11Khz vaimentunut taajuusalue on 5

keskiarvoistuksessa ilmestynyt nyt myös 3,7 ja 7,3 khz taajuuksille. Tämä johtuu siitä, että FIR-suotimessa nollat ovat yksikköympyrällä juuri näiden taajuuksien kohdalla, kuten kuvasta 6 nähdään. Näin ollen näissä kohdissa vaimennus on täydellinen. Kuva 5: Spektrogrammiesitys 5-asteisella keskiarvoistavalla FIR-suotimella suodatetusta SignalQ2-signaalista. Kuva 6: Z-tason esitys 5-asteisesta FIR-suotimesta. 6

Keskiarvoistava suodin ei pystynyt hävittämään matalataajuisia häiriöitä juuri ollenkaan, eikä vahva, pitkä häiriö 5-7s kohdalla vaimentunut juuri yhtään. Seuraavaksi testataan samaa temppua mediaanisuotimella. Mediaanisuotimen asteen ollessa yli 3 alkoi puheen s-kirjaimet suhista häiritsevästi ja pitkäjaksoinen häiriö voimistua huomattavasti. Korkeataajuinen häiriö kyllä katosi tehokkaasti. Kuvan 7 spektrogrammista voidaan havaita, että korkeataajuiset signaalit ovat miltei kokonaan kadonneet sellaisilta ajan hetkiltä, jolloin muuta ääntä ei kuulu. Mediaanisuodin tasoittaa nopeita muutoksia, jolloin nopeat räpsähdykset jäävät pois. Toisaalta se muokkaa myös puhesignaalia pudottaen nopeita muutoksia pois. Tämä havaitaan eritoten nopeissa korkeataajuisissa s-äänteissä. Kuvasta 7 havaitaan, että pitkäjaksoinen häiriö näkyy erittäin tummana palkkina 5-7 sekunnin kohdalla. Se ei juurikaan vaimentunut. Kuva 7: Mediaanisuodatetun signaalin spektrogrammiesitys Tehtävässä käytetty MatLab-koodi on liitteessä 5. 7

Q2.2 Seuraavaksi toteutetaan Chebyshev II -tyyppinen kaistanestosuodin, jonka päästökaistan maksimivärähtely (Rp) on 1 db, estokaistan minimivaimennus (Rs) on 40 db, ensimmäinen päästökaista loppuu kohdassa 1.0 khz ja toinen alkaa 3.4 khz:stä. Estokaista on välillä 1.3 ja 3.1 khz. Tämän suodin on piirrettynä kuvassa 8. Siitä nähdään hyvin suotimelle asetetut vaatimukset sekä suotimen taajuus- ja vaihevaste taajuuden suhteen. Suotimen asteluku on 18. Z-tason kuva suotimesta on liitteessä 6. Kuva 8: Chebyshev II suotimen taajuusvaste ja siltä vaaditut speksit. Seuraavaksi suodatetaan alkuperäinen SignalQ2.wav -äänisignaali tekemälläni suotimella. Kuvasta 9 nähdään että taajuudet 1 ja 3 khz väliltä ovat vaimentuneet todella paljon. Nyt äänestä on kadonnut pitkäjaksoinen häiriö näiltä taajuuksilta tai ainakaan ihmiskorva ei sitä enää kuule. Tosin äänestä on jäljellä vain korkeat ja matalat taajuudet, jolloin puhe kuulostaa oudolta. Selvää puheesta kuitenkin saa edelleen hyvin. 8

Kuva 9: Chebyshev II -kaistanestosuodatettu signaali. Q2.3 Signaalissa on edelleen korkeataajuisia nopeita räsähdyksiä. Ne voisi poistaa jollakin mediaani tai keskiarvoistavalla suotimella. Mediaanisuodin poisti korkeataajuiset virheet hyvin sellaisista paikoista, jossa ei muutenkaan ollut paljoakaan ääntä. Tämä voidaan havaita kuvasta 7. Keskiarvoistava suodin sitävastoin poisti korkeita taajuuskomponentteja tasaisesti kaikkialta. Katso kuva 5. Näiden kaikkien kolmen suotimen yhdistelmällä saattaisi signaalista saada poistettua paljon virheitä niin, että puhesignaalista vielä saisi selvää. Puheessa on kuitenkin myös korkeitakin taajuuskomponentteja, eikä näinollen kaikkia häiriöitä saa pois ilman että hyötysignaali siitä myös kärsisi. 9

3 FIR- ja IIR-suotimien vertailu Q3.1 Tarkasteltavan signaalin päälle on lisätty korkeataajuista kohinasignaalia. Kuvan 10 spektrogrammiesityksestä nähdään erittäin hyvin, että kohinasignaali alkaa vasta 6kHz yläpuolelta ja hyötysignaali loppuu noin 5kHz taajuudessa. Määrätyt asiat ovat, että transitiokaistan tulee olla 500 Hz ja että päästökaistan rippeli saa olla 1 db. Lisäksi alipäästösuodatettaessa kihinän tulee lähes täysin poistua, niin että hyötysignaali pysyy mahdollisimman hyvänä. Kuva 10: Spektrogrammikuva SignalQ3_60451.wav -äänitiedostosta. Valitaan päästökaistan reunaksi 5200Hz ja estokaistan reunaksi 5700 Hz. Tällöin transitiokaista on vaadittu 500Hz ja kumpikaan kaistoista ei jää transitiokaistan kanssa päällekäin. Tällöin signaalit voidaan erottaa parhaiten. Jotta kultakorvakaan ei kuulisi korkeataajuista kihinää, valitaan estokaistan minimivaimennukseksi 60dB. Kuvassa 11 on nähtävillä edellä määrittelemieni vaatimusten graafinen esitys. Tehtävään käytetyt Matlab-koodit ovat liitteessä 8. 10

Kuva 11: Suotimelle määrittelemäni vaatimukset Q3.2 Toteutetaan vaatimusten mukainen IIR alipäästösuodin Chebyshev II-arkkitehtuurilla. Suodin on nähtävissä kuvassa 12. Samaan kuvaan on piirretty myös kuvan 11 vaatimukset. Suodin on 18 asteinen. Kuten kuvasta 12 nähdään vaihevaste ei ole nähnytkään lineaarista, vaan käyristyy päästökaistalla jyrkästi alaspäin. Kuunnellessani kappaleen, kohinan määrä on lisääntynyt, mutta korkeataajuiset kohinat ja häiriöt ovat lähes täysin kadonneet kuten kuvan 13 spektrogrammikuvasta voidaan nähdä. Suotimen ja spektrogrammikuvien luomisessa käytetyt Matlab koodit löytyvät liitteestä 9. Suodin luotiin komennolla [B,A] = cheby2(n,rs,wn), jossa n=18, Rs=60 ja Wn= 0.3257. 11

Kuva 12: Suunnittelemani Chebyshev II alipäästösuotimen amplitudi- ja vaihevaste Spektrogrammikuva Chebyshev II -alipäästösuodatetusta signaalista 16000 14000 20 0 taajuus (Hz) 12000 10000 8000 6000 4000 2000 Vahvistus (db) -20-40 -60-80 -100-120 -140 0 0 2 4 6 8 10 12 aika (s) Kuva 13: Spektrogrammikuva Chebyshev II alipäästösuodatetusta signaalista 12

Q3.3 Toteutetaan vaatimusten mukainen FIR-alipäästösuodin Parks-McClellan-metodilla, koska siihen on Matlab-versiossani (6.5) olemassa funktiot, niin asteen määräämiseen kuin suotimen rakentamiseen (remez ja remezord). Kuvassa 14 on nähtävillä Parks- McClellanin metodilla rakennettu FIR alipäästösuodin. Sen asteluku on 141. Kuten kuvan alaosasta nähdään on suodin lineaarivaiheinen päästökaistalla. Kuva 14: 141-asteinen Parks-McClellan -alipäästösuodin Kuvassa 15 on esitettynä Parks-McClellanin alipäästösuotimen Z-tason kuva. Siitä voidaan havaita FIR suotimelle tyypillinen rakenne, jossa kaikki navat ovat origossa. Kuvassa 16 taas on esitetty suotimella suodatetun äänisignaalin spektrografikuva. Siitä voidaan myös havaita, että lähes kaikki 5700 Hz korkeammat taajuudet ovat kadonneet. Kuunnellessa ääntä, en pysty kuulemaan mitään korkeataajuisia häiriöitä. Kaikki tehtävässä Q3.3 tarvittu Matlab koodi löytyy liitteestä 10. 13

Kuva 15: Z-tason esitys 141-asteisesta Parks-McClellan -alipäästösuotimesta 14

Kuva 16: Spektrogrammikuva Parks-McClellan alipäästösuodatetusta signaalista Q3.4 Edellisten IIR ja FIR suotimien väliset erot ovat selkeästi nähtävillä. IIR-suotimena käyttämäni Chebyshev II alipäästösuodin oli 18-asteinen, kun taas FIR-suotimena käyttämäni Parks-McClellan alipäästösuodin oli 141-asteinen. Molempien vaatimukset ovat täsmälleen samat, mutta silti FIR-suodin tarvitsee paljon enemmän napoja. Toisaalta IIR-suotimen vaihevaste ei ole lineaarinen päästökaistalla, kuten kuvasta 12 voidaan nähdä. FIR-suotimen vaihevaste on täysin lineaarinen päästökaistalla. Tämän voi havaita kuvasta 14. 15

Kuva 17: IIR ja FIR suotimien amplitudivasteen vertailua. Yllä olevassa kuvassa 17 on piirrettynä molempien suotimien amplitudivasteet päällekäin vaatimusten kanssa. Chebyshev II IIR suodin on kuvassa sinisellä ja Parks-McClellan FIR suodin punaisella viivalla. Paksut vihreät viivat erottavat päästökaistan rajat ja siniset viivat estokaistan rajat. Kuten kuvasta voi nähdä, suotimien käyrät pysyvät täysin sallituissa rajoissa. Kuvassa 18 nähdään hyvin erilaisten suodattimien vaikutus signaalin viivästymiseen. Vaikka kuvan 18 alimmassa osassa olevat IIR ja FIR -suodatetut signaalit ovatkin hyvin samankaltaisia on niille tullut noin 2ms vaihe-ero. IIR-suotimen vaihe-ero alkuperäiseen signaaliin on todella pieni, alle 0,5ms, kuten kuvan 18 ylimmästä pikkukuvasta voidaan havaita. FIR-suodin taas aiheuttaa huomattavan paljon, yli 2ms, vaihe-eroa. Korvakuulolla en havainnut mitään eroa näillä kahdella signaalilla. Tuo 2ms aika on todella lyhyt ihmisen huomattavaksi. 16

Kuva 18: Aikatason signaalien vertailua lyhyellä 20ms aikavälillä. Kaikki tehtävässä Q3.4 käytetyt Matlab-koodit löytyvät liitteestä 11. 17

4 Discrete multitone transmission Q4.1 18

5 Palaute Q5.1 Millä koneella teit työn: käyttöjärjestelmä, Matlabin versiot (ver)? Tein työn kotikoneellani, jossa on Windows XP pro ja MatLab 6.5.0.180913a (R13) Q5.2 Oliko käytännön ongelmia tietokoneiden kanssa? Ei Q5.3 Jos teit työn muuten kuin täysin yksin, millaista tukea saitte työhönne ryhmän muilta henkilöiltä, muilta kurssilaisilta tai opetushenkilökunnalta. Tein täysin yksin enkä kysellyt keneltäkään mitään apua. Q5.4 Oliko jotain ohjeistusta liikaa tai liian vähän? Tuskin sitä liikaa voi olla, mutta en paljoa vaivannut harjoitusryhmiä tai kuluttanut penkkejä luennoilla. Q5.5 Oliko Matlab-harjoituksista apua harjoitustyössä? Oliko paperilaskareista apua harjoitustyössä? Otitko osaa harjoitustyön vastaanottoihin? Työ oli sen verran helppo, että ei tarvinnut katsella tietokoneharjoituksia tai muitakaan laskareita. En käynyt vastaanotoilla. Q5.6 Mikä oli mielenkiintoisin osa tässä työssä? Mielenkiintoisinta oli saada itse eroteltua signaaleita toisistaan ja luotua suotimia Matlabilla ilman mitään graafisia käyttöliittymiä. Se oli ehkä haasteellisinta tässä työssä. Q5.7 Kuinka paljon käytit aikaa työn tekemiseen? Noin 20 tuntia. Q5.8 Muita kommentteja. Tehtävä 4 on vähän ikävänpuoleinen, koska en omista Mitran harjoitus tai oppikirjaa, enkä sitä tämän tehtävän takia osta. Tehtävät saisivat olla kokonaisuudessaan olemassa, ilman että pitää ostaa kalliita kirjoja. Nämä asiat nyt oppii ilman raskaita oppikirjojakin, koska luentokalvot ja muu luentomateriaali on niin hyvin tehty. 19

Liitteet Liite 1 Matlab-koodi tehtävään Q1.2 % tehtävä 1, osa 2 % ladataan lounastaa_m.wav [y,fs,bits] = wavread('lounastaa_m.wav'); Fs bits % pituus n n = length(y) %pituus sekunteina s s = n / Fs %spectrogrammikuva sanasta [B,f,t] = specgram(y,1024,fs); imagesc(t,f,20*log10(abs(b))); axis xy; colormap(jet); colorbar('vert'); title('spektrogrammikuva sanasta lounastaa'); xlabel('aika (s)'); ylabel('taajuus (Hz)'); Liite 2 Matlab-koodi tehtävään Q1.3 % tehtävä 1 osa 3 %n = length(y); %tt = (1/Fs):(1/Fs):(n/Fs); %plot(tt,y); % haetaan vektori y2 for k = 1:2205 y2(k) = y(41896 + k); end n2 = length(y2); t2 = (1/Fs):(1/Fs):(n2/Fs); plot(t2,y2); title('y2.wav - äänne /a/'); xlabel('aika (s)'); ylabel('amplitudi'); Liite 3 Matlab-koodi tehtävään Q1.4 % tehtävä 1 osa 4 Y2 = fft(y2, 2048); Pyy = Y2.* conj(y2) / 2048; f2 = Fs*(0:1024)/2048; plot(f2, abs(pyy(1:1025))); xlabel('taajuus (Hz)'); ylabel('teho'); title('fft-muunnettu y2'); axis([0 4000 0 11]); 20

Liite 4 SignalQ2.wav aika- ja taajuusalueessa 21

Liite 5 Matlab-koodi tehtävään Q2.1 function piirrakuvat(y,fs) % pituus n n = length(y) % pituus sekunteina s s = n / Fs % aikatason kuva figure(1); t = (1/Fs):(1/Fs):(n/Fs); plot(t,y); xlabel('aika (s)'); ylabel('amplitudi'); title('aikatason kuva signalq2.wav-äänitiedostosta'); % taajuustason kuva figure(2); Y2 = fft(y, 2048); Pyy = Y2.* conj(y2) / 2048; f2 = Fs*(0:1024)/2048; plot(f2, abs(pyy(1:1025))); xlabel('taajuus (Hz)'); ylabel('teho'); title('taajuustason kuva signalq2.wav-äänitiedostosta'); % axis([0 4000 0 11]); % spektrogrammikuva figure(3); [B,f,t] = specgram(y,1024,fs); imagesc(t,f,20*log10(abs(b))); axis xy; colormap(jet); colorbar('vert'); title('spektrogrammikuva signalq2.wav-äänitiedostosta'); xlabel('aika (s)'); ylabel('taajuus (Hz)'); 22

% tehtävä 2, osa 1 % ladataan signalq2.wav [y,fs,bits] = wavread('signalq2.wav'); Fs bits % tehtävä 2 keskiarvoistava suodatus N = 6; b = ones(1,n)/n; a = 1; y_avg = filter(b,a,y); %z-tason esitys Hq = qfilt('df2',{b/2 a/2}); figure(4); zplane(hq); % tehtävä 2 osa 1 mediaanisuodin y_med = medfilt1(y,3); Liite 6 Z-tason kuva Chebyshew II suotimesta 23

Liite 7 Matlab-koodi tehtävään Q2.2 % tehtävä 2 osa 2 Chebyshev II % Wp päästökaistan rajataajuus / cut-off for passband % Ws estokaistan rajataajuus / cut-off for stopband % Rp päästön rippeli / maximum ripple in passband % Rs eston minimivaimennus / minimum attenuation in stopband % normalisoitu Pi kulmataajuus on 1, eli (ft/2) taajuus vastaa 1. ft = 22050; Wp = [1000 3400]/(fT/2); Ws = [1300 3100]/(fT/2); Rp = 1; Rs = 40; [n,wn] = cheb2ord(wp,ws,rp,rs); n [B,A] = cheby2(n,rs,wn, 'stop'); figure(1); freqz(b, A, 512, ft); speksit(wp, Ws, Rp, Rs, 'stop', ft); figure(2); Hq = qfilt('df2',{b/2 A/2}); zplane(hq); % tehtävä 2 osa 2 suodatus y_che = filter(b,a,y); Liite 8 Matlab-koodi tehtävään Q3.1 % tehtävä 3, osa 1 % ladataan signalq3_60451.wav [y,fs,bits] = wavread('signalq3_60451.wav'); Fs bits piirrakuvat(y,fs); figure(4); % Wp päästökaistan rajataajuus / cut-off for passband % Ws estokaistan rajataajuus / cut-off for stopband % Rp päästön rippeli / maximum ripple in passband % Rs eston minimivaimennus / minimum attenuation in stopband % normalisoitu Pi kulmataajuus on 1, eli (ft/2) taajuus vastaa 1. ft = 35000; Wp = 5200/(fT/2); Ws = 5700/(fT/2); Rp = 1; Rs = 60; speksit(wp, Ws, Rp, Rs, ft); title('määrittelemäni vaatimukset suotimille'); xlabel('taajuus (Hz)'); ylabel('normalisoitu vahvistus (db)'); 24

Liite 9 Matlab-koodi tehtävään Q3.2 % tehtävä 3 osa 2 Chebyshev II % Wp päästökaistan rajataajuus / cut-off for passband % Ws estokaistan rajataajuus / cut-off for stopband % Rp päästön rippeli / maximum ripple in passband % Rs eston minimivaimennus / minimum attenuation in stopband % normalisoitu Pi kulmataajuus on 1, eli (ft/2) taajuus vastaa 1. ft = 35000; Wp = 5200/(fT/2); Ws = 5700/(fT/2); Rp = 1; Rs = 60; [n,wn] = cheb2ord(wp,ws,rp,rs); [B,A] = cheby2(n,rs,wn); figure(4); freqz(b, A, 512, ft); speksit(wp, Ws, Rp, Rs, ft); title('18-asteinen Chebyshev II -alipäästösuodin'); 25

Liite 10 Matlab-koodi tehtävään Q3.3 % tehtävä 3 osa 3 suodatus y_fir = filter(b,1,y); piirrakuvat(y_fir,fs); figure(5); Hq = qfilt('df2',{b/2 1/2}); zplane(hq); % tehtävä 3 osa 2 Parks-McClellan (FIR) % Wp päästökaistan rajataajuus / cut-off for passband % Ws estokaistan rajataajuus / cut-off for stopband % Rp päästön rippeli / maximum ripple in passband % Rs eston minimivaimennus / minimum attenuation in stopband % normalisoitu Pi kulmataajuus on 1, eli (ft/2) taajuus vastaa 1. ft = 35000; Wp = 5200/(fT/2); Ws = 5700/(fT/2); Rp = 1; Rs = 60; Rp2 = (10^(-Rp/20)); %amplitudi desipeleistä Rs2 = (10^(-Rs/20)); % Parks-McClellan optimal FIR filter order estimation f = [5200 5700]; %rajataajuudet a = [(1 - (1 - Rp2)/2) 0]; %rajataajuuksien tavoiteamplitudi dev = [((1 - Rp2)/2.2) Rs2]; %tavoiteamplitudin maksimirippelit %jakaja 2.2 johtuu pyöristysvirheistä, muuten 2 [n,fo,ao,w] = remezord(f,a,dev,ft); B = remez(n,fo,ao,w); figure(4); freqz(b, 1, 512, ft); speksit(wp, Ws, Rp, Rs, ft); title('141-asteinen Parks-McClellan -alipäästösuodin'); % tehtävä 3 osa 3 suodatus y_fir = filter(b,1,y); piirrakuvat(y_fir,fs); figure(5); Hq = qfilt('df2',{b/2 1/2}); zplane(hq); 26

Liite 11 Matlab-koodi tehtävään Q3.4 % tehtävä 3 osa 4 suodinvertailua samassa kuvassa. figure(4); ft = 35000; Wp = 5200/(fT/2); Ws = 5700/(fT/2); Rp = 1; Rs = 60; [n,wn] = cheb2ord(wp,ws,rp,rs); [B,A] = cheby2(n,rs,wn); freqz(b, A, 512, ft); % luodaan signaali y_che y_che = filter(b,a,y); ft = 35000; Wp = 5200/(fT/2); Ws = 5700/(fT/2); Rp = 1; Rs = 60; Rp2 = (10^(-Rp/20)); %amplitudi desipeleistä Rs2 = (10^(-Rs/20)); % Parks-McClellan optimal FIR filter order estimation f = [5200 5700]; %rajataajuudet a = [(1 - (1 - Rp2)/2) 0]; %rajataajuuksien tavoiteamplitudi dev = [((1 - Rp2)/2.2) Rs2]; %tavoiteamplitudin maksimirippelit %jakaja 2.2 johtuu pyöristysvirheistä, %muuten 2 [n,fo,ao,w] = remezord(f,a,dev,ft); B = remez(n,fo,ao,w); A = 1; hold on; freqz(b, A, 512, ft); %luodaan signaali y_fir y_fir = filter(b,1,y); speksit(wp, Ws, Rp, Rs, ft); title('iir ja FIR suodin spekseissä'); % piirretään molemmilla suodattimilla suodatetut signaalit päällekäin % alkuperäisen signaalin kanssa vuorotellen ja lopuksi päällekäin % keskenään toistensa kanssa. t = (1/fT):(1/fT):(length(y)/fT); figure(5); subplot(3,1,1); plot(t,y,'g',t,y_che,'r'); legend('alkup.','iir'); axis([1.43 1.45-0.5 0.5]); ylabel('amplitudi'); title('alkuperäinen vs. IIR'); subplot(3,1,2); plot(t,y,'g',t,y_fir,'b'); legend('alkup.','fir'); axis([1.43 1.45-0.5 0.5]); ylabel('amplitudi'); title('alkuperäinen vs. FIR'); subplot(3,1,3); plot(t,y_che,'r',t,y_fir,'b'); legend('iir','fir'); axis([1.43 1.45-0.5 0.5]); xlabel('aika (S)'); ylabel('amplitudi'); title('iir vs. FIR'); 27