tiistai 27. tammikuuta 2015

Luento 28.1: Fourier-muunnos

Luennon aluksi käsiteltiin kappale 2 loppuun. Tällöin tutustuttiin konvoluution ominaisuuksiin (laskentasäännöt: a(b+c) = ab+ac, kausaalisuuden ja stabiilisuuden tunnistus impulssivasteesta, jne.). Konvoluution ominaisuuksien käsittelyn yhteydessä tuotiin esille niiden yhteys LTI-järjestelmien yhdistämiseen: peräkkäiset tai rinnakkaiset LTI-järjestelmät voidaan esittää yhtenä järjestelmänä ja toisaalta niiden järjestys ei vaikuta lopputulokseen.

Kappaleen lopussa määriteltiin FIR- ja IIR-suotimet LTI-järjestelmien alalajeina. FIR-suotimet ovat yksinkertaisuutensa vuoksi laajemmin käytettyjä, mutta IIR-suodinten ilmaisuvoima ja laskennallinen tehokkuus tekevät niistä hyödyllisiä useissa tilanteissa.

Testikysymys: onko seuraava suodin FIR vai IIR?

   y(n) = 0.9 y(n-1) - y(n-2) + x(n) + 0.5 x(n-1) +2 x(n-2)

Haastavampaa on selvittää esim. se, onko yo. suodin stabiili. Tähän ratkaisu löytyy prujun sivulta 68, johon pääsemme aikanaan.


Toisella tunnilla päästiin kappaleeseen 3: Fourier-muunnos. Olennaisin asia käsitteli muunnoksen ideaa alla olevan kuvan mukaisesti. Fourier-muunnoksen idea on kysyä paljonko eri taajuuksia annetussa signaalissa on. Taululla oli alla olevan piirroksen kaltainen kuva. Kuvan "yhtälössä" vasemmalla oleva signaalin pätkä jaetaan eri taajuuksiin kysymällä paljonko tarvitaan vakiotaajuutta (0.3 kpl), paljonko kerran värähtävää siniä (0.6 kpl), jne. Sama idea on kaikkien neljän muunnostyypin takana, mutta erona on montako eri taajuutta tarvitaan muodostamaan alkuperäinen signaali. Joissain tapauksissa niitä tarvitaan äärettömän paljon, jolloin kuvan summan sijaan tarvitaan integraali.

Jatkuvat tapaukset perustuvat siis integraalin laskentaan, ja käytännössä tämä täytyy tehdä muunnostaulukoiden avulla.

Käsin laskettavien kolmen ensimmäisen muunnostyypin jälkeen tutustuttiin lopuksi diskreettiin Fourier-muunnokseen, joka voidaan esittää matriisimuunnoksena. Muunnosmatriisi muodostetaan lisäämällä rivi kerrallaan ykkösen n:nnen juuren eri potensseja. Lopuksi esitettiin tällaisen matriisin konstruointi yksikköympyrän avulla tapaukselle N = 4.
Muunnosmatriisin konstruointi esitettiin "mekaanisesti", joten luennon jälkeen tuli hyvä kysymys mistä kyseinen mekaaninen sääntö sitten tulee. Kaava voidaan johtaa esim. y.o. kuvan avulla. Merkitään vasemman puolen signaalia x:llä, oikean puolen kertoimia (0.3, 0.6, jne) merkinnällä X ja oikealla olevia taajuuskomponentteja merkinnällä F. Tällöin kuva voidaan ilmaista kaavamuodossa
   x = X * F

Nyt vektorit ovat kuitenkin visualisointisyistä vaakavektoreita, joten oikeampi esitys saadaan transponoimalla molemmat puolet:

   xT = FT * XT

Tästä halutaan ratkaista vektori XT:

   XT = (FT)-1 * XT

Näin ollen muunnosmatriisi onkin itse asiassa matriisin FT käänteismatriisi, missä F koostuu eritaajuuksisista kompleksisista eksponenttifunktioista.


maanantai 19. tammikuuta 2015

Luento 21.1: Konvoluutio

Kurssin toisella luennolla luotiin ensin katsaus muutamaan signaalinkäsittelyn alan tunnettuun sovellukseen: kompressio, puheentunnistus, puheen välitys digitaalisesti, jne.

Kappaleen 2 alussa käsitellään usein käytettyjen jonojen perusmääritelmät ja lohkokaavioiden perusoperaatiot: yhteenlasku, skalaarilla kertominen sekä viivästys. Näiden avulla voidaan esittää kaikki tämän kurssin suotimet. Kurssilla tarkastellaan lineaarisia ja aikainvariantteja suotimia, jotka voidaan esittää konvoluution avulla, toisin sanoen painotettuna keskiarvona N:stä viimeksi sisään tulleesta näytteestä. Konvoluutiosta nähtiin oheisen kuvan mukainen demo.



Kuvassa ylimpänä on suodatettava signaali, joka etenee vasemmalta oikealle. Jokaisen uuden näytteen saapuessa (kuvan ulkopuolelta vasemmalta) kerrotaan punaisella merkityt näytteet kuvan keskellä keskellä olevilla kertoimilla. Näin saadut tulot lasketaan yhteen ja sijoitetaan tulos alla olevan kuvan punaisella merkityksi uusimmaksi vastearvoksi.

