9/14/2015 L1: Audio Prof. Vesa Välimäki ELEC-C5340 - Sovellettu digitaalinen signaalinkäsittely 14.9.2015 Luennon sisältö • • • • Äänisignaalien näytteenotto ja kvantisointi Dither Oskillaattorit Digitaalinen suodatus – Lyhyt FIR-suodin – Resonaattori © 2015 Välimäki 14.9.2015 2 1 9/14/2015 Näytteenotto signaalista Kuva kirjasta: Rossin, Moore & Wheeler, ”The Science of Sound. Third Edition.” 2002 © 2015 Välimäki 14.9.2015 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 2kertainen korkeimpaan taajuuteen nähden – Esim. jos korkein taajuus on 20 kHz, näytetaajuuden oltava vähintään 40 kHz – fs/2 = Nyquist-raja © 2015 Välimäki 14.9.2015 4 2 9/14/2015 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[216]) • 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ä © 2015 Välimäki 14.9.2015 5 Kvantisointivirhe • Digitaalitallennuksessa äärellinen määrä näytearvoja – Esim. 16-bittinen kvantisointi: 216 = 65536 eri arvoa • Joudutaan pyöristämään, mikä aiheuttaa säröä • Kvantisointivirhe = signaaliarvon ja kvantisointitason ero – Virhe enintään puolet kvantisointiaskeleesta © 2015 Välimäki 14.9.2015 6 3 9/14/2015 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) © 2015 Välimäki 14.9.2015 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 © 2015 Välimäki 14.9.2015 8 4 9/14/2015 Kvantisointi ilman ditheriä 2 Siniääni 1.5 1 0.5 0 -0.5 Kvantisointu siniääni -1 -1.5 -2 0 20 40 60 80 100 © 2015 Välimäki 14.9.2015 9 Kvantisointi ditherillä 2 Ditteröity siniääni 1.5 1 0.5 0 Kvantisoitu ditteröity siniääni -0.5 -1 -1.5 -2 0 20 40 60 80 100 © 2015 Välimäki 14.9.2015 10 5 9/14/2015 Ää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 © 2015 Välimäki 14.9.2015 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 © 2015 Välimäki 14.9.2015 12 6 9/14/2015 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) © 2015 Välimäki 14.9.2015 13 Oskillaattorit äänisynteesissä • Vähentävässä synteesissä oskillaattorit laskostavat, jos aaltomuodot näytteistetään sellaisenaan © 2015 Välimäki 14.9.2015 14 7 9/14/2015 Saha-aallon laskostuminen • Näytteistetyn sahaaallon laskostuminen perustaajuuden kasvaessa • Harmoniset peilautuvat Nyquistin rajataajuudesta takaisin Video by Andreas Franck, 2012 © 2015 Välimäki 14.9.2015 15 Saha-aalto ilman laskostumista • Laskostuminen vältetään tuottamalla saha-aalto additiivisella synteesillä: Jokainen harmoninen luodaan erikseen Video by Andreas Franck, 2012 © 2015 Välimäki 14.9.2015 16 8 9/14/2015 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 = fs/4f © 2015 Välimäki 14.9.2015 17 DPW-oskillaattori • fghfg • Modulolaskurin lähtö x(n) – “Triviaali” saha-aalto 1 0 -1 0 • Neliöity signaali x2(n) – Saha-aallon integraali on paraabeliaalto • – 20 30 40 50 10 20 30 40 50 10 20 30 Discrete time 40 50 0.5 0 0 1 Erosignaali c[x2(n) 10 1 x2(n–1)] – Viereisten näytteiden erotus 0 -1 0 © 2015 Välimäki 14.9.2015 18 9 9/14/2015 DPW-oskillaattorin spektri • fghfg • Modulolaskurin lähtö x(n) – “Triviaali” saha-aalto Level (dB) O 0 -20 -40 • Neliöity signaali – Saha-aallon integraali on paraabeliaalto Level (dB) -60 x2(n) – – Viereisten näytteiden erotus Level (dB) • x2(n–1)] 0 5 10 15 20 0 5 10 15 20 0 5 10 15 Frequency (kHz) 20 0 -20 -40 -60 Erosignaali c[x2(n) Harmoniset Nyquist-raja (22050 Hz) 0 -20 -40 -60 © 2015 Välimäki 14.9.2015 19 Saha-aaltoalgoritmien vertailu • Liu’utus (engl. pitch bend) 1. Triviaali saha-aalto (modulolaskurista) 2. DPW-saha-aalto 3. Ideaalinen saha-aalto (additiivinen synteesi) fs = 44.1 kHz © 2015 Välimäki 14.9.2015 20 10 9/14/2015 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 © 2015 Välimäki 14.9.2015 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) © 2015 Välimäki 14.9.2015 22 11 9/14/2015 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 z -1 x(n) h(0) h(1) z -1 z -1 ... h(2) h(N) y(n) © 2015 Välimäki 14.9.2015 23 Ensimmäisen asteen FIR-suodatin • Tulosignaaliin lisätään sen viivästetty ja skaalattu kopio – Kertoimet h1 ja h2 painottavat tuloa ja viivästettyä tuloa • Differenssiyhtälö: y(n) = h1x(n) + h2x(n – 1) z-1 x(n) h1 • Impulssivaste: [h1 h2] • Z-muunnos: Y(z) = h1X(z) + h2X(z)z-1 = [h1 + h2z-1]X(z) • Siirtofunktio: H(z) = h1 + h2z-1 • Taajuusvaste (sijoita edelliseen: z = ej ) H(ej) = Y(ej)/ X(ej) = h1 + h2e–j h2 y(n) © 2015 Välimäki 14.9.2015 24 12 9/14/2015 Magnitudivasteen geometrinen tulkinta • Magnitudivaste |H(ej)| 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. © 2015 Välimäki 14.9.2015 25 FIR-suodattimen magnitudivaste • 1. asteen FIR-suodattimien magnitudvaste: |H()| = |h12 + h22 + 2h1h2cos() |1/2 Example: h1 = 1 h2 = 0.99 © 2015 Välimäki 14.9.2015 26 13 9/14/2015 Musiikin FIR-suodatus • Äänisignaali suodataan FIR-suodattimella H(z) = h1 + h2z-1, missä h1 = 1 ja h2 vaihtuu 1) Alkuperäinen 2) Suodatus kun h2 = 1.0 3) Suodatus kun h2 = 0.9 4) Suodatus kun h2 = 0.5 5) Alkuperäinen 6) Suodatus kun h2 = –0.5 7) Suodatus kun h2 = –0.9 8) Suodatus kun h2 = –1.0 9) Alkuperäinen © 2015 Välimäki 14.9.2015 27 IIR-suodin aN • 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 ) z 1 a N 1 z 1 z 1 a1 a1 z 1 a N 1 aN z 1 z 1 © 2015 Välimäki 14.9.2015 28 14 9/14/2015 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) + a1y(n – 1) x(n) • Z-muunnos: Y(z) = X(z) + a1Y(z)z–1 • Siirtofunktio: H(z) = 1/(1 – a1z–1) • Taajuusvaste: H(ej) = 1/(1 – a1e–j) y(n) a1 z-1 “Vuotava integraattori” (kun 0 < a1 < 1) © 2015 Välimäki 14.9.2015 29 IIR-suodattimen magnitudivaste • Magnitudivaste: |H()| = 1 / |1 – a1 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 © 2015 Välimäki 14.9.2015 30 15 9/14/2015 IIR-suodattimen magnitudivaste • 1. asteen IIR-suodattimen magnitudivaste on |H()| = g / |1 – a1 e–j|, missä g on vahvistus • DC-vahvistus* pysyy vakiona kun valitaan g = 1 – a1 *DC-vahvistus = Vahvistus taajuudella 0 Hz © 2015 Välimäki 14.9.2015 31 Musiikin IIR-suodatus • Äänisignaali suodataan IIR-suodattimella H(z) = g/(1 – a1z-1), missä a1 vaihtuu 1) Alkuperäinen 2) Suodatus kun a1 = 0,9 3) Suodatus kun a1 = 0,99 4) Suodatus kun a1 = 0,999 5) Alkuperäinen 6) Suodatus kun a1 = –0,9 7) Suodatus kun a1 = –0,99 8) Suodatus kun a1 = –0,999 9) Alkuperäinen © 2015 Välimäki 14.9.2015 32 16 9/14/2015 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) © 2015 Välimäki 14.9.2015 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 = 2f ja f on normalisoitu taajuus (f = 1 vastaa näytetaajuutta) – Vaihtoehtoinen kaava: R 1 – f • Esimerkki: fs = 44.1 kHz ja kaistanleveys on 20 Hz: R 1 – (20/44100) = 0,998575 © 2015 Välimäki 14.9.2015 34 17 9/14/2015 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 – Rejz–1) (1 – Re–jz–1) tai H(z) = 1 / (1 – 2Rcos()z–1 + R2 z–2 ) • Differenssiyhtälö on helppo johtaa © 2015 Välimäki 14.9.2015 35 Digitaalinen resonanssi • Esimerkkejä 2. asteen IIR-suodattimen magnitudivasteesta (DC-skaalaus) © 2015 Välimäki 14.9.2015 36 18 9/14/2015 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 ! © 2015 Välimäki 14.9.2015 37 Matlab-demo: resonaattori • © 2015 Välimäki 14.9.2015 38 19 9/14/2015 Nolla-naparesonaattori • Parannellun resonaattorin siirtofunktio (nollat z = ±1) H(z) = (1 – z–2) / (1 – 2Rcos()z–1 + R2 z–2 ) • Ehdottivat Smith & Angell (1982) – Motivaatio oli resonanssitaajuuden pyyhkäisy pitäen kaistanleveys ja vahvistus vakiona © 2015 Välimäki 14.9.2015 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) © 2015 Välimäki 14.9.2015 40 20 9/14/2015 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. © 2015 Välimäki 14.9.2015 41 21
© Copyright 2024