keskiviikko 1. heinäkuuta 2009

Luento 1.7

Kurssi on nyt tarkalleen aikataulussa, koska tämän päivän luennolla käsiteltiin kappale 3 loppuun. Kappaleen idean lyhyen kertauksen jälkeen alettiin interpoloinnin (kpl 3.3) lähempi tarkastelu. Interpolointihan koostuu nollien lisäämisestä sekä tämän tuottamien roskien poistamisesta. Nollien lisääminenhän tuottaa kopioita ja peilikuvia alkuperäisestä spektristä, jotka voidaan poistaa kätevästi alipäästösuodatuksella.

Kappaleessa 3.4 luodaan katsaus interpoloinnin ja desimoinnin yhdistämiseen, jolloin päästään s. 34 alalaidan rakenteeseen. Tässä huomataan olevan kaksi suodatinta peräkkäin, jotka molemmat poistavat tietyn kaistan ylätaajuuksilta. Näin ollen vain toinen niistä on tarpeellinen. Piirtämällä kuva näiden suodinten amplitudivasteista voidaan päätellä kumpi on tarpeeton (aina se, jota vastaava muunnoskerroin on isompi).

Luennon loppupuoli käytettiin ekskursioon D/A-muunnoksen toteutuksessa. Tarkasteltavana oli kaksi ratkaisua, joista kappaleen 3.5.1 versio on vanhempi, ja oli käytössä esim. ensimmäisissä CD-soittimissa (etupaneelissa saattoi olla teksti 4 times oversampling tms.). Tällöin D/A-muunnos tehdään ns. nollannen asteen pitopiirillä, joka tuo signaaliin häiriöitä korkeille taajuuksille. Nämä voidaan poistaa analogisella alipäästösuotimella, mutta ongelmaksi tulee kapea siirtymäkaista (20kHz - 22,05 kHz). Analogiapuolta voidaan yksinkertaistaa siirtämällä osa toiminnallisuudesta digitaaliseksi, eli interpoloimalla signaali digitaalisesti ennen D/A-muunnosta. Tämä näkyy aikatasossa s. 36 porraskuvion hienontumisena ja tätä kautta pitopiirin virheen pienenemisenä jä siirtymisenä korkeammille taajuuksille. Ilman digitaalista interpolointia tarvittavan analogisen suotimen siirtymäkaistan leveys olisi yllä mainittu 2,05 kHz, kun esim. nelinkertaisella interpoloinnilla se saadaan yli 130 kHz:n levyiseksi.

Toinen, nykyisin yleisempi ratkaisu yksinkertaistaa analogiapuolta edelleen kvantisoimalla D/A-muunnettavan signaalin 1-bittiseksi (etupaneelissa saattaa lukea 1 bit D/A conversion, tms.). Ratkaisusta käytetään nimeä kohinanmuokkaus, englanniksi noise shaping tai sigma delta modulation. Kvantisointi onnistuu äänenlaatua heikentämättä, kun nostetaan näytteenottotaajuus ensin riittävän suureksi. Tällöin näytteiden suuri määrä kompensoi niiden heikkoa tarkkuutta. Pelkkä ylinäytteistys ei kuitenkaan vielä riitä: ilman muita temppuja näytteenottotaajuus pitäisi nostaa jopa miljardikertaiseksi, mikä ei käytännössä ole mahdollista. Siksi täytyy ottaa käyttöön sivun 39 lohkokaavion mukainen takaisinkytkentä, joka aiheuttaa kvantisointivirheen siirtymisen korkeammille taajuuksille. Siellähän kohina ei haittaa, koska se voidaan erottaa hyötysignaalista analogisella alipäästösuodatuksella D/A-muunnoksen jälkeen. Jäljelle jäävän kvantisointikohinan määrä voidaan laskea, ja havaitaan että suuruusluokassa 1500 oleva muunnoskerroin riittää (miljardien sijaan). Ratkaisua voidaan edelleen tehostaa tarkastelemalla korkeampiasteisia kohinanmuokkaimia, jotka siirtävät vieläkin tehokkaammin kvantisointikohinaa korkeammalle.

Jotkin audioformaatit kuten Super Audio CD tallentavat äänen suoraan yksibittisenä. Tästä on etuna se, että kohinanmuokkaus täytyy tehdä vain kerran äänitysstudiossa eikä jokaisessa kuluttajalaitteessa erikseen.

