6. ANALIZA SPECTRALĂ A SEMNALULUI VOCAL

Download Report

Transcript 6. ANALIZA SPECTRALĂ A SEMNALULUI VOCAL

5. ANALIZA SPECTRALĂ A
SEMNALULUI VOCAL
• urechea realizează o analiză spectrală a undei acustice recepţionate
T0=0.1
0 , T0 

1
0
-1
T0=0.2
0
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
1
1
0
-1
0
T0=0.5
 2 
s  t   0 sin  t  ,
 T0 
1
0
-1
0
t
Metodele de analiză spectrală au ca obiective:
• analiza spectrală continuă a semnalului vocal
(necesară în procesul recunoaşterii vorbirii sau a vorbitorului);
• utilizarea rezultatelor analizei spectrale în tehnicile de sinteză a
semnalului vocal (bazate pe prelucrarea în domeniul frecvenţă).
Principalele metode de analiză spectrală:
• analiza cu ajutorul densităţii spectrale pe termen scurt,
pornind de la definirea transformatei Fourier pe termen scurt;
• analiza spectrală cu ajutorul bancului de filtre;
• analiza parametrică – parametrizarea semnalului vocal
pe baza modelării autoregresive (codarea prin predicţie liniară)
si a analizei cepstrale (homomorfice).
Analiza homomorfică (cepstrală) a semnalului vocal
• semnalul x analizat provine din convoluţia a două semnale.
• semnalului vocal x[n] se obţine ca o convoluţie între excitaţia
la nivel glotal, e[n] şi funcţia pondere a tractului vocal, h[n].
x  n  e  n  h  n 
• separarea celor două semnale nu este posibilă prin filtrare
deoarece ele ocupă în general aceeaşi bandă de frecvenţă.
• analiza homomorfică, ce are la bază noţiunea de cepstru,
permite în anumite condiţii separarea celor două semnale.
• se realizează deconvoluţia semnalului x[n].
• cepstrum (engleză), reprezintă anagrama cuvântului spectrum.
X  z    x  n z n
n
Xˆ  z   ln X  z    xˆ  n  z  n
n


xˆ  n  Z 1 Xˆ  z   Z 1 ln X  z 
xˆ  n   H  x  n 
Transformare homomorfică
ln X  z   ln E  z  H  z   ln E  z   ln H  z 
xˆ  n   eˆ  n   hˆ  n 
x[n]
*
Z-1{}
X(z)
Z{}
ln{}
{}
*
Z{}
h[n]
H(z)
exp{}
Bloc de
prelucrare
liniară
(“lifter”-engl.)
Z-1{}
 -1{}
Schema bloc de realizare a unei prelucrări homomorfice
• în cazul în care prelucrarea liniară este realizată în domeniul
frecvenţă, blocurile marcate cu `*` lipsesc.
Proprietăţile cepstrului complex
x  n  x1  n  x2  n  xˆ n  xˆ1 n  xˆ2 n
1.
X z  K
2.
A
B
i 1
C
i 1
D
i 1
i 1
1 
1

a
z

  1  bi z 

i
1 
1

c
z

  1  di z 

i
ai  1, bi  1, ci  1, di  1.
Xˆ  z   ln X  z  
A
B
C
D
i 1
n z n
i 1
i 1
i 1
 ln K   ln 1  ai z 1    ln 1  bi z    ln 1  ci z 1    ln 1  di z  
  xˆ 
n

f ' 0
f ''  0  2
f  x   ln 1  x   f  0  
x
x 
1!
2!
1
1
1
 x  x 2  x3  x 4 
2
3
4
f  n  0 n

x 
n!
 1 n
 
x
n 1 n


ln K


 C n A n
ci
ai


 

xˆ  n    i 1 n i 1 n


 B bi n D di n


 i 1 n i 1 n


n
pentru n  0
pentru n  0
pentru n  0

3. Dacă funcţia X(z) este stabilă şi de fază minimă atunci cepstrul
va fi cauzal
xˆ  n  0 pentru n  0
 xˆ par  n  pentru n  0

xˆ  n   2 xˆ par  n  pentru n  0

0
pentru n  0


xˆ  n   xˆ par  0  n   2 xˆ par  n  u  n  1


F

 ln X  e j   ln X  e j   j arg X  e j 
xˆ  n   xˆ par  n   xˆimpar  n  

1
F

F

 ln X  e j 
xˆ par  n  

1
F
4. Cepstrul unei succesiuni de impulsuri Dirac periodice
(de perioadă N şi amplitudine C):

x  n    C    n  lN 
l 0
X  z    x  n
z n
 C  1 
zN

z 2 N

n
1
  C  1  zN
Xˆ  z   ln C  ln 1  z  N   Xˆ 1  z   Xˆ 2  z 
ln C
 1
xˆ  n   
 k
 0
pentru n  0
pentru n  kN , cu k  1,2,
in rest
,
Exemplu:
x1  n   u  n 

