15.06.2013 Views

Teza doctorat (pdf) - Universitatea Tehnică

Teza doctorat (pdf) - Universitatea Tehnică

Teza doctorat (pdf) - Universitatea Tehnică

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

116<br />

Cap. 4. Analiza semnalului vocal<br />

În figura 4.46, toate punctele 1 – 22 fac parte din aceeaşi regiune vocalică. Algoritmul a<br />

identificat punctul 9 ca fiind punctul pivot, apoi a determinat maximele de perioadă mai întâi spre<br />

stânga (punctele 8 – 1) şi apoi spre dreapta (punctele 10 – 13). După punctul 13 nu s-a mai putut<br />

identifica un maxim situat la distanţa estimată de perioadă, deci punctul s-a marcat ca un hiatus,<br />

şi algoritmul se reia începând cu acest punct până la capătul segmentului. Din nou s-a determinat<br />

punctul pivot (19), s -a estimat o nouă perioadă, şi s-au determinat toate celelalte maxime de<br />

perioadă.<br />

4.6.1.4. Marcarea intervalelor de perioadă<br />

După determinarea tuturor punctelor de maxim de perioadă, se calculează punctele de<br />

capăt ale intervalelor de perioadă. Punctul de start al fiecărui interval se ia ca fiind primul punct<br />

de zero care precede maximul de perioadă corespunzător. Astfel fiecare interval de perioadă<br />

începe la punctul său de zero iniţial şi durează până la punctul iniţial al intervalului următor.<br />

Mk(i) Mk+1(j)<br />

Zk(m) Zk+1(n)<br />

PERk<br />

Figura 4.47. Determinarea intervalelor de perioadă<br />

Intervalul de perioadă PERk corespunzător punctului de maxim Mk(i) se calculează<br />

conform relaţiei :<br />

PERk d(<br />

Z k ( m),<br />

Z k 1<br />

( n))<br />

(4.70)<br />

unde:<br />

- Zk(m) este primul punct de zero anterior lui Mk(i)<br />

- Zk+1(n) este primul punct de zero anterior lui Mk+1(j)<br />

Calculată în număr de eşantioane, PERk = n-m , iar pe axa timpului :<br />

PERk(t) = (n-m)/Fes , unde Fes este frecvenţa de eşantionare.<br />

Algoritmul care realizează marcarea intervalelor de perioadă este următorul :<br />

Algoritmul Marcare_Perioade:<br />

(0) Se iniţializează începutul primului interval de perioadă: k = 0 şi Start0 = Start_Segment;<br />

(1) Pentru fiecare punct P(i) din interiorul segmentului considerat, se execută paşii (2) – (6)<br />

(2) Dacă P(i) este un punct de tip ZERO, se reţine poziţia lui : Zk(m)=P(i).<br />

(3) Dacă P(i) este un punct de tip maxim de perioadă (MAX_PERIOD), se execută paşii (4)<br />

– (6) ; dacă nu, se merge la pasul (6).<br />

(4) Pentru k >= 1, se reţine poziţia de început a perioadei curente : Startk = m, unde m este<br />

indicele ultimului punct de zero detectat la pasul (2).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!