Johdatus signaalinkäsittelyyn (syksy 2008)
Matlab harjoituksen 3 ohje:
Tausta ja tavoite
Tutustutaan diskreettiin Fourier muunnokseen Matlabin avulla.
tehtävät
1. Tee signaali, jossa on summautuneena kaksi kosini komponenttia f1 = 100 Hz ja f2 = 1000 Hz. Vihje:
muodosta ensin aikavektori, joka sisältää näytteistyshetket (t= 0:1/fs:1). Näytetaajuus fs =10000 Hz.
Sen jälkeen kosini signaalin muodostaminen on helppoa (c1=cos(2*pi*f*t). Tulosta muodostamasi signaali plot komentoa käyttäen. Varmista kuvasta, että loit oikean taajuiset kosinikomponentit.
2. ”Irroita” (signaalin_pätkä = signaali(ensimäinen_näyte:viimeinen_näyte)) ensimmäisessä tehtävässä muodostamastasi signaalista 100, 101, 500,501 ja 1000 näytteen palanen signaalia ja tulosta kunkin signaalin pätkän amplitudispektri plot(abs(fft(signaalin_pätkä))). Miten amplitudispektrit eroavat toisistaan?
3. Jatka fourier-muunnoksen analysointia muuttamalla pätkän pituutta 100, 101, 102,..,110 näyteen pituisilla signaaleilla.
4. Muuta ensimmäisessä tehtävässä tekemäsi signaalin keskiarvoa ensin negatiiviseksi ja sitten positiiviseksi vähentämällä signaalivektrorin jokaisesta alkiosta 10 (ja positiiviksesi lisäämällä 20).
Tulosta molempien signaalien amplitudispektrit.
5. Tutustu Matlabin spectrogram funktioon ja tutki sen avulla nauhoitettujen puhekomentojen
(pohjoinen, itä, etelä ja länsi) taajuussisältöjä ajan funktiona. Public levyltä KariJyrkkä –hakemistosta löytyy pohjoinen.mat, etela.mat, ita.mat ja lansi.mat tiedostot, joiden sisällä nuo puhekomennot ovat talletettuina.
6. Ekstra tehtävä nopeille. Tee Matlab ohjelma, joka laskee Fourier muunnoksen. Etsi
luentomateriaalista Fourier muunnoksen kaava ja käytä Matlabin fft funktilla laskemiasi tuloksia vertailemaan koodisi antamiin tuloksiin.