x2  n    10    n  20l 
l 0
x  n  x1  n  x2  n  xˆ n  xˆ1 n  xˆ2 n
ln1  0 pentru n  0
 1
xˆ1  n   
pentru n  0
 n
in rest
 0
pentru n  0
ln10  2,3

1
xˆ2  n   
pentru n  20k , cu k  1,2,
k

0
in rest

,
2.5
2
pt. x2[n]
1.5
1
pt. x1[n]
0.5
0
0
10
20
30
40
50
60
n
Cepstrele corespunzătoare celor două secvenţe din exemplu
Cepstrul real
cˆ  n  xˆ par  n   F
x[n]
DFT
1
ln X   
X[k]
e j
ln{|●|}
1

2

2
ln|X[k]|
ln X  e j  e j n d
DFT-1
Evaluarea cepstrului real cu ajutorul DFT
Utilizarea analizei cepstrale în prelucrarea semnalului vocal
- pentru o transa sonora de semnal vocal:
x  n   e  n  g  n   ht  n   r  n   w n 
- e[n] = excitaţia idealizată formată din impulsuri unitate cu perioada P;
- g[n] = funcţia pondere a filtrului trece jos (FTJ) ce simulează forma
impulsurilor glotale;
- ht[n] = funcţia pondere a tractului vocal;
- r[n] = răspunsul la impuls al filtrului ce modelează regiunea buzelor;
- w[n] = fereastră de ponderare.
Estimarea frecvenţei fundamentale
• estimarea frecvenţei fundamentale este legată de tranşele sonore.
• perioada T0 este în general cuprinsă între limitele 2 ms – 17 ms;
• frecvenţa fundamentală F0 variază între:
- 60 Hz – 250 Hz pentru voci masculine;
- 150 Hz – 500 Hz pentru voci feminine.
• atunci când o metodă de determinare nu furnizează o valoare
plauzibilă pentru perioada fundamentală P
P  Fe / F0  T0 / Te
se decide că tranşa respectivă este nesonoră.
1. Metoda autocorelaţiei
- evaluarea funcţiei de autocorelaţie pentru tranşa de N eşantioane
ce acoperă mai multe perioade ale fundamentalei:
r k  
N  k 1
 x  n x  n  k 
n0
- nu este necesară evaluarea funcţiei de autocorelaţie pentru toate
valorile lui k, ci doar pentru un interval:
Pmin  k  Pmax
Pmin 
Fe
F0 max

8000
 16
500
Pmax 
Fe
F0 min

8000
 133
60
- se caută maximul cel mai pronunţat al funcţiei de autocorelaţie
cuprins în acest interval.
Exemplu:
k  P  80
F0 
F 8000
1
1

 e 
 100 Hz
T0 P  Te P
80
- o reducere a timpului de calcul se poate realiza dacă reţinem din
fiecare eşantion x[n] doar partea care depăşeşte un anumit prag L:
 x  n   L pentru

x1  n    x  n   L pentru
 0
pentru

r1  k  
N  k 1

n0
x  n  L
x  n   L
x  n  L
x1  n  x1  n  k 
- o altă posibilitate constă în a substitui toate eşantioanele ce
depăşesc pragul L prin eşantioane de valoare fixă
(de exemplu egale cu +/-1)
 1 pentru

x2  n   1 pentru
 0 pentru

r2  k  
N  k 1

n0
x  n  L
x  n   L
x  n  L
x2  n  x2  n  k 
2. Metoda AMDF
Average Magnitude Difference Function
= metoda funcţiei medie a diferenţei modulelor
Dk  
N  k 1
 x  n  x  n  k 
n0
k   Pmin ; Pmax 
- estimarea frecvenţei fundamentale se face prin găsirea indicelui
k = P din intervalul menţionat, pentru care D[k] este minim posibil.
Fe
1
1
F0  

[Hz]
T0 P  Te P
3. Metoda filtrului invers
x[n]
H(z) = Ap(z)
  n  Ke n
Eroarea de predicţie
Semnalul original
Filtrul invers
- pentru o tranşă sonoră, acest filtru produce eroarea de predicţie,
ce reprezintă excitaţia cvasiperiodică aplicată tractului vocal
(multiplicată cu o constantă).
- “perioada” P a poate fi determinată direct în domeniul timp.
- rezultatele se îmbunătăţesc dacă se aplică metoda autocorelaţiei,
considerând în locul semnalului x[n] secvenţa de eroare de la
ieşirea filtrului invers.
4. Metoda cepstrală
x  n  e  n  h  n   xˆ  n   eˆ  n   hˆ  n 
hˆ  n   xˆ  n   w n 
1 pentru n  n0
w n   
in rest
0
eˆ  n   xˆ  n   hˆ  n 
n  P  Pmin ; Pmax 
pentru care eˆ  n  = max.
Fe
1
1
F0  

[Hz]
T0 P  Te P