Molemmat D/A-muunnosratkaisut ovat hienoja esimerkkejä viime vuosikymmenten trendistä siirtää elektronisten laitteiden toiminnallisuutta analogisesta maailmasta digitaaliseen maailmaan. Tästä on (ainakin) kaksi merkittävää etua:
  1. "Digitaalinen toiminnallisuus" tarkoittaa suomeksi softaa, jonka ainutkertainen ominaisuus on että saman tuotteen voi myydä useaan kertaan. Tästä syystä myös Bill Gates on maailman rikkain ihminen. Jos myyntimäärät ovat riittävän suuria, monimutkaisenkin softan toteutuksen hinta on mitätön suhteessa siitä saatavaan hyötyyn. Kannattaa siis hyvinkin palkata 10 DI:tä tekemään softalla ratkaisu, joka laskee lopputuotteen tuotantokustannusta esim. vain 10 senttiä, jos tuotetta myydään miljoonia kappaleita.
  2. Digitaalisuunnittelu on usein helpompaa kuin analogiasuunnittelu. SDSU:n kuuluisa professori frederick j. harris [sic] vertasi puheessaan työskentelyä digitaalisessa maailmassa työskentelyyn San Diegossa ja työtä analogisella puolella työhön Minnesotassa. San Diegossa on suunnilleen Välimeren ilmasto ja Minnesotassa suunnilleen Suomen ilmasto.

tiistai 30. kesäkuuta 2009

Luento 30.6

Tänään käsiteltiin kappale 2 loppuun ja kappaletta 3 noin sivulle 32 asti. Kappaleessa 2.1 johdettiin A/D-muunnoksen kvantisointikohinan varianssille kaava 2^(-2b) / 12. Tässä yhteydessä luotiin silmäys Wikipedian artikkeliin eri kohinatyypeistä (sekä kevennyksenä maininta South-Park-piirretyn sekaannuksesta termien Brown noise ja Brown note välillä). Lisäksi todettiin, etteivät sivun 19 yläreunan ehdot ole voimassa esim. silloin jos signaalin amplitudi on hyvin pieni.

Jos ehtojen oletetaan olevan voimassa, voidaan osoittaa kohinan odotusarvon olevan nolla ja varianssin yhtä kuin 2^(-2b) / 12. Varianssin laskennassa hyödynnettiin alaviitteen kaavaa, jota havainnollistettiin Ässä-arpa-esimerkillä, ja laskettiin vastaavalla kaavalla arpavoiton odotusarvoksi 1,59 euroa.

Yllä olevaa kaavaa voidaan edelleen jalostaa signaali-kohinasuhteen käsitteeksi (SNR), joka kertoo signaalin tehon suhteessa kohinan tehoon. Kun kaavaa pyöriteltiin, havaittiin jokaisen ylimääräisen bitin (per näyte) nostavan SNR:ää kuudella bitillä.

Kappaleessa 2 johdettiin kaava varianssille suodatuksen jälkeen ja kappaleessa 2.3 tutkittiin suotimen kertoimien pyöristämisen vaikutusta. Tämähän täytyy tehdä aina kun suodin toteutetaan huonomman tarkkuuden alustalla kuin Matlab (esim. tällä 17-bitin DSP:llä).

Kappale 3 tarkastelee menetelmiä, joilla voidaan muuntaa näytteenottotaajuus näytteistämisen jälkeen toiseksi. Perusoperaatiot ovat desimointi ja interpolointi, jotka toimivat kokonaislukukertoimilla. Näitä yhdistelemällä saadaan kaikki rationaalikertoimet. Molemmat operaatiot tarvitsevat alipäästösuodattimen, joka on yleensä FIR, ja suunnitellaan normaaleilla menetelmillä. Suotimen siirtymäkaistasta todettiin, että se laitetaan aina rajataajuuden alapuolelle. Näin signaaliin tulee vähemmän virhettä kuin jos laskostumista pääsisi tapahtumaan.

maanantai 29. kesäkuuta 2009

Luento ma 29.6

Ensimmäisen luennon aluksi esiteltiin kurssin sisältö, läpäisyvaatimukset ym. normaalin käytännön mukaiset asiat. Lisäksi kävi ilmi, että kurssin pruju on loppuunmyyty. Prujujen monistamisesta vastaavan tele-killan kanssa totesimme, ettei liene järkeä monistaa niitä lisää, koska prosessissa voisi helposti mennä useita päiviä ja menekki ei välttämättä olisi enää kovin suuri siinä vaiheessa (8 nosti kätensä kun kysyttiin ketkä haluaisivat monisteen). Ilman jääneiden on siis tulostettava moniste itse kurssin sivuilta, ostettava käytetty moniste kurssin suorittaneilta tai selvittävä pdf-version varassa.

