Signaalinkäsittelymenetelmät (kevät 2009)
Matlab harjoituksen 1 ohje:
Tausta ja tavoite
Tutustutaan matlab ohjelmaan matlabin demojen
(http://www.mathworks.com/products/matlab/demos.html)avulla ja opettajan ohjaamana.
Tehtävät
1. Suorita (kuuntele) Matlabin Getting Started with Matlab –demo. Demon jälkeen:
muodosta matlabin työpöydälle vektori x, joka saa arvot 1,2,3,....100 ja y = cos( ( (2* pi) / 50) *x).
Piirrä y:n arvot x:n funktiona matlabin plot tai stem funktiota käyttäen. Tarkastele piirtämääsi kosini signaalia.
Montako näytettä otetaan yhdestä kosinin jaksosta?
Vahvista kosini signaalia 5:llä ja lisää siihen pi/2:n vaihesiirtymä.
2. Suorita (kuuntele) Matlabin Working in the Development Environment –demo. Demon jälkeen:
Katso FOR-END rakenteen syntaksi matlabin help toimintoa apuna käyttäen.
laske edellisen tehtävän vektorin y näytteiden keskiarvo FOR-END kontrollirakennetta käyttäen.
3. Muodosta Matlabin työtilassa ensin signaalit t=(1:100) ja y=sin(2*pi/50*t)+sin(2*pi/10*t).
Kirjoita sen jälkeen funktio keskiarvosuodatus, joka toteuttaa liukuvasti keskiarvoistavan suodattimen (keskiarvon voit laskea mean -komennolla ja signaalin pituuden saat selville length –komennolla). Suodattimelle annetaan parametreina suodatettava signaali ja ikkunan pituus.
Tuloksena funktio palauttaa suodatetun signaalin. Testaa suodatintasi signaalilla y pyrkien suodattamaan pois nopeammin vaihtelevan sini komponentin. Millä ikkunan pituudella suodatus toimii parhaiten?
4. Muodosta vektori b = ones(1,ikkunan_pituus), missä ikkunan pituus on edellisessä tehtävässä löydetty paras arvo. Vertaile oman suodattimesi ja Matlabin filter –komennolla saatavaa tulosta plot(filter(b,1,y)). Mistä johtuu suodatetun signaalin siirtyminen = viivästyminen? Kuinka pitkä viive on alkuperäiseen y signaaliin verrattuna (= montako näytettä)?
5. Lataa harmaasävykuva A=imread('cameraman.tif') ja näytä kuva komennolla imshow(A).
Muunna kuva negatiivikseen ja katso negatiivikuva imshow komennolla. Ohje: tee kuvamatriisin
jokaiselle pisteelle laskutoimitus s = 255 - r, missä r = kuvapisteen (pikselin) lukuarvo = intensiteetti.