L1: Audio Prof. Vesa Välimäki ELEC-C5340 - Sovellettu digitaalinen signaalinkäsittely Luennon sisältö Äänisignaalien näytteenotto ja kvantisointi Dither Oskillaattorit Digitaalinen suodatus Lyhyt FIR-suodin Resonaattori 2 1
Näytteenotto signaalista Kuva kirjasta: Rossin, Moore & Wheeler, The Science of Sound. Third Edition. 2002 3 Signaalin muuttaminen digitaaliseksi 1) Otetaan aaltomuodosta näytteitä tasavälein (näytteenotto) 2) Kunkin näytteen arvo esitetään lukuna (kvantisointi) Nyquist-kriteeri: näytetaajuuden fs oltava vähintään 2- kertainen korkeimpaan taajuuteen nähden Esim. jos korkein taajuus on 20 khz, näytetaajuuden oltava vähintään 40 khz fs/2 = Nyquist-raja 4 2
Dynamiikka Dynamiikka = signaalissa esiintyvän hiljaisimman ja voimakkaimman äänen suhde Dynamiikka riippuu kvantisoinnista eli bittimäärästä Esim. 16 bitillä lukualue on -32768 32767 ja dynamiikka noin 96 db (= 20log[2 16 ]) Peukalosääntö: 1 bitin lisäyksellä +6 db dynamiikkaa Kuulon dynamiikka on n. 120 db Kuulokynnys on keskitaajuuksilla n. 0 db Kipukynnys on n. 120 db 20 bitillä saadaan 120 db dynamiikka CD-järjestelmässä 16 bittiä Äänitysstudioissa käytetään 24 bittiä 5 Kvantisointivirhe Digitaalitallennuksessa äärellinen määrä näytearvoja Esim. 16-bittinen kvantisointi: 2 16 = 65536 eri arvoa Joudutaan pyöristämään, mikä aiheuttaa säröä Kvantisointivirhe = signaaliarvon ja kvantisointitason ero Virhe enintään puolet kvantisointiaskeleesta 6 3
Bittimäärän vaikutus äänenlaatuun Musiikkisignaali eri bittimäärillä 1) 16 b (alkuperäinen) 2) 8 b 3) 6 b 4) 4 b 5) 3 b 6) 16 b (alkuperäinen) 7 Dither Dither on pientasoista kohinaa, joka lisätään signaaliin ennen näytteenottoa (Lipschitz et al., 1992) Kvantisointivirhe muuttuu satunnaiseksi Särö muuttuu korreloimattomaksi kohinaksi 8 4
Kvantisointi ilman ditheriä 2 1.5 Siniääni 1 0.5 0-0.5-1 Kvantisointu siniääni -1.5-2 0 20 40 60 80 100 9 Kvantisointi ditherillä 2 1.5 Ditteröity siniääni 1 0.5 0-0.5-1 Kvantisoitu ditteröity siniääni -1.5-2 0 20 40 60 80 100 10 5
Äänen rekonstruointi Lukujonon voi muuttaa ääneksi DA-muuntimella ja suodattimella Pitopiiri tekee lukujonosta porraskäyrän Alipäästösuodin, joka poistaa Nyquist-rajaa korkeammat taajuudet (esim. >20 khz) pehmentäen aaltomuodon 11 Laskostuminen (aliasing) Kun näytteenotto on liian hidas, eritaajuiset signaalit tuottavat saman lukujonon! vrt. western-elokuvien väärään suuntaan pyörivät kärrynpyörät, ks. http://www.michaelbach.de/ot/mot_wagonwheel/ ja http://en.wikipedia.org/wiki/wagon-wheel_effect 12 6
Laskostuminen (aliasing) Näytetaajuus fs = 44 khz: 22 khz (Nyquist-rajataajuus) 33 khz 11 khz 44 khz 0 Hz 55 khz 11 khz Laskostuminen vältetään suodattamalla liian korkeat (> fs/2) äänet pois ennen näytteenottoa (alipäästösuodatus) 13 Oskillaattorit äänisynteesissä Vähentävässä synteesissä oskillaattorit laskostavat, jos aaltomuodot näytteistetään sellaisenaan 14 7
Saha-aallon laskostuminen Näytteistetyn sahaaallon laskostuminen perustaajuuden kasvaessa Harmoniset peilautuvat Nyquistin rajataajuudesta takaisin Video by Andreas Franck, 2012 15 Saha-aalto ilman laskostumista Laskostuminen vältetään tuottamalla saha-aalto additiivisella synteesillä: Jokainen harmoninen luodaan erikseen Video by Andreas Franck, 2012 16 8
DPW-oskillaattori Saha-aalto-oskillaattorin laskostumista voidaan vaimentaa peräkkäisillä integrointi- ja derivointioperaatioilla (Välimäki 2005, Välimäki & Huovilainen 2006) H(z) = c (1 z 1 ) missä c = f s /4f 17 DPW-oskillaattori fghfg Modulolaskurin lähtö x(n) Triviaali saha-aalto Neliöity signaali x 2 (n) Saha-aallon integraali on paraabeliaalto Erosignaali c[x 2 (n) x 2 (n 1)] Viereisten näytteiden erotus 1 0-1 0 10 20 30 40 50 1 0.5 0 0 10 20 30 40 50 1 0-1 0 10 20 30 40 50 Discrete time 18 9
DPW-oskillaattorin spektri fghfg O Harmoniset Nyquist-raja (22050 Hz) Modulolaskurin lähtö x(n) Triviaali saha-aalto Neliöity signaali x 2 (n) Saha-aallon integraali on paraabeliaalto Erosignaali c[x 2 (n) x 2 (n 1)] Viereisten näytteiden erotus Level (db) Level (db) Level (db) 0-20 -40-60 0 5 10 15 20 0-20 -40-60 0 5 10 15 20 0-20 -40-60 0 5 10 15 20 Frequency (khz) 19 Saha-aaltoalgoritmien vertailu Liu utus (engl. pitch bend) 1. Triviaali saha-aalto (modulolaskurista) 2. DPW-saha-aalto 3. Ideaalinen saha-aalto (additiivinen synteesi) f s = 44.1 khz 20 10
DPW-saha-aallon spektri DPW-algoritmi vähentää saha-aallon laskostumista eniten pienillä taajuuksilla Kuulo on herkkä juuri noilla taajuuksilla: siksi subjektiivinen parannus on suuri Video by Andreas Franck, 2012 21 Digitaalinen suodatus Digitaalisia signaaleita voidaan suodattaa kuten analogisia Suodattimien kaksi päätyyppiä 1) FIR-suotimet Myötäkytketty rakenne Tekee taajuusvasteeseen kuoppia (nollat) 2) IIR-suotimet Rakenteessa takaisinkytkentä Tekee taajuusvasteeseen korostumia (navat) 22 11
FIR-suodatin FIR = Finite Impulse Response Impulssivaste = Suodattimen lähtösignaali, joka saadaan kun tulosignaali x(n) on yksikköimpulssi Yksikköimpulssi = Signaali, jonka 1. näyte on 1 ja muut nollia FIR-suodattimen impulssivaste h(n) koostuu sen kertoimista x(n) z -1 z -1 z -1 h(0) h(1) h(2)... h(n) y(n) 23 Ensimmäisen asteen FIR-suodatin Tulosignaaliin lisätään sen viivästetty ja skaalattu kopio Kertoimet h 1 ja h 2 painottavat tuloa ja viivästettyä tuloa Differenssiyhtälö: y(n) = h 1 x(n) + h 2 x(n 1) x(n) Impulssivaste: [h 1 h 2 ] Z-muunnos: Y(z) = h 1 X(z) + h 2 X(z)z -1 = [h 1 + h 2 z -1 ]X(z) Siirtofunktio: H(z) = h 1 + h 2 z -1 Taajuusvaste (sijoita edelliseen: z = e j ) H(e j ) = Y(e j )/ X(e j ) = h 1 + h 2 e j z -1 h 1 h 2 y(n) 24 12
Magnitudivasteen geometrinen tulkinta Magnitudivaste H(e j ) on vektoripituus z-tasossa Magnitudivasteen voi määrittää kulkemalla yksikköympyrällä ja mittaamalla etäisyyden nollakohtaan H ( e j ) Kuva kirjasta: Ken Steiglitz, A Digital Signal Processing Primer with Applications to Digital Audio and Computer Music, Addison-Wesley, 1996. 25 FIR-suodattimen magnitudivaste 1. asteen FIR-suodattimien magnitudvaste: H( ) = h 12 + h 2 2 + 2h 1 h 2 cos( ) 1/2 Example: h 1 = 1 h 2 = 0.99 26 13
Musiikin FIR-suodatus Äänisignaali suodataan FIR-suodattimella H(z) = h 1 + h 2 z -1, missä h 1 = 1 ja h 2 vaihtuu 1) Alkuperäinen 2) Suodatus kun h 2 = 1.0 3) Suodatus kun h 2 = 0.9 4) Suodatus kun h 2 = 0.5 5) Alkuperäinen 6) Suodatus kun h 2 = 0.5 7) Suodatus kun h 2 = 0.9 8) Suodatus kun h 2 = 1.0 9) Alkuperäinen 27 IIR-suodin IIR = Infinite Impulse Response Impulssivaste on (teoriassa) äärettömän pituinen Yleensä impulssivaste vaimenee nollaan IIR-suodinrakenne perustuu takaisinkytkentään Siirtofunktiossa on nollien lisäksi napoja x (n) y(n) 1 z 1 z 1 z a N a N 1 a 1 a1 a N 1 a N 1 z 1 z 1 z 28 14
Yhden navan IIR-suodin Lisää tulosignaaliin lähtösignaalin viivästetty kopio Takaisinkytkentäkertoimen itseisarvo ei saa ylittää 1:tä! Differenssiyhtälö: y(n) = x(n) + a 1 y(n 1) Z-muunnos: Y(z) = X(z) + a 1 Y(z)z 1 Siirtofunktio: H(z) = 1/(1 a 1 z 1 ) Taajuusvaste: H(e j ) = 1/(1 a 1 e j ) x(n) a 1 z -1 Vuotava integraattori (kun 0 < a 1 < 1) y(n) 29 IIR-suodattimen magnitudivaste Magnitudivaste: H( ) = 1 / 1 a 1 e j Nimittäjän nollakohta eli napa Geometrinen tulkinta Merkitse napa z-tasoon Kulje yksikköympyrää nollasta :hin Mittaa etäisyys navasta Laske etäisyyden käänteisarvo 30 15
IIR-suodattimen magnitudivaste 1. asteen IIR-suodattimen magnitudivaste on H( ) = g / 1 a 1 e j, missä g on vahvistus DC-vahvistus* pysyy vakiona kun valitaan g = 1 a 1 *DC-vahvistus = Vahvistus taajuudella 0 Hz 31 Musiikin IIR-suodatus Äänisignaali suodataan IIR-suodattimella H(z) = g/(1 a 1 z -1 ), missä a 1 vaihtuu 1) Alkuperäinen 2) Suodatus kun a 1 = 0,9 3) Suodatus kun a 1 = 0,99 4) Suodatus kun a 1 = 0,999 5) Alkuperäinen 6) Suodatus kun a 1 = 0,9 7) Suodatus kun a 1 = 0,99 8) Suodatus kun a 1 = 0,999 9) Alkuperäinen 32 16
Resonanssi Korostuma magnitudivasteessa Esim. formantti tai värähtelevän rakenteen moodi Resonanssin terävyyttä kuvaa kaistanleveys: Niiden taajuuspisteiden väli, joissa magnitudivaste on 3 db huipusta Muut ominaisuudet: keskitaajuus & huippuvahvistus Q-arvo: Q = keskitaajuus / kaistanleveys (Suuri Q-arvo terävä resonanssi, pieni Q-arvo leveä resonanssi) 33 Resonanssi ja napasäde Resonanssi tuotetaan navalla, joka on lähellä 1-ympyrää Etäisyys voidaan arvioida kaistanleveydestä: R 1 B/2 missä B = 2 f ja f on normalisoitu taajuus (f = 1 vastaa näytetaajuutta) Vaihtoehtoinen kaava: R 1 f Esimerkki: f s = 44.1 khz ja kaistanleveys on 20 Hz: R 1 (20/44100) = 0,998575 34 17
Digitaalinen resonaattori Resonaattorit yleisiä audiosignaalinkäsittelyssä Parametriset ekvalisaattorit, vähentävä synteesi, formattisuodattimet Yhden resonanssin tuottamiseen käytetään napaparia (napa ja sen kompleksikonjugaatti) Taajuusvaste: H(z) = 1 / (1 Re j z 1 ) (1 Re j z 1 ) tai H(z) = 1 / (1 2Rcos( )z 1 + R 2 z 2 ) Differenssiyhtälö on helppo johtaa 35 Digitaalinen resonanssi Esimerkkejä 2. asteen IIR-suodattimen magnitudivasteesta (DC-skaalaus) 36 18
Digitaalisen resonaattorin suunnittelu Yleensä riittää kun valitaan taajuus ja säde R on resonanssitaajuus ja R = 1 B/2 napasäde Pienillä taajuuksilla napa ja sen peilikuva ovat lähekkäin ja häiritsevät huipun muodostumista Huippu ei olekaan täsmälleen taajuudella! 37 Matlab-demo: resonaattori 38 19
Nolla-naparesonaattori Parannellun resonaattorin siirtofunktio (nollat z = ±1) H(z) = (1 z 2 ) / (1 2Rcos( )z 1 + R 2 z 2 ) Ehdottivat Smith & Angell (1982) Motivaatio oli resonanssitaajuuden pyyhkäisy pitäen kaistanleveys ja vahvistus vakiona 39 Yhteenveto Näytteenottotaajuuden oltava riittävän korkea ja/tai signaalin alipäästösuodatettava jottei synny laskostumista Dither muuttaa kvantisointisärön kohinaksi Oskillaattoreissa laskostuminen voi heikentää äänenlaatua FIR-suodattimet painottavat viivästettyjä näytteitä ja suodattavat siten signaalin IIR-suodattimissa on takaisinkytkentä, jolla vahvistetaan tiettyjä taajuuksia (navat, resonanssitaajuudet) 40 20
Lähteitä S. Lipschitz, R. A. Wannamaker & J. Vanderkooy, Quantization and dither: a theoretical survey, Journal of the Audio Engineering Society, vol. 40, no. 5, pp. 355, 1992. J. O. Smith and J. B. Angell, A constant-gain digital resonator tuned by a single coefficient, Computer Music Journal, vol. 6, no. 4, pp. 36 40, 1982. K. Steiglitz, A Digital Signal Processing Primer with Applications to Digital Audio and Computer Music, Addison-Wesley, 1996. V. Välimäki, Discrete-Time Synthesis of the Sawtooth Waveform with Reduced Aliasing, IEEE Signal Processing Letters, vol. 12, no. 3, pp. 214-217, March 2005. V. Välimäki & A. Huovilainen, Oscillator and Filter Algorithms for Virtual Analog Synthesis, Computer Music Journal, vol. 30, no. 2, pp. 19-31, summer 2006. 41 21