250 likes | 364 Views
Viime kerralta: Puheentuotto (vokaalit). Soinnillinen glottisheräte Ääntöväylä Suodatuksen tuloksena syntyvä ääni. Viime kerralta: Kelly-Lochbaum –yhtälöt. Mallinnetaan ääntöväylää tasapaksujen putkien avulla:. Viime kerralta: Ristokkorakenteinen all pole -suodin.
E N D
Viime kerralta: Puheentuotto (vokaalit) Soinnillinen glottisheräte Ääntöväylä Suodatuksen tuloksena syntyvä ääni
Viime kerralta: Kelly-Lochbaum –yhtälöt Mallinnetaan ääntöväylää tasapaksujen putkien avulla:
Viime kerralta: Ristokkorakenteinen all pole -suodin Kelly-Lochbaum –yhtälöiden mukainen ristikkorakenteinen suodin on all-pole –tyyppinen, eli sen siirtofunktiossa on ainoastaan napoja (=nimittäjän A(z) nollakohtia)
Lineaariset systeemimallit Käytetty lineaarinen malli voidaan rajoittaa joksikin seuraavista: • Autoregressiivinen liukuvan keskiarvon malli (ARMA) Vastaa yleistä lineaarista rekursiivista suodinta • Liukuvan keskiarvon malli (MA, movingaverage) VastaaFIR-suodinta • Autoregressiivinen malli (AR, autoregressive) Vastaa all-pole –suodinta
AR-mallistaLineaariprediktioon • Edellä käsitelty ristikkorakenteinen malli ääntöväylälle on all-pole –suodin niin kuin myös AR-malli on all-pole –suodin => Valitaan AR-malli ääntöväylämalliksi • Lineaariprediktio-analyysin (LP-analysis) avulla voidaan signaalista määrittää sen AR-mallin parametrit. => Lineaarinen ennustus on hyvä menetelmä ääntöväylän parametrien estimointiin => Lineaarinen ennustus on yksi tärkeimmistä puheenkäsittelyn työkaluista - Lyhenne LP (linearprediction), LP-analysis, LPC (linearpredictivecoding) - Puheenkäsittelyn kannalta LP:n tärkein ominaisuus on sen kyky mallintaa ääntöväylää
Mitä on lineaarinen ennustus? • LP-analyysillä etsitään suodinkertoimet, jotka parhaiten ennustavatsignaalin näytteitä AR-mallin mukaisesti: • Ennustussuotimen kertoimet valitaan siten, että neliöllinen ennustusvirhe minimoituu analysoitavassa ikkunassa, kun x(n)==0: • Kannattaa pitää mielessä, että puhetta käsitellään lyhyissä kehyksissäja LP-analyysi tehdään n. 10-30 ms välein, osittain päällekkäisistä kehyksistä
Esimerkki: Vokaalin amplitudi- ja LP-spektri Ikkunan pituus sekunteina: 480/16kHz = 30ms
Valitaan AR-malli puheesignaalin systeemimalliksi Tyypillisesti puheenkäsittelyssä käytetään AR-mallia, sillä • Syötettä ei tunneta (kurkunpää-ääni) • AR-mallin parametrit a(k) pystytään laskemaan tehokkaasti • Ääntöväylä on (tietyillä oletuksilla) teoreettisesti all-pole –suodin • Korkeampiasteisella AR-mallilla voidaan mallintaa myös yleistä ARMA-mallia
AR-mallin parametrien määrittäminen Lineaariprediktion avulla • All-pole –järjestelmän siirtofunktio on: missä g on vakio, ja • Aikatason differenssiyhtälönä järjestelmän ulostulo lasketaan: missä x(n)on syöte, y(n)vaste ja a(1),a(2),...,a(p)suotimen A(z) kertoimet • All-pole –järjestelmän ulostulo voidaan ennustaa täydellisesti mikäli sisäänmeno ja ulostulon aiemmat arvot tunnetaan. • Käytännössä järjestelmät eivät yleensä ole täysin lineaarisia eivätkä täysin all-pole –tyyppisiä.
AR-mallin parametrien määrittäminen Lineaariprediktionavulla (2) Puheenkäsittelyn tapauksessa järjestelmän sisäänmeno ei myöskään ole tiedossa Jätetään riippuvuus sisäänmenosta x(n) pois ja tehdään ennustus pelkän ulostulon perusteella Ulostulon estimaatti: Tavoite: määrittää parametrit a(1),a(2),...,a(p) siten että ennusteŷ(n) olisi mahdollisimman lähellä todellista ulostuloa (mitattua puhetta) y(n) Muistutus: Puhetta käsitellään kehyksittäin, eli y(n) on muutamien kymmenien millisekuntien mittainen ikkunoitu puhekehys
Parametrien a(1),a(2),...,a(p) estimointi Tehtävänä on määrittää parametrit a(1),a(2),...,a(p) Tämä tehdään yleensä niin, että ulostulon ja ennustuksen neliövirheiden summa minimoituu: Summa on äärellinen (y(n) on äärellisen mittainen signaalikehys) Koska kyseessä on puhekehys, käytetään jatkossa ulostulosta y(n) merkintää s(n)
Parametrien a(1),a(2),...,a(p) estimointi (2) Ennustuskertoimilla a(1),a(2),...,a(p) (ennustavan suotimen pituus p) ennustusvirheen energiaksi saadaan Määritellään, että a(0) = 1, jolloin virheen energia voidaan kirjoittaa muodossa
Parametrien a(1),a(2),...,a(p) estimointi (3) Välttämätön ehto kertoimen a(i) optimaalisuudelle on, että funktion Eposittaisderivaatta a(i):n suhteen on nolla Ep:n osittaisderivaatta muuttujan a(i) suhteen (i = 1,2,...,p) on
Autokorrelaatio Esitetään edellinen virhefunktion derivaattalauseke autokorrelaatiofunktion avulla: missä
Autokorrelaatioyhtälöt Palataan derivoinnin tulokseen (derivointi kertoimien a(1),a(2),...,a(p) suhteen): Ennustusvirheen energian derivaattojennollakohdiksi saadaan : a(0)= 1 r(–n) = r(n)
Autokorrelaatioyhtälöt(2) • Kun edelliseen matriisiyhtälöön lisätään vielä yhtälö saadaan: jolloin kerroinmatriisi R on • symmetrinen, koska r(k) = r(–k) • Toeplitz (eli kaikilla diagonaaleilla on sama arvo), koska r(k,i) = r(k–i) • Tämä on olennaista, kun etsitään nopeaa ratkaisumenetelmää
???? Todistetaan, että optimaalisillaa-kertoimilla : sillä
??? (2) ja edelleen: Eli:
Levinson-Durbinrekursiivinen algoritmi Ennustuskertoimet a(1),a(2),...,a(p) voitaisiin ratkaista suoraan edellä johdetuista yhtälöistä.Tämä on kuitenkin työlästä. Tehokas algoritmi Toeplitz-tyyppisen matriisiyhtälön ratkaisemiseen on: Levinson-Durbin rekursiivinen algoritmi Ideana on ratkaista matriisiyhtälö lohkoittain kasvattamalla matriisin R kokoa ja vektorin x pituutta ja laskemalla uusi ratkaisu edellisten avulla
Levinson-Durbin -rekursio p=0: p=1: p=2 …jne…
Huomioita Levinson-Durbin algoritmista • Levinson-Durbin –algoritmin -muuttujat ovat vastaavan putkimallin heijastuskertoimia! • Virheen energia pienenee, kun ennustussuotimeen lisätään kertoimia: tod.: koska on aina positiivinen, samoin , näin ollen
Mallin asteen valinta (1) • Formantteja on yleensä yksi yhtä kHz:ä kohti • Mallin asteeksi p otetaan yleensä näytteenottotaajuus kHz:nä Esim. Näytteenottotaajuus 8kHz → mallin asteeksi valittaisiin 8 Näytteenottotaajuus 16kHz → mallin asteeksi valittaisiin 16 • Mallin epätarkkuuksien kompensoimiseksi valitaan kuitenkin yleensä hieman korkeampi aste Esim. Näytteenottotaajuus 8kHz → mallin asteeksi valittaisiin 10 tai 12 Näytteenottotaajuus 16kHz → mallin asteeksi valittaisiin 18 tai 20
Mallin asteen valinta (2) • Esimerkki: Otetaan lyhyt pätkä y-äännettä (näytteenottotaajuus 16kHz) ja ikkunoidaan se pehmeällä ikkunalla Ratkaistaan seuraavaksi ennustuskertoimet eriasteisilla malleilla ja tutkaillaan saatujen LP-suodinten spektrejä
Mallin asteen valinta (3) Näytteenottotaajudella 16kHz hyvä valinta mallin asteeksi olisi 18, mitä tapahtuu, jos valitaan liian pieni tai suuri aste?
Mihin LP-analyysiä käytetään? PUHEENKOODAUS: mahdollistaa herätteen ja ääntöväylän koodamiseen erikseen PUHEENTUNNISTUS: tarjoaa tietoa äänteen spektristä (ja näin ollen myös äänteestä) PUHESYNTEESI: mahdollistaa herätteen ja ääntöväylän ohjaamiseen erikseen MATLABissa LP-analyysi onnistuu komennolla lpc