Luennolla käytiin läpi kappale 1 kokonaan sekä kappaletta 2 sivun 18 loppuun asti. Kappaleen 1 aihe on IIR-suodinten suunnittelu, joka käytiin melko yleisellä Matlab-komentojen osaamisen tasolla. Kappaleen ydin on koottu sivun 11 taulukkoon, jossa suodintyyppejä vertaillaan amplitudivasteen ominaisuuksien ja kertoimien määrän suhteen. Taulukossa on virhe: kertoimia tarvitaan 29+28, 13+12 ja 8+7 kappaletta. Siirtofunktion nimittäjän kertoimista ensimmäinen on nimittäin aina 1, eikä sitä tarvita. Vertailun vuoksi FIR-suotimen kertoimien määrä vastaavilla vaatimuksilla olisi N = [5.5/0.035] = 159 käytettäessä Blackman-ikkunaa.

Muita luennolla esiin tulleita seikkoja olivat mm.
  • Matlabin kerroinvektorit a ja b eivät ole suoraan käytettävissä ulostulon y(n) laskennassa, ks. sivun 2 loppu.
  • Elliptisellä suotimella on aina vähemmän kertoimia kuin muilla. Lisäksi tasavärähtely-ominaisuus on yleensä hyvä asia.
  • Napojen ja nollien sijoittelua demottiin ja napa-nollakuvion ja amplitudivasteen yhteyttä käsiteltiin.
IIR-suotimen etuna on siis pienempi kertoimien tarve. Haittapuolina mahdollinen epästabiilisuus sekä numeeriset ongelmat toteutuksessa. Tästä esimerkkinä mainittiin kurssin SGN-1600 signaaliprosessorityö, jossa täytyy toteuttaa IIR-suodin. Käytännössä yli toisen asteen IIR-suodinta ei voi toteuttaa numeeristen ongelmien vuoksi. Sen sijaan suodin täytyy jakaa peräkkäisiin toisen asteen lohkoihin esim. Matlabin TF2SOS-funktiolla.

Kappaleessa 2 tarkastellaan äärellisen sananpituuden vaikutuksia, jotka ilmenevät A/D-muunnoksen yhteydessä sekä suodatettaessa äärellisellä laskentatarkkuudella. Pääpaino on ensimmäisessä tyypissä. Luennolla käsiteltiin näytteistyksessä käytettävät kvantisointitasot: esimerkiksi (1+7) bitin esityksessä käytettävissä ovat seuraavat 256 tasoa:

-128/128, -127/128, ..., 0, ..., 126/128, 127/128.

Pyöristettäessä lähimpään lukuun syntyvä kvantisointivirhe on aina välillä -1/256...1/256. Yleisesti pyöristys (1+b) bittiin aiheuttaa enintään virheen 2^(-b) / 2 suuntaan tai toiseen.

Seuraavalla kerralla tätä yksinkertaista virhemallia käytetään johdettaessa arvio virheen varianssille, joka on suoraan verrannollinen syntyvän kvantisointivirheen tehoon. Tätä kautta määritellään SNR, eli signaali-kohinasuhde, eli häiriöetäisyys. Tämä suure kertoo jotain äänenlaadusta, ja saatavia tuloksia tullaan tarvitsemaan kappaleessa 6, kun päätellään montako bittiä signaalista uskalletaan poistaa kompressiossa ilman äänenlaadun havaittavaa heikkenemistä.

Blogi perustettu

Pidän kurssin etenemisestä päiväkirjaa, koska luentojen jälkeen ja sähköpostitse tulee hyviä kysymyksiä joihin olisi kiva vastata. Lisäksi luennon asioiden lyhyt kirjaaminen päiväkirjaan helpottaa elämää niiden osalta, jotka eivät pääse luennolle. Kolmantena syynä on jatkuvasti pudonnut kurssipalautteen määrä. Toivottavasti tämä menettely lisää kommunikaatiota. Merkintöjen kommentointi on siis tervetullutta ja se onnistuu anonyymisti. Pyrin päivittämään blogin kerran päivässä luentojen jälkeen.