Kepstri - sisältö. Kepstrimuunnos ja puhesignaalien analyysi. Kepstri - Intro. Kepstri - Intro. Luento perustuu kepstri-lukuun teoksissa:

Samankaltaiset tiedostot
SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

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

T SKJ - TERMEJÄ

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

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

z muunnos ja sen soveltaminen LTI järjestelmien analysointiin

Kompleksiluvut signaalin taajuusjakauman arvioinnissa

Kompleksianalyysi, viikko 7

Numeeriset menetelmät

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu

SIGNAALITEORIAN KERTAUSTA 1

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

Alipäästösuotimen muuntaminen muiksi perussuotimiksi

Spektri- ja signaalianalysaattorit

x = y x i = y i i = 1, 2; x + y = (x 1 + y 1, x 2 + y 2 ); x y = (x 1 y 1, x 2 + y 2 );

1 Vastaa seuraaviin. b) Taajuusvasteen

Luento 8. Suodattimien käyttötarkoitus

IIR-suodattimissa ongelmat korostuvat, koska takaisinkytkennästä seuraa virheiden kertautuminen ja joissakin tapauksissa myös vahvistuminen.

Diskreetti Fourier-muunnos ja sen hyödyntäminen signaalien spektrien muodostamisessa. Pentti Romppainen

Kapeakaistainen signaali

Digitaalinen Signaalinkäsittely T0125 Luento

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

SIGNAALITEORIAN KERTAUSTA OSA 1

Alternatives to the DFT

5. Z-muunnos ja lineaariset diskreetit systeemit. z n = z

The CCR Model and Production Correspondence

Säätötekniikan ja signaalinkäsittelyn työkurssi

T DSP: GSM codec

SIMULINK S-funktiot. SIMULINK S-funktiot

Numeeriset menetelmät TIEA381. Luento 13. Kirsi Valjus. Jyväskylän yliopisto. Luento 13 () Numeeriset menetelmät / 42

u = 2 u (9.1) x + 2 u

4. Fourier-analyysin sovelletuksia. Funktion (signaalin) f(t) näytteistäminen tapahtuu kertomalla funktio näytteenottosignaalilla

Remez-menetelmä FIR-suodinten suunnittelussa

Signaalit ja järjestelmät aika- ja taajuusalueissa

T Digitaalinen signaalinkäsittely ja suodatus

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

ELEC-C7230 Tietoliikenteen siirtomenetelmät

3 Ikkunointi. Kuvio 1: Signaalin ikkunointi.

spektri taajuus f c f c W f c f c + W

21~--~--~r--1~~--~--~~r--1~

Luku 4 - Kuvien taajuusanalyysi

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Taajuus-, Fourier- ja spektraalianalyysi

Matemaattinen Analyysi

JOHDATUS TEKOÄLYYN TEEMU ROOS

F {f(t)} ˆf(ω) = 1. F { f (n)} = (iω) n F {f}. (11) BM20A INTEGRAALIMUUNNOKSET Harjoitus 10, viikko 46/2015. Fourier-integraali:

MATEMATIIKAN JAOS Kompleksianalyysi

Digitaalinen signaalinkäsittely Kuvankäsittely

5 Akustiikan peruskäsitteitä

Osa VI. Fourier analyysi. A.Rasila, J.v.Pfaler () Mat Matematiikan peruskurssi KP3-i 12. lokakuuta / 246

Luento 2. Jaksolliset signaalit

Dynaamisten systeemien identifiointi 1/2

6.5.2 Tapering-menetelmä

MS-C2128 Ennustaminen ja aikasarja-analyysi ARMA esimerkkejä

Kompleksianalyysi, viikko 6

SGN-4200 Digitaalinen audio

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

Tietoliikennesignaalit & spektri

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

1 Olkoon suodattimen vaatimusmäärittely seuraava:

Diskreetin LTI-systeemin stabiilisuus

Ilkka Mellin Todennäköisyyslaskenta. Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat. Momenttiemäfunktio ja karakteristinen funktio

1 Kompleksiluvut. Kompleksiluvut 10. syyskuuta 2005 sivu 1 / 7

JOHDATUS TEKOÄLYYN TEEMU ROOS

SIGNAALITEORIAN KERTAUSTA OSA 2

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Capacity Utilization

ELEC C4140 Kenttäteoria (syksy 2015)

Digitaalinen signaalinkäsittely Johdanto, näytteistys

2. Funktiot. Keijo Ruotsalainen. Mathematics Division

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

Helsinki University of Technology

Alternative DEA Models

Operatioanalyysi 2011, Harjoitus 2, viikko 38

ELEC C4140 Kenttäteoria (syksy 2016)

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Signaalimallit: sisältö

JOHDATUS TEKOÄLYYN TEEMU ROOS

