MICHAEL SITTIG ÄÄNEN HÄVIÖTÖN PAKKAAMINEN. Kandidaatintyö

Koko: px
Aloita esitys sivulta:

Download "MICHAEL SITTIG ÄÄNEN HÄVIÖTÖN PAKKAAMINEN. Kandidaatintyö"

Transkriptio

1 MICHAEL SITTIG ÄÄNEN HÄVIÖTÖN PAKKAAMINEN Kandidaatintyö Tarkastaja: lehtori Konsta Koppinen Työ jätetty tarkastettavaksi 24. toukokuuta 2010

2 II TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO Tietotekniikan koulutusohjelma SITTIG, MICHAEL: Äänen häviötön pakkaaminen Kandidaatintyö, 25 sivua, 1 liitesivu Toukokuu 2010 Pääaine: Signaalinkäsittely Tarkastaja: lehtori Konsta Koppinen Avainsanat: Äänen häviötön pakkaaminen, häviötön pakkaus, Jakson pituuden koodaus, RLC, Entropiakoodaus, Linear Predictive Coding, LPC, Huffman koodaus, Lempel- Ziv-Welch, LZW, Golomb-Rice koodaus, Rice koodaus, Free Lossless Audio Coding, FLAC Häviöttömät pakkausmenetelmät juontavat juurensa Claude E. Shannonin entropiakoodausteoriaan, jonka hän esitti vuonna Monia algoritmeja on sittemmin esitetty suorittamaan tämän teorian mukaista datan tiivistämistä, mutta pakkaussuhdetta ei audion osalta ole pystytty parantamaan kovinkaan merkittävästi mikäli kaikki tieto halutaan säilyttää. Tämä työ luo katsauksen niin tunnetuimpien häviöttömien pakkausmenetelmien teorioihin kuin niiden todellisiin tehokkuuksiin audiosignaalien tapauksessa. Työ pyrkii selventämään mikä tekee häviöttömästä audiopakkauksesta haasteellista verrattuna kuvien tai tekstitiedostojen vastaavaan. Lisäksi työssä esitellään tämän hetken käyttökelpoisimpiin koodekkeihin lukeutuvan Free Losslss Audio Codec:n eli FLAC:n toimintaa. Huomataan miksi se käyttää lineaarista ennustavaa koodausta ja Golomb- Rice -algoritmia hyödykseen.

3 III ALKUSANAT Häviöttömään audiokoodaukseen tutustuminen näin intensiivisesti on ollut erittäin mielenkiintoinen ja opettavainen kokemus. Kandidaatintyö tehtiin osana Tampereen teknillisen yliopiston signaalinkäsittelyn laitoksen kandidaatintyö seminaaria keväällä Kiitokseni esitän työn ohjaajalle, lehtori Konsta Koppiselle, hyvistä ohjeista työn eri vaiheissa sekä innostavasta asenteesta läpi seminaarin.

4 SISÄLLYS Tiivistelmä... II Alkusanat... III Termit ja niiden määritelmät... V 1. Johdanto Häviöttömän enkoodauksen taustaa Entropiakoodaus Lineaarinen ennustava koodaus ja residuaalisignaali Yleisimpien menetelmien esittely Jakson pituuden koodaus Lempel-Ziv-Welch -koodaus Huffman-koodaus Golomb-Rice -koodaus FLAC Free Lossless Audio Codec algoritmien testaaminen Testausympäristö ja lähdekoodit Testattavat algoritmit Otos Testitulokset Tulosten arviointi Päätelmät Lähteet Liite 1 Testitulokset IV

5 V TERMIT JA NIIDEN MÄÄRITELMÄT enkooderi dekooderi koodekki PCM-signaali kvantisointi LPC VLC Laite, piiri, ohjelma tai algoritmi, joka muuttaa tietoa muodosta toiseen pienentämällä sen kokoa (engl. encoder) Käänteinen käsite enkooderille (engl. decoder) Enkooderin ja dekooderin yhdistelmä (engl. codec) Analogisesta signaalista pulssimoduloitu digitaalinen signaali (engl. Pulse Code Modulation) Reaalilukuarvojen tai suuren lukujoukon arvojen likimääräistämistä pienempään lukujoukkoon Lineaarinen ennustava koodaus (engl. Linear Predictive Coding) Vaihtuvanmittainen koodaus (engl. Variable-Length Coding)

6 1 1. JOHDANTO Datan pakkauksen ideana on kaikessa yksinkertaisuudessaan sen enkoodaus erilaisia algoritmeja käyttäen muotoon, jossa tarvittava siirto- tai tallennuskapasiteetti on alkuperäistä pienempi (Kuva 1.1). Mikäli pakkaus on häviötöntä, data voidaan dekoodata täydellisesti alkuperäiseen muotoonsa. Nämä kaksi osaa enkooderi ja dekooderi muodostavat yhdessä niin sanotun koodekin. Kooditaulukko Viesti: tuli,maa,ilma,vesi. Pakattu viesti: t,m,i,v. Kuva 1.1 Yksinkertaistettu häviöttömän koodekin toiminta Tämä työ käsittelee erityisesti PCM-muotoisen audiosignaalin häviötöntä pakkausta. Muutettaessa analogisesta signaalista digitaalinen, häviää kvantisoinnin yhteydessä jo osa tiedosta. Tämä työ ei kuitenkaan keskity tuohon epäkohtaan vaan nimenomaan algoritmeihin, jotka on luotu pakkaamaan jo valmiiksi digitaalisessa muodossa olevaa informaatiota. Puhdas audiosignaali sisältää paljon ihmiskorvan kuuloalueen ulkopuolista dataa. Täten selkeästi tehokkaampiin pakkaussuhteisiin päästään käyttämällä häviöllisiä pakkausmenetelmiä, jossa informaation kannalta merkityksettömät taajuudet hylätään. Mikäli kyseessä on kuitenkin referenssisignaali, kuten masternauha, ei datan tallennusvaiheessa voida olla vielä täysin varmoja, onko sivuutettu data tulevaisuudessa täysin hyödytöntä. Täten audiosignaalien tapauksessa käyttämällä koodekkeja, jotka on suunniteltu erityisesti häviöttömään audiosignaalin pakkaamiseen, saadaan siirto- ja tallennuskapasiteettia rajoitettua tällaiseen tarkoitukseen mahdollisimman tehokkaasti.

7 Työssä esitellään ensin yleisimpiä häviöttömiä pakkausalgoritmeja. Tämän jälkeen tutustutaan näitä algoritmeja hyväksi käyttäviin koodekkeihin ja erityisesti niiden audiopakkausominaisuuksiin. Teoriaosuuden päättää Free Lossless Audio Codec, jonka tuottama formaatti flac lukeutuu nykyisin asiayhteydessään käytetyimpien joukkoon. Lopuksi testataan esiteltyjen pakkausalgoritmien vaikutusta tallennuskapasiteettiin erityyppisten audiosignaalien avulla ja verrataan tuloksia FLAC:n tuottamiin tuloksiin. 2

8 3 2. HÄVIÖTTÖMÄN ENKOODAUKSEN TAUSTAA Tässä luvussa esitellään häviöttömän enkoodauksen taustalla esiintyvä entropiankoodauksen teoria sekä nykyisin monessa audiokoodekissa hyväksi käytetyn lineaarisen ennustavan koodauksen periaate Entropiakoodaus Claude E. Shannonin vuonna 1948 esittelemä informaatioteoriaa koskeva artikkeli, [13], vaikuttaa vielä suuresti nykyaikaisiin pakkausmenetelmiin. Siinä esitelty entropia, satunnaismuuttujan epävarmuus, viestille X on muotoa: n H( X ) p( x )log p( x ). (2.1) i 1 i b i Kaavassa x i on satunnaismuuttuja, joka voi saada arvon välillä 1 n; p(x i ) on todennäköisyys arvolle x i ; b on logaritmin kantaluku, joka binäärilukujen ollessa kyseessä saa arvon 2. Entropiakoodausta voidaan kutsua häviöttömän pakkauksen kulmakiveksi. Se perustuu tosiasialle, että informaatio sisältää redundanssia, jonka absoluuttinen arvo saadaan määriteltyä seuraavanlaisen esityksen avulla. Keskimääräinen entropia per symboli on muotoa: 1 r lim H( X ). (2.2) n n Absoluuttinen entropia per symboli on muotoa: R log M. (2.3) Kaavassa M on symbolin esitykseen käytettävien merkkien määrä. Edellisiä kaavoja hyväksi käyttäen voidaan laskea viestin absoluuttisen redundanssin arvo D: D R r. (2.4) Käytännön enkoodauksessa viestin redundanssi saatetaan mahdollisimman pieneksi entropiakoodausalgoritmien avulla. Tällöin pakatun viestin koodisymbolien keskimääräinen bittiesityksen pituus saatetaan lyhyemmäksi kuin alkuperäisten symbolien vastaava. Entropiakoodaus perustuu symbolin esiintymisen tilastolliseen todennäköisyyteen, jolloin suurimman todennäköisyyden omaava symboli pyritään esittämään lyhimmällä koodisymbolilla. b

