390 likes | 604 Views
SGN-4010 PUHEENKÄSITTELYN MENETELMÄT Luento 4. TTY/Signaalinkäsittelyn laitos Hanna Silen. Lineaarisen ennustuksen sovelluksia. Luennon aiheena lineaarisen ennustuksen sovellukset: Formanttien etsiminen Perustaajuuden määrittäminen. Kertausta viimekertaisesta: lähde-suodin –malli.
E N D
SGN-4010 PUHEENKÄSITTELYN MENETELMÄTLuento 4 TTY/Signaalinkäsittelyn laitosHanna Silen
Lineaarisen ennustuksen sovelluksia Luennon aiheena lineaarisen ennustuksen sovellukset: • Formanttien etsiminen • Perustaajuuden määrittäminen
Kertausta viimekertaisesta: lähde-suodin –malli • Puhekehys voidaan kuvata lähde-suodin –mallin avulla • Järjestelmän syötteenä x(n) on kurkunpää-ääni ja ulostulona y(n) mitattu puhesignaali X(z) H(z) Y(z)
Kertausta viimekertaisesta: lineaarinen ennustus • Lineaarinen ennustus on yksi tärkeimmistä puheenkäsittelyn työkaluista • Lyhenne LP (linear prediction) tai LPC (linear predictive coding) • Puheenkäsittelyn kannalta LP:n tärkein ominaisuus on sen kyky mallintaa ääntöväylää • Ideana ennustaapuhesignaalin seuraavaa näytettä edellisten näytteiden ja lineaarisensuotimen avulla (edellisten näytteiden lineaarikombinaationa) • Aiemmin käsitelty ristikkorakenteinen malli ääntöväylälle on all-pole –suodin • Lineaarinen ennustus on hyvä menetelmä suotimen parametrien estimointiin
Kertausta viimekertaisesta: lineaarinen ennustus Ääntöväyläsuotimelle voidaan käyttää mallia (all-pole –suodin) eli All-pole –järjestelmän ulostulo voidaan ennustaa täydellisesti mikäli sisäänmeno ja ulostulon aiemmat arvot tunnetaan. Jätetään riippuvuus sisäänmenosta pois ja tehdään ennustus pelkän ulostulon perusteella. • Ulostulon estimaatti aikatasossa:
Kertausta viimekertaisesta: lineaarinen ennustus Tehtävänä on määrittää suotimen parametrit a(1),a(2),...,a(p) • Tämä tehdään yleensä niin, että ulostulon ja ennustuksen neliövirheiden summa minimoituu autokorrelaatioyhtälöiden avulla johdetuista normaaliyhtälöistä voidaan ratkaista ennustuskertoimet (LP-suotimen kertoimet)
Kertausta viimekertaisesta: Levinson-Durbin –rekursio • Levinson-Durbin –rekursio: tehokkaampi tapa ennustuskertoimien a(1),a(2),...,a(p) ratkaisemiseen • Ideana on ratkaista symmetrinen Toeplitz-matriisiyhtälö lohkoittain kasvattamalla vektorin x pituutta ja laskemalla uusi ratkaisu edellisten avulla
Kertausta viimekertaisesta: Levinson-Durbin –rekursio • Yhtälöryhmän ratkaisu: vektori, joka on summa alempiasteisesta ratkaisusta ja sen vakiolla painotetusta käännöksestä • Esim. kun aste on 3: missä k3 on heijastuskerroin ja Jotta tämä olisi normaaliyhtälöiden ratkaisu, vaaditaan ainoastaan että oikean puolen vektorin alkiot ensimmäistä lukuunottamatta ovat nollia, eli
Kertausta viimekertaisesta: Levinson-Durbin –rekursio Ratkaistaan termi k3 ja tämän jälkeen termi E3
Kertausta viimekertaisesta: Levinson-Durbin –rekursio Vastaavasti, kun kasvatetaan lohkon koko n – 1:stä n:ään: Aloitus ehdosta:
Formanttien estimointi • Formantti on spektrissä havaittava vahvistunut osavärähtelyalue tai taustalla oleva siirtofunktio-ominaisuus (napa)
Napaparin amplitudivaste: formantin taajuus • Kompleksitason yksikköympyrällä, kun , siirtofunktio saa muodon: • Järjestelmän amplitudivaste - eli siirtofunktion itseisarvo - saa maksimiarvonsa, kun saa minimiarvonsa, eli kun • => • eli taajuudella: • Napaparilla on siirtofunktio (tai tämän vakiolla kerrottu versio): • Siirtofunktion kertoimet ovat siis:
Napaparin amplitudivaste: formantin taajuus • Napapari taajuudella 1600 Hz (Fs = 16000 Hz), eli kulmataajuudella
Napaparin amplitudivaste: formantin taajuus • Vastaavasti, napapari taajuudella 3200 Hz (Fs = 16000 Hz), eli kulmataajuudella
Napaparin amplitudivaste: formantin kaistanleveys • Formantin kaistanleveys ilmaisee, kuinka leveä formantti on • Mikäli formantti on jyrkkä, sen kaistanleveys on pieni (ja päinvastoin) • Kaistanleveys on sen taajuuskaistan leveyden puolikas hertseinä, jolla amplitudivasteen arvo on laskenut 3dB maksimiarvosta • Napaparin kaistanleveys riippuu navan etäisyydestä origosta:
Napaparin amplitudivaste: formantin kaistanleveys • Napapari etäisyydellä 0.9 origosta (näytteenottotaajuus 16 kHz) kaistanleveys:
Napaparin amplitudivaste: formantin kaistanleveys • Vastaavasti, kun r = 0.7 ja r = 0.99
Napaparin amplitudivaste: napojen yhteisvaikutus • Tarkastellaan vielä kahden napaparin (0.9ej1ja 0.9ej2 ) yhdistettyä amplitudivastetta
Napaparin amplitudivaste: napojen yhteisvaikutus • Napojen taajuuksien lähestyessä toisiaan amplitudivasteen huiput sulautuvat yhteen
Formanttien estimointi: tekijöihin jako • Suoraviivainen tapa estimoida formantteja on jakaa LP-polynomi tekijöihin missä ovat LP-polynomin nollakohdat
Formanttien estimointi: tekijöihin jako • LP-polynomin nollakohta zi voidaan kirjoittaa muodossa Mikä tarkoittaa, että suotimella 1/A(z) on formantti taajuudella ωi
Formanttien estimointi: tekijöihin jako • MATLABissa polynomin nollakohdat voi laskea komennolla roots • Juurtaminen on laskennallisesti raskas operaatio, käytännössä käytetään jotakin iteratiivista menetelmää • Newton-Raphson-algoritmi toimii hyvin jos juurten alkuarvaukset ovat hyvät • Ääntöväylä ja LP-polynomin nollat muuttuvat suhteellisen hitaasti Käytetään alkuarvoina edellisen puhekehyksen LP-polynomin nollakohtia
Formanttien estimointi: tekijöihin jako Tekijöihin jakamiseen perustuva formanttien estimointi: • Ikkunoidaan signaali • Lasketaan kullekin puhekehykselle LP-polynomi A(z) (aste näytteenotto-taajuuden mukaan) • Juurretaan suotimen 1/A(z) nimittäjä (siis etsitään A(z):n nollakohdat) • Formanttien taajuudet saadaan LP-polynomin nollakohtien (1/A(z):n napojen) kulmista (muuntamalla kulmataajuudet hertseiksi)
Formanttien estimointi: tekijöihin jako Fs: 8 kHz LP-mallin aste: 8 Kehyksen pituus: 30 ms
Formanttien estimointi: tekijöihin jako Siistitään edellisen kalvon kuviota LP-mallin aste: 12 Huomioidaan vain navat, joiden: 1) säde on vähintään 0.9 2) kulma vähintään 200 Hz
Formanttien estimointi: amplitudivasteen maksimien etsintä • Toinen tapa formanttien estimointiin LP-polynomin A(z) avulla on laskea siirtofunktion 1/A(z) amplitudivaste • Formanttien pitäisi olla suotimen 1/A(z) amplitudivasteen maksimien kohdalla • Nopeampi tapa: formanttien pitäisi olla LP-polynomin A(z) amplitudivasteen minimien kohdalla
Formanttien estimointi: amplitudivasteen maksimien etsintä • Formanttien estimointi etsimällä amplitudivasteen maksimit toimii pääsääntöisesti hyvin • Ongelmia syntyy, kun formantit ovat niin lähellä toisiaan, että ne sulautuvat yhteen • Tällöin amplitudivasteessa on vain yksi maksimi • Muokataan LP-mallia ongelman ratkaisemiseksi
McCandlessin menetelmä • Lasketaan järjestelmän amplitudivaste ympyrän muotoisella kehällä yksikköympyrän sisällä pisteissä missä 0 < r < 1 ja 0 ≤ ω < 2π • Amplitudivasteen piikeistä tulee terävämpiä ja helpommin eroteltavia
McCandlessin menetelmä • Laskennallisesti: Tämä on jonon DTFT, joka voidaan laskea nopeasti nollilla jatketun jonon FFT:nä
McCandlessin menetelmä Tarkastellaan napapareja 0.9e0.3jπja 0.85e0.4jπ • Lasketaan amplitudivasteen arvo yksikköympyrällä: formantit sulautuvat • Formantit saadaan erotettua, kun lasketaan amplitudivaste yksikköympyrän sisällä
Kangin ja Coulterin menetelmä • Siirretään LP-polynomin nollat yksikköympyrälle • Tämän jälkeen amplitudivasteen minimit on helppo erottaa • Nollien siirtäminen asettamalla viimeinen heijastuskerroin ykköseksi: Viimeinen heijastuskerroin = LP-polynomin viimeisen termin kerroin = LP-polynomin nollakohtien tulo • Nollat eivät kuitenkaan siirry säteittäisesti yksikköympyrälle => Formanttitaajuuksiin tulee pieni vääristymä
Christensenin menetelmä • Etsitään amplitudivasteen minimien sijaan sen toisen derivaatan maksimi • Toinen derivaatta mittaa funktion kuperuutta tai koveruutta • Funktion kuvaajassa jyrkkä käännös toisen derivaatan maksimikohdassa • Menetelmällä voidaan arvioida myös formantin kaistanleveyttä
LP-mallin käyttö perustaajuuden estimoinnissa • Puheen perustaajuutta f0 voidaan estimoida laskemalla kehyksen autokorrelaatiofunktio (korrelaatio itsensä kanssa) ja etsimällä autokorrelaation maksimi sopivalla viivealueella Fs = 8kHz Perusjakson pituus: n. 70 näytettä eli 70 / 8000Hz = 8.75 ms Perustaajuus: 8000Hz / 70 = 114 Hz
LP-mallin käyttö perustaajuuden estimoinnissa • Perustaajuus f0 saadaan laskettua perusjaksonajasta T0 (l. lyhimmästä jaksonajasta, jolla signaali toistaa itseään) • Perusjaksonaika taas saadaan jakamalla jakson pituus näytteinä perustaajuudella Fs • Esim. taajuusalue 50…500 Hz vastaa autokorrelaation viiveitä Fs/500…Fs/50 • Autokorrelaatiofunktion maksimin etsintään perustuva menetelmä toimii pääsääntöisesti hyvin, mutta formanttien aiheuttamat huiput tuottavat joskus virheellisen perustaajuusarvon • Formantit voidaan poistaa signaalista LP-mallin avulla
LP-mallin käyttö perustaajuuden estimoinnissa • Puhekehys Y(z) muodostuu ääntöväylämallilla 1/A(z) suodatetusta glottisherätteestä X(z) Eli X(z) Y(z) 1/A(z)
LP-mallin käyttö perustaajuuden estimoinnissa • Vastaavasti formantit voidaan poistaa (ratkaista glottisheräte) suodattamalla puhekehys LP-parametreista saadulla käänteissuotimella A(z) • Glottisheräte X(z) saadaan siis suodattamalla puhekehys Y(z) käänteissuotimella A(z) Y(z) X(z) A(z)
LP-mallin käyttö perustaajuuden estimoinnissa • Koska all-pole –suodin 1/A(z) aiheuttaa signaaliin formantit, voidaan ne siis poistaa FIR-käänteissuotimella A(z) • Kun LP-mallin aste on riittävän matala, se mallintaa vain formantteja (ääntöväylää) ei perustaajuutta (glottista) • Autokorrelaatio voidaan nyt laskea glottisherätteestä X(z) puhekehyksen Y(z) sijaan • Formanttien vaikutus pienenee • Menetelmästä käytetään nimitystä SIFT (simpleinversefiltertracking)
LP-mallin käyttö perustaajuuden estimoinnissa • SIFT-esisuodatettu autokorrelaatio:
Yhteenveto • Lineaarinen ennustus ehkä tärkein yksittäinen puheenkäsittelyn menetelmä • LP:n sovellukset perustuvat puheen esittämiseen heräte-suodin –mallin avulla • Lineaarisen ennustuksen avulla voidaan estimoida ääntöväyläsuodatinta • Puhekehyksestä estimoidun ääntöväyläsuotimen 1/A(z) navoista/amplitudivasteen huipuista voidaan päätellä puhekehyksen formanttitaajuudet • Perustaajuuden estimointia voidaan parantaa poistamalla formanttien vaikutus puhekehyksestä suodattamalla se suotimella A(z) • Edelleen tärkeä muistaa, että puhetta käsitellään muutamien kymmenien millisekuntien kehyksissä