Satunnaismuuttujien muunnokset ja niiden jakaumat

Efficiency change over time

Missä mennään. systeemi. identifiointi. mallikandidaatti. validointi. malli. (fysikaalinen) mallintaminen. mallin mallin käyttötarkoitus, reunaehdot

Pianon äänten parametrinen synteesi

Spektrianalysaattori. Spektrianalysaattori

Vastekorjaus (ekvalisointi) Lähteet: Zölzer. Digital audio signal processing. Wiley & Sons. Zölzer (ed.) DAFX Digital Audio Effects. Wiley & Sons.

6.2.3 Spektrikertymäfunktio

Y Yhtälöparista ratkaistiin vuorotellen siirtofunktiot laittamalla muut tulot nollaan. = K K K M. s 2 3s 2 KK P

DSP:n kertausta. 1 Spektri, DFT, DTFT ja aika-taajuusresoluutio

TIETOLIIKENNETEKNIIKKA I A

Perusmittalaitteet 2. Spektrianalyysi. Mittaustekniikan perusteet / luento 4. Spektrianalyysi. Logaritmiasteikko ja db (desibel) Spektrianalysaattori

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Sisältö. 1. Kompleksiluvut 2. Funktiot 3. Differentiaalilaskentaa 4. Sarjat 5. Integrointi 6. Möbius-muunnos 7. Diskreetti systeemi

Johdatus todennäköisyyslaskentaan Momenttiemäfunktio ja karakteristinen funktio. TKK (c) Ilkka Mellin (2005) 1

Synteesi-analyysi koodaus

Dynaaminen ohjelmointi ja vaikutuskaaviot

THE audio feature: MFCC. Mel Frequency Cepstral Coefficients

Transkriptio:

Kepstrimuunnos ja puhesignaalien analyysi S-89.3640 Puheenkäsittelytekniikan metodit Kevät 2011 Unto K. Laine Kepstri - sisältö Kirjallisuuslähteet, taustamateriaali Kepstrin idea ja syntyhistoria Kepstrin teoriaa Kepstri ja LP-malli Kepstri puheanalyysissä (F0) Mel-kepstri Fourier teoriaa Hilbert muunnos diskreetti kausaalinen signaali minimivaiheinen järjestelmä Kepstri - Intro Luento perustuu kepstri-lukuun teoksissa: 1. John R. Deller, John G. Proakis, and John H. L. Hansen: Discrete-Time Processing of Speech Signals Materiaali lainattavissa: Akustiikan E-siipi 2. krs kirjahylly käytävällä vasemmalla Kepstri - Intro 2. Introduction to Digital Speech Processing Lawrence R. Rabiner and Ronald W. Schafer Section 5: Homomorphic Speech Analysis Foundations and Trends R in Signal Processing Vol. 1, Nos. 1 2 (2007) 1 194... ja... 1

Kepstri - Intro Jos lineaarisen järjestelmän tuottamassa signaalissa hyötyinformaatio on matalilla taajuuksilla ja häiritsevä kohina korkeammilla taajuuksilla ne voidaan helposti erottaa lineaarisella suodatuksella. Olkoon w [n] korkeita taajuuksia sisältävä kohina x[n] = x 1 [n]+w[n] ja lin. operaattori I [.] alipäästösuodatin I [x[n]] = I [x 1 [n]+w[n]] = I [x 1 [n]]+ I [w[n]] x 1 [n] Tilanne on ratkaisevasti toinen jos kaksi signaalia ovat konvoluoituneet (*) -> esimerkkinä lähde-suodin malliin perustuva puheentuoton malli: s[n] = e[n]*h[n] e[n] lähde ja h[n] suodin I [s[n]] = I [e[n]*h[n]] Mikä vaikutus signaaleihin e[n ] ja h[n]?? Etsimme operaattoria, joka edes kohtuullisesti kykenee separoimaan konvoluoituneet komponentit! H [s[n]] = H [e[n]*h[n]] = H [e[n]]+h [h[n]] [The complex cepstrum operator transforms convolution into addition.] Kepstri - Intro Kepstrilaskenta antaa työkalut separoida konvoluoituneet signaalit: e[n]*h[n] Kepstrissä alunperin konvoluoituneiden signaalien vastineet ovat lineaarisesti kombinoituneet (vrt. edellä esitetty summautuneiden signaalien lineaarisesti separoituva tapaus) Tämä mahdollistaa alunperin konvoluoituneiden komponenttien lineaarisen separoimisen! Kepstrin Idea Kepstrilaskenta antaa työkalut separoida konvoluoituneet signaalit: e[n]*h[n] Fourier: F [e*h ] = E[k] H[k], missä k taajuusindeksi Log[ E H ] = Log[ E ] + Log[ H ] Komponentit on saatu lineaarikombinaatioksi, jota voidaan edelleen suodattaa Fourier tekniikalla: F-muunnos, haluttujen komponenttien poisto ja muunnos takaisin taajuusalueeseen! Olemme näin johtaneet lifteröinnin! 2

