Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci ˇ ´ FIT VUT Brno,
[email protected] Jan Cernock´ y UPGM
FIT VUT Brno
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
1/37
Pl´ an • Charakteristiky z´akladn´ıho t´ onu
• Probl´emy urˇcov´an´ı.
• Autokorealˇcn´ı metoda, AMDF, NFFC.
• Omezen´ı vlivu formant˚ u.
• Dlouhodob´y prediktor
• Cepstrum
• Vylepˇsen´ı odhadu z´akladn´ıho t´ onu.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
2/37
Opakov´ an´ı – tvorba ˇreˇ ci a jej´ı model
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
3/37
´ Uvod • Frekvence z´akladn´ıho t´ onu je z´akladn´ım kmitoˇctem, na kter´em kmitaj´ı hlasivky: F 0 , anglick´y n´azev pitch. • Periodu z´akladn´ıho t´ onu (pitch period) spoˇc´ıt´ame jako pˇrevr´acenou hodnotu frekvence: T0 = F10 . • Jako lag oznaˇcujeme periodu z´akladn´ıho t´ onu vyj´adˇrenou ve vzorc´ıch: L = T0 Fs , kde Fs je vzorkovac´ı frekvence.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
4/37
Vyuˇ zit´ı z´ akladn´ıho t´ onu • syntez´ atory ˇreˇ ci – generov´an´ı melodie.
• k´ odov´ an´ı
– v jednoduch´em k´ odov´an´ı oznaˇcovan´em jako LPC se zmenˇsen´ı bitov´eho toku dos´ahne tak, ˇze se samostatnˇe pˇren´aˇs´ı parametry artikulaˇcn´ıho u ´stroj´ı (napˇr. koeficienty predikˇcn´ıho filtru ai nebo odvozen´e), energie, pˇr´ıznak znˇel´y/neznˇel´y a F0 . – v modernˇejˇs´ıch kod´erech (napˇr. v RPE-LTP nebo ACELP pro mobiln´ı telefony GSM) se vyuˇz´ıv´a dlouhodob´ eho prediktoru LTP (long time predictor). Jedn´a se o filtr s “dlouhou” impulsn´ı odezvou, kter´a vˇsak obsahuje jen jeden nebo nˇekolik nenulov´ych prvk˚ u. ⇒ dalˇs´ı “bˇelen´ı” sign´alu.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
5/37
Charakteristiky z´ akladn´ıho t´ onu • F0 m˚ uˇze nab´yvat hodnot od 50 Hz (muˇzi) aˇz do 400 Hz (dˇeti), pˇri Fs =8000 Hz tyto frekvence odpov´ıdaj´ı lag˚ um L=160 aˇz 20 vzork˚ u. Je patrn´e, ˇze pˇri mal´ych hodnot´ach um). F0 se bl´ıˇz´ıme d´elk´am bˇeˇznˇe pouˇz´ıvan´ych oken (20 ms, coˇz odpov´ıd´a 160 vzork˚ • kol´ıs´an´ı u jednoho mluvˇc´ıho m˚ uˇze b´yt aˇz v pomˇeru 2:1.
• pro r˚ uzn´e hl´asky m´ıv´a z´akladn´ı t´ on typick´e pr˚ ubˇehy, mal´e zmˇeny po prvn´ım kmitu (∆F0 < 10 Hz) charakterizuj´ı mluvˇc´ıho, ale obt´ıˇznˇe se zjiˇsˇtuj´ı. V radiotechnice se tˇemto mal´ym posuv˚ um ˇr´ık´a “jitter”. ´navou, atd. Velikosti zmˇen F0 jsou • F0 je ovlivnˇen vˇs´ım – vˇetnou melodi´ı, n´aladou, u vˇetˇs´ı (vˇetˇs´ı “modulov´an´ı” hlasu) u profesion´aln´ıch mluvˇc´ıch, obyˇcejn´ı lid´e mluv´ı monot´ onnˇeji.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
6/37
Probl´ emy urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇ e periodick´y m˚ • ani znˇel´e hl´asky nejsou zcela periodick´e. Cistˇ uˇze b´yt pouze velmi ˇcist´y onn´ı. zpˇev. Pˇri generov´an´ı ˇreˇci s F0 =konst. je v´ysledn´a ˇreˇc monot´ • nevyskytuje se ˇcistˇe znˇel´e nebo neznˇel´e buzen´ı. Vˇetˇsinou je buzen´ı sm´ıˇsen´e (ˇsum na vyˇsˇs´ıch frekvenc´ıch). • pˇri n´ızk´e energii sign´alu je urˇcen´ı znˇelosti a z´akladn´ıho t´ onu obt´ıˇzn´e.
uˇze b´yt ovlivnˇen n´ızk´ym formantem F1 (ˇzeny, dˇeti). • vysok´y F0 m˚
• pˇri pˇrenosu ˇreˇci v telefonn´ım p´asmu (300–3400 Hz) nem´ame k dispozici z´akladn´ı harmonickou z´akladn´ıho t´ onu F0 , pouze n´asobky (vyˇsˇs´ı harmonick´e). Filtrace za u ´ˇcelem z´ısk´an´ı F0 by tedy k niˇcemu nevedla. . .
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
7/37
Metody pro urˇ cov´ an´ı z´ akladn´ıho t´ onu • autokorelaˇcn´ı + NCCF, kterou budeme aplikovat na p˚ uvodn´ı sign´al, d´ale na tzv. klipovan´y sign´al a na chybu line´arn´ı predikce. • vyuˇzit´ı prediktoru chyby line´arn´ı predikce. • cepstr´aln´ı metoda.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
8/37
Autokorelaˇ cn´ı funkce – ACF (Autocorrelation function)
R(m) =
N −1−m X
s(n)s(n + m)
(1)
n=0
S vyuˇzit´ım symetrie autokorelaˇcn´ıch koeficient˚ u: R(m) =
N −1 X
n=m
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
s(n)s(n − m)
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
(2)
9/37
Cel´y sign´al a jeden r´amec 4
4
x 10
3
2
1
0
−1
−2
−3
−4
0
2000
4000
6000
8000
10000
12000
4
2
x 10
1.5
1
0.5
0
−0.5
−1
−1.5
0
50
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
100
150
200
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
250
300
350
10/37
Ilustrace posunu 4
x 10 1.5 1 0.5 0 −0.5 −1
50
100
150
200
250
300
350
400
50
100
150
200
250
300
350
400
4
x 10 1.5 1 0.5 0 −0.5 −1
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
11/37
Vypoˇcten´a autokorelaˇcn´ı funkce 9
x 10 10
8
6
R(m)
4
2
0
−2
−4
−6
−8 0
50
100
150
200
250
300
m
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
12/37
V´ ypoˇ cet lagu a urˇ cen´ı znˇ elosti Lag se z ACF, ˇze hled´ame maximum autokorelaˇcn´ı funkce: R(m) =
N −1−m X
c[s(n)]c[s(n + m)]
(3)
n=0
Znˇelost r´amce m˚ uˇzeme odhadnout porovn´an´ım nalezen´eho maxima s nult´ym (maxim´aln´ım) autokorelaˇcn´ım koeficientem. Konstanta α se mus´ı zvolit experiment´alnˇe. Rmax < αR(0) ⇒
neznˇel´y
Rmax ≥ αR(0) ⇒
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
znˇel´y
(4)
13/37
Hled´an´ı maxima ACF ⇒ lag (pro uveden´y obr´azek L=87): 9
x 10
10
max
lag 8
6
R(m)
4
2
0
−2
−4
−6
20−160 − search interval
−8 0
50
100
150
200
250
300
m
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
14/37
AMDF V d´avn´ych dob´ach, kdy bylo n´asoben´ı n´aroˇcnˇejˇs´ı na ˇcas procesoru, se autokorelaˇcn´ı funkce nahrazovala funkc´ı AMDF (Average Magnitude Difference Function): RD (m) =
N −1−m X n=0
|s(n) − s(n + m)|,
(5)
kde bylo naopak nutn´e hledat pro urˇcen´ı lagu minimum.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
15/37
6
x 10 2.5
2
1.5
1
0.5
0
50
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
100
150
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
200
250
300
16/37
Cross-correlation function Nav´yhoda standardn´ı ACF je postupn´e “zkracov´an´ı” oblasti, ze kter´e autokorelaˇcn´ı koeficienty poˇc´ıt´ame. M˚ uˇzeme si dovolit pouˇz´ıt cel´y sign´al (pˇri re´aln´em zpracov´an´ı si ho mus´ıme zapamatovat) ⇒ CCF. Zaˇc´atek r´amce oznaˇc´ıme zr: CCF (m) =
zr+N X−1 n=zr
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
s(n)s(n − m)
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
(6)
17/37
Posunut´ı pro v´ypoˇcet NCCF: 4
x 10 1.5 1 0.5 0 −0.5 −1 −1.5
50
100
150
200
250
300
350
400
350
400
N−1
4
x 10 1.5 1
past signal
0.5 0 −0.5 −1
k=87 50
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
100
150
200
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
250
300
18/37
Posunut´ı pro v´ypoˇcet NCCF - probl´em, protoˇze posunut´y sign´al m´a mnohem vˇetˇs´ı energii ! 3000 2000 1000 0 −1000 50
100
150
200
250
300
350
400
350
400
N−1 3000 2000
big values ! 1000 0 −1000 50
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
100
150
200
250
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
300
19/37
Normalized cross-correlation function Rozd´ılnost energi´ı origin´aln´ıho a posunut´eho r´amce m˚ uˇzeme ˇreˇsit pomoc´ı normalizace: NCCF Pzr+N −1 s(n)s(n − m) (7) CCF (m) = n=zr √ E 1 E2 E1 a E2 jsou energie origin´aln´ıho a posunut´eho r´amce: E1 =
zr+N X−1 n=zr
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
s2 (n)
E2 =
zr+N X−1 n=zr
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
s2 (n − m)
(8)
20/37
CCF a NCCF pro “dobr´y pˇr´ıklad” 9
x 10 10
5
0
−5
50
100
150
200
250
300
50
100
150
200
250
300
1
0.5
0
−0.5
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
21/37
CCF a NCCF pro “ˇspatn´y pˇr´ıklad” 7
x 10 1.5 1 0.5 0 −0.5 −1 −1.5 −2
50
100
150
200
250
300
50
100
150
200
250
300
1
0.5
0
−0.5
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
22/37
Nev´ yhoda: metody nedostateˇ cnˇ e potlaˇ cuj´ı vliv formant˚ u (to se projev´ı dalˇs´ımi maximy v ACF nebo v AMDF). Centr´ aln´ı klipov´ an´ı – Center Clipping pˇredzpracov´av´a sign´al pro ACF, se zaj´ım´ame pouze o ˇspiˇcky sign´alu. Definujeme tzv. klipovac´ı u ´rovˇen ˇ cL . V prvn´ı variantˇe t´eto metody ze sign´alu “vynech´av´ame interval” < −cL , +cL >. Ve druh´e variantˇe nahrazujeme hodnotou 1 sign´al tam, kde je pˇrekroˇcena ´rovnˇe −cL : u ´roveˇ n cL a hodnotou -1 tam, kde sign´al nedos´ahne u s(n) > cL s(n) − cL pro c1 [s(n)] =
c2 [s(n)] =
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
0
pro
s(n) + cL
pro
+1 0 −1
−cL ≤ s(n) ≤ cL s(n) < −cL
pro
s(n) > cL
pro
−cL ≤ s(n) ≤ cL
pro
(9)
(10)
s(n) < −cL
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
23/37
Obr´azky ilustruj´ı klipov´an´ı na r´amci ˇreˇcov´eho sign´alu pro klipovac´ı u ´roveˇ n 9562: 2
x
4
10
1.5
1
original
0.5
0
−0.5
−1
−1.5
0
50
100
150
200
250
300
350
200
250
300
350
200
250
300
350
samples
2
x
4
10
1.5
1
clip 1
0.5
0
−0.5
−1
−1.5
0
50
100
150 samples
1 0.8 0.6 0.4
clip 2
0.2 0 −0.2 −0.4 −0.6 −0.8 −1 0
50
100
150 samples
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
24/37
Urˇ cen´ı klipovac´ı u ´rovnˇ e Vzhledem ke kol´ıs´an´ı sign´alu s(n) nem˚ uˇze b´yt konstantn´ı a je nutn´e ji urˇcovat pro kaˇzd´y r´amec, na kter´em odhadujeme z´akladn´ı t´ on. Jednoduchou metodou je urˇcen´ı klipovac´ı u ´rovnˇe z maxim´aln´ı absolutn´ı hodnoty vzork˚ u v r´amci: cL = k
max
n=0...N −1
|x(n)|,
(11)
kde konstanta k se vol´ı od 0.6 do 0.8. Sofistikovanˇejˇs´ı metoda vyuˇz´ıv´a rozdˇelen´ı r´amce na ´roveˇ n je pak nˇekolik mikro-r´amc˚ u, napˇr. x1 (n), x2 (n), x3 (n) o tˇretinov´e d´elce. Klipovac´ı u urˇcena pomoc´ı “nejslabˇs´ıho” maxima z tˇechto mikro-r´amc˚ u jako: cL = k min {max |x1 (n)|, max |x2 (n)|, max |x3 (n)|}
(12)
Probl´ em: klipov´an´ı ˇsumu v pauz´ach, kde m˚ uˇze b´yt n´aslednˇe detekov´an z´akladn´ı t´ on a znˇelost. Metodu je vhodn´e doplnit urˇcen´ım u ´rovnˇe ticha sL (silence level). Pokud maximum sign´alu < sL , pak se znˇelost a lag neurˇcuj´ı. Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
25/37
Vyuˇ zit´ı chyby line´ arn´ı predikce Jedn´a se o pˇredzpracov´an´ı nejen pro metodu ACF, ale i pro jin´e algoritmy urˇcen´ı z´akladn´ıho t´ onu. Opakov´an´ı: chybu line´arn´ı predikce z´ısk´ame jako rozd´ıl skuteˇcn´eho a pˇredpovˇezen´eho sign´alu: e(n) = E(Z)
=
e(n) =
s(n) − sˆ(n)
(13)
S(z)[1 − (1 − A(z))] = S(z)A(z)
(14)
ai s(n − i)
(15)
s(n) +
P X i=1
(16) Sign´al e(n) jiˇz neobsahuje informaci o formantech, proto je k urˇcov´an´ı z´akladn´ıho t´ onu vhodnˇejˇs´ı neˇz z´akladn´ı sign´al. Urˇcen´ı lagu z chybov´eho sign´alu m˚ uˇzeme prov´est pomoc´ı ACF apod. Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
26/37
Srovn´ an´ı autokorelaˇ cn´ıch funkc´ı N´asleduj´ıc´ı obr´azek presentuje autokorelaˇcn´ı funkce vypoˇc´ıtan´e ze z´akladn´ıho sign´alu, z klipovan´eho sign´alu a z chyby line´arn´ı predikce. x
1.5
10
10
1
R(m)
0.5
0
−0.5
−1
0
50
100
150
200
250
300
350
m
8
x
9
10
6
Rcl1(m)
4
2
0
−2
−4
0
50
100
150
200
250
300
350
200
250
300
350
m
6
x
8
10
5
4
Re(m)
3
2
1
0
−1
0
50
100
150 m
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
27/37
Dlouhodob´ y prediktor chyby predikce pro urˇ cen´ı z´ akladn´ıho t´ onu Snaˇz´ıme se pˇredpovˇedˇet n-t´y vzorek sign´alu ne z P pˇredch´azej´ıc´ıch vzork˚ u (jako u LPC), ale ze dvou vzork˚ u vzd´alen´ych o pˇredpokl´adan´y lag. Pokud urˇc´ıme posun s minim´aln´ı energi´ı chyby predikce, lag jsme nalezli. Predikovanou chybu predikce zap´ıˇseme: eˆ(n) = −β1 e(n − m + 1) − β2 e(n − m)
(17)
Pak je chyba prediktoru chyby predikce d´ana: ee(n) = e(n) − eˆ(n) = e(n) + β1 e(n − m + 1) + β2 e(n − m)
(18)
Chceme minimalisovat energii tohoto sign´alu: min E = min
N −1 X
ee2 (n)
(19)
n=0
Postupujeme podobnˇe jako pˇri v´ypoˇctu LPC koeficient˚ u, jako ˇreˇsen´ı dost´av´ame pro Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
28/37
koeficienty β1 a β2 : β1 = [re (1)re (m) − re (m − 1)]/[1 − re2 (1)]
β2 = [re (1)re (m − 1) − re (m)]/[1 −
(20)
re2 (1)],
kde re (m) jsou normovan´e autokorelaˇcn´ı koeficienty chybov´eho sign´alu e(n). Po dosazen´ı tˇechto koeficient˚ u do vzorce pro energii 19 m˚ uˇzeme tuto energii zapsat v z´avislosti na posunut´ı m jako: E(m) = 1 − K(m)/[1 − re2 (1)]
kde K(m) = re2 (m − 1) + re2 (m) − 2re (1)re (m − 1)re (m)
(21) (22)
ˇ tak, ˇze vyhled´ame minim´aln´ı energii nebo tak, ˇze najdeme Lag nyn´ı m˚ uˇzeme naj´ıt bud maxim´aln´ı hodnotu funkce K(m) (uvˇedomme si, ˇze jmenovatel 1 − re2 (1) na m nez´avis´ı). L = arg
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
min
m∈[Lmin ,Lmax ]
E(m) = arg
max
m∈[Lmin ,Lmax ]
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
K(m)
(23)
29/37
Cepstr´ aln´ı anal´ yza pro urˇ cen´ı z´ akladn´ıho t´ onu Cepstr´aln´ı koeficienty m˚ uˇzeme z´ıskat pomoc´ı tohoto vztahu: £ ¤ −1 2 ln|Fs(n)| c(m) = F
(24)
V cepstr´aln´ıch koeficientech se daˇr´ı oddˇelit ˇc´ast koeficient˚ u zodpovˇednou za hlasov´y trakt (n´ızk´e indexy) od ˇc´asti zodpovˇedn´e za buzen´ı, a tedy i za z´akladn´e t´ on (vyˇsˇs´ı indexy). Lag je nutn´e opˇet nal´ezt hled´an´ım maxima c(m) v rozsahu povolen´ach lag˚ u.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
30/37
c0 is log−energy 1.2
1
filter
excitation
0.8
0.6
1st multiple of lag
0.4
2nd multiple of lag
0.2
0
−0.2
−0.4
0
20
40
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
60
80
100
120
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
140
160
180
200
31/37
Zlepˇsen´ı spolehlivosti urˇ cen´ı z´ akladn´ıho t´ onu M´ısto skuteˇcn´eho lagu je ˇcasto detekov´an poloviˇcn´ı ˇci nˇekolikan´asobn´y lag. Pˇredpokl´adejme napˇr., ˇze v pˇeti po sobˇe jdouc´ıch r´amc´ıch byly detekov´any tyto lagy: 50, 50, 100, 50, 50. V prostˇredn´ım r´amci se evidentnˇe jedn´a o chybu: detekci dvojn´asobn´eho lagu. Chyby tohoto typu se m˚ uˇzeme snaˇzit opravit nˇekolika zp˚ usoby.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
32/37
Neline´ arn´ı filtrace medi´ anov´ ym filtrem L(i) = med [L(i − k), L(i − k + 1), . . . , L(i), . . . , L(i + k)]
(25)
Medi´an seˇrad´ı hodnoty podle velikosti a vybere hodnotu, kter´a se nach´az´ı uprostˇred. Lagy z naˇseho pˇr´ıkladu tedy budou opraveny na 50, 50, 50, 50, 50.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
33/37
Metoda optim´ aln´ıch cest V pˇredch´azej´ıc´ıch metod´ach jsme lag urˇcovali tak, ˇze jsme urˇcili pouze jedno maximum, pˇr´ıpadnˇe minimum na jeden r´amec. Hled´an´ı maxima ˇci minima m˚ uˇzeme ovˇsem rozˇs´ıˇrit na nˇekolik r´amc˚ u vedle sebe: nebudeme hledat hodnotu, ale “cestiˇcku”, kter´a minimalizuje (ˇci maximalizuje) dan´e krit´erium. Pˇr´ıspˇevkem ke krit´eriu m˚ uˇze b´yt napˇr. hodnota R(m) R(0) nebo energie chyby predikce pro dan´y lag. D´ale je potˇreba definovat hypot´ezy o tvaru cesty (cesta se nem˚ uˇze z jednoho r´amce na druh´y v´yrznˇe zmˇenit. . . ). Algoritmus m´a pak tyto kroky: 1. urˇcen´ı moˇzn´ych cest — napˇr tak, ˇze rozd´ıp v hodnotˇe lagu mezi sousedn´ımi r´amci nesm´ı b´yt vˇetˇs´ı neˇz konstanta ∆L. 2. urˇcen´ı celkov´eho kriteria pro danou cestu. 3. v´ybˇer optim´aln´ı cesty.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
34/37
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
35/37
Desetinn´ e vzorkov´ an´ı Pro zv´yˇsen pˇresnosti urˇcen´ı F0 je vhodn´e sign´al nadvzorkovat a n´aslednˇe filtrovat. Dos´ahneme tak zv´yˇsen´ı vzorkovac´ı frekvence. Tuto operaci nen´ı nutn´e prov´adˇet “fyzicky”; d´a se prom´ıtnout pˇr´ımo do v´ypoˇctu autokorelaˇcn´ıch koficient˚ u. Nadvzorkov´an´ı ˇcasto zamez´ıme faleˇsn´e detekci dvojn´asobku skuteˇcn´eho lagu.
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
36/37
Pˇr´ıklad interpolovan´eho sign´alu a interpolaˇcn´ıho filtru: 1.4 16000
1.2 14000
1 12000
0.8 10000
0.6 8000
0.4 6000
0.2
4000
0
2000
−0.2
0 29
30
31
32
33
Urˇ cov´ an´ı z´ akladn´ıho t´ onu ˇreˇ ci
34
35
36
37
38
0
5
10
ˇ ´ Jan Cernock´ y, UPGM FIT VUT Brno
15
20
25
30
35
40
45
50
37/37