sgn-4010 puheenkÄsittelyn menetelmÄt luento 4
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
SGN-4010 PUHEENKÄSITTELYN MENETELMÄT
Luento 4
TTY/Signaalinkäsittelyn laitosHanna Silen
2
Luennon aiheena lineaarisen ennustuksen sovellukset:
– Formanttien etsiminen
– Perustaajuuden määrittäminen
Lineaarisen ennustuksen sovelluksia
3
• Puhekehys voidaan kuvata lähde-suodin –mallin avulla
• Järjestelmän syötteenä x(n) on kurkunpää-ääni ja ulostulona y(n) mitattu puhesignaali
Kertausta viimekertaisesta: lähde-suodin –malli
H(z)
Y(z)
X(z)
4
• 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 ennustaa puhesignaalin seuraavaa näytettä edellisten näytteiden ja lineaarisen suotimen 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
5
Ää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
,)(
1
zA
....1
11
1p
p zaza
p
k
knykany1
)()()(ˆ
6
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: lineaarinen ennustus
)(
)3(
)2(
)1(
)(
)3(
)2(
)1(
)0()3()2()1(
)3()0()1()2(
)2()1()0()1(
)1()2()1()0(
pr
r
r
r
pa
a
a
a
rprprpr
prrrr
prrrr
prrrr
7
• 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
yRx
8
• 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
2
3
2
2
23
2
2
0
0
0
0
1
)1(
)2(
0
0
)2(
)1(
1
)0()1()2()3(
)1()0()1()2(
)2()1()0()1(
)3()2()1()0(
E
q
k
q
E
a
ak
a
a
rrrr
rrrr
rrrr
rrrr
2
0 2 )3()(i
iriaq
023 Ekq
9
Ratkaistaan termi k3
ja tämän jälkeen termi E3
Kertausta viimekertaisesta: Levinson-Durbin –rekursio
023 Ekq
2
0 22
23
)3()(1
iiria
E
E
qk
)1(
)(232
2332
323
kE
EkkE
qkEE
10
Vastaavasti, kun kasvatetaan lohkon koko n – 1:stä n:ään:
Aloitus ehdosta:
Kertausta viimekertaisesta: Levinson-Durbin –rekursio
)()()(
)1(
)()(1
11
21
1
0 11
inakiaia
kEE
inriaE
k
nnnn
nnn
n
i nn
n
0)0( Er
11
• Formantti on spektrissä havaittava vahvistunut osavärähtelyalue tai taustalla oleva siirtofunktio-ominaisuus (napa)
Formanttien estimointi
12
• 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
jre
221
221
11
)cos(21
1
)(1
1
)1)(1(
1
zrzr
zeerzeer
zrezre
jjjj
jj
Fs
2
)1)(1(
1
)1)(1(
1
)1)(1(
1
)()(
11
jj
jjjj
jj
rere
ereere
zrezre
)1( )( jre
1)( je
jez
22
1
0
)cos(2
1
ra
ra
a
13
• Napapari taajuudella 1600 Hz (Fs = 16000 Hz), eli kulmataajuudella
Napaparin amplitudivaste: formantin taajuus
2.021.0
14
• Vastaavasti, napapari taajuudella 3200 Hz (Fs = 16000 Hz), eli kulmataajuudella
Napaparin amplitudivaste: formantin taajuus
4.022.0
15
• 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
2ln s
f
FrBW
jre
rBW ln
16
• Napapari etäisyydellä 0.9 origosta (näytteenottotaajuus 16 kHz)
kaistanleveys:
Napaparin amplitudivaste: formantin kaistanleveys
Hzr
Fs 2682
ln
17
• Vastaavasti, kun r = 0.7
ja r = 0.99
Napaparin amplitudivaste: formantin kaistanleveys
18
• Tarkastellaan vielä kahden napaparin (0.9ej1 ja 0.9ej2 ) yhdistettyä amplitudivastetta
Napaparin amplitudivaste: napojen yhteisvaikutus
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-15
-10
-5
0
5
10
15
20
Napaparien yhdistetty amplitudivaste, 1 = 0.3 ja
2 = 0.6
Normalisoitu taajuus
Am
pltu
diva
ste
(dB
)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-15
-10
-5
0
5
10
15
20
Napaparien yhdistetty amplitudivaste, 1 = 0.3 ja
2 = 0.5
Normalisoitu taajuus
Am
pltu
diva
ste
(dB
)
19
• Napojen taajuuksien lähestyessä toisiaan amplitudivasteen huiput sulautuvat yhteen
Napaparin amplitudivaste: napojen yhteisvaikutus
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-20
-15
-10
-5
0
5
10
15
20
25
Napaparien yhdistetty amplitudivaste, 1 = 0.3 ja
2 = 0.4
Normalisoitu taajuus
Am
pltu
diva
ste
(dB
)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-20
-10
0
10
20
30
40
Napaparien yhdistetty amplitudivaste, 1 = 0.3 ja
2 = 0.3
Normalisoitu taajuus
Am
pltu
diva
ste
(dB
)
20
• Suoraviivainen tapa estimoida formantteja on jakaa LP-polynomi
tekijöihin
missä ovat LP-polynomin nollakohdat
Formanttien estimointi: tekijöihin jako
pp zazazA ...1)( 1
1
),1)...(1)(1()( 112
11
zzzzzzzA p
pzzz ,...,, 21
21
• LP-polynomin nollakohta zi voidaan kirjoittaa muodossa
Mikä tarkoittaa, että suotimella 1/A(z) on formantti taajuudella ωi
Formanttien estimointi: tekijöihin jako
ijii erz
0 1000 2000 3000 4000 5000 6000 7000 8000-20
-10
0
10
20
30
40
50
taajuus (Hz)
ampl
itudi
(dB
)
LP-spektri
-1 -0.5 0 0.5 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
16
Real Part
Imag
inar
y P
art
LP-suotimen napa-nolla -kuvio
22
• 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
23
Tekijöihin jakamiseen perustuva formanttien estimointi:
1. Ikkunoidaan signaali
2. Lasketaan kullekin puhekehykselle LP-polynomi A(z) (aste näytteenotto-taajuuden mukaan)
3. Juurretaan suotimen 1/A(z) nimittäjä (siis etsitään A(z):n nollakohdat)
4. Formanttien taajuudet saadaan LP-polynomin nollakohtien (1/A(z):n napojen) kulmista (muuntamalla kulmataajuudet hertseiksi)
Formanttien estimointi: tekijöihin jako
24
Fs: 8 kHz
LP-mallin aste: 8
Kehyksen pituus: 30 ms
Formanttien estimointi: tekijöihin jako
25
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: tekijöihin jako
26
• 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ä
27
• 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
Formanttien estimointi: amplitudivasteen maksimien etsintä
28
• 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ä
),( jreA
29
• Laskennallisesti:
Tämä on jonon
DTFT, joka voidaan laskea nopeasti nollilla jatketun jonon FFT:nä
McCandlessin menetelmä
p
n
jnn
p
n
njj
erna
renareA
0
0
)(
))(()(
)(),...,2(),1(),0( 21 pararara p
30
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ä
McCandlessin menetelmä
31
• 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ä
Kangin ja Coulterin menetelmä
32
• 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ä
Christensenin menetelmä
33
• Puheen perustaajuutta f0 voidaan estimoida laskemalla kehyksen autokorrelaatiofunktio (korrelaatio itsensä kanssa) ja etsimällä autokorrelaation maksimi sopivalla viivealueella
LP-mallin käyttö perustaajuuden estimoinnissa
Fs = 8kHz
Perusjakson pituus:
n. 70 näytettä eli70 / 8000Hz = 8.75 ms
Perustaajuus:
8000Hz / 70 = 114 Hz
34
• 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
00 /1 Tf
35
• Puhekehys Y(z) muodostuu ääntöväylämallilla 1/A(z) suodatetusta glottisherätteestä X(z)
Eli
LP-mallin käyttö perustaajuuden estimoinnissa
1/A(z)Y(z)X(z)
)()(
1)( zX
zAzY
36
• 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)
LP-mallin käyttö perustaajuuden estimoinnissa
A(z)X(z)Y(z)
)()()( zAzYzX
37
• 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 (simple inverse filter tracking)
LP-mallin käyttö perustaajuuden estimoinnissa
38
• SIFT-esisuodatettu autokorrelaatio:
LP-mallin käyttö perustaajuuden estimoinnissa
39
• 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ä
Yhteenveto