Kepstri - Intro Kun konvoluoituneet signaalit saadaan kepstrissä lineaarisesti kombinoituneiksi ne on usein myös mahdollista separoida lineaarisin operaatioin, kuten kepstrialueen kaistanpäästö ja kaistanesto operaatioilla. Koska kepstrialue on sukua aika-alueelle ko. operaatiota voisi luonnehtia pikemminkin aikaikkunoinniksi. Tästä käytetään nimitystä -> lifteröinti liftering Cepstrum - History Bogert, Healy, and Tukey, The quefrency analysis of time series for echoes: Cepstrum, pseudo-autocovariance, cross-cepstrum and saphe cracking In M. Rosenblatt, ed., Proceedings of the Symposium on Time Series Analysisı. J. Wiley & Sons, pp. 209-243, NY, 1963. Cepstrum John W. Tukey *1915-2000 The FFT man spectrum <-> cepstrum "quefrency," "gamnitude," lifter and saphe. ( Lukihäiriö??) Cepstrum Noll A. M., Cepstrum pitch determination, JASA (Journal of Acoustical Society of America) vol. 41, pp. 293-309, Feb. 1967. Homomorphic signal processing Oppenheim (1967, 1969) Shafer (1968) Homomorphic same shape + <-> * ; linear domain <-> convolution domain 3

Kepstri - Homomorphic System H[s[n]] = H [e[n]*h[n]] = H [e[n]]+h [h[n]] Tyypillisesti haluamme separoida häiriön eli herätteen e[n] systeemivasteesta h[n] operaattorilla H. Tällöin toivomme, että: H [e[n]] δ[n] ja H [h[n]] h[n]. Kepstrioperaattori toimii tähän suuntaan, mutta ei luonnollisestikaan kykene ideaalisti separoimaan konvoluoituneita komponentteja. Jos separointi onnistuu likimain kuten yllä, kyseessä on homomorfinen järjestelmä. Kepstri Klassinen reaali: Real Cepstrum (RC) Yleistys, kompleksinen: Complex Cepstrum (CC) CC säilyttää signaalin muotoon liittyvän vaiheinformaation Silti CC:n kertoimet aina reaalisia! RC:n ja CC:n ero siinä, että RC on aina symmetrinen kun CC:n spektrissä mukana myös antisymmetrinen komponentti Kepstri - Määritelmä Real Cepstrum: (x[n] ääretön sekvenssi ajassa) c[m] = F -1 [Log[ X[k] ]] [m] = F -1 [Log[ F [x[n]] ]] [m] Complex Cepstrum: y[m] = F -1 [Log[X[k]]] [m] = F -1 [Log[ F [x[n]]]] [m] Log 10 for comparisions (otherw. any Log x ) Kepstri - Operaattori Q Apuoperaattori: Q * real [x[n]] = Log[ X[k] ] Käänteinen operaattori: [Q * real ] -1 [ ] = F -1 [Exp[ ]] Johtaa nollavaiheiseen, ei kausaaliseen signaalin esitykseen aika-alueessa, koska signaalin vaiheinformaatio on tuhottu! 4

Real Cepstrum: c[m] Complex Cepstrum: y[m] Kepstri HUOM! Sekä c[m], että y[m] kertoimet ovat reaaliarvoisia! c[m] aina parillisesti symmetrinen y[m] sisältää myös paritonta symmetriaa, jos x[n] ei ole kausaalisesta ja minimivaiheisesta järjestelmästä Kepstri & Lineaariprediktio LP Kun x[n] kausaalinen ja minimivaiheinen y[0] = c[0] = E [Log[X[k]]] y[m] = 2 c[m] m>0, Parillinen[y[m]]= c[m], y[m]=0 m<0 *) LP-malli H[z] (tai H(ω))- ollessaan stabiili - on aina minimivaiheinen. c[0] = E [Log[H[k]]] = Log[G], missä Η[k] = G/A[z] (kun z evaluoidaan yksikköympyrällä: z -> e jkωt/n, missä N signaalikehyksen koko). LP:n perusominaisuus: E [Log[ 1/A[z]]] = 0! ( A[z] prediktiovirhesuodin, E [.] -> Odotusarvo ) *) Kso. Mathematica simulaatio Kepstri & LP LP-malli: G/ (1-a 1 z -1 -a 2 z -2... -a p z -p ) = Η [z] Kun x[n] kausaalinen ja minimivaiheinen (impulssivaste) y[0] = c[0] = Log[G] (Markel & Gray) LP:n a-kertoimet voidaan muuntaa kepstrikertoimiksi y[m] kaavalla: y[0] = Log[G], y[1] = a[1], y[m] = a[m] + t=1, m-1 [(t/m) y[t] a[m-t]] 1 < m p ja missä a[m] tarkoittaa m:ttä prediktorikerrointa. Reaalikepstriin päästään kertoimista y[m] seuraavasti: c[0] = y[0], c[m] = y[m]/2, 0 < m p Kepstri - Intuitio Source-Filter Theory: X(w) = S(w) H(w) Log[X(w)] = Log[S(w)] + Log[H(w)] (kompleksinen kepstri) Log[ X(w) ] = Log[ S(w) ] + Log[ H(w) ] (reaalinen kepstri) 5