9 Lineaarinen ennustava koodaus ja residuaalisignaali Edistyneet koodekit kuten FLAC käyttävät enkoodausvaiheessa jopa neljää erilaista ennustusmenetelmää [1]. Tässä tutustutaan niistä yhteen nimeltä Lineaarinen ennustava koodaus, joka lyhennetään jatkossa muotoon LPC. LPC perustuu lineaarisen järjestelmän sisääntulon ennustamiseen matemaattisin menetelmin. Siinä tuleva sisääntulo x(n) pyritään estimoimaan edellisten sisääntulojen x(n-1), x(n-2),, x(n-k) ja niille ominaisten kertoimien a(1) a(k) avulla kaavan (2.5) mukaisesti. Ongelmana ennustuksessa on ennen kaikkea kertoimien a(1) a(k) määrittäminen. p xˆ( n) a( k) x( n k) (2.5) k 1 Käytännön entropiakoodauksessa lineaarista ennustavaa koodausta ei voida käyttää hyväksi sellaisenaan, koska se on häviöllistä. LPC on kuitenkin toimiva menetelmä tehostamaan Golomb-Rice -koodausta (Kappale 3.4). Seuraavassa on esitetty LPC-rutiini, jota hyväksi käyttäen esimerkiksi FLAC-koodekin ennustuslohko pyrkii löytämään täydellisesti tulevan osan signaalista. Ennustettujen ja todellisten arvojen välille päästään muodostamaan matalaamplitudisia residuaalisignaaleja e(n) kaavan (2.6) mukaisesti. [7] p e( n) x( n) x( n) x( n) a( k) x( n k) (2.6) k 1 LPC:n avulla pyritään löytämään sellaiset kertoimet a(1), a(2),, a(k), joilla residuaalisignaalin neliövirheen summa on mahdollisimman pieni. Residuaalisignaalin energia E(n) määräytyy kaavan (2.7) mukaisesti. 2 e n (2.7) E( n) ( ) n Laskutoimitusta helpottamaan on määritelty a(0)=1, jolloin kaava (2.7) saadaan muotoon: p E( n) a( k) x( n k) n k 0. Kertoimien a(k) optimaalisuuden ehtona on, että funktion E(n) osittaisderivaattojen täytyy olla nolla a(k):n suhteen. Kun derivoinnin ja ryhmittelyn jälkeen asetetaan derivaattojen arvot nolliksi, saadaan yhtälöryhmä, joka tuottaa symmetrisen Toeplizmatriisin: R x y (2.8) Siinä R on autokorrelaatiomatriisi ja y ristikorrelaatiovektori. Yhtälöstä (2.8) saadaan Levinson-Durbin -rekursion avulla ratkaistua nyt optimaaliset kertoimet a(k). [7] 2

10 5 3. YLEISIMPIEN MENETELMIEN ESITTELY Esiteltävät neljä erilaista koodausmenetelmää jakson pituuden-, Huffman-, Lempel- Ziv-Welch- ja Golomb-Rice -koodaus ovat kaikki häviöttömiä. Niitä voidaan käyttää kolmella eri tavalla: staattisesti, puoliadaptiivisesti tai adaptiivisesti. Staattisessa menetelmässä sekä lähettäjä että vastaanottaja tuntevat etukäteen niin käytettävän mallin kuin kooditaulukon rakenteen. Täten koodausmenetelmä käyttää koodattavasta aineistosta riippumatonta symbolirakennetta. Puoliadaptiivisessa menetelmässä käydään ensin läpi siirrettävä aineisto, ja lasketaan aineiston merkkien todellinen esiintymisjakauma. Kun jakauma on valmis, se siirretään vastaanottajalle, ja vasta sen jälkeen ryhdytään varsinaiseen tiedonsiirtoon. Adaptiivisessa menetelmässä mallia korjataan siirron aikana datan rakenteen mukaisesti. [9] 3.1. Jakson pituuden koodaus Perimmäinen tarkoitus on, että peräkkäin toistuvien symbolien lukumäärää seurataan. Alla olevassa kuvassa, (Kuva 3.1), on esitetty kuinka viestin sisältämät viisi peräkkäistä symbolia 15 saadaan pakattua koodisymboleiksi 5 ja 15. Dekooderi saa, tässä tapauksessa, tiedon tällaisen toistuvan ryhmän olemassaolosta merkkibitin 0 ansiosta. [3] alkuperäinen: enkoodaus Kuva 3.1 Jaksonpituuden enkoodaus Menetelmä on hyvin nopea, mutta sen käyttökelpoisuutta huonontaa sen alhainen tiivistyskerroin audiosignaalien tapauksessa, johtuen kovasti vaihtelevista näytearvoista. Jakson pituuden koodaus on tehokkaimmillaan kuvanpakkauksessa sellaisten kuvien kohdalla, joista löytyy suuria yhtä väriä sisältäviä alueita. Audiopakkauksen tapauksessa

11 6 menetelmä sopii nollaa sisältävien kohtien koodaukseen, kuten audiosignaalin alkuun ja loppuun Lempel-Ziv-Welch -koodaus LZW-algoritmi lukee pakkaamatonta dataa bitti kerrallaan, ja mikäli uusia symboleita esiintyy, ne lisätään kooditaulukkoon tässä asiayhteydessä sanakirjaan. Mikäli symboli esiintyy jo taulukossa, algoritmi korvaa ulostulon pakatun datan seuraavan merkin kooditaulukon indeksillä. Täten toistetut symbolit saadaan esitettyä lyhyemmässä muodossa pelkän indeksin avulla. [10] Sisäänmenon puskuri Löytyikö symboli kooditaulusta? Koodisymbolin indeksi Ulostulo (LZW-koodi) v kyllä(166) - - ve ei (v) es ei 257 e si ei 258 s ih ei 259 i hi ei 260 h ii ei 261 i is ei 262 i si kyllä(258) - si/ ei (si) /s ei 264 / si kyllä(258) - sih ei (si) hi kyllä(260) - his ei (hi) si kyllä(258) - si/ kyllä(263) - si/h ei (si/) hi kyllä(260) - his kyllä(266) - hiss ei (his) si kyllä(258) - sis ei (si) ss ei 270 s sä ei 271 ä Taulukko 3.1 LZW-algoritmin toiminta pakatessa syötettä: Vesihiisi/sihisi/hississä

12 7 Algoritmin tuottama koodi voi sisältää minkä pituisia bittijonoja tahansa, mutta jotta pakkausta tapahtuisi, ulostulon on mahdollistettava pidempi bittiesitys kuin yksittäisen merkin vaatima. Terry Welch:n 1984 esittelemään alkuperäiseen LZWkooditaulukkoon, 0, muodostetaan 12-bittisiä, määrätyn pituisia, arvoja. Taulukko 3.1, demonstroi tämän algoritmin toimintaa lauseen vesihiisi/sihisi/hississä pohjalta. Kooditaulukon ensimmäiset indeksit on varattu 8-bittisille ASCII-merkeille [1]. Tästä eteenpäin indeksit varataan yhdistelmille, jotka voivat sisältää kuinka pitkiä merkkijonoja sisältäviä symboleja tahansa. [10] Tällä tavoin esimerkin kooditaulun (Taulukko 3.1) indeksiin 265 viittaava symboli sih voidaan esittää 12 bitin avulla. ASCII-merkeillä esitettynä se veisi 8 bittiä 3 merkkiä = 24 bittiä. LZW-algoritmi koodaa siis tässä lyhyessä esimerkissä 8 bittiä 25 merkkiä = 200 bittiä muotoon, jonka esitykseen tarvitaan 12 bittiä 16 koodisymbolia = 192bittiä. Vuodesta 1984 tähän päivään algoritmi on kehitetty käyttämään vaihtuvanmittaista koodausta. Kooditaulu on myös lisätty käyttämään koodisymbolia, joka kertoo kooditaulukon tyhjentämisestä clear code sekä symbolia, joka kertoo viestin päättymisestä stop code. Clear code tulee tarpeen kun kooditaulukko täyttyy, mutta samalla se tehostaa pakkaamista sopeutumalla paremmin uusiin alueisiin pitkissä viesteissä. Älykkäät enkooderit tyhjentävät kooditaulun silloin, kun pakkaussuhde laskee alle määritellyn tason. [18] 3.3. Huffman-koodaus Huffman-koodauksessa koodinsanat ovat vaihtuvanmittaisia. Viesti jaetaan aluksi osiin, joista muodostetaan symboleja. Symbolien esiintymistodennäköisyyksien perusteella luodaan Huffman-kooditaulukko Huffman-puu jossa suurimman todennäköisyyden saanut symboli saa pienimmän määrän bittejä Huffman-koodiinsa. Keskimääräinen Huffman-koodin bittiesityksen pituus viestissä voidaan laskea kaavalla (3.1). Siinä N on erilaisten symbolien määrä koko viestissä, P(i) on todennäköisyys i:nnelle symbolille ja L(i) tiettyyn Huffman-koodiin käytettyjen bittien määrä. [6] L av N P( i) L( i) (3.1) i 1 Huffman-koodauksen ydin on sen käyttämä puu-rakenne (Kuva 3.2). Huffman-puuta luetaan ylhäältä alaspäin; siirryttäessä oikeaan haaraan Huffman-koodiin lisätään 1; siirryttäessä vasempaan haaraan siihen lisätään 0. [6] Esimerkkinä on satunnaisesti 38 a-, b-, c-, d-, e- tai f-symbolia sisältävä viesti. Lasketaan todennäköisyys P(i) jokaisen symbolin esiintymiselle ja luodaan Huffmankooditaulukko (Taulukko 3.2). Huomataan, että symboli a on esiintynyt useimmin, joten se saa Huffman-koodin, joka sisältää vain kaksi bittiä. Symboli d sijoittuu Huffman-

13 8 puussa vastakkaiselle puolelle sillä se on esiintynyt koodissa toiseksi eniten; myös sen Huffman-koodi on kaksibittinen. i symboli esiintymiskerrat viestissä P(i) Huffman-koodi L(i) 1 a 11 0, b 3 0, c 4 0, d 9 0, e 7 0, f 4 0, Taulukko 3.2 Huffman-koodin muodostuminen , , ,184 d 0,237 a 0, ,2895 b 0,079 c 0,105 f 0,105 e 0,184 Kuva 3.2 Huffman-puu a-, b-, c-, d-, e- ja f-symboleja sisältävälle viestille Mikäli vastaanottopäässä saadaan datavirta 11001, edetään Huffman-puussa ensin kohtaan 110. Tällöin jolloin päädytään symboliin f. Tämän jälkeen aloitetaan lukeminen taas ylhäältä, ja siirrytään datavirran 01 osoittamaa reittiä kohtaan d. Dekoodattu Huffman-koodi antoi siis tulokseksi kirjainyhdistelmän fd Golomb-Rice -koodaus Golomb-Rice-koodaus on Solomon W. Golombin 1960-luvulla kehittämän koodausalgoritmin muunnelma, jota Robert F. Ricen paranteli sopivammaksi tietokoneille käyttäen kahden potenssia kantalukuna [16]. Menetelmää kutsutaan usein alan asiakirjoissa myös pelkäksi Rice koodaukseksi, ja se soveltuu parhaiten käytettäväksi datalle, joka sisältää matalia arvoja, jotka on esitetty suurella bittimäärällä

14 9 16- tai 32 bittiä. Audiosignaalin residuaalisignaali (2.6) on tyypillisimmillään juuri tällainen. [11] Idea on hyvin samankaltainen kuin Huffman-koodauksessa lyhimmän koodin saavat ne symbolit, jotka esiintyvät viestissä useimmin. Golomb-Rice koodaus ei kuitenkaan käytä hyväkseen koko viestin sisältämien symbolien todennäköisyyksiä kuten Huffman-koodaus vaan oletusta siitä, että nollan lähellä olevia pieniä arvoja on viestissä enemmän kuin suuria. Sen toiminta perustuu jatkuvaan parametrien korjaukseen sisääntulon mukaan. Golomb-Rice menetelmän ydin on sen käyttämä arvo a λ,α, joka on Laplacen tiheysjakaumasta saatu satunnaisen näytteen odotusarvo. [5] Laplacen tiheysjakauman L α,λ todennäköisyys residuaalisignaalille e(n) on muotoa: ( ) ( ) e P e p0 exp, e 1. (3.2) 2 2 Arvon a λ,α avulla saadaan laskettua halutulle määrälle peräkkäisiä syötteitä kooditaulukon cutoff-arvo seuraavanlaisesti: k log 2 [ a, ] cutoff 2 k a,. Esimerkkinä Golomb-Rice kooditaulukon muodostumisesta toimii Taulukko 3.2, jossa a 10,, k log 2[10] 4, cutoff osamäärän enkoodaus jakojäännöksen enkoodaus q ulostulo r offset binääriarvo ulostulo : : N N* Taulukko 3.3 Golomb-Rice kooditaulukon muodostuminen cutoff-arvon ollessa 6 Golomb-Rice -koodi muodostuu seuraavanlaisesti; ensimmäinen osa koodisymbolista on yksittäinen bitti, joka osoittaa symbolin merkin nollana tai ykkösenä; toiseen osaan

15 10 tulee unaarinen esitys osamäärästä; kolmanteen osaan tulee binääriesitys jakojäännöksestä. Edellisen esimerkin perusteella luku 38 saa siis esityksen q(3) = 1110 ja r(8) = merkkibitti osamäärä jakojäännös Kuva 3.3 Esimerkki Golomb-Rice -koodin muodostumisesta Taulukon 3.3 perusteella 3.5. FLAC Free Lossless Audio Codec Koodekin kehitys alkoi vuonna 2000 Josh Coalsonin toimesta. Perustana toimi A.J. Robinsonin työ Shorten-formaatin parissa, LPC-koodaus sekä Golomb-Rice -koodaus. Vuonna 2003 alkoi yhteistyö, tunnetun, pakkausformaatteihin erikoistuneen nettibrändi Xiph.org:n kanssa. Nimensä mukaan FLAC on sekä vapaa maksuista, että myös vapaasti kaikkien kehiteltävissä. Koodi on kirjoitettu käyttäen C++ -kieltä. [2] FLAC tukee vain kokonaislukuja sisältäviä näytteitä, jolla on haluttu varmistaa, että enkoodaus on täysin häviötöntä. Enkooderi jakaa bittivirran vaihtuvanmittaisiin osiin jotka viedään aluksi ennustuslohkon LPC (Kappale 2.2) läpi. Mikäli ennustuslohko ei pysty ennustamaan signaalia täydellisesti, koodataan alkuperäisen- ja ennustussignaalin erotus eli residuaalisignaali häviöttömästi käyttäen Golomb-Rice - koodausta (Kappale 3.4). Audiopakkausominaisuutta parantamassa on myös koodekin, kaistojen välistä korrelointia vähentävä, tuki monikanavaiselle äänelle. [2] Tällä hetkellä on olemassa muutama häviöttömään audiopakkaukseen erikoistunut koodekki, joka kilpailee FLAC:n kanssa tehokkuudellaan. Varteenotettavia kilpailijoita ovat muun muassa Apple Lossless, MPEG-4 ALS, Monkey s Audio, OptimFROG, Tak ja WavPack. [2]

16 11 4. ALGORITMIEN TESTAAMINEN Käytännön osuutena tässä työssä testattiin teoriaosuudessa esiteltyjen pakkausalgoritmien vaikutusta audiosignaaleihin. Otos koski 30 erityyppistä audiosignaalia ja testejä tehtiin viidellä eri menetelmällä Testausympäristö ja lähdekoodit Teoriakappaleessa 3 esiteltyjen algoritmien testaus päätettiin toteuttaa suurelta osin valmiita lähdekoodeja hyväksi käyttäen. Tähän ratkaisuun päädyttiin, koska koodit olivat hyvin muodostettuja, jolloin otannan testaaminen saatiin käytyä läpi inhimillisellä nopeudella. Testit suoritettiin Windows-ympäristössä Matlab-ohjelmaa hyväksi käyttäen. Avoimen lähdekoodin omaava Basic Compression Library v tarjosi mahdollisuuden jakson pituuden-, Huffman- ja Golomb-Rice -koodaukseen. Toteutukset näihin oli kirjoittanut Marcus Geelnard ANSI C kielellä [4]. LZW-koodin oli kirjoittanut Giuseppe Ridinò matlabilla [12]. FLAC-enkoodauksen, joka toimi vertailukohtana testeissä, lähdekoodi oli kirjoitettu ANSI C++ -kielellä. ANSI C++-koodit toimivat erittäin hyvin. Niiden suorittama enkoodaus antoi tuloksen jopa 40MB kokoisille tiedostoille muutamassa sekunnissa. Ongelmaksi muodostui kuitenkin Matlabilla kirjoitettu LZW-enkoodausalgoritmi, jota tietokone käänsi ajonaikaisesti. Koodauksen rakenne sanakirjanmuodostuksineen aiheutti suurta hitautta isompia tiedostoja pakatessa, joten LZW-koodaus päätettiin suorittaa vain alle 1,5 MB kokoisille tiedostoille Testattavat algoritmit Testattavat algoritmit on esitelty seuraavalla sivulla (Taulukko 4.1). Jakson pituuden- ja Lempel-Ziv-Welch -koodaus otettiin mukaan testeihin vertailun vuoksi. Tiedossa tosin oli, etteivät ne ole optimaalisia koodausmenetelmiä audiosignaalien tapauksessa (Kappaleet 3.1 ja 3.2).

17 12 Enkoodausalgoritmi 1 Jakson pituus 2 Lempel-Ziv-Welch 3 Huffman 4 Golomb-Rice 5 FLAC Taulukko 4.1 Testeissä käytetyt koodausalgoritmit 4.3. Otos Otos on esitelty alla (Taulukko 4.2). Kaikki tiedostot oli lähtöarvoisesti WAVmuodossa. Niistä ensimmäinen on pelkkää puhetta sisältävä kappale. Numerot 2-6 sisältävät erityyppistä musiikkia, ja neljä viimeistä ovat Matlab-ohjelmalla luotuja signaaleja. kappaleen nimi koko (MB) 1 Outkast - I'm Cool 3,6 2 Beastie Boys - Live At PJ's 17 3 The Roots - Mellow My Man 24,3 4 Chemical Brothers - Believe 36,3 5 RATM - Bulls On Parade 12,9 6 Pearl Jam - Go 16,6 7 Harmoninen aalto 0,173 8 Kohinainen signaali 0,173 9 Hamoninen+Kohinainen 0, Harmoninen ja Kohinainen 0,345 Taulukko 4.2 Otoksen 44,1kHz näytteenottotaajuudella tallennetut tiedostot ja niiden alkuperäiset koot Kaikki tiedostot tallennettiin käyttämällä 16-bittistä esitystä. Koko otanta käsitti yllä olevan taulukon kappaleet kolmella eri näytteenottotaajuudella: 16kHz, 22,05kHz ja 44,1kHz. Harmoninen aalto, joka luotiin Matlabilla, sisälsi taajuudet 60Hz ja 6000Hz. Sen amplitudiksi asetettiin 1V ja pituudeksi 2s. Sitä käytettiin yhdessä satunnaisista arvoista koostuvan kohinaisen, yhtä pitkän ja saman amplitudin omaavan signaalin kanssa. Näin saatiin luotua signaalit, joiden näytearvojen toistuvuus oli helpommin seurattavissa kuin normaalien musiikkinäytteiden, ja täten testitulosten arviointi helpottui. Kuva 4.1 sekä Kuva 4.2 esittävät näiden kahden signaalin käytöksen amplitudi- ja taajuustasossa näytteenottotaajuudella 44,1kHz.

18 13 Kuva 4.1 Harmonisen aallon amplitudi aikatasossa sekä sen taajuusspektri näytteenottotaajuudella 44,1kHz Kuva 4.2 Kohinaisen signaalin amplitudi aikatasossa sekä sen taajuusspektri Harmonista värähtelyä ja kohinaa yhdistelemällä saatiin vielä luotua kaksi mielenkiintoista signaalia. Signaali nimeltä Harmoninen+Kohinainen koostui näiden kahden summauksesta. Harmoninen ja Kohinainen -niminen signaali taasen muodostettiin peräkkäisistä signaaleista, jolloin kohina alkoi harmonisen aallon jälkeen kohdasta 2s jatkuen kohtaan 4s. Kuva 4.3 sekä Kuva 4.4 esittävät näiden kahden signaalin amplitudit aikatasossa sekä niiden taajuusspektrit.

19 14 Kuva 4.3 Harmoninen+Kohinainen -signaalin amplitudi aikatasossa sekä sen taajuusspektri Kuva 4.4 Harmoninen ja Kohinainen -signaalin amplitudi aikatasossa sekä sen taajuusspektri 4.4. Testitulokset Testeissä vertailtiin eri enkoodausmenetelmien vaikutusta pakkaussuhteeseen, joka ilmoitettiin yksinkertaisesti pakattu pakkassuhde *100%. alkuperäinen Testitulokset on esitetty Liitteessä 1.

20 15 5. TULOSTEN ARVIOINTI Taulukko 5.1 kertoo koko otannan pakkauksien keskiarvot per menetelmä. Sen avulla saadaan hyvä yleiskuva siitä, että häviötön audiokoodaus perinteisin menetelmin ei juuri tuota tulosta. Jakson pituus LZW Huffman Golomb-Rice FLAC Keskiarvo 100,00 % 91,7 % 95,77 % 91,02 % 73,33 % Taulukko 5.1 Koodausmenetelmien tuottamat pakkaussuhteiden keskiarvot Tarkastellaan seuraavaksi tuloksia lähemmin Liitteen 1 pohjalta. Huomataan, että Matlabilla luodut signaalit (Kuvat ) toimivat teoriakappaleessa 3 esiteltyjen periaatteiden mukaisesti. Tämä tulos antaa vahvistuksen sille, että lähdekoodit [4] ja [12] toimivat niin kuin niiden pitääkin. Jakson pituuden koodaus antaa poikkeuksetta, signaalin näytteiden arvojen vaihdellessa, pakkaussuhteen, joka on 100 prosenttia alkuperäisen signaali koosta. Tämä tulos oli odotettavissa teoriakappaleen 3.1 perusteella. Lempel-Ziv-Welck -koodaus toimi hyvin vain harmonisen aallon tapauksessa. Muulloin tämä tuotti jopa selkeästi suurempia tiedostoja kuin mitä alkuperäiset olivat. Tämä on selitettävissä sen sanakirjaluonteesta, jolloin sen kooditaulukko kasvoi aina, kun sieltä ei löytynyt vastinetta sisään tulevalle uudelle arvolle. Tulos oli odotettavissa teoriakappaleen 3.2 perusteella. Huffman-koodauksen tuloksista on vaikeampi ottaa selvää sillä se toimi melko huonosti jokaisen testisignaalin kanssa kuitenkin pakaten jokaista hieman. Se toimi parhaiten puhetta sisältäneen signaalin tapauksessa, josta voidaan päätellä, että signaali on sisältänyt samankaltaisia äänteitä useaan otteeseen. Koodausmenetelmä tuotti huonoimman pakkaussuhteensa harmoniselle aallolle, joka kertookin teoriaosuuden 3.3 mukaisesti, että mikäli signaalissa on yhtä paljon kaikkia symboleita, ei pakkausta juurikaan tapahdu. Golomb-Rice -menetelmää testattiin suoraan WAV-muotoisiin testitiedostoihin ilman, että signaaleista olisi tehty teoriakappaleessa 3.4 mainittuja residuaalisignaaleja. Tämä ei kuitenkaan laskenut koodausmenetelmää testiryhmän hännille vaan esimerkiksi

21 16 puhesignaalin tapauksessa se toimi suhteellisen hyvin. Siinä missä tämä signaali sisälsi samankaltaisia äänteitä, oli se myös sisältänyt eniten hiljaisia kohtia. Näissä hiljaisissa kohdissa signaalin amplitudi on lähimpänä nollaa, jolloin Laplacen tiheysjakauman mukaisesti koodaava Golom-Rice -koodaus tuottaa lyhimmät koodisymbolinsa. Mainittakoon että Golomb-Rice -koodaus suoritti enkoodauksen testiryhmästä nopeimmin ja silti sen antamat pakkaussuhteet ovat suurelta osin selkeästi parempia kuin jakson pituuden-, LZW- tai Huffman -koodauksen. Täten on perusteltua, että tehokkaimmat häviöttömät audiokoodekit perustuvat juuri Golomb-Rice -koodaukseen. FLAC-enkoodaus tuotti keskimäärin testiryhmän parhaat pakkaussuhteet. Tulos oli odotettu, ja samankaltainen kuin FLAC:n nettisivut, [2], antavat olettaa. Sen heikoin kohta oli signaalit, joiden musiikillinen dynamiikka ei muuttunut tai muuttui hyvin vähän. Tämä antaa viitteen hiljaisten kohtien tärkeydestä FLAC:n enkooderille. Ennustuslohkon toiminta on oletettavasti helpompaa kohdissa, joissa soittimia on vähän.

22 17 6. PÄÄTELMÄT Edellä testattiin viittä erityyppistä häviötöntä audiopakkausmenetelmää 30 erilaista signaalia vasten. Otanta sisälsi systemaattisuuden piirteet ja tulokset, joita erilaiset menetelmät antoivat, olivat teoriaan tutustumisen myötä ennustettavissa. Työ tekeminen antoi hyvän perehdytyksen häviöttömän pakkauksen menetelmiin niin yleisellä tasolla kuin erityisesti audion kohdalla. Tutustuessa aihealueeseen kävi nopeasti selväksi miksi häviötön audiokoodaus on suhteellisen tehotonta verrattuna häviölliseen. Itse testausmenetelmä olisi ollut LZW-koodauksen osalta tehokkaampi, mikäli lähdekoodi olisi ollut valmiiksi käännetty. Tämä olisi onnistunut esimerkiksi C++ohjelmointikielellä, mutta se jäi tekemättä priorisoidessa ajankäyttöä ja tuntiessa LZWkoodauksen tehottomuuden audiosignaalien tapauksessa. Nykyään häviöttömän pakkauksen kysyntää heikentää oletettavasti tietoliikenneverkkojen tarjoamien kaistannopeuksien hitaus. Häviötön pakkaus jää vielä tämän vuoksi selkeästi häviöllisen jalkoihin.

23 18 LÄHTEET [1] American Standard Code for Information Interchange; nettisivut, Saatavilla osoitteesta: [2] FLAC, nettisivut: [3] Geelnard, M., Basic Compression Library Manual, API version 1.2, July 2006; Saatavilla osoitteessa: [4] Geelnard, M., Basic Compression Library Download, API version 1.2.0, Saatavilla osoitteesta: [5] Hans, M., Schafer, R.W., Lossless Compression of Digital Audio, Signal Processing Magazine IEEE, Jul 2001; Rajoitettu saatavuus osoitteessa: inst [6] Huffman, D.A., A Method for the Construction of Minimum-Redundancy Codes, Proceedings of the I.R.E., September 1952, pp ; Saatavilla osoitteesta: [7] Koppinen, K., SGN-4010 Puheenkäsittelyn menetelmät, luentomoniste, s , Joulukuu 2006; Saatavilla osoitteesta: [8] Ladino, J. N., Data Compression Algorithms, nettisivut; Saatavilla osoitteesta: [9] Mynttinen, T., Entropiakoodaus, luentomoniste, Mikkelin Ammattikorkeakolu; Saatavilla osoitteesta: ja koodaus/lähdekoodaus/entropiakoodaus.ppt [10] Nelson, M., LZW Data Compression, nettisivut; Saatavilla osoitteesta: [11] Reznik, Y.A., Coding of prediction residual in MPEG-4 standard for lossless audio coding (MPEG-4 ALS), IEEE Acoustics, Speech, and Signal Processing,

24 ; Rajoitettu saatavuus osoitteessa: [12] Ridinò, G., LZW Compression Algorithm, May 2004; Saatavilla osoitteesta: [13] Shannon, C. E., A Mathematical Theory of Communication, October 1948; Saatavilla osoitteesta: [14] Welch, T.A., A Technique for High-Performance Data Compression, Computer, vol. 17, no. 6, pp. 8-19, June 1984; Rajoitettu saatavuus osoitteessa: [15] Wikipedia, Free Lossless Audio Codec: [16] Wikipedia, Golomb coding; [17] Wikipedia, Run length encoding; [18] Wikipedia, Lempel-Ziv-Welch -encoding; oding

25 LIITE 1 TESTITULOKSET Kappale Fs(Hz) Jakson pituus Enkoodausalgoritmit: (pakattu/alkuperäinen)*100 LZW Huffman Golomb- Rice FLAC Outkast - I'm Cool ,0 % 98,2 % 84,3 % 73,4 % 55,3 % Puhetta ,0 % 97,1 % 84,3 % 73,4 % 52,7 % ,0 % - 84,3 % 73,1 % 44,0 % Beastie Boys - Live At PJ's ,0 % - 95,0 % 87,8 % 75,0 % Rap/Funk ,0 % - 95,0 % 87,6 % 72,4 % ,0 % - 95,0 % 87,1 % 62,5 % The Roots - Mellow My Man ,0 % - 93,9 % 85,6 % 72,0 % Hip-Hop ,0 % - 93,9 % 85,4 % 70,0 % ,0 % - 93,9 % 85,0 % 62,2 % Chemical Brothers - Believe ,0 % - 97,3 % 92,2 % 79,6 % Electronic ,0 % - 97,3 % 92,1 % 76,8 % ,0 % - 97,3 % 91,7 % 65,9 % RATM - Bulls On Parade ,0 % - 96,1 % 90,0 % 82,3 % Hard Rock ,0 % - 96,1 % 89,9 % 80,1 % ,0 % - 96,1 % 89,7 % 68,8 % Pearl Jam - Go ,0 % - 97,3 % 92,4 % 82,2 % Rock ,0 % - 97,3 % 92,4 % 80,0 % ,0 % - 97,3 % 92,3 % 71,0 % Harmoninen aalto ,0 % 32,8 % 99,1 % 100,0 % 46,8 % sisältää taajuudet: 60Hz ja 6kHz ,0 % 27,3 % 98,8 % 100,0 % 46,7 % ,0 % 21,0 % 98,6 % 100,0 % 38,6 % Kohinainen aalto ,0 % 128,1 % 97,3 % 93,8 % 105,8 % satunnaisista arvoista koostuva signaali ,0 % 127,3 % 97,4 % 94,6 % 103,0 % ,0 % 122,2 % 97,5 % 95,0 % 98,8 % Hamoninen+Kohinainen ,0 % 134,4 % 98,8 % 96,9 % 103,9 % signaalit summattu yhteen ,0 % 130,7 % 98,8 % 97,3 % 99,4 % ,0 % 125,0 % 98,8 % 97,4 % 95,3 % Harmoninen ja Kohinainen ,0 % 85,9 % 99,2 % 98,6 % 72,0 % signaalit yhdistetty peräkkäin ,0 % 80,7 % 98,6 % 98,0 % 70,4 % ,0 % 73,6 % 98,6 % 97,9 % 66,4 % KESKIARVOT: 100,00 % 91,7 % 95,77 % 91,02 % 73,33 %

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

Puheenkoodaus. Olivatpa kerran iloiset serkukset. PCM, DPCM ja ADPCM Puheenkoodaus Olivatpa kerran iloiset serkukset PCM, DPCM ja ADPCM PCM eli pulssikoodimodulaatio Koodaa jokaisen signaalinäytteen binääriseksi (eli vain ykkösiä ja nollia sisältäväksi) luvuksi kvantisointitasolle,

Lisätiedot

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

AV-muotojen migraatiotyöpaja - ääni. KDK-pitkäaikaissäilytys 2013 -seminaari 6.5.2013 / Juha Lehtonen AV-muotojen migraatiotyöpaja - ääni KDK-pitkäaikaissäilytys 2013 -seminaari 6.5.2013 / Juha Lehtonen Äänimuodot Ääneen vaikuttavia asioita Taajuudet Äänen voimakkuus Kanavien määrä Näytteistys Bittisyvyys

Lisätiedot

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? 2012-2013 Lasse Lensu 2 Ongelma 2: Voidaanko dataa tai informaatiota tallettaa tiiviimpään tilaan koodaamalla se uudelleen? 2012-2013 Lasse

Lisätiedot

Matias Sumanen Mittaussignaalin häviötön pakkaaminen. Kandidaatintyö

Matias Sumanen Mittaussignaalin häviötön pakkaaminen. Kandidaatintyö Matias Sumanen Mittaussignaalin häviötön pakkaaminen Kandidaatintyö Tarkastaja: Yliopistonlehtori Heikki Huttunen Jätetty tarkastettavaksi: 17.5.2015 2 TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO Signaalinkäsittelyn

Lisätiedot

puheen laatu kärsii koodauksesta mahdollisimman vähän. puhe pakkautuu mahdollisimman pieneen määrään bittejä.

puheen laatu kärsii koodauksesta mahdollisimman vähän. puhe pakkautuu mahdollisimman pieneen määrään bittejä. Luku 1 Puheen koodaus Puheen koodauksella tarkoitetaan puhesignaalin esittämiseen tarvittavan bittimäärän pienentämistä sillä tavalla, että puhesignaalin laatu ja ymmärrettävyys kärsivät mahdollisimman

Lisätiedot

T-61.246 DSP: GSM codec

T-61.246 DSP: GSM codec T-61.246 DSP: GSM codec Agenda Johdanto Puheenmuodostus Erilaiset codecit GSM codec Kristo Lehtonen GSM codec 1 Johdanto Analogisen puheen muuttaminen digitaaliseksi Tiedon tiivistäminen pienemmäksi Vähentää

Lisätiedot

JUHO BLANKENSTEIN MITTAUSSIGNAALIN PAKKAAMINEN, SELVITYS PAKKAUSALGORITMEISTA

JUHO BLANKENSTEIN MITTAUSSIGNAALIN PAKKAAMINEN, SELVITYS PAKKAUSALGORITMEISTA I JUHO BLANKENSTEIN MITTAUSSIGNAALIN PAKKAAMINEN, SELVITYS PAKKAUSALGORITMEISTA Kandidaatintyö Tarkastaja: lehtori Konsta Koppinen Työ jätetty tarkastettavaksi 10. toukokuuta 2009 II TIIVISTELMÄ TAMPEREEN

Lisätiedot

Juha Henriksson. Digitaalinen äänentallennus. 5.12.2005 Dr. Juha Henriksson Finnish Jazz & Pop Archive

Juha Henriksson. Digitaalinen äänentallennus. 5.12.2005 Dr. Juha Henriksson Finnish Jazz & Pop Archive Juha Henriksson Digitaalinen äänentallennus 1 Äänen korkeus Ääni on värähtelyä, joka etenee ilmassa ilmamolekyylien harventumina ja tiivistyminä Äänen korkeutta kutsutaan äänen taajuudeksi Taajuuden yksikkö

Lisätiedot

Avainsanat ja sanonnat: Tiedonpakkaus, algoritmit, Huffmanin koodaus, aritmeettinen koodaus, sanakirjat, informaatioteoria. CR luokat: E.

Avainsanat ja sanonnat: Tiedonpakkaus, algoritmit, Huffmanin koodaus, aritmeettinen koodaus, sanakirjat, informaatioteoria. CR luokat: E. Häviöttömät tiedonpakkausalgoritmit Jukka Pollari Tiivistelmä. Tässä tutkielmassa käsitellään häviöttömiä pakkausalgoritmeja, tarkemmin määriteltynä sellaisia, joilla voidaan pakata kaikenlaista dataa.

Lisätiedot

LARI KUMPU ADPCM:N KÄYTTÖ ÄÄNEN HÄVIÖTTÖMÄSSÄ PAKKAUKSESSA

LARI KUMPU ADPCM:N KÄYTTÖ ÄÄNEN HÄVIÖTTÖMÄSSÄ PAKKAUKSESSA LARI KUMPU ADPCM:N KÄYTTÖ ÄÄNEN HÄVIÖTTÖMÄSSÄ PAKKAUKSESSA Kandidaatintyö Tarkastaja: lehtori Konsta Koppinen Työ jätetty tarkastettavaksi 19. joulukuuta 2010 ii TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO

Lisätiedot

Algoritmit 2. Luento 9 Ti Timo Männikkö

Algoritmit 2. Luento 9 Ti Timo Männikkö Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon

Lisätiedot

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Digitaalitekniikan matematiikka Luku 13 Sivu 2 (10) Johdanto Tässä luvussa esitetään virheen havaitsevien ja korjaavien koodaustapojen perusteet ja käyttösovelluksia

Lisätiedot

811120P Diskreetit rakenteet

811120P 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ätiedot

Kuvan pakkaus JPEG (Joint Photographic Experts Group)

Kuvan pakkaus JPEG (Joint Photographic Experts Group) Kuvan pakkaus JPEG (Joint Photographic Experts Group) Arne Broman Mikko Toivonen Syksy 2003 Historia 1840 1895 1920-luku 1930-luku Fotografinen filmi Louis J. M. Daguerre, Ranska Ensimmäinen julkinen elokuva

Lisätiedot

Alla olevassa kuvassa on millisekunnin verran äänitaajuisen signaalin aaltomuotoa. Pystyakselilla on jännite voltteina.

Alla olevassa kuvassa on millisekunnin verran äänitaajuisen signaalin aaltomuotoa. Pystyakselilla on jännite voltteina. TT12S1E Tietoliikenteen perusteet Metropolia/A. Koivumäki 1 Kirjan lukuun 3 liittyvää lisäselitystä ja esimerkkejä Kirjan luvussa 3 (Signals Carried over the Network) luodaan katsaus siihen, minkälaisia

Lisätiedot

Signaalien datamuunnokset. Digitaalitekniikan edut

Signaalien datamuunnokset. Digitaalitekniikan edut Signaalien datamuunnokset Datamuunnosten teoriaa Muunnosten taustaa Muunnosten teoriaa Muunnosten rajoituksia ja ongelmia Petri Kärhä 09/02/2009 Signaalien datamuunnokset 1 Digitaalitekniikan edut Tarkoituksena

Lisätiedot

Signaalien datamuunnokset

Signaalien datamuunnokset Signaalien datamuunnokset Datamuunnosten teoriaa Muunnosten taustaa Muunnosten teoriaa Muunnosten rajoituksia ja ongelmia Petri Kärhä 06/02/2004 Luento 4a: Signaalien datamuunnokset 1 Digitaalitekniikan

Lisätiedot

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

SGN-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ätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

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

TL5503 DSK, laboraatiot (1.5 op) Audiosignaalit (ver 1.0) Jyrki Laitinen TL5503 DSK, laboraatiot (1.5 op) Audiosignaalit (ver 1.0) Jyrki Laitinen TL5503 DSK, laboraatiot (1.5 op), K2005 1 Suorita oheisten ohjeiden mukaiset tehtävät Matlab- ja SPDemo-ohjelmistoja käyttäen. Kokoa

Lisätiedot

Matlab-tietokoneharjoitus

Matlab-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ätiedot

Digitaalinen audio & video I

Digitaalinen audio & video I Digitaalinen audio & video I Johdanto Digitaalinen audio + Psykoakustiikka + Äänen digitaalinen esitys Digitaalinen kuva + JPEG 1 Johdanto Multimediassa hyödynnetään todellista ääntä, kuvaa ja videota

Lisätiedot

Dynamiikan hallinta Lähde: Zölzer. Digital audio signal processing. Wiley & Sons, 2008. Zölzer (ed.) DAFX Digital Audio Effects. Wiley & Sons, 2002.

Dynamiikan hallinta Lähde: Zölzer. Digital audio signal processing. Wiley & Sons, 2008. Zölzer (ed.) DAFX Digital Audio Effects. Wiley & Sons, 2002. Dynamiikan hallinta Lähde: Zölzer. Digital audio signal processing. Wiley & Sons, 2008. Zölzer (ed. DAFX Digital Audio Effects. Wiley & Sons, 2002. Sisältö:! Johdanto!! Ajallinen käyttäytyminen! oteutus!

Lisätiedot

ELEC-C5070 Elektroniikkapaja (5 op)

ELEC-C5070 Elektroniikkapaja (5 op) (5 op) Luento 5 A/D- ja D/A-muunnokset ja niiden vaikutus signaaleihin Signaalin A/D-muunnos Analogia-digitaalimuunnin (A/D-muunnin) muuttaa analogisen signaalin digitaaliseen muotoon, joka voidaan lukea

Lisätiedot

Häviötön tiedon pakkaaminen

Häviötön tiedon pakkaaminen Päivi Toikkanen Häviötön tiedon pakkaaminen Tietotekniikan pro gradu -tutkielma 26. marraskuuta 2014 Jyväskylän yliopisto Tietotekniikan laitos Kokkolan yliopistokeskus Chydenius Tekijä: Päivi Toikkanen

Lisätiedot

Laskuharjoitus 4 ( ): Tehtävien vastauksia

Laskuharjoitus 4 ( ): Tehtävien vastauksia TT12S1E Tietoliikenteen perusteet Metropolia/A. Koivumäki Laskuharjoitus 4 (2.10.2013): Tehtävien vastauksia 1. Tutkitaan signaalista näytteenotolla muodostettua PAM (Pulse Amplitude Modulation) -signaalia.

Lisätiedot

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

SGN-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ätiedot

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1 T-61.281 Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti 10.2.2004, 8:30-10:00 Kollokaatiot, Versio 1.1 1. Lasketaan ensin tulokset sanaparille valkoinen, talo käsin: Frekvenssimenetelmä:

Lisätiedot

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-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ätiedot

Harjoitus 7: NCSS - Tilastollinen analyysi

Harjoitus 7: NCSS - Tilastollinen analyysi Harjoitus 7: NCSS - Tilastollinen analyysi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tilastollinen testaus Testaukseen

Lisätiedot

Shannonin ensimmäinen lause

Shannonin ensimmäinen lause Shannonin ensimmäinen lause Pro gradu Maija-Liisa Metso Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2014 Sisältö Tiivistelmä 2 1 Johdanto informaatioteoriaan 2 1.1 Informaatioteorian historiaa...................

Lisätiedot

5 Lineaarinen ennustus

5 Lineaarinen ennustus 5 Lineaarinen ennustus Lineaarinen ennustus (linear prediction, LP) on yksi tärkeimmistä puheenkäsittelyn työkaluista Sitä voidaan eri tilanteessa käyttää eri tavoilla, mutta puheenkäsittelyn kannalta

Lisätiedot

ELEC-C7230 Tietoliikenteen siirtomenetelmät

ELEC-C7230 Tietoliikenteen siirtomenetelmät ELEC-C7230 Tietoliikenteen siirtomenetelmät Laskuharjoitus 8 - ratkaisut 1. Tehtävässä on taustalla ajatus kantoaaltomodulaatiosta, jossa on I- ja Q-haarat, ja joka voidaan kuvata kompleksiarvoisena kantataajuussignaalina.

Lisätiedot

Digitaalinen audio

Digitaalinen audio 8003203 Digitaalinen audio Luennot, kevät 2005 Tuomas Virtanen Tampereen teknillinen yliopisto Kurssin tavoite Johdanto 2 Tarjota tiedot audiosignaalinkäsittelyn perusteista perusoperaatiot, sekä niissä

Lisätiedot

2. TILASTOLLINEN TESTAAMINEN...

2. TILASTOLLINEN TESTAAMINEN... !" # 1. 1. JOHDANTO... 3 2. 2. TILASTOLLINEN TESTAAMINEN... 4 2.1. T-TESTI... 4 2.2. RANDOMISAATIOTESTI... 5 3. SIMULOINTI... 6 3.1. OTOSTEN POIMINTA... 6 3.2. TESTAUS... 7 3.3. TESTIEN TULOSTEN VERTAILU...

Lisätiedot

SGN-4200 Digitaalinen Audio Harjoitustyö-info

SGN-4200 Digitaalinen Audio Harjoitustyö-info 1 SGN-4200 Digitaalinen Audio Harjoitustyö-info 04.04.2012 Joonas Nikunen Harjoitystyö - 2 Suorittaminen ja Käytännöt Kurssin pakollinen harjoitustyö: Harjoitellaan audiosignaalinkäsittelyyn tarkoitetun

Lisätiedot

805306A Johdatus monimuuttujamenetelmiin, 5 op

805306A Johdatus monimuuttujamenetelmiin, 5 op monimuuttujamenetelmiin, 5 op syksy 2018 Matemaattisten tieteiden laitos Lineaarinen erotteluanalyysi (LDA, Linear discriminant analysis) Erotteluanalyysin avulla pyritään muodostamaan selittävistä muuttujista

Lisätiedot

SGN-4200 Digitaalinen audio

SGN-4200 Digitaalinen audio SGN-4200 Digitaalinen audio Luennot, kevät 2013, periodi 4 Anssi Klapuri Tampereen teknillinen yliopisto Kurssin tavoite Johdanto 2! Tarjota tiedot audiosignaalinkäsittelyn perusteista perusoperaatiot,

Lisätiedot

Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa

Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa Jyrki Lahtonen, Anni Hakanen, Taneli Lehtilä, Toni Hotanen, Teemu Pirttimäki, Antti Peltola Turun yliopisto MATINE-tutkimusseminaari, 16.11.2017

Lisätiedot

Digitaalinen audio & video, osa I. Johdanto. Digitaalisen audion sovellusalueet. Johdanto. Taajuusalue. Psykoakustiikka. Johdanto Digitaalinen audio

Digitaalinen audio & video, osa I. Johdanto. Digitaalisen audion sovellusalueet. Johdanto. Taajuusalue. Psykoakustiikka. Johdanto Digitaalinen audio Digitaalinen audio & video, osa I Johdanto Digitaalinen audio + Psykoakustiikka + Äänen digitaalinen esitys Digitaalinen kuva +JPEG Petri Vuorimaa 1 Johdanto Multimediassa hyödynnetään todellista ääntä,

Lisätiedot

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Tilastollinen testaus. Vilkkumaa / Kuusinen 1 Tilastollinen testaus Vilkkumaa / Kuusinen 1 Motivointi Viime luennolla: havainnot generoineen jakauman muoto on usein tunnettu, mutta parametrit tulee estimoida Joskus parametreista on perusteltua esittää

Lisätiedot

Laskuharjoitus 2 ( ): Tehtävien vastauksia

Laskuharjoitus 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ätiedot

Tilastollisen analyysin perusteet Luento 8: Lineaarinen regressio, testejä ja luottamusvälejä

Tilastollisen analyysin perusteet Luento 8: Lineaarinen regressio, testejä ja luottamusvälejä Tilastollisen analyysin perusteet Luento 8: Lineaarinen regressio, testejä ja luottamusvälejä arvon Sisältö arvon Bootstrap-luottamusvälit arvon arvon Oletetaan, että meillä on n kappaletta (x 1, y 1 ),

Lisätiedot

Kompleksiluvut signaalin taajuusjakauman arvioinnissa

Kompleksiluvut 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ätiedot

Luku- ja merkkikoodit. Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15)

Luku- ja merkkikoodit. Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15) Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15) A = a = i i w i Digitaalitekniikan matematiikka Luku 12 Sivu 2 (15) Johdanto Tässä luvussa esitetään kymmenjärjestelmän lukujen eli BCD-lukujen esitystapoja

Lisätiedot

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018 BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018 Tehtävä 8 on tällä kertaa pakollinen. Aloittakaapa siitä. 1. Kun tässä tehtävässä sanotaan sopii mahdollisimman hyvin, sillä tarkoitetaan

Lisätiedot

Tehtävä 2: Tietoliikenneprotokolla

Tehtävä 2: Tietoliikenneprotokolla Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 6 1 Korkolaskentaa Oletetaan, että korkoaste on r Jos esimerkiksi r = 0, 02, niin korko on 2 prosenttia Tätä korkoastetta käytettään diskonttaamaan tulevia tuloja ja

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 2 Lisää osamurtoja Tutkitaan jälleen rationaalifunktion P(x)/Q(x) integrointia. Aiemmin käsittelimme tapauksen, jossa nimittäjä voidaan esittää muodossa Q(x) = a(x x

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

Digitaalinen audio & video, osa I

Digitaalinen audio & video, osa I Digitaalinen audio & video, osa I Johdanto Digitaalinen audio + Psykoakustiikka + Äänen digitaalinen esitys Digitaalinen kuva +JPEG Petri Vuorimaa 1 Johdanto Multimediassa hyödynnetään todellista ääntä,

Lisätiedot

Tietoliikenteen fyysinen kerros. Tietoliikenne kohtaa todellisuuden Kirja sivut 43-93

Tietoliikenteen fyysinen kerros. Tietoliikenne kohtaa todellisuuden Kirja sivut 43-93 Tietoliikenteen fyysinen kerros Tietoliikenne kohtaa todellisuuden Kirja sivut 43-93 Data ja informaatio Data: koneiden tai ihmisten käsiteltävissä oleva tiedon esitysmuoto Informaatio: datan merkityssisältö

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö Algoritmit 2 Luento 10 To 11.4.2019 Timo Männikkö Luento 10 Merkkitiedon tiivistäminen LZW-menetelmä Taulukointi Editointietäisyys Peruutusmenetelmä Osajoukon summa Algoritmit 2 Kevät 2019 Luento 10 To

Lisätiedot

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden

Lisätiedot

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly Bayesin pelit Kalle Siukola MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly 12.10.2016 Toistetun pelin esittäminen automaatin avulla Ekstensiivisen muodon puu on tehoton esitystapa, jos peliä

Lisätiedot

esimerkkejä erilaisista lohkokoodeista

esimerkkejä erilaisista lohkokoodeista 6.2.1 Lohkokoodit tehdään bittiryhmälle bittiryhmään lisätään sovitun algoritmin mukaan ylimääräisiä bittejä [k informaatiobittiä => n koodibittiä, joista n-k lisäbittiä], käytetään yleensä merkintää (n,k)-koodi

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 11.08.2010 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

Mallin arviointi ja valinta. Ennustevirhe otoksen sisällä, parametrimäärän valinta, AIC, BIC ja MDL

Mallin arviointi ja valinta. Ennustevirhe otoksen sisällä, parametrimäärän valinta, AIC, BIC ja MDL Mallin arviointi ja valinta Ennustevirhe otoksen sisällä, parametrimäärän valinta, AIC, BIC ja MDL Sisältö Otoksen ennustevirheen estimointi AIC - Akaiken informaatiokriteeri mallin valintaan Parametrimäärän

Lisätiedot

Datatähti 2019 loppu

Datatähti 2019 loppu Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

SGN 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ätiedot

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

Mitä 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ätiedot

Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi. Esimerkit laskettu JMP:llä

Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi. Esimerkit laskettu JMP:llä Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi Esimerkit laskettu JMP:llä Antti Hyttinen Tampereen teknillinen yliopisto 29.12.2003 ii Ohjelmien

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Johdanto tieto- viestintäteknologian käyttöön: Äänitystekniikka. Vfo135 ja Vfp124 Martti Vainio

Johdanto tieto- viestintäteknologian käyttöön: Äänitystekniikka. Vfo135 ja Vfp124 Martti Vainio Johdanto tieto- viestintäteknologian käyttöön: Äänitystekniikka Vfo135 ja Vfp124 Martti Vainio Akustiikka Äänityksen tarkoitus on taltioida paras mahdo!inen signaali! Tärkeimpinä kolme akustista muuttujaa:

Lisätiedot

Virheen kasautumislaki

Virheen kasautumislaki Virheen kasautumislaki Yleensä tutkittava suure f saadaan välillisesti mitattavista parametreistä. Tällöin kokonaisvirhe f määräytyy mitattujen parametrien virheiden perusteella virheen kasautumislain

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14

Lisätiedot

Sovellettu todennäköisyyslaskenta B

Sovellettu todennäköisyyslaskenta B Sovellettu todennäköisyyslaskenta B Antti Rasila 8. marraskuuta 2007 Antti Rasila () TodB 8. marraskuuta 2007 1 / 18 1 Kertausta: momenttimenetelmä ja suurimman uskottavuuden menetelmä 2 Tilastollinen

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku

Lisätiedot

6. laskuharjoitusten vastaukset (viikot 10 11)

6. laskuharjoitusten vastaukset (viikot 10 11) 6. laskuharjoitusten vastaukset (viikot 10 11) 1. a) Sivun 102 hypergeometrisen jakauman määritelmästä saadaan µ µ 13 39 13! 13 12 11 10 9 µ 0! 8! 1! 2 2! 2 1 0 49 48! 47!! 14440 120 31187200 120 1287

Lisätiedot

KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM)

KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM) 1 KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM) CPM & TCM-PERIAATTEET 2 Tehon ja kaistanleveyden säästöihin pyritään, mutta yleensä ne ovat ristiriitaisia

Lisätiedot

Tehtävät. 1. Ratkaistava epäyhtälöt. a) 2(4 x) < 12, b) 5(x 2 4x + 3) < 0, c) 3 2x 4 > 6. 1/10. Sukunimi (painokirjaimin)

Tehtävät. 1. Ratkaistava epäyhtälöt. a) 2(4 x) < 12, b) 5(x 2 4x + 3) < 0, c) 3 2x 4 > 6. 1/10. Sukunimi (painokirjaimin) 1/10 Tehtävä 1 2 3 4 5 6 7 8 9 10 Yhteensä Pisteet (tarkastaja merkitsee) Kokeessa on kymmenen tehtävää, joista jokainen on erillisellä paperilla. Jokaisen tehtävän maksimipistemäärä on 6 pistettä. Ratkaise

Lisätiedot

Ohjelmistoradio tehtävät 4. P1: Ekvalisointi ja demodulaatio. OFDM-symbolien generoiminen

Ohjelmistoradio tehtävät 4. P1: Ekvalisointi ja demodulaatio. OFDM-symbolien generoiminen Ohjelmistoradio tehtävät 4 P: Ekvalisointi ja demodulaatio Tässä tehtävässä dekoodata OFDM data joka on sijotetty synknonontisignaalin lälkeen. Synkronointisignaali on sama kuin edellisessä laskutehtävässä.

Lisätiedot

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-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ätiedot

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-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ätiedot

Harmaasävykuvien häviöttömästä tiivistyksestä

Harmaasävykuvien häviöttömästä tiivistyksestä Harmaasävykuvien häviöttömästä tiivistyksestä TURUN YLIOPISTO Informaatioteknologian laitos Tietojenkäsittelytiede Pro gradu tutkielma 9.2.2004 Marko Männistö SISÄLLYSLUETTELO SISÄLLYSLUETTELO...2 1 JOHDANTO...5

Lisätiedot

T Luonnollisten kielten tilastollinen käsittely

T Luonnollisten kielten tilastollinen käsittely T-61.281 Luonnollisten kielten tilastollinen käsittely Vastaukset 3, ti 11.2.2003, 16:15-18:00 Kollokaatiot, Versio 1.1 1. Lasketaan ensin tulokset sanaparille valkoinen, talo käsin: Frekvenssimenetelmä:

Lisätiedot

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1 Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-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ätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

Ongelma(t): Miten digitaalista tietoa voidaan toisintaa ja visualisoida? Miten monimutkaista tietoa voidaan toisintaa ja visualisoida?

Ongelma(t): Miten digitaalista tietoa voidaan toisintaa ja visualisoida? Miten monimutkaista tietoa voidaan toisintaa ja visualisoida? Ongelma(t): Miten digitaalista tietoa voidaan toisintaa ja visualisoida? Miten monimutkaista tietoa voidaan toisintaa ja visualisoida? 2 Tieto on koodattu aikaisempaa yleisemmin digitaaliseen muotoon,

Lisätiedot

Alkulukujen harmoninen sarja

Alkulukujen harmoninen sarja Alkulukujen harmoninen sarja LuK-tutkielma Markus Horneman Oiskelijanumero:2434548 Matemaattisten tieteiden laitos Oulun ylioisto Syksy 207 Sisältö Johdanto 2 Hyödyllisiä tuloksia ja määritelmiä 3. Alkuluvuista............................

Lisätiedot

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 6 Sarjojen suppeneminen Kiinnostuksen kohteena on edelleen sarja a k = a + a 2 + a 3 + a 4 +... k= Tämä summa on mahdollisesti äärellisenä olemassa, jolloin sanotaan

Lisätiedot

4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on

4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on Mat-2.090 Sovellettu todennäköisyyslasku A / Ratkaisut Aiheet: Avainsanat: Otanta Poisson- Jakaumien tunnusluvut Diskreetit jakaumat Binomijakauma, Diskreetti tasainen jakauma, Geometrinen jakauma, Hypergeometrinen

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018

Lisätiedot

TL5503 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) 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ätiedot

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi.

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi. Tehtävä 24. Kallioparkki veloittaa 2 euroa kolmelta ensimmäiseltä pysäköintitunnilta. Yli kolmen tunnin pysäköinnistä veloitetaan lisäksi 0.5 euroa jokaiselta yli menevältä tunnilta. Kuitenkin maksimiveloitus

Lisätiedot

Nopea kertolasku, Karatsuban algoritmi

Nopea kertolasku, Karatsuban algoritmi Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa

Lisätiedot

Tiedonsiirron perusteet ja fyysinen kerros. Tietoliikenne kohtaa todellisuuden OSI-mallin alimmainen kerros Kirja sivut 43-93

Tiedonsiirron perusteet ja fyysinen kerros. Tietoliikenne kohtaa todellisuuden OSI-mallin alimmainen kerros Kirja sivut 43-93 Tiedonsiirron perusteet ja fyysinen kerros Tietoliikenne kohtaa todellisuuden OSI-mallin alimmainen kerros Kirja sivut 43-93 Data ja informaatio Data: koneiden tai ihmisten käsiteltävissä oleva tiedon

Lisätiedot

LIITE 1 VIRHEEN ARVIOINNISTA

LIITE 1 VIRHEEN ARVIOINNISTA Oulun yliopisto Fysiikan opetuslaboratorio Fysiikan laboratoriotyöt 1 1 LIITE 1 VIRHEEN RVIOINNIST Mihin tarvitset virheen arviointia? Mittaustuloksiin sisältyy aina virhettä, vaikka mittauslaite olisi

Lisätiedot

4 Tehokkuus ja algoritmien suunnittelu

4 Tehokkuus ja algoritmien suunnittelu TIE-20100 Tietorakenteet ja algoritmit 52 4 Tehokkuus ja algoritmien suunnittelu Tässä luvussa pohditaan tehokkuuden käsitettä ja esitellään kurssilla käytetty kertaluokkanotaatio, jolla kuvataan algoritmin

Lisätiedot

Puhetie, PCM järjestelmä, johtokoodi

Puhetie, PCM järjestelmä, johtokoodi Puhetie, PCM järjestelmä, johtokoodi PCM~PulseCodeModulation Näytteenotto Kvantisointi ÿ Lineaarinen ÿ Epälineaarinen Kvantisointisärö TDM-kanavointi PCM-kehysrakenne, CRC -ylikehys PCM, PCM, PCM 8, PCM

Lisätiedot

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 10.6.2013 klo 10-13 Ratkaisut ja pisteytysohjeet

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 10.6.2013 klo 10-13 Ratkaisut ja pisteytysohjeet Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe.6. klo - Ratkaisut ja pisteytysohjeet. Ratkaise seuraavat epäyhtälöt ja yhtälö: a) x+ x +9, b) log (x) 7,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot