Säätötekniikan ja signaalinkäsittelyn työkurssi
|
|
- Juha-Pekka Hänninen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Säätötekniikan ja signaalinkäsittelyn työkurssi Työ D104: Kuvien suodatus 0.9 op. Julius Luukko Lappeenrannan teknillinen yliopisto Sähkötekniikan osasto/säätötekniikan laboratorio
2 Sisältö 1 Johdanto 1 2 Työn sisältö 1 3 Työn tausta Digitaalisten kuvien esittäminen Kuvien piirtäminen Kuvien suodatus Harjoitustyön osat Lämmittelyosa Harjoitusosa Yksiulotteinen suodattaminen Kuvan sumentaminen Muita suodattimia Kuvan taajuussisältö Synteettisten suurten taajuuksien käyttäminen Epälineaariset suodattimet Reunojen etsiminen Muutoskynnysfunktio Työssä tarvittavat funktiot ja muut tiedostot 12 Tämä versio: 10. toukokuuta 2010 kello 11:46 i
3 1 Johdanto Kuvankäsittely on yksi digitaalisen signaalinkäsittelyn sovellus. Tässä työssä tutustutaan digitaalisten kuvien ali- ja ylipäästösuodatukseen sekä reunojen etsintään kuvasta. Työssä tarvittavat teoreettiset perusteet löytyvät oppikirjan [1] luvuista 2-4. Työn laajuus on 0.9 opintopistettä. Tämä työohje löytyy html-muodossa osoitteesta sekä pdf-muodossa osoitteesta D104/D104.pdf. 2 Työn sisältö Työ jakaantuu kahteen osaan, lämmittelyyn ja harjoitusosaan. Lämmittelyosassa harjoitellaan kuvien piirtämistä Matlabilla. Harjoitusosassa tarkastellaan kuvien sumeuttamista ja terävöittämistä sekä reunojen etsintää Matlabilla. Lämmittelyosa suoritetaan hyväksymismenettelyllä ja harjoitusosasta palautetaan raportti, joka arvostellaan. Lämmittelyosan suorittamisen varmistamiseksi ohjaaja täyttää tämän ohjeen liitteenä olevan varmistuslomakkeen. Varmistuslomake liitetään harjoitusosan raporttiin. 3 Työn tausta 3.1 Digitaalisten kuvien esittäminen Kuva voidaan esittää kahden muuttujan funktiona x(t 1, t 2 ), missä t 1 edustaa vaakakoordinaattia ja t 2 pystykoordinaattia. Harmaasävykuvassa x(t 1, t 2 ) on skaalaarifunktio, mutta värikuvassa x(t 1, t 2 ) on esimerkiksi kolmesta komponentista muodostuva vektorifunktio (esim. RGB-koodaus). Liikkuvissa kuvissa funktio olisi lisäksi ajan funktio. Tässä harjoitustyössä keskitytään pelkästään paikoillaan oleviin kuviin. Näytteistetty harmaasävykuva esitetään kaksiulotteisena lukutaulukkona x(m, n) x(mt 1, nt 2 ), 1 m M, 1 n N. (3.1) M ja N ovat usein kakkosen potensseja, esim. 256 tai 512. Matlabissa kuva esitetään M N-kokoisena matriisina x. Matriisin alkio x(m,n), pikseli, edustaa siis näytettä (m, n). Harmaasävykuvissa pikselien arvot ovat aina ei-negatiivisia ja suuruudeltaan tietyn arvon sisällä 0 x(m, n) X max. (3.2) Tämä johtuu siitä, että kuvat muodustuvat heijastuneen tai emittoidun valon intensiteettiä kuvaavista luvuista, jotka ovat aina positiivisia ja suuruudeltaan Tämä versio: 10. toukokuuta 2010 kello 11:46 1
4 äärellisiä. Kun kuvan näytteet talletetaan tietokoneen muistiin, x(m, n):n arvot skaalataan siten, että ne voidaan esittää esimerkiksi 8-bittisinä kokonaislukuina. Silloin suurin mahdollinen arvo on X max = = 255 ja siten voidaan esittää 256 eri harmaan sävyä. 3.2 Kuvien piirtäminen Kuvien piirtäminen näytölle voi olla hankalaa varsinkin sen jälkeen, kun kuvia on käsitelty esimerkiksi digitaalisella suodattimella. Seuraavat kohdat kannattaa pitää mielessä: 1. Kaikkien kuvan alkioiden arvon pitää olla ei-negatiivisia. Suodattaminen saattaa luoda myös negatiivisia arvoja, jolloin niille on tehtävä jotain ennen kuvan piirtämistä. 2. Useimpien harmaasävykuvien talletusmuoto on 8-bittinen, jolloin kuvan alkioiden arvot ovat välillä 0 x(m, n) 255 = Kuvan alkioiden suurimman ja pienimmän arvon etsimiseen voi käyttää Matlabin funktioita max ja min. 4. Kuvan alkioiden arvot voidaan kvantisoida kokonaisluvuiksi funktioilla round, fix ja floor. 5. Kuva voidaan piirtää ruudulle Matlabin sisäänrakennetulla funktiolla image tai imagesc. Se miten lukuarvot muuttuvat väreiksi voidaan määrätä ns. värikartalla. Esimerkiksi harmaasävykuva saadaan seuraavasti image(x) colormap(gray(256)) Valitettavasti image-funktio ei tulosta kuvaa siten, että yksi kuvapiste olisi ruudullakin yksi kuvapiste. Image Processing Toolboxissa olisi funktio truesize, joka tekisi tämän. Image Processing Toolbox ei kuitenkaan käytetä tässä työssä. Saman toiminnon saa aikaan laboratoriotyötä varten tehty funktio trusize. Siten kuvan piirtäminen ruudulle tapahtuu kolmella funktiolla image(x) colormap(gray(256)) trusize; Nämä funktiokutsut on koottu labratyötä varten funktioon showimg, jota voidaan käyttää tässä laboratoriotyössä. Yksinkertaisesti siis showimg(x); 6. Jos kuvassa on kuvapisteitä, joiden lukuarvot ovat alueen ulkopuolella tai jos kuvan lukuarvot on skaalattu pienelle välille, kuvan laatu voi olla huono. Kuvan sisältämien arvojen joukkoa ja lukumäärää voi tarkastella Matlabin funktiolla hist, joka piirtää kuvaajan (ns. histogrammi), josta näkyy kuinka monta kertaa tietty lukuarvo esiintyy parametrina annettavassa matriisissa. Tämä versio: 10. toukokuuta 2010 kello 11:46 2
5 Histogrammin perusteella kuvan lukuarvoja voidaan muokata ennen kuvan piirtämistä. Tähän on kaksi tapaa: 7. Lukuarvojen "leikkaaminen". Jos jotkin lukuarvoista ovat alueen ulkopuolella, mutta lukuarvojen skaalaus pitää säilyttää, lukuarvot pitää leikata, ts. kaikki negatiiviset arvot asetetaan nollaksi ja 255:tä suuremmat arvot 255:ksi. Tätä laboratoriotyötä varten on tätä operaatiota varten tehty funktio clip. 8. Kuvan automaattinen skaalaus. Kuvapisteiden arvot x(m, n) kuvataan lineaarisella kuvauksella uusiksi arvoiksi x s (m, n) = x(m, n), jotka ovat sallitulla alueella x s (m, n) = αx(m, n) + β (3.3) Skaalauskertoimet α ja β saadaan Matlabin funktioiden min ja max avulla ja koko kuvaus on x s (m, n) = 256 x(m, n) x min, (3.4) x max x min missä merkintä r tarkoittaa luvun r kokonaisosaa. 3.3 Kuvien suodatus Kuvasignaaleja voidaan suodattaa kuten yksiulotteisia signaaleja. Kuvissa intensiteetti vaihtelee pikseli pikseliltä aivan samoin kuten esimerkiksi audiosignaali vaihtelee ajan funktiona. Yksiulotteisen signaalin aikaa vastaa siis kuvapisteen paikka. Yksiulotteisen signaalin ajan käänteisarvo on taajuus. Kuvien tapauksessa käytetään termiä "avaruudellinen taajuus". Suuri avaruudellinen taajuus tarkoittaa, että kuvassa intensiteetti muuttuu nopeasti siirryttäessä kuvapisteestä toiseen, esimerkiksi raidallinen paita. Pieni avaruudellinen taajuus tarkoittaa, että intensiteetti muuttuu hitaasti. Kuva 1 havainnollistaa taajuuden käsitettä. Yksinkertainen tapa kaksiulotteisen kuvan suodattamiseen on suodattaa ensin jokainen rivi yksiulotteisesti ja suodattaa näin saatava tulos vielä sarakkeittain. Näin toimitaan tässä laboratoriotyössä. 4 Harjoitustyön osat 4.1 Lämmittelyosa Tässä osassa harjoitellaan kuvien piirtämistä Matlabilla. Samalla varmistetaan, että kaikki harjoitusosassa tarvittavat funktiot ovat käytettävissä. Työssä tarvittavat kuvat on tallennettu Matlabin mat-muotoon ja ne voidaan lukea Matlabiin komennolla load. Tiedoston sisältö ladataan saman nimiseen Tämä versio: 10. toukokuuta 2010 kello 11:46 3
6 Kuva 1: Avaruudellinen taajuus. Vasemmanpuoleisessa kuvassa on suuri taajuus, oikeanpuoleisessa pienempi. muuttujaan, josta ne on tallennettu. Muuttujan nimi ja kuvan koko selviää komennolla whos, esimerkiksi ladataan kuva lenna.mat 1 >> load lenna >> whos Name Size Bytes Class xx 256x double array Grand total is elements using bytes >> Pääte mat voidaan jättää pois. Kuva on siis talletettu matriisiin xx ja sen koko on kuvapistettä. Matlabissa on lisäksi funktio imread, jolla voidaan lukea useilla eri tallennustavoilla talletettuja kuvia. Tuettuja tapoja ovat mm. jpeg, tiff ja bmp. Vastaavasti kuvat voidaan tallettaa funktiolla imwrite samoilla tuetuilla muodoilla. Edellä työn taustaa kuvaavassa osassa kerrottiin, että kuva voidaan piirtää ruudulle image-funktiolla. Käytön helpottamiseksi tässä laboratoriotyössä voidaan käyttää funktiota showimg, joka siis ei ole Matlabiin tai mihinkään Toolboxiin kuuluva funktio. help showimg näyttää ohjeen funktion käytöstä SHOWIMG display an image with possible scaling usage: ph = showimg(img, figno, scaled, map) img = input image figno = figure number to use for the plot if 0, re-use the same figure if omitted a new figure will be opened 1 Kuvalla "lenna" on erityinen historia kuvankäsittelyn ja -pakkaamisen tutkimuksen historiassa, kts. Tämä versio: 10. toukokuuta 2010 kello 11:46 4
7 optional args: scaled = 1 (TRUE) to do auto-scale (DEFAULT) not equal to 1 (FALSE) to inhibit scaling map = user-specified color map ph = figure handle Funktiolle voi antaa 1-4 parametria. Jos parametrina on vain kuvamatriisi img, funktio avaa uuden kuvaikkunan, skaalaa arvot välille ja käyttää harmaasävyvärikarttaa. Jos haluaa piirtää useita kuvia samaan kuvaikkunaan (esim. funktion subplot avulla), voi toisena parametrina antaa kuvan numeron tai 0, jolloin käytetään aktiivista ikkunaa. Testataan seuraavaksi, että onnistut piirtämään kuvan ruudulle Matlabilla: 1. Generoi testikuva matriisiin pic, jonka koko on Tee kuvan jokaisesta rivistä diskreetti sinisignaali, jonka jakso on 50 näytettä ja amplitudi 1 (siis arvot välillä ). Kumpi indekseistä merkitsee vaaka-akselia ja kumpi pystyakselia? 2. Erota kuvasta yksi rivi ja piirrä sen kuva plot-käskyllä. Kuvan pitäisi olla diskreetti sinisignaali 3. Käytä funktiota showimg kuvan piirtämiseen ruudulle. Selitä, miksi kuvassa on kuvan mukainen harmaasävykuvio. Miten showimg on muuttanut kuvapisteiden arvoja, jotta kuvan on voinut piirtää, ts. mikä kokonaisluku vastaa mustaa ja mikä valkoista? 4. Lataa kuva lenna.mat ja piirrä se ruudulle. 5. Piirrä kuvan 200. rivi. Millä välillä arvot ovat? 6. Miten voit piirtää kuvan negatiivin, ts. mikä on yhtälön 3.3 mukainen skaalaus mustan muuttamiseksi valkoiseksi ja valkoisen mustaksi? 4.2 Harjoitusosa Yksiulotteinen suodattaminen Yksi rivi kuvasta, esim. 50. rivi, on N-pisteen pituinen sekvenssi xx(50,n). Tämän sekvenssin voi suodattaa yksiulotteisella suodattimella vaikka funktiolla conv. Mutta miten suodatetaan koko kuva? Tähän kysymykseen etsitään vastausta seuraavassa: 1. Lataa muistiin kuva echart.mat. Erota kuvan 34. viimeinen rivi omaksi sekvenssiksi komennolla x1 = echart(256-33,:); Suodata x1 7-pisteen liukuvan keskiarvon suodattimella ja piirrä sekä x1 että suodatettu signaali samaan kuvaan subplotin avulla. Kuvaile suodatettua signaalia verrattuna suodattamattomaan joko adjektiivilla tasaisempi tai karkeampi. Selitä miksi näin. Tämä versio: 10. toukokuuta 2010 kello 11:46 5
8 Säilytä suodatettu sekvenssi myöhempää käyttöä varten. 2. Erota kuvasta 99. sarake ja suodata se ensimmäinen differenssi -suodattimella (kts. työ 102). Selitä suodatetun signaalin muoto Kuvan sumentaminen Kuten varmaan arvaat, koko kuvan suodattaminen onnistuu siten, että jokainen rivi suodatetaan erikseen. Matlabissa tämä onnistuu for-luupin avulla. Rivi m suodatetaan siten 7-pisteen liukuvan keskiarvon suodattimella seuraavasti: y 1 (m, n) = x(m, n l), 1 m M. (4.1) l=0 Näin menetellessä kuva suodatetaan vain vaakasuunnassa. Sarakkeet voidaan suodattaa toisella for-luupilla: y 2 (m, n) = y 1 (m k, n), 1 n N. (4.2) k=0 Siten y 2 (m, n) on kuva, joka on suodatettu sekä vaaka- että pystysuunnissa 7- pisteen liukuvan keskiarvon suodattimella. Matlabissa on myös funktio, joka tekee yhtälön 4.1 operaation ilman silmukkaa, conv2. conv2:lla voidaan tehdä myös paljon monimutkaisempia operaatioita, mutta tässä työssä sitä käytetään vain tähän yksinkertaiseen konvoluutioon rivi riviltä tai sarake sarakkeelta. Tee seuraavat operaatiot: 1. Toteuta yhtälöiden 4.1 ja 4.2 operaatiot käyttäen for-silmukoita ja funktiota filter funktion conv sijasta. Piirrä alkuperäinen ja suodatettu kuva funktioilla subplot ja showimg samaan kuvaan vierekkäin. Käytetään tätä kuvaa seuraavien kohtien tulosten vertailuun. 2. Suodatetaan kuva conv2:lla. Määrittele 7-pisteen liukuvan keskiarvon suodatin. Jos olet sen jo edellä määritellyt, varmista, että se on rivivektori, ei sarakevektori. Funktiota conv2 käytetään sitten seuraavasti y1 = conv2(x,b); missä x on kuvan muodostava matriisi ja b suodattimen kerroinrivivektori. Yo. operaatio suodattaa kuvan kaikki rivit matriisiin y1. Huomaa, että vektorin voi pakottaa rivivektoriksi operaatiolla b=b(:). Piirrä alkuperäinen ja suodatettu kuva funktioilla subplot ja showimg samaan kuvaan vierekkäin. Kuvaile kuvien eroa. Erota suodatetusta kuvasta alhaalta lukien 34. rivi ja vertaa sitä edellä sekvenssistä x1 suodatettuun vastaavaan riviin. Piirrä molemmat kahden kuvan subplotiin. Selitä mahdolliset erot. Tämä versio: 10. toukokuuta 2010 kello 11:46 6
9 3. Suodata y1 pystysuunnassa. Tämä tapahtuu siten, että suodattimen kertoimet ovat pystyvektorissa kutsuttaessa funktiota conv2. Pystyvektoriksi vaakavektorin saa Matlabissa transpoosioperaattorilla, esim. b. Toinen vaihtoehto pystyvektoriksi pakottamiseen on b(:). Piirrä alkuperäinen (echart) ja suodatettu kuva y2 funktioilla subplot ja showimg samaan kuvaan vierekkäin. Kuvaile kuvien eroa. Vertaa myös välitulos y1:een. 4. Mitä kuvalle tapahtuu, jos suodatin vaihdetaan 21-pisteen liukuvan keskiarvon suodattimeen? Kokeile ja kuvaile Muita suodattimia 1. Lataa kuva lenna ja piirrä kuva showimg:llä. 2. Suodata kuva seuraavilla suodattimilla sekä riveittäin että sarakkeittain ellei toisin pyydetä. Piirrä jokainen kuva ja kuvaile suodattimen aikaansaannosta. (a) a1=[1 1 1]/3; (b) a2=ones(1,7)/7; (c) a3=[1-1]; Suodata vain rivit. Huomaa, että tämä suodatin saa aikaan negatiivisia arvoja. Ennen kuvan piirtämistä, arvot on skaalattava sallitulle alueelle (showimg tekee tämän automaattisesti, kokeile myös kuvan piirtämistä suoraan funktiolla image ilman skaalausta). (d) a4=[-1 3-1]; Suodata vain rivit. (e) a5=[ ]; Tarkastele kuvia ja vastaa seuraaviin kysymyksiin: Mitkä suodattimista ovat alipäästösuodattimia? Mitä alipäästösuodatin tekee kuvalle? Mitkä suodattimet ovat ylipäästösuodattimia? Älä käytä pelkästään taajuusvastekuvaajia yo. kysymysten vastauksiksi, vaan kuvaile sanallisesti kuvan perusteella Kuvan taajuussisältö Edellä havaittiin, että alipäästösuodatus sumentaa kuvaa. Tässä osassa havaitaan, että ylipäästö- tai kaistanpäästösuodatuksella kuvaa voidaan terävöittää. Jäljempänä ylipäästösuodattimia käytetään myös reunojen selvittämiseen. 1. Luo Matlabilla alipäästösuodatin, jonka kertoimet määritellään yhtälöllä 1.1, kun k = 10 b k = e 0.075(k 10)2, kun k = 0, 1, 2,..., 20, k = 10 (4.3) 0, muualla Tämä versio: 10. toukokuuta 2010 kello 11:46 7
10 Huomaa, että Matlabin indeksointi alkaa 1:stä, joten yo. yhtälöä pitää tältä osin muuttaa. Piirrä subplotin avulla samaan kuvaan suodattimen taajuusvasteen itseisarvo plotilla ja impulssivaste stemillä. 2. Luo Matlabilla kaistanpäästösuodatin, jonka kertoimet määritellään yhtälöllä { cos [0.4π(k 10)] e b k = 0.075(k 10)2, kun k = 0, 1, 2,..., 20 (4.4) 0, muualla Piirrä samalla tavalla kuin edellä samaan kuvaan suodattimen taajuusvasteen itseisarvo plotilla ja impulssivaste stemillä. Miksi suodatin on kaistanpäästösuodatin? 3. Lataa testikuva baboon.mat. Suodata kuva sekä riveittäin että sarakkeittain alipäästösuodattimella {b k } ja talleta tulos matriisiin y. Piirrä kuva nähdäksesi suodattimen vaikutus kuvaan. Totea, onko suodatetun kuvan taajuussisältö pääasiassa matala- vai korkeataajuinen. 4. Suodata baboon sekä riveittäin että sarakkeittain kaistanpäästösuodattimella { b k } ja talleta tulos matriisiin v. Piirrä kuva nähdäksesi suodattimen vaikutus kuvaan. Totea, onko suodatetun kuvan taajuussisältö pääasiassa matala- vai korkeataajuinen. Huomautus! Kuvan piirtäminen suoraan edes showimg:llä ei ole järkevää (kokeile!). Syynä on se, että suodatetussa kuvassa on pieniä ja suuria arvoja, joita on vain hyvin vähän. showimg skaalaa automaattisesti pienimmän ja suurimman arvon 0:ksi ja 255:ksi. Suurin osa informaatiosta jää kuitenkin melko pienelle alueelle, jolloin kuvassa kontrastierot eivät erotu hyvin. Muokkaa siksi kuvaa siten, että kyllästät tiettyä arvoa suuremmat ja pienemmät arvot tiettyyn rajaan. Etsi sopiva arvo piirtämällä histogrammi v:stä komennolla hist(v(:)). 5. Sumeutettua kuvaa y(m,n) voidaan parantaa (terävoittää) lisäämälle osa kaistanpäästösuodatetusta kuvasta v (tai kyllästetty versio v:stä). Kuvan 2 esittämä lohkokaavio toteuttaa seuraavan lineaarisen kombinaation (1 α)y(m, n) + αv(m, n) (4.5) missä 0 α 1 on kerroin, joka määrää, kuinka suuri osa tuloksesta tulee kaistanpäästösuodatetusta kuvasta. Etsi sellainen arvo α:lle, jolla saat mahdollisimman paljon alkuperäistä kuvaa muistuttavan lopputuloksen. Kokeile v:n paikalla sekä muokattua että muokkaamatonta v:tä. Miksi kuva näyttää terävämmältä kuin y(m,n)? Piirrä subplotin avulla samaan kuvaan (2x2) alkuperäinen kuva (siis subplot(2,2,n)), alipäästösuodatettu, kaistanpäästösuodatettu ja terävöitetty Synteettisten suurten taajuuksien käyttäminen Kuvan tarkentaminen on melko vaikeaa, mutta edellisen kohdan perusteella voidaa yleisesti todeta, että kuvan tarkentamiseksi siihen on lisättävä suurtaajuista dataa. Tämä versio: 10. toukokuuta 2010 kello 11:46 8
11 1 α LPF y(m, n) x(n) α + Terävöitetty kuva BPF v(m, n) Kuva 2: Terävöittäminen lisäämällä osa kaistanpäästösuodatettua kuvaa alipäästösuodatettuun kuvaan. Edellä kuvattua terävöittämistapaa ei voida suoraan käyttää, jos lähtökohtana on epätarkka kuva. Edellähän suurtaajuinen data saatiin kaistanpäästösuodattamalla alkuperäistä terävää kuvaa. Reaalisessa tilanteessahan käytettävissä on ainoastaan epätarkka kuva. Terävöittämiseksi kuvaan on jotenkin saatava suurtaajuista dataa. Yksi tapa on käyttää synteettisiä suuria taajuuksia. Tätä esittää kuva 3. 1 α Alipäästökanava x(n) α + Terävöitetty kuva HPF w(m, n) Kuva 3: Sumeaan kuvaan lisätään synteettisiä suuria taajuksia. Suuret taajuudet on luotu sumeasta kuvasta ylipäästösuodatettamalla. Tutkitaan menetelmän toimivuutta seuraavasti: 1. Luo toisen differenssin suodatin, jonka siirtofunktio on H(z) = Piirrä suodattimen taajuusvasteen itseisarvo. ( 1 z 1) 2. (4.6) 2. Laske synteettinen suuritaajuinen kuva suodattamalla toisen differenssin suodattimella edellä luodusta sumeasta kuvasta y(m,n). Talleta tulos matriisiin w(m,n). Muista suodattaa sekä rivit että sarakkeet. 3. Selitä w(m,n):n taajuussisältö sillä perusteella, että se on luotu alkuperäisestä terävästä kuvasta ensin alipäästösuodattamalla ja sitten suodat- Tämä versio: 10. toukokuuta 2010 kello 11:46 9
12 tamalla se toisella differenssisuodattimella. Piirrä tämän kaskadisuodattimen taajuusvaste. Vihje: kahden polynomin tulon voi muodostaa funktiolla conv. 4. Terävöitä kuvaa synteettisten suurten taajuuksien avulla. Käytä samaa lineaarista kombinaatiota kuin edellä: (1 α)y(m, n) + αw(m, n), (4.7) missä 0 α 1. Etsi sopiva α:n arvo, jolla saat kuvan mahdollisimman teräväksi. Kokeile, kannattaako w:n arvot leikata samoin kuin v:n arvot edellä. Huomaa, että terävöittäminen voi todellakin olla vaikeaa Epälineaariset suodattimet Edellä on käytetty lineaarisia FIR-suodattimia kuvien muokkaamisessa. Kuvankäsittelyssä voidaan käyttää myös toisenlaisia suodattimia. Epälineaarisilla suodattimilla kuvan taajuussisältöä voidaan muuttaa dramaattisesti säilyttäen kuitenkin visuaalinen yhdennäköisyys kuvien välillä. Reunojen etsiminen on yksi sovellus, jossa voidaan käyttää epälineaarista suodatusta Reunojen etsiminen Esineen reuna näkyy usein värin tai harmaasävyn äkillisenä muuttumisena. Valkoisella pohjalla olevan mustan esineen reuna on siten niiden pisteiden joukko, joiden viereiset pisteet ovat harmaasävyltään suuresti poikkeavia. Harmaasävyn muuttuminen jonkin esineen sisällä on tavallisesti asteittaista, mutta reunoilla muutos on paljon nopeampaa. Siksi voidaan olettaa, että yksinkertaisella ylipäästösuodattimella voidaan havaita reunat. Kokeillaan ylipäästösuodatusta yksinkertaiseen kuvaan, jossa on vain mustaa ja valkoista: 1. Lataa testikuva echart.mat. Piirrä kuva. 2. Suodata kuva sekä vaaka- että pystysuunnassa ensimmäisen differenssin suodattimella b n = {1, 1}. Piirrä tuloksena saatava kuva showimg:llä ilman skaalausta (kolmas parametri nolla) ja negatiivisena (miten?). Miten hyvin suodatin erottaa pystysuorat reunat? Entä vaakasuorat ja vinot reunat? Miksi näin? Muutoskynnysfunktio Jos hyväksymme oletuksen, että värin tai harmaasävyn muuttuminen nopeasti merkitsee reunaa, reunojen havaitseminen voidaan tehdä helpoksi. On vain merkittävä ne pisteet, joiden ympärillä olevissa pisteissä sävyllä on suuri ero. Yhtä pistettä tarkasteltaessa tämä tarkoittaa pisteen sävyarvon vertaamista sen Tämä versio: 10. toukokuuta 2010 kello 11:46 10
13 naapureihin. Jos eron itseisarvo mihin tahansa suuntaan on suurempi kuin asetettu kynnysarvo, piste on oletettavasti reunapiste. Kuvassa 4 on esimerkki tällaisesta reunojen etsimisestä. Kuva 4: Kuvasta tools etsityt reunat Seuraavassa tarkastelemme, miten tällaisen kuvan saa aikaan. Edellä selostettu vertailu naapureiden kesken on tehtävä kuvan kaikille pisteille. On siis luotava matriisi, joka sisältää pisteiden välisten sävyjen erot ja sitten tätä matriisia verrataan kynnysarvoon. Tällainen operaatio on helppoa ensimmäisen differenssin suodattimella. Suodatetaan ensin vaakasuunnassa matrisiin yh. Suodatetaan sitten alkuperäinen kuva ensimmäisen differenssin suodattimella pystysuunnassa matriisiin yv. Viimeinen osa on vertailu kynnysarvoon. Matlabin loogiset operaatiot, esim. a>b, b==a, jne. tuottavat tuloksenaan joko 1 (tosi) tai 0 (epätosi) riippuen vertailun tuloksesta. Nyt haluamme juuri tällaisen tuloksen, 1 jos piste on reunalla tai 0 jos piste ei ole reunalla. Piste on reunalla, jos muutos pystysuunnassa tai vaakasuunnassa on suurempi kuin kynnysarvo. Matlabilla kaikkien pisteiden vertailu voidaan tehdä matriisivertailuna yhdellä rivillä y = (abs(yh)>thr) (abs(yv)>thr); missä thr on kynnysarvo. On muistettava, että ensimmäisen differenssin suodattimen ulostuloarvot voivat olla kuvapisteiden arvojen sallitun alueen ulkopuolella, joten yh:lle ja yv:lle on syytä suorittaa skaalaus ja/tai negatiivisten ja ylisuurten arvojen leikkaus. Huomaa, että jos käytössä on harmaasävyvärikartta gray(256), vastaa 0 mustaa. Jos kuva halutaan piirtää ruudulle, on havainnollisempaa useimmiten piirtää reunat mustalla ja muu alue valkoisella. Sitä varten vertailun tulos pitää kääntää toisinpäin esimerkiksi negaatio-operaattorilla. Lisäksi, 0 ja 1 ovat arvoina liian lähekkäin ja ne molemmat näkyvät mustana. Jotta 1 muuttuisi valkoiseksi, on y vielä kerrottava vähintään 200:lla. Jos kynnysarvo thr on nolla, merkitään reunaan kuuluvaksi kaikki pisteet, joi- Tämä versio: 10. toukokuuta 2010 kello 11:46 11
14 den vieressä ei ole sävyarvoltaan samansuuruinen piste. Tämä on useimmiten liian pieni kynnysarvo. Jos kynnysarvo on liian suuri, ei esimerkiksi harmaan esineen reunaa havaita, jos se on mustan taustan ympäröimä. Jotta thr:n arvo olisi helposti valittavissa, pitää myös matriisit yh ja yv olla skaalattu sopivasti, esim. välille Silloin voidaan kokeilla thr:lle esimerkiksi arvoja välillä Yritä saada aikaan kuvan 4 kaltainen tulos: 1. Lataa kuva tools.mat. Piirrä kuva 1x2 subplotiin. 2. Muodosta ensimmäisen differenssin suodatin ja suodata tools vaakasuunnassa matriisiin yh. Selvitä, miten saat funktiolla conv2 samankokoisen tuloksen kuin lähtömatriisi. 3. Suodata alkuperäinen kuva, ei yh, pystysuunnassa matriisiin yv. Käytä conv2 siten, että yv:stä tulee samankokoinen kuin yh (ja alkuperäinen kuva). 4. Skaalaa ja/tai leikkaa negatiiviset ja ylisuuret arvot yh:ssa ja yv:ssä. Mieti tarkkaan, mitä teet, sillä tämä vaikuttaa paljon reunojen löytymiseen! 5. Muodosta reunakuva edellä kuvatulla matriisivertailulla, negaatiolla ja skaalauksella. Kokeile eri kynnysarvoja. Piirrä tulos alkuperäisen viereen. 6. Tee samat operaatiot kuville echart ja lenna. 5 Työssä tarvittavat funktiot ja muut tiedostot Työssä tarvitaan funktioita, jotka eivät ole osa Matlabia. Ne voi ladata työn kotisivulta osoitteesta showimg trusize clip Työssä suodatetaan seuraavia kuvia, jotka on myös ladattavissa työn kotisivulta: baboon echart lenna tools Tämä versio: 10. toukokuuta 2010 kello 11:46 12
15 Viitteet [1] J. G. Proakis and D. G. Manolakis, Digital Signal Processing Principles, Algorithms, and Applications. Prentice-Hall, Inc., 3 ed., Tämä versio: 10. toukokuuta 2010 kello 11:46 13
16 Työ D104: Kuvien suodatus Ohjaajan varmistus lämmittelyosan suorittamisesta Liitä tämä sivu harjoitusosan raporttiin Ryhmän jäsenet: Ohjaaja täyttää seuraavat kohdat: Päiväys: Ohjaaja:
Säätötekniikan ja signaalinkäsittelyn työkurssi
Säätötekniikan ja signaalinkäsittelyn työkurssi Työ D102: Sinimuotoisen signaalin suodattaminen 0.4 op. Julius Luukko Lappeenrannan teknillinen yliopisto Sähkötekniikan osasto/säätötekniikan laboratorio
LisätiedotTässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.
Laskuharjoitus 1A Mallit Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. 1. tehtävä %% 1. % (i) % Vektorit luodaan
LisätiedotMatriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.
Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.
LisätiedotValitse ruudun yläosassa oleva painike Download Scilab.
Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download
LisätiedotMitä on konvoluutio? Tutustu kuvankäsittelyyn
Mitä on konvoluutio? Tutustu kuvankäsittelyyn Tieteenpäivät 2015, Työohje Sami Varjo Johdanto Digitaalinen signaalienkäsittely on tullut osaksi arkipäiväämme niin, ettemme yleensä edes huomaa sen olemassa
LisätiedotSGN-1200 Signaalinkäsittelyn menetelmät Välikoe
SGN-00 Signaalinkäsittelyn menetelmät Välikoe 9.3.009 Sivuilla - on. Älä vastaa siihen, jos et ollut ensimmäisessä välikokeessa. Tentin kysymykset ovat sivuilla 3-4. Vastaa vain jompaan kumpaan kokeeseen,
LisätiedotHarjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006
Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten
LisätiedotSGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen
SGN- Signaalinkäsittelyn perusteet Välikoe.5.4 Heikki Huttunen Tentissä ja välikokeessa saa käyttää vain tiedekunnan laskinta. Tenttikysymyksiä ei tarvitse palauttaa. Sivuilla -3 on. Sivuilla 4-5 on. Sivulla
LisätiedotDigitaalinen signaalinkäsittely Kuvankäsittely
Digitaalinen signaalinkäsittely Kuvankäsittely Teemu Saarelainen, teemu.saarelainen@kyamk.fi Lähteet: Ifeachor, Jervis, Digital Signal Processing: A Practical Approach H.Huttunen, Signaalinkäsittelyn menetelmät,
LisätiedotTL5503 DSK, laboraatiot (1.5 op) Suodatus 2 (ver 1.0) Jyrki Laitinen
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
LisätiedotZeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
Lisätiedot110. 111. 112. 113. 114. 4. Matriisit ja vektorit. 4.1. Matriisin käsite. 4.2. Matriisialgebra. Olkoon A = , B = Laske A + B, 5 14 9, 1 3 3
4 Matriisit ja vektorit 4 Matriisin käsite 42 Matriisialgebra 0 2 2 0, B = 2 2 4 6 2 Laske A + B, 2 A + B, AB ja BA A + B = 2 4 6 5, 2 A + B = 5 9 6 5 4 9, 4 7 6 AB = 0 0 0 6 0 0 0, B 22 2 2 0 0 0 6 5
LisätiedotS-114.3812 Laskennallinen Neurotiede
S-114.3812 Laskennallinen Neurotiede Laskuharjoitus 2 4.12.2006 Heikki Hyyti 60451P Tehtävä 1 Tehtävässä 1 piti tehdä lineaarista suodatusta kuvalle. Lähtötietoina käytettiin kuvassa 1 näkyvää harmaasävyistä
LisätiedotMediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin
Mediaanisuodattimet Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että niiden ominaisuudet tunnetaan hyvin niiden analysointiin on olemassa vakiintuneita menetelmiä
LisätiedotSGN-1200 Signaalinkäsittelyn menetelmät Välikoe
SGN-100 Signaalinkäsittelyn menetelmät Välikoe 6.4.010 Sivuilla 1- on. Älä vastaa siihen, jos et ollut ensimmäisessä välikokeessa. Tentin kysymykset ovat sivuilla 3-4. Vastaa vain jompaan kumpaan kokeeseen,
LisätiedotTL5503 DSK, laboraatiot (1.5 op) Kuvasignaalit. Jyrki Laitinen
TL553 DSK, laboraatiot (.5 op) Kuvasignaalit Jyrki Laitinen TL553 DSK, laboraatiot (.5 op), K25 Suorita oheisten ohjeiden mukaiset tehtävät Matlab- ja VCDemo-ohjelmistoja käyttäen. Kokoa erilliseen mittauspöytäkirjaan
LisätiedotTL5503 DSK, laboraatiot (1.5 op) Suodatus 1 (ver 1.0) Jyrki Laitinen
TL5503 DSK, laboraatiot (1.5 op) Suodatus 1 (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
LisätiedotSGN-1200 Signaalinkäsittelyn menetelmät, Tentti
SGN-1200 Signaalinkäsittelyn menetelmät, Tentti 5.5.2008 Kirjoita nimesi ja opiskelijanumerosi jokaiseen paperiin. Vastauspaperit tullaan irrottamaan toisistaan. Jos tila ei riitä, jatka kääntöpuolelle
LisätiedotMatlab-perusteet. Jukka Jauhiainen. OAMK / Tekniikan yksikkö. Hyvinvointiteknologian koulutusohjelma
Matlab-perusteet Jukka Jauhiainen OAMK / Tekniikan yksikkö Hyvinvointiteknologian koulutusohjelma Tämän materiaalin tarkoitus on antaa opiskelijalle lyhyehkö johdanto Matlabohjelmiston perusteisiin. Matlabin
LisätiedotVektoreiden virittämä aliavaruus
Vektoreiden virittämä aliavaruus Määritelmä Oletetaan, että v 1, v 2,... v k R n. Näiden vektoreiden virittämä aliavaruus span( v 1, v 2,... v k ) tarkoittaa kyseisten vektoreiden kaikkien lineaarikombinaatioiden
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
Lisätiedot1 Olkoon suodattimen vaatimusmäärittely seuraava:
Olkoon suodattimen vaatimusmäärittely seuraava: Päästökaistan maksimipoikkeama δ p =.5. Estokaistan maksimipoikkeama δ s =.. Päästökaistan rajataajuus pb = 5 Hz. Estokaistan rajataajuudet sb = 95 Hz Näytetaajuus
LisätiedotTaulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu
Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on
LisätiedotTuntematon järjestelmä. Adaptiivinen suodatin
1 1 Vastaa lyhyesti seuraaviin a) Miksi signaaleja ylinäytteistetään AD- ja DA-muunnosten yhteydessä? b) Esittele lohkokaaviona adaptiiviseen suodatukseen perustuva tuntemattoman järjestelmän mallinnus.
LisätiedotSGN-1200 Signaalinkäsittelyn menetelmät, Tentti
SG-1200 Signaalinkäsittelyn menetelmät, Tentti 24.4.2006 Kirjoita nimesi ja opiskelijanumerosi jokaiseen paperiin. Vastauspaperit tullaan irrottamaan toisistaan. Jos tila ei riitä, jatka kääntöpuolelle
LisätiedotAlipäästösuotimen muuntaminen muiksi perussuotimiksi
Alipäästösuotimen muuntaminen muiksi perussuotimiksi Usein suodinsuunnittelussa on lähtökohtana alipäästösuodin (LPF), josta voidaan yksinkertaisilla operaatioilla muodostaa ylipäästö- (HPF), kaistanpäästö-
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotLaskuharjoitus 9, tehtävä 6
Aalto-yliopiston perustieteiden korkeakoulu Jouni Pousi Systeemianalyysin laboratorio Mat-2.4129 Systeemien identifiointi Laskuharjoitus 9, tehtävä 6 Tämä ohje sisältää vaihtoehtoisen tavan laskuharjoituksen
LisätiedotNeljän alkion kunta, solitaire-peli ja
Neljän alkion kunta, solitaire-peli ja taikaneliöt Kalle Ranto ja Petri Rosendahl Matematiikan laitos, Turun yliopisto Nykyisissä tietoliikennesovelluksissa käytetään paljon tekniikoita, jotka perustuvat
LisätiedotTietotyypit ja operaattorit
Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto
LisätiedotLineaarialgebra b, kevät 2019
Lineaarialgebra b, kevät 2019 Harjoitusta 4 Maplella with(linearalgebra); (1) Tehtävä 1. Lineaarisia funktioita? a) Asetelma on kelvollinen: lähtö- ja maalijoukko on R-kertoiminen lineaariavaruus ja L
LisätiedotKompleksiluvut signaalin taajuusjakauman arvioinnissa
Kompleksiluvut signaalin taajuusjakauman arvioinnissa Vierailuluento IMA-kurssilla Heikki Huttunen Lehtori, TkT Signaalinkäsittely, TTY heikki.huttunen@tut.fi Department of Signal Processing Fourier-muunnos
LisätiedotKokonaislukuaritmetiikka vs. logiikkaluupit
Diskreetti matematiikka, syksy 2010 Matlab-harjoitus 3 (18.11. klo 16-18 MP103) Tehtäviin vastataan tälle paperille, osoitettuihin tyhjiin alueisiin, yleensä tyhjille riveille. Tehtävät saa ja on suorastaan
LisätiedotSignaalien tilastollinen mallinnus T-61.3040 (5 op) Syksy 2006 Harjoitustyö
Signaalien tilastollinen mallinnus T-61.3040 (5 op) Syksy 2006 Harjoitustyö Harjoitustyön sekä kurssin suorittaminen Kurssin suorittaminen edellyttää sekä tentin että harjoitustyön hyväksyttyä suoritusta.
LisätiedotSäätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia 29.7.2002
Matlab tehtäviä 1. Muodosta seuraavasta differentiaaliyhtälöstä siirtofuntio. Tämä differentiaaliyhtälö saattaisi kuvata esimerkiksi yksinkertaista vaimennettua jousi-massa systeemiä, johon on liitetty
LisätiedotValokuvien matematiikkaa
Valokuvien matematiikkaa Avainsanat: valokuva, pikseli, päättely Luokkataso: 3.-5. luokka, 6.-9. luokka, lukio, yliopisto Välineet: Kynä, tehtävämonisteet (liitteenä), mahdollisiin jatkotutkimuksiin tietokone
LisätiedotDigitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu
Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu Teemu Saarelainen, teemu.saarelainen@kyamk.fi Lähteet: Ifeachor, Jervis, Digital Signal Processing: A Practical Approach H.Huttunen,
LisätiedotT-75.4100 Digitaalinen kuvatekniikka Kevät 2015 Harjoitus 1: Kameran kuvanprosessointi
T-75.4100 Digitaalinen kuvatekniikka Kevät 2015 Harjoitus 1: Kameran kuvanprosessointi Palautus: 1.3.2015 1 1 Tavoite Työssä tutkitaan kolmea kameran kuvanprosessointiketjun vaihetta: tarkennusta, mosaiikkikuvan
Lisätiedot1 Kannat ja kannanvaihto
1 Kannat ja kannanvaihto 1.1 Koordinaattivektori Oletetaan, että V on K-vektoriavaruus, jolla on kanta S = (v 1, v 2,..., v n ). Avaruuden V vektori v voidaan kirjoittaa kannan vektorien lineaarikombinaationa:
LisätiedotSolmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:
Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman
LisätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotSGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen
SGN-11 Signaalinkäsittelyn perusteet Välikoe 3.5.16 Heikki Huttunen Laskimen käyttö sallittu. Muiden materiaalien käyttö ei sallittu. Tenttikysymyksiä ei tarvitse palauttaa. Sivuilla 1-3 on. Sivuilla 4-5
LisätiedotMuuttujan sisällön näet kirjoittamalla sen nimen ilman puolipistettä
Aalto-yliopisto, Matematiikan ja Systeemianalyysin laitos -e mlkompleksianalyysi 1. mlk001.tex Ensiapuohjeita Sijoitus muuttujaan esim: >> z=(1+i)/(1-2*i) Puolipiste lopussa estää tulostuksen. Muuttujan
LisätiedotOikosulkumoottorikäyttö
Oikosulkumoottorikäyttö 1 DEE-33040 Sähkömoottorikäyttöjen laboratoriotyöt TTY Oikosulkumoottorikäyttö T. Kantell & S. Pettersson 2 Laboratoriomittauksia suorassa verkkokäytössä 2.1 Käynnistysvirtojen
LisätiedotTampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus
Tampereen yliopisto Tietokonegrafiikka 201 Tietojenkäsittelytiede Harjoitus 6 1..201 1. Tarkastellaan Gouraudin sävytysmallia. Olkoon annettuna kolmio ABC, missä A = (0,0,0), B = (2,0,0) ja C = (1,2,0)
LisätiedotMatlabin perusteita Grafiikka
BL40A0000 SSKMO KH 1 Seuraavassa esityksessä oletuksena on, että Matlabia käytetään jossakin ikkunoivassa käyttöjärjestelmässä (PC/Win, Mac, X-Window System). Käytettäessä Matlabia verkon yli joko tekstipäätteeltä,
LisätiedotMatlab-tietokoneharjoitus
Matlab-tietokoneharjoitus Tämän harjoituksen tavoitteena on: Opettaa yksinkertaisia piirikaavio- ja yksikkömuunnoslaskuja. Opettaa Matlabin perustyökaluja mittausten analysoimiseen. Havainnollistaa näytteenottotaajuuden,
Lisätiedot1. Lineaarinen optimointi
0 1. Lineaarinen optimointi 1. Lineaarinen optimointi 1.1 Johdatteleva esimerkki Esimerkki 1.1.1 Giapetto s Woodcarving inc. valmistaa kahdenlaisia puuleluja: sotilaita ja junia. Sotilaan myyntihinta on
Lisätiedot1 Vastaa seuraaviin. b) Taajuusvasteen
Vastaa seuraaviin a) Miten määritetään digitaalisen suodattimen taajuusvaste sekä amplitudi- ja vaihespektri? Tässä riittää sanallinen kuvaus. b) Miten viivästys vaikuttaa signaalin amplitudi- ja vaihespektriin?
LisätiedotS-114.3812 Laskennallinen Neurotiede
S-114.381 Laskennallinen Neurotiede Projektityö 30.1.007 Heikki Hyyti 60451P Tehtävä 1: Virityskäyrästön laskeminen Luokitellaan neuroni ensin sen mukaan, miten se vastaa sinimuotoisiin syötteisiin. Syöte
LisätiedotC-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.
Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 1 1 Matemaattisesta päättelystä Matemaattisen analyysin kurssin (kuten minkä tahansa matematiikan kurssin) seuraamista helpottaa huomattavasti, jos opiskelija ymmärtää
LisätiedotSGN-1251 Signaalinkäsittelyn sovellukset Välikoe Heikki Huttunen
SGN-5 Signaalinkäsittelyn sovellukset Välikoe.. Heikki Huttunen Tentissä ja välikokeessa saa käyttää vain tiedekunnan laskinta. Tenttikysymyksiä ei tarvitse palauttaa. Sivuilla - on. Sivuilla 4-6 on. Vastaa
LisätiedotELEC-C6001 Sähköenergiatekniikka, laskuharjoitukset oppikirjan lukuun 10 liittyen.
ELEC-C6001 Sähköenergiatekniikka, laskuharjoitukset oppikirjan lukuun 10 liittyen. X.X.2015 Tehtävä 1 Bipolaaritransistoria käytetään alla olevan kuvan mukaisessa kytkennässä, jossa V CC = 40 V ja kuormavastus
LisätiedotJohdatus tekoälyn taustalla olevaan matematiikkaan
Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 5. luento.2.27 Lineaarialgebraa - Miksi? Neuroverkon parametreihin liittyvät kaavat annetaan monesti
Lisätiedot1.4 Funktion jatkuvuus
1.4 Funktion jatkuvuus Kun arkikielessä puhutaan jonkin asian jatkuvuudesta, mielletään asiassa olevan jonkinlaista yhtäjaksoisuutta, katkeamattomuutta. Tässä ei kuitenkaan käsitellä työasioita eikä ihmissuhteita,
LisätiedotMatriiseista. Emmi Koljonen
Matriiseista Emmi Koljonen 3. lokakuuta 22 Usein meillä on monta systeemiä kuvaavaa muuttujaa ja voimme kirjoittaa niiden välille riippuvaisuuksia, esim. piirin silmukoihin voidaan soveltaa silmukkavirtayhtälöitä.
LisätiedotTAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa
LisätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotT211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet
Ohjelmointi Matlab-komentoja voidaan koota ns. M-tiedostoon. Nimi tulee tiedoston tarkentimesta.m. Matlabilla voidaan ohjelmoida kahdella eri tavalla: Skriptit eli komentojonot eli makrot Funktiot eli
LisätiedotLineaarikuvauksen R n R m matriisi
Lineaarikuvauksen R n R m matriisi Lauseessa 21 osoitettiin, että jokaista m n -matriisia A vastaa lineaarikuvaus L A : R n R m, jolla L A ( v) = A v kaikilla v R n. Osoitetaan seuraavaksi käänteinen tulos:
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotRatkaisuehdotukset LH 3 / alkuvko 45
Ratkaisuehdotukset LH 3 / alkuvko 45 Tehtävä : Olkoot A, B, X R n n, a, b R n ja jokin vektorinormi. Kätetään vektorinormia vastaavasta operaattorinormista samaa merkintää. Nätä, että. a + b a b, 2. A
LisätiedotMatlabperusteita, osa 1. Heikki Apiola Matlab-perusteita, osa 1. Heikki Apiola. 12. maaliskuuta 2012
Matlab-perusteita, 12. maaliskuuta 2012 Matlab-perusteita, Ohjelmahahmotelma 1. viikko: Matlab 2. viikko: Maple (+ annettujen Matlab tehtävien ratkaisuja) 3. viikko: Maple ja Matlab (lopputyöt) Matlab-perusteita,
LisätiedotToinen harjoitustyö. ASCII-grafiikkaa
Toinen harjoitustyö ASCII-grafiikkaa Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin itse. Ideoita
LisätiedotTyö tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi lötköjen kansoittamaa alkulimaa simuloiva olioperustainen ohjelma Java-kielellä. Lötköt säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti
LisätiedotSGN-1200 Signaalinkäsittelyn menetelmät, Tentti
SG-1200 Signaalinkäsittelyn menetelmät, Tentti 21.3.2006 Kirjoita nimesi ja opiskelijanumerosi jokaiseen paperiin. Vastauspaperit tullaan irrottamaan toisistaan. Jos tila ei riitä, jatka kääntöpuolelle
LisätiedotPuzzle SM 2005 15. 25.7.2005. Pistelasku
Puzzle SM 005 5. 5.7.005 Pistelasku Jokaisesta oikein ratkotusta tehtävästä saa yhden () pisteen, minkä lisäksi saa yhden () bonuspisteen jokaisesta muusta ratkojasta, joka ei ole osannut ratkoa tehtävää.
LisätiedotVaatimusten versiointi DOORSissa
Vaatimusten versiointi DOORSissa 01.06.2004 SoftQA Pekka Mäkinen Pekka.Makinen@softqa.fi Miten ylläpitää versiotietoa? Vaatimusten versiotiedoissa on kaksi ylläpidettävää tietoa: Itse vaatimusten hyväksytty
Lisätiedot6. Analogisen signaalin liittäminen mikroprosessoriin 2 6.1 Näytteenotto analogisesta signaalista 2 6.2. DA-muuntimet 4
Datamuuntimet 1 Pekka antala 19.11.2012 Datamuuntimet 6. Analogisen signaalin liittäminen mikroprosessoriin 2 6.1 Näytteenotto analogisesta signaalista 2 6.2. DA-muuntimet 4 7. AD-muuntimet 5 7.1 Analoginen
Lisätiedot6. Harjoitusjakso II. Vinkkejä ja ohjeita
6. Harjoitusjakso II Seuraavaksi harjoitellaan algebrallisten syötteiden, komentojen ja funktioiden käyttöä GeoGebrassa. Tarjolla on ensimmäisen harjoittelujakson tapaan kahden tasoisia harjoituksia: perustaso
LisätiedotS Signaalit ja järjestelmät
dsfsdfs S-72.1110 Työ 2 Ryhmä 123: Tiina Teekkari EST 12345A Teemu Teekkari TLT 56789B Selostus laadittu 1.1.2007 Laboratoriotyön suoritusaika 31.12.2007 klo 08:15 11:00 Esiselostuksen laadintaohje Täytä
LisätiedotInsinöörimatematiikka D
Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Luentokalvot
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotIIR-suodattimissa ongelmat korostuvat, koska takaisinkytkennästä seuraa virheiden kertautuminen ja joissakin tapauksissa myös vahvistuminen.
TL536DSK-algoritmit (J. Laitinen)..5 Välikoe, ratkaisut Millaisia ongelmia kvantisointi aiheuttaa signaalinkäsittelyssä? Miksi ongelmat korostuvat IIR-suodatinten tapauksessa? Tarkastellaan Hz taajuista
LisätiedotLaskuharjoitus 2 ( ): Tehtävien vastauksia
TT12S1E Tietoliikenteen perusteet Metropolia/A. Koivumäki Laskuharjoitus 2 (11.9.2013): Tehtävien vastauksia 1. Eräässä kuvitteellisessa radioverkossa yhdessä radiokanavassa voi olla menossa samanaikaisesti
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut
LisätiedotBL40A0000 Säätötekniikan ja signaalinkäsittelyn
1 BL40A0000 Säätötekniikan ja signaalinkäsittelyn matemaattiset ohjelmistot Luennot ja harjoitukset Katja Hynynen, h. 6431, p. 040-548 8954 Katja.Hynynen@lut.fi Opetus ja suoritusvaatimukset OPETUS: Luentoja
LisätiedotSGN-1200 Signaalinkäsittelyn menetelmät, Tentti
SGN-1200 Signaalinkäsittelyn menetelmät, Tentti 18.3.2008 Kirjoita nimesi ja opiskelijanumerosi jokaiseen paperiin. Vastauspaperit tullaan irrottamaan toisistaan. Jos tila ei riitä, jatka kääntöpuolelle
LisätiedotHieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.
Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat
LisätiedotLOPPURAPORTTI 19.11.2007. Lämpötilahälytin. 0278116 Hans Baumgartner xxxxxxx nimi nimi
LOPPURAPORTTI 19.11.2007 Lämpötilahälytin 0278116 Hans Baumgartner xxxxxxx nimi nimi KÄYTETYT MERKINNÄT JA LYHENTEET... 3 JOHDANTO... 4 1. ESISELOSTUS... 5 1.1 Diodi anturina... 5 1.2 Lämpötilan ilmaisu...
Lisätiedot815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
LisätiedotA* Reitinhaku Aloittelijoille
A* Reitinhaku Aloittelijoille Alkuperäisen artikkelin kirjoittanut Patrick Lester, suomentanut Antti Veräjänkorva. Suom. huom. Tätä kääntäessäni olen pyrkinyt pitämään saman alkuperäisen tyylin ja kerronnan.
LisätiedotSynteesi-analyysi koodaus
Luku 2 Synteesi-analyysi koodaus Tärkein koodausmenetelmä puheenkoodausstandardeissa 9-luvulta alkaen on ollut synteesi-analyysi koodaus (engl. analysis-by-synthesis). Tässä lähestymistavassa optimaaliset
Lisätiedot3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö
3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö Yhtälön (tai funktion) y = a + b + c, missä a 0, kuvaaja ei ole suora, mutta ei ole yhtälökään ensimmäistä astetta. Funktioiden
LisätiedotPython-ohjelmointi Harjoitus 2
Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento
LisätiedotElektroniikka, kierros 3
Elektroniikka, kierros 3 1. a) Johda kuvan 1 esittämän takaisinkytketyn systeemin suljetun silmukan vahvistuksen f lauseke. b) Osoita, että kun silmukkavahvistus β 1, niin suljetun silmukan vahvistus f
LisätiedotMICROSOFT EXCEL 2010
1 MICROSOFT EXCEL 2010 Taulukkolaskentaohjelman jatkokurssin tärkeitä asioita 2 Taulukkolaskentaohjelmalla voit Käyttää tietokonetta ruutupaperin ja taskulaskimen korvaajana Laatia helposti ylläpidettäviä
LisätiedotLOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100
Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).
Lisätiedot1 Matriisit ja lineaariset yhtälöryhmät
1 Matriisit ja lineaariset yhtälöryhmät 11 Yhtälöryhmä matriisimuodossa m n-matriisi sisältää mn kpl reaali- tai kompleksilukuja, jotka on asetetettu suorakaiteen muotoiseksi kaavioksi: a 11 a 12 a 1n
LisätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
Lisätiedot8. Yhtälöiden ratkaisuja Newtonilla, animaatioita
8. Yhtälöiden ratkaisuja Newtonilla, animaatioita Käsitellään puhtaana Maple-työnä ja myös Maple-Matlab-yhteistyönä. restart with plots : N d /evalf K f D f Nsymb d / K f D f lprint Nsymb +(*cos()-sin()-1)/(*sin())
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
LisätiedotTiedonkeruu ja analysointi
Tiedonkeruu ja analysointi ViDRoM Virtual Design of Rotating Machines Raine Viitala 30.9.2015 ViDRoM Virtual Design of Rotating Machines Mitataan dynaamista käyttäytymistä -> nopeuden funktiona Puhtaat
LisätiedotTeknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori
Testitapaukset - Koordinaattieditori Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Toiminnallisuuden testitapaukset...5 3.1 Uuden projektin avaaminen...5 3.2 vaa olemassaoleva projekti...6
LisätiedotYhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.
2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =
LisätiedotMatematiikan kotitehtävä 2, MAA 10 Todennäköisyys ja tilastot
Matematiikan kotitehtävä 2, MAA 10 Todennäköisyys ja tilastot Sievin lukio Tehtävien ratkaisut tulee olla esim. Libre officen -writer ohjelmalla tehtyjä. Liitä vastauksiisi kuvia GeoGebrasta ja esim. TI-nSpire
LisätiedotLuku 3. Listankäsittelyä. 3.1 Listat
Luku 3 Listankäsittelyä Funktio-ohjelmoinnin tärkein yksittäinen tietorakenne on lista. Listankäsittely on paitsi käytännöllisesti oleellinen aihe, se myös valaisee funktio-ohjelmoinnin ideaa. 3.1 Listat
LisätiedotMatriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37
Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37 Tehtävä 1: Käynnistä Matlab-ohjelma ja kokeile laskea sillä muutama peruslaskutoimitus: laske jokin yhteen-, vähennys-, kerto- ja jakolasku. Laske
Lisätiedot