Tämän jälkeen jatkettiin teoreettisemmalla asialla, eli kappaleen 2.2 diskreettien järjestelmien ominaisuuksilla. Näistä lineaarisuus ja aikainvarianssi ovat ne perusominaisuudet jotka otetaan myöhemmän tarkastelun lähtökohdaksi. Myös stabiilisuus on kriittinen ominaisuus, koska epästabiililla suotimella ei tee mitään.

Kappaleessa 2.3 tarkastellaan LTI-järjestelmiä, eli järjestelmiä jotka ovat lineaarisia ja aikainvariantteja. Kappaleen alussa osoitetaan, että LTI-järjestelmät voidaan esittää konvoluution avulla (josta on esimerkki yo. kuvassa). LTI-järjestelmän hieno ominaisuus on, että sen impulssivaste määrää vasteen mille tahansa herätteelle. Esimerkkinä tästä tutustuttiin demoon, jossa impulssivaste oli saatu lyömällä käsiä yhteen kirkossa (ts. generoimalla impulssi) ja mittaamalla vaste, josta kaiku oli selvästi kuultavissa. Näin saatua impulssivastetta voidaan käyttää mallina tilan akustisista ominaisuuksista, ja myös kotivahvistinten tilaefektit (hall, arena, club, jne.) on toteutettu tällä periaatteella. Mallia testattiin laskemalla konvoluutio seiska-testisignaalin ja kyseisen impulssivasteen kesken. Tulos kuulosti kuin testisignaali olisi viety kirkkoon.

Akustisen kaiun lisäksi toinen esimerkki konvoluution käytöstä reaalimaailman mallina voisi olla monitie-eteneminen tietoliikenteessä. Mielenkiintoisen tästä tekee se, että tämä ilmiö on mahdollista kompensoida ekvalisoinnilla, mikä käytännössäkin vähentää tietoliikenteessä syntyviä virheitä.

Luennon lopuksi vilkaistiin tuoreempaa esimerkkiä konvoluutioverkosta. Kyseinen artikkeli oli vuoden 2014 CVPR-konferessissa esitetty Facebookin kasvontunnistusjulkaisu. Menetelmä käsittelee vertailtavia kuvia konvoluution avulla usealla eri tasolla, ja muodostaa kuvista lopulta esitysmuodon jonka vertailu kertoo pikseleitä enemmän kuvien samankaltaisuudesta.

maanantai 12. tammikuuta 2015

Luento 14.1: Näytteenottoteoreema

Kurssin SGN-11000 kulkua voi seurata luentojen ja harjoitusten lisäksi kurssiblogissa. Blogissa on kahdenlaisia merkintöjä:
  • Videoblogi, joka ilmestyy aina ennen luentoa ja esittelee tiivistelmän luennon asioista.
  • Tekstiblogi, johon täydennetään kunkin luentokerran jälkeen keskeisimmät luennolla tulleet asiat.
Alla ensimmäinen videoblogimerkintä.


Tänään luennolla käsiteltiin kurssin hallinnolliset asiat sekä luentomonisteen kappaleet 1.1 ja 1.2.

Toisella tunnilla varsinaista asiaa alustettiin puhumalla A/D-muunnoksesta, digitaalisista signaaleista, digitaalisista suotimista sekä Fourier-muunnoksesta. Matlab-esimerkkinä tarkasteltiin erästä testisignaalia (seiska.wav) Matlabilla, ja todettiin, että oikealla olevassa spektrogrammissa näkyvät selvästi eri äänteet.

Ensimmäisenä varsinaisena asiana käsiteltiin näytteenottoteoreema, jonka mukaan naytteistämisessä ei häviä informaatiota, jos näytteenottotaajuus on vähintään tuplat signaalin korkeimpaan taajuuteen nähden. Käytännössä ennen näytteistystä täytyy siis poistaa liian korkeat taajuudet analogisella suotimella (kuten tämä) ettei laskostumista pääsisi tapahtumaan.

Audiossa tapahtuvaa laskostumista verrattiin videokuvaan, jossa esimerkiksi kärrynpyörä saattaa näyttää pyörivän väärään suuntaan. Youtubesta löytyy useita videoita hakusanalla Wagon wheel effect; esim. tämä. Sääntö on tässäkin tapauksessa sama: kuvia pitää ottaa vähintään kaksi per kierros. 


Lisäksi keskusteltiin lyhyesti miksi live-tilanteessakin pyörät saattavat näyttää pyörivän väärään suuntaan tai miksi herkemmät ihmiset saattavat havaita loisteputkien värinän (loisteputkissa sähköverkon 50 Hz taajuus näkyy paljon selvemmin kuin hehkulampussa). Yksi tulkinta molemmista on että myös ihmisaivot toimivat tietyllä "kellotaajuudella", joka määrää sen minkä taajuiset ilmiöt voidaan havaita.

Näytteenottoteoreema liittyy myös peleissä käytettyyn ns. antialiasing-tekniikkaan. Myös tällöin lähtökohtana on äärettömän tarkka virtuaalinen malli, josta joudutaan ottamaan näytteitä esim. 1920 x 1200 monitoria varten. Tällöinkin kuvan sisältämät korkeat taajuudet laskostuvat ja muodostavat ns. Moire-ilmiön. Tästäkin päästään eroon suodattamalla signaali alipäästösuotimella ennen näytteistystä (eli poistamalla laskostuvat taajuudet).