Kepstri - Intuitio Log[ X(w) ] = Log[ S(w) ] + Log[ H(w) ] Lähteen ja suotimen vaikutukset logaritmiseen spektriin summautuvat (voidaan eriyttää/separoida lineaarimuunnoksella - kun osuvat eri alueille) Soinnillinen lähde tuottaa kamparakenteen (taajuusalue: nopeata vaihtelua), suodin muokkaa sen verhokäyrää (taajuusalue: hitaita muutoksia) Taajuusalueen nopeat ja hitaat muutokset saadaan erilleen kun tehdään uusi Fourier muunnos (IFT)! 6

Mel-Cepstrum 7

Esimerkki Kompleksisen kepstrin laskenta Mathematicalla (laskentatulos seuraavalla kalvolla) Epäsymmetria! w1: Hamming ikkuna vv: parametri joka valitsee vokaalin signaalimatriisista voc vv = 7;(*valitaan /ae/ vokaali*) fu = Fourier[w1*voc[[vv]]]; clogfu = Log[fu]; ccps = InverseFourier[clogfu]; ListLinePlot[Re[ccps], Frame -> True,PlotRange -> {20, -20}] Indeksi 512 = folding = Fs/2 Vokaali /ae/ kompleksinen kepstri. Huomaa epäsymmetria! Kompleksisen spektrin rakenne Imaginääriosa: projektio pystypinnalle Reaaliosa: projektio vaakapinnalle 0 Im[H[jw]] antisymmetric jw Re[H[jw]] Fourier Transform Muista! Re[ F [x[n]]] -> cos-sarja (even) Im[ F [x[n]]] -> sin-sarja (odd) Re[H[jw]] symmetric -w 0 +w 0 H[jw] 8

Hilbert Transform, H [.] Discrete Causal signals discrete causal cepstrum minimum phase Analytic signals Linear time-invariant causal system: Multiplication in frequency domain by H function H(e j" ) = G(")e j#(" ) #(") = H [ G(") ], causal min phase case Hilbert transform by DFT: H [x] = F -1 [H F [x]] Note that the input signal must be discrete causal, i.e., the second half must be zero. Use zero-padding to ensure that this condition is met. There are times when we desire to create a so-called discrete analytic signal. This can be done using the Hilbert transform. The discrete analytic signal has a DFT whose second half vanishes (nothing in negative frequencies). The weighting function H (multiplication in frequency domain) ensures that this is the case. The imaginary output is the Hilbert Transform of the real output. H = 0 at DC and Folding frequency H = j at positive and -j at negative frequencies. Some properties of the Hilbert transform: Signals are denoted by x and y. H [x] denotes the Hilbert Transform of signal x. Scalar constants are denoted by a and b. 1. If x is real, then H [x] is real 2. H [a] = 0 3. H [a x + b y] = a H [x] + b H [y] 4. H [H [x]] = -x 5. For any x, H [x] and x are orthogonal 6. H [x*y] = x* H [y] = H [x]*y 7. H [x] is odd for even x and even for odd x 8. H [cos(ωt)] = sin(ω t) and H [sin(ω t) = -cos(ω t) 9

Vaihtoehtoinen tehtävä! Esimerkki Harjoitustyön tehtävä 1.3 on osoittautunut monelle opiskelijalle melko haastavaksi etenkin jos signaalinkäsittelyn teoria ei ole hallinnassa. Silti kannustaisin yrittämään tätä! 0.5-0.5 20 40 60 80 100 120 Kausaalinen, minimivaiheinen impulssivaste Vaihtoehtona 1.3:lle on tutkia mel-kepsrin käyttöä vokaalien luokittelussa - laajennus tehtävään 4.2 Teette siis saman tehtävän sekä standardi-kepstrillä, että melkepstrillä. Helpotuksena tarjoamme mel-suodinpankin käyttöönne (laitettu jakeluun kurssisivun kautta). 0.8 0.6 0.4 0.2-0.2 1.0 0.8 0.6 0.4 0.2 20 40 60 80 100 120 20 40 60 80 100 120 Kompleksinen kepstri (CC) Reaalinen kepstri (RC) 10