Signaalinkäsittelymenetelmät (kevät 2009)
Matlab harjoituksen 9 ohje:
Tausta ja tavoite Tehtävät
Tehtävä 1 (kotitehtävä, jonka oikeasta ratkaisusta arvosanan korotus 1:llä):
Suunnittele ja toteuta Matlab funktio, jolla voit poistaa kaiun, kun kaiku voidaan mallintaa alla olevan kuvan mukaisesti. Vihje: Kurssin kotisivuilta löytyy kaikuva_systeemi.m tiedosto, jolla alla oleva systeemi on mallinnettu.
Tehtävä 2:
Kopioi kurssin kotisivuilta tiedosto signaali.mat (talleta se ensin d:/data hakemistoon ja anna sen jälkeen Matlabissa komento load signal). Tulosta signaali stem(signal) komennolla. Tee Matlab funktio, joka normalisoi signaalin välille [-1 1];
Tehtävä 3:
Kopioi kurssin kotisivuilta tiedosto nauru.mat koneesi D:/data hakemistoon ja lue tiedoston muuttuja Matlabin työpöydälle (load nauru; whos). Kuuntele tiedoston sisältämä datavektori (nauru)
soundsc(nauru) komennolla ja tulosta signaalin aika- ja taajuusesitykset (stem(nauru), plot(abs(fft(nauru))).
Tehtävä 4:
Kopioi kurssin kotisivuilta tiedosto kvantisointi.m ja kvantisoi edellisen tehtävän signaalivektori 6-bittisiksi näytteiksi ( kvantisoitu = kvantisointi(nauru,6) ). Tulosta nyt uudelleen kvantisoitu signaali aika- ja
taajuustasossa sekä kuuntele kvantisoitu signaali soundsc(kvantisoitu) komennolla.
Tehtävä 5:
Suunnittele suodatin (ikkuna tai optimi menetelmällä), jolla pyrit poistamaan kvantisoinnissa
aiheutunutta kvantisointikohinaa. Huomaa, että nauru signaalin näytteenottotaajuus on suuri verrattuna signaalin vaatimaan kaistaan. Tulosta suodatettu signaali aika- ja taajuustasossa sekä kuuntele
suodatettu signaali (= paransiko suodatus äänen laatua?) Tehtävä 6:
Kvantisoi suunnittelemasi suodattimen kertoimet 4-bittisiksi. Tulosta suodattimen impulssivaste ja taajuusvaste sekä alkuperäiselle kvantisoimattomalle että kvantisoidulle suodattimelle. Mitä havaitset?