Compresia Semnalelor Vocale In Telecomunicatii
Introducere
Semnalele sunt mărimi fizice care evoluează în timp. Acestea pot fi utile sau semnale perturbatoare numite zgomote. În telecomunicații semnalele purtătoare de informație sunt aleatorii (nu se poate prezice ce se va întâmpla). Un exemplu ar fi semnalul de imagine video sau semnalul vocal de la ieșirea unui microfon.
Prin codare se înțelege ansamblul de operații care se aplică unui semnal pentru a fi transformat în alt semnal, după un algoritm, urmând să formeze un cod. Decodarea este operația inversă codării. Semnalele utile sunt purtătoare de informații, cum ar fi semnalele audio, semnalele TV și semnalele de date și semnale de test (tonuri cu frecvențe fixe, semnale de sincronizare).
Semnalele de audiofrecvență sunt cuprinse în intervalul 10-20Hz…20-25KHz și sunt percepute de urechea umană ca variații de presiune ale aerului. Semnalul audio poate fi vocal sau muzical. Semnalul vocal este cuprins între 20-40Hz și 8-10KHz. În urma diverselor cercetări s-a constatat că cea mai mare parte din energie este concentrată în intervalul 300Hz-2KHz. Timbrul vocal face identificabilă vorbirea și este determinat de componentele cu frecvență mai mare până la 3-4KHz. Deoarece componentele din semnalul vocal aflate la o frecvență de sub 300Hz nu contribuie la inteligibilitatea vorbirii, s-a admis banda de 240-300…2,7-3,4KHz pentru semnalele vocale. Semnalul muzical este cuprins în intervalul 20-40Hz…peste 20KHz. Sinteza semnalului vocal constă în producerea semnalului vocal pornind de la un dicționar de elemente fonetice.
Codarea vorbirii a fost și încă este o problemă majoră în domeniul prelucrării digitale în care este nevoie de stocarea semnalului vocal. Compresia face posibilă stocarea mesajelor mai lungi în cazul unei cantități fixe de memorie disponibilă. Există câteva tehnici de codare a vorbii, cum ar fi: codare liniar predictivă, codare diferențială, adaptivă, codarea formelor de undă. Aceste tehnici sunt utilizate pentru a caracteriza semnalul vocal înregistrat.
Scopul lucrării
Lucrarea „Compresia semnalelor vocale în telecomunicații” are ca scop detalierea tehnicilor de codare a semnalelor vocale. Voi prezenta codarea diferențială, cuantizarea adaptivă, cuantizarea adaptiv diferențială și voi pune accent pe codarea liniar predictivă.
Obiectivele lucrării
Prin realizarea unor serii de simulări în programul Matlab R2013a voi pune în evidență compresia semnalelor vocale prin ilustrarea diferențelor între trei metode ale codării liniar predictive: metoda autocorelației, metoda covarianței și metoda filtrelor Lattice.
Principiile codării eficiente a semnalelor vocale
În zilele noastre este foarte important să se poată transmite un semnal vocal de o calitate superioară pe o bandă limitată a canalului de comunicație. Informația din semnalul vocal cere o bandă mai mare decât cea disponibilă. Compresia se realizează prin acoperirea diferenței dintre banda disponibilă și banda cerută de semnalul vocal necomprimat.
Conform stadiului actual al cunoașterii în domeniu există două abordări diferite pentru rezolvarea recunoașterii vorbirii. Prima metodă este recunoașterea statistică a vorbirii (Statistical Speech Recognition) prin care se dorește modelarea unităților lingvistice (foneme, silabe, cuvinte) utilizând modelele Markov ascunse. Această metodă este cea mai populară și mai larg răspândită. Cealaltă direcție dorește să utilizeze cunoștințele din domeniul rețelelor neuronale artificiale și se numește abordarea conexionistă (Connectionist Speech Recognition).
Modelul lingvistic este un element deosebit de important al oricărui sistem de recunoaștere a vorbirii continue. El îmbunătățește semnificativ performanțele sistemului restricționând unele combinații de unități lingvistice care nu sunt posibile sau oricum nu ar avea sens. Restricționarea introdusă înseamnă de fapt o reducere a spațiului de căutare a soluțiilor. Modelele lingvistice înglobează informații a priori însușite în prealabil pe baza unor colecții mari de texte de antrenare.
Modelele lingvistice pot fi realizate în mai multe moduri, utilizând diferite unelte matematice. În general ele pot fi împărțite în următoarele categorii:
modele uniforme, în care fiecare unitate lingvistică este echiprobabilă;
modele lingvistice cu automate secvențiale cu stări finite, care dau rezultate bune doar în cazul sistemelor de recunoaștere a vorbirii în care sunt permise numai câteva tipuri de construcții gramaticale bine definite;
modele lingvistice gramaticale (Context Free Grammar – CFG), care iau în considerare structura sintactică a frazelor determinând părțile de vorbire (sunt bazate pe cunoștințe gramaticale);
modele lingvistice gramaticale statistice (Probabilistic Context Free Grammar -PCFG) care atașează valori de probabilități regulilor din CFG;
modele statistice, care se bazează pe probabilitățile condiționate ale cuvintelor consecutive utilizând lanțuri Markov.
Cel mai des utilizat model lingvistic este cel statistic atât pentru simplitatea implementării cât și pentru rezultatele bune obținute.
Energia semnalului reflectă variația în timp a amplitudinii semnalului vocal. Se utilizează atât pentru determinarea secvențelor sonore respectiv nesonore, cât și pentru detecția liniște – vorbire împreună cu numărul de treceri prin zero.
Dacă energia semnalului este mare, înseamnă că avem o secvență de vorbire sonoră. O valoare redusă a energiei indică lipsa vorbirii (liniște) sau existența unei secvențe nesonore.
Sunetele generate de dispozitive sau persoane sunt captate de dispozitive de captare a sunetelor (de exemplu microfonul). Principiul de funcționare al acestuia este similar modului de funcționare a urechii umane, prin urmare, sunetele care ajung la microfon interacționează cu membrana acestuia care le transformă în semnale electrice. Semnalele electrice generate de microfon sunt transformate în șiruri de numere cu convertoare analog numerice care primesc la intrare o tensiune electrică și generează la ieșire un cod binar. Pentru reprezentarea unui semnal în formă digitală, acesta trebuie eșantionat. Prin eșantionare, dintr-un semnal se extrag cadre la intervale de timp echidistante în timp ∆T. Se obțin astfel valori ale semnalului la momentele eșantionării. Datorită faptului că reprezentarea numerică este un șir finit de biți, apare eroarea de cuantizare. Calitatea sunetului digital care se dorește a fi obținută depinde de numărul de biți folosiți pentru a reprezenta un cadru și de intervalul de timp dintre cadre.
Calitatea sunetului crește cu numărul de biți și cu scăderea intervalului de timp dintre două cadre.
Tehnicile de compresie cele mai utilizate sunt cele cu pierdere de informație și cele fără pierdere de informație. În cazul semnalelor vocale se preferă utilizarea tehnicilor de compresie cu pierdere de informație, cum ar fi cele bazate pe predicție. Oricare dintre tehnicile de compresie sunt precedate de prelucrări de bază a semnalelor prin eșantionare, cuantizare sau codare.
Eșantionarea este descrisă de relația:
x[n] reprezintă semnalul discret rezultat în urma memorării semnalului analogic xa(t) la fiecare T secunde.
Figura 1. Eșantionarea periodică a unui semnal analogic
Perioada sau intervalul de eșantionare reprezintă intervalul de timp T dintre două eșantioane succesive. Viteza/rata/frecvența de eșantionare (Fs) este inversa perioadei de eșantionare.
Pentru a putea stabili frecvența de eșantionare Fs optimă pentru refacerea semnalului analogic din cel eșantionat, trebuie determinată cea mai mare frecvență din spectrul semnalului analogic. Rezultă că frecvența de eșantionare Fs ≥ 2 Fmax. Prin îndeplinirea acestei relații se asigură transformarea semnalului analogic în semnal discret, dar și reconstruirea semnalului analogic din eșantioanele sale.
Cuantizarea semnalelor de amplitudine continuă reprezintă procesul de conversie a unui semnal discret care ia valori într-un domeniu continuu, într-un semnal discret care ia valori într-o mulțime finită de valori posibile.
Cu ajutorul codării se atribuie o secvență binară unică fiecărui nivel de cuantizare. Considerăm L nivele de cuantizare și rezultă că sunt necesare L secvențe binare distincte. Având o lungime de b biți pe secvență, se pot forma 2b secvențe binare distincte.
Semnalul vocal este un semnal complex cu numeroase caracteristici. În scopul compresiei trebuie avut în vedere că acesta nu este un semnal staționar, dar poate fi împărțit în segmente de 20 de ms astfel încât să poată fi considerat local staționar. Compresia semnalului vocal este favorizată de existența unui model autoregresiv de producere a vorbirii care presupune că semnalul vocal se obține prin filtrarea unui zgomot alb sau a unui tren de impulsuri Dirac folosind un filtru care are numai poli. Acest model este conform compresiei prin predicție liniară. În cazul semnalului vocal în banda telefonică, semnalul în timp continuu se filtrează în banda (300, 3300) Hz după care se eșantionează cu frecvența de 8KHz.
Producerea semnalului vocal
Este necesară înțelegerea producerii semnalului vocal deoarece se poate dezvolta un model pentru producerea unui semnal vocal sintetic. Cu ajutorul unui model se vor extrage parametrii modelului de producere a semnalului vocal de la un semnal vocal
original, apoi cu acești parametrii se va realiza sinteza vorbirii. Utilizând un model fiziologic al producerii vorbirii, se vor evidenția proprietățile vorbirii cum ar fi pasul de eșantionare și excitațiile.
Figura 2. Producerea vorbirii
După cum se poate observa în Figura 2., glota este deschiderea tractului vocal uman. Tractul vocal este o cavitate care are două deschideri: una este nara, iar cealaltă este reprezentată de buze. Membrana este un organ articulator care se poate muta în sus sau în jos pentru a contracta fluxul de aer, în scopul producerii sunetului prin buze sau se poate face o deschidere prin nări, astfel încât să fie produse sunete nazale. Un om are nevoie să producă diferite sunete în funcție de ce foneme rostește. În esență, totul este controlat prin fluxul de aer. Deschiderea tractului vocal este controlată periodic. Glota se deschide si se închide un interval de timp foarte scurt pentru a oferi tractului vocal pulsuri ca excitații. Tractul vocal este un filtru deoarece impulsurile sunt alimentate prin intermediul glotei. Acesta face un fel de modelare spectrală a impulsurilor care sunt produse. Modelarea spectrală care este realizată variază în timp, deci într-un interval scurt de timp se poate găsi răspunsul spectral al tractului vocal. După un timp comportamentul spectral se va schimba pentru că se va rosti altceva. Se realizează o analiză a semnalelor vocale pentru o perioadă scurtă de timp. Semnalele vocale nu sunt exact staționare, ci cvasi-staționare.
Se numesc cvasi-staționare pentru că parametrii statistici ai vorbirii rămân rezonabil constanți numai pentru o perioadă foarte scurtă de timp de ordinul a 10-20 ms. Cu ajutorul membranei se poate articula prin realizarea unor constrângeri: când membrana se lasă în jos se va bloca fluxul de aer din regiunea tractului vocal până la nivelul buzelor, iar deschiderea spre nări va fi mai mare astfel încât sunt emise sunete nazale. Pentru emiterea sunetelor vocalizate, membrana se va afla în partea de sus blocând pasajul nazal. Limba este un alt organ articulator în sensul că prin poziționarea limbii vor fi create niște constrângeri la nivelul buzelor. Pentru producerea vocalelor și a unor consoane fluxul de aer este controlat de corzile vocale care vibrează. În acest mod este creată deschiderea și închiderea glotei. Tractul vocal își poate schimba forma dinamic prin utilizarea organelor articulatorii ca membrana și limba; de aceea nu are un comportament constant în timp. Acesta este o sursă de excitație la nivelul trecerii prin glotă, urmat de un filtru care variază în timp.
Pentru o mai bună înțelegere a deschiderii glotei se va utiliza Figura 3.
Figura 3. Glota
Tractul vocal este considerat un tub. Există două tipuri de sunete care sunt produse: sunete vocalizate și sunete nevocalizate.
Sunetele vocalizate sunt produse prin vibrațiile corzilor vocale, pot fi modelate ca excitații cvasi-periodice care trec prin glotă și sunt modelate de tractul vocal.
Sunetele nevocalizate nu sunt produse ca vibrații ale corzilor vocale, ci ca un flux de aer continuu care trece prin glotă. Cu ajutorul organelor articulatoare au loc constrângeri creând turbulențe în fluxul de aer, dând naștere la sunete nevocalizate. De exemplu la pronunțarea consoanei “s”, pe lângă sunetul vocalizat se mai aud și alte sunete nevocalizate. Cum sunetele nevocalizate nu pot fi modelate cu excitații cvasi-periodice, va trebui utilizat un model de generator de zgomot.
Figura 4. Exemplu sunet vocalizat/nevocalizat
Întregul proces de producere a semnalului vocal este dinamic. Se schimbă în timp și este un comportament cvasi-staționar care ajută la crearea unui model pentru o analiză în timp scurt și extragerea parametrilor vorbirii.
Un model simplificat al producerii vorbirii este expus în Figura 5. Generatorul de excitații poate fi de două tipuri: care produce un tren de impulsuri prin glotă sau doar un generator de zgomot. Excitațiile sau impulsurile de la ieșirea generatorului, trec mai departe în tractul vocal.
Figura 5. Producerea semnalului vocal
Semnalul vocal rezultat produce vibrații în urechea ascultătorului care vor produce semnale către creier, iar acesta va decoda respectivele semnale, făcând omul capabil să înțeleagă informația transmisă.
Pentru a determina modelul ideal al vorbirii se va analiza funcționarea modelului real. Se va considera ca fiind modelul real al vorbirii cel din Figura 6.:
Figura 6. Modelul real al vorbirii
Acest model funcționează în două moduri: comutatorul K pe poziția a sau b.
În primul caz, când comutatorul K este plasat pe poziția a, se produc sunetele. Aceste sunete sunt modelate numeric prin intermediul unui generator de impulsuri, la ieșirea căruia rezultă semnalul
Tp reprezintă perioada corespunzătoare frecvenței fundamentale
Ts – perioada de eșantionare.
Sunetul de la ieșirea generatorului de impulsuri este trecut printr-un filtru cu funcția de transfer G(z), după care este multiplicat cu Θa pentru a obține intensitatea sonoră dorită. După comutatorul K semnalul este trecut prin două filtre: unul corespunzător traiectului vocal si cel de-al doilea modelează efectul buzelor.
În al doilea mod de lucru comutatorul K este plasat pe poziția b. Cu ajutorul unui generator de zgomot alb sunt generate fonemele insonore. La fel ca în primul caz semnalul este amplificat pentru a se aduce la nivelul dorit și trecut prin cele două filtre H1(z) și H2(z).
Pentru un model ideal al vorbirii filtrele G(z), H1(z) și H2(z) vor fi înlocuite cu un singur filtru cu funcția de transfer Θ(z) care reprezintă produsul filtrelor menționate.
Figura 7. Modelul ideal al vorbirii
Se utilizează modelul ARMA pentru obținerea filtrului cu poli si zerouri:
În cazul modelului ideal la intrarea filtrului compus se aplică excitația:
Modelul de generare a vorbirii stă la baza codării liniar predictive. Vorbirea este generată prin trecerea unui semnal de intrare printr-un filtru numai cu poli. Semnalul de
intrare este de tip tren de impulsuri pentru sunete vocalizate, când comutatorul K este conectat pe poziția a sau de tip zgomot alb pentru sunetele nevocalizate, comutatorul K fiind pe poziția b.
În timpul procesului de vorbire tractul vocal este într-o continuă mișcare, ceea ce înseamnă că parametrii filtrului variază în timp. Totuși, se poate considera că aceștia rămân constanți pe durata unui singur sunet, respectiv pe intervale de ordinul zecilor de milisecunde (20-40 ms). Codarea LPC realizează întâi segmentarea semnalului vocal pe durate de 20-40 ms, apoi se determină care segmente reprezintă semnal vocal și nu zgomot. Pentru fiecare segment se determină parametrii filtrului care modelează cel mai bine spectrul segmentului, precum și amplitudinea și tipul semnalului de intrare. În cazul sunetelor vocalizate se determină și frecvența trenului de impulsuri de la intrare. În această metodă nu se transmite propriu-zis forma semnalului vocal, ci parametrii modelului care caracterizează semnalul. Din acest motiv, metoda funcționează în cazul semnalelor vocale dar nu și în cazul altor semnale audio, cum ar fi cele muzicale, care nu se conformează aceluiași model.
Proces aleator staționar
Un proces sau semnal aleator se desfășoară în timp și este caracterizat de legi probabilistice. Semnalele aleatoare sunt studiate deoarece semnalele purtătoare de informație și zgomotele care apar în procesul de transmisie sunt modelate cu astfel de semnale.
Din punct de vedere matematic semnalul aleator este descris de funcția cu variabila k luând valori în spațiul eșantioanelor.
Figura 8. Reprezentarea geometrică a unui semnal aleatoriu
În figură e1, e2, …, eN reprezintă elementele din spațiul eșantioanelor, iar f(1)(t), f(2)(t),…, f(N)(t) sunt realizările particulare ale semnalului aleator f(t). Dacă variabila t ia valori în mulțimea numerelor reale, atunci semnalul f(t) se numește proces aleator continuu în timp. Dacă variabila t ia valori în mulțimea numerelor întregi, atunci procesul aleator f(t) se va numi discret în timp.
Pentru procesele aleatoare care modelează din punct de vedere matematic perturbațiile sau zgomotele în cazul unei transmisii se calculează valorile medii de diferite ordine.
Valorile medii statistice folosite în aplicații sunt:
Valoarea medie (momentul de ordinul întâi)
Valoarea pătratică medie (momentul inițial de ordinul doi)
Funcția de autocorelație (momentul inițial reunit de ordinul doi)
Funcția de corelație (momentul inițial mixt de ordinul doi)
f(t1) și g(t2) sunt variabile aleatoare obținute din procesele aleatoare f(t) și g(t) la momentele t=t1 și t=t2.
Dispersia (moment centrat de ordinul doi)
Funcția de autovarianță
Funcția de covarianță
Procesele aleatoare ale căror proprietăți statistice sunt invariante la schimbarea arbitrară a originii timpului se numesc staționare. Pentru procesele aleatoare staționare se scrie relația:
Clasificarea algoritmilor de codare/decodare a semnalelor vocale:
Algoritmi de codare a formei de undă – au la bază metode generale de codare a semnalelor unidimensionale. Semnalul vocal este prelucrat fie în domeniul timp (de ex. DPCM—Differential pulse-code modulation, ADPCM—Adaptive differential pulse-code modulation), fie în domeniul frecvență (codare pe
sub-benzi). Metodele folosite pot fi utilizate în general la orice fel de semnal audio, nu neapărat de voce.
Algoritmi de codare parametrică – se bazează pe un model cunoscut de generare a semnalului vocal. Codarea înseamnă determinarea parametrilor ce caracterizează modelul, urmând ca la decodare, pe baza aceluiași model și a parametrilor obținuți, să se regenereze semnalul. Metodele folosite nu pot fi în general utilizate la semnale audio ne-vocale, de ex. muzică, întrucât se bazează pe acest model particular al vorbirii.
Caracterizarea tehnicilor de codare a semnalelor vocale
Codarea vorbirii este procesul prin care se poate reprezenta numeric semnalul vocal. Obiectivele principale ale codării semnalului vocal sunt: reprezentarea semnalului pe un număr mic de biți și menținerea unei calități superioare pentru a se putea reface semnalul original.
Cea mai utilizată tehnică pentru codarea semnalului vocal este modularea impulsurilor în cod sau Pulse Code Modulation (PCM). Prin utilizarea acestei codări, fiecărui eșantion i se atribuie o valoare numerică independent de celelalte eșantioane. Codorul PCM determină un nivel de cuantizare al fiecărui eșantion fără a ține cont de nivelul eșantioanelor precedente și îi va atribui un cod binar care reprezintă semnalul codat.
Codarea liniară constă în considerarea valorii scalate a eșantionului ca un cuvânt de cod. Valoarea eșantionului poate fi o mărime cu semn, ținând cont că semnalul vocal variază în jurul unei poziții de referință.
Există o mare varietate de codări a semnalului vocal, fiecare oferind o calitate diferită semnalului codat. În ultimii ani s-au depus eforturi pentru dezvoltarea metodelor de codare cu o rată de bit mică si cu inteligibilitate satisfăcătoare a semnalului.
Codarea diferențială
Codarea diferențială este o metodă de codare a sursei și se utilizează la codarea semnalelor video si audio când diferența dintre două valori consecutive este mică. Acest tip de codare se folosește la modularea impulsurilor în cod (sau Pulse Cod Modulation). În cadrul acestei codări sunt cuprinse trei tipuri de modulații: modulația Delta (LDM – „Linear Delta Modulation”) – care folosește un bit pentru reprezentarea unui semnal analogic (se transmite 1 logic dacă eșantionul curent este mai mare decât precedentul și 0 logic în cazul în care este mai mic); modulația Delta Adaptivă (ADM – „Adaptive Delta Modulation”) – permite urmărirea schimbărilor rapide ale semnalului prin modificarea treptei de variație; modulația PCM diferențială (DPCM – „Differential Pulse Code Modulation”) – transmite doar diferența dintre două eșantioane consecutive pentru eliminarea redundanței.
Etapele codării diferențiale:
Se prezice valoarea curentă x(n) din valorile anterioare x(n-1), x(n-2),…, x(n-p)
Se calculează eroarea de predicție:
Figura . Codorul diferențial
este diferența dintre eșantionul de intrare și – predicția eșantionului.
este semnalul codat
este versiunea cuantizată a semnalului diferențial
– mărimea pasului de cuantizare.
este zgomotul de cuantizare
este forma cuantizată a semnalului de intrare
Din relațiile 1,2,3 rezultă:
Deci semnalul cuantizat este suma dintre semnalul original și zgomotul de cuantizare.
Dacă predicția este bună, semnalul diferențial va fi foarte mic.
Predicția de ordin superior (de ordin 2):
Funcția de transfer corespunzătoare:
În relația dacă cei doi poli sunt reali, rezultă un câștig de predicție crescut. De obicei este o creștere cu 4 dB, dar în cele mai multe cazuri diferă de la un semnal vocal la altul. În aplicațiile practice se utilizează predictorul de ordinul 1 deoarece este un circuit mai ușor de implementat cu o celulă de întârziere.
Așa cum a fost amintit anterior sunt diferite forme de cuantizare diferențială.
Modulația Delta
Schema modulatorului Delta este echivalentă cu schema bloc a codorului diferențial, cu precizarea că predictorul este definit.
Figura . Modulator Delta
În cadrul modulației Delta, semnalul diferențial este cuantizat fie la , fie la .
Figura . Modulația Delta
Din Figura rezultă valorile pe care le poate lua semnalul diferențial cuantizat și semnalul codat .
Pentru evidențierea cuantizării semnalului analogic se va utiliza Figura .
Figura . Cuantizarea semnalului analogic
Dacă derivata semnalului analogic în raport cu timpul este mai mare decât raportul dintre și perioada de eșantionare T (relația ), atunci va rezulta situația (a) din Figura în care semnalul cuantizat nu urmărește semnalul analogic, în caz contrar rezultă situația (b) (relația ) în care semnalul analogic este urmărit de semnalul cuantizat.
Într-un sistem generalizat de cuantizare diferențială se poate scrie expresia raportului semnal-zgomot.
este puterea semnalului
este puterea zgomotului
este varianța semnalului original
este varianța semnalului diferențial
este cuantizarea raportului semnal-zgomot, de aceea se notează cu
este câștigul datorat cuantizării diferențiale.
Dacă rezultă un câștig . În acest caz raportul semnal-zgomot care se va obține va fi mai mare decât raportul semnal-zgomot al cuantizorului.
Dacă semnalul vocal are niște corelații între eșantioanele apropiate, semnalul diferențial va fi foarte mic, deci și varianța acestui semnal va avea o valoare mult mai mică decât .
Obiectivul este maximizarea câștigului prin alegerea adecvată a sistemului predictor P. Pentru a prezice din se poate utiliza un predictor liniar.
Un predictor liniar prezice un semnal printr-o combinație liniară a semnalelor anterioare.
coeficienții predictorului
Transformata Z a predictorului are expresia:
Predictorul pentru modulația Delta are valoarea .
Funcția de transfer a întregului sistem este:
Autocorelația normalizată este autocorelația semnalului vocal original raportată la varianța semnalului original.
Câștigul optimal al cuantizării diferențiale se obține cu ajutorul autocorelației normalizate.
Luând în considerare primul eșantion anterior, p va lua valoarea 1 și câștigul va avea o expresie simplificată.
Pe baza ipotezei că raportul semnal-zgomot este mare, rezultă și se poate obține matematic o expresie aproximativă a câștigului optimal:
Pentru aplicațiile practice poate lua valori între 0,8 – 0,95.
Ideal ar fi , dar în acest caz câștigul ar fi infinit.
Dacă , câștigul va avea valoarea , ceea ce înseamnă 4.43 dB.
Variația câștigului optimal în funcție de numărul de eșantioane se poate observa în Figura 10.:
Figura . Câștigul optimal
În analiză cu cât se iau în considerare mai multe eșantioane, se obține un câștig optimal mai mare și se realizează o predicție mai bună.
Modulația Delta Adaptivă
Schema modulatorului Delta Adaptiv este echivalentă cu schema bloc a codorului diferențial la care se adaugă un adaptor pentru pasul de cuantizare.
Figura . Modulator Delta Adaptiv
La modulația Delta Adaptivă se va utiliza variația pasului de cuantizare deoarece există un bloc de adaptare pentru în funcție de numărul de eșantioane.
Dacă semnalul codat rămâne constant la aplicarea a două eșantioane succesive, se va crește pasul de cuantizare aplicând relația 2.
Pentru o cuantizare cât mai exactă trebuie variat în funcție de semnalul codat între limitele minim și maxim.
M este un factor de multiplicare pentru pasul de cuantizare
Algoritmul pentru alegerea factorului de multiplicare pentru pasul de cuantizare (algoritmul lui Jayant):
Pentru stabilitate .
PCM Diferențial (DPCM)
Differential Pulse Code Modulation este o tehnică de exploatare a variațiilor semnalului pentru realizarea unui raport de compresie mai mare, fără a pune în pericol calitatea semnalului în sine. Rata de bit este cantitatea de date necesară pentru codarea unei secunde de semnal video sau audio.
DPCM este un modulator multi-nivel spre deosebire de modulatorul Delta care este cuantizor pe două nivele.
Figura . Caracteristica DPCM
Observații: – Cuantizarea diferențială produce o îmbunătățire față de cuantizarea directă.
Îmbunătățirea depinde de corelație.
Un predictor fix nu poate fi optim pentru toate semnalele vocale.
Aplicație DPCM
Utilizând un semnal vocal de tip “.wav” se va demonstra cum se codează și decodează diferențial acest semnal.
Codarea și decodarea modulării diferențiale a impulsurilor în cod:
% Citirea semnalului vocal de intrare original
[x, Fs, nbits] =wavread('audio1.wav');
% x – eșantioanele semnalului de intrare
% Fs – frecvența de eșantionare
% nbits – numărul de biți
initcodebook = [-1:.1:1];
[predictor,codebook,partition] = dpcmopt(x,1,initcodebook);
% cuantizarea semnalului de intrare utilizând DPCM
encodedx = dpcmenco(x,codebook,partition,predictor);
% recuperarea semnalului de intrare din semnalul modulat
decodedx = dpcmdeco(encodedx,codebook,predictor);
distor = sum((x-decodedx').^2)/length(x)
figure
subplot(3,1,1);
plot(x);
title('Semnalul vocal original');
subplot(3,1,2);
plot(encodedx);
title('Semnalul vocal codat DPCM');
subplot(3,1,3);
plot(decodedx);
title('Semnalul decodat DPCM');
Am aplicat la intrare un semnal vocal „audio1.wav” pentru a vedea diferența dintre semnalul original, cel codat și decodat diferențial.
Se poate observa cum în urma codării semnalul este ușor distorsionat și nu mai urmărește aceeași amplitudine.
Pentru decodare se ia ca semnal de intrare, semnalul vocal codat DPCM anterior. Din cauză că acesta este deja distorsionat este de așteptat ca în urma decodării să existe pierderi de informație din semnal. Acest lucru se poate identifica în figura ce a rezultat în urma simulării.
Cuantizarea adaptivă
Cuantizarea adaptivă înseamnă acele tipuri de cuantizare unde parametrii de cuantizare vor fi ajustați dinamic în conformitate cu variația semnalului. O metodă de a obține un cuantizor adaptiv este ca înainte de efectuarea cuantizării semnalul va fi multiplicat cu un câștig. Va fi introdus un câștig care nu va fi constant, ci va varia în concordanță cu semnalul.
În Figura 10. este detaliată schema cuantizării adaptive cu câștig variabil.
Figura . Codor/decodor adaptiv
Intrarea este multiplicată de câștigul . Ieșirea este cuantizată și trecând prin codor, va fi generată secvența codată .
Cuantizorul și codorul vor fi controlați de pasul de cuantizare Δ. În acest caz parametrul este fix, deci nu va trebui să fie transmis pe canal.
În decodor va intra semnalul și nu care iese din codor, deoarece pe canal există pierderi. Pentru a se recupera semnalul original, ieșirea din decodor va fi divizată de câștigul afectat de pierderi. Varianța semnalului de la intrare va fi suma produsului dintre semnalul de la intrare și funcția filtrului trece-jos. Filtrul este unul cu răspuns finit la impuls sau dacă se utilizează un filtru cu răspuns infinit la impuls, se urmărește să poată fi implementat.
Parametrul va lua valori între 0 și 1.
Luând în considerare relațiile de mai sus, rezultă:
Din relațiile rezultă ecuația cu diferențe:
Relația este utilă deoarece se cunoaște estimatul anterior și se multiplică cu parametrul , după care se adaugă , ceea ce înseamnă că se adaugă un nou eșantion.
Acesta este un mod recursiv pentru calcularea varianței . În cazul în care parametrul are o valoare mare (apropiată de 1), estimarea trecută va avea un efect mai mare; iar dacă are o valoare mai mică, variația semnalului depinde de . Deci cu o valoare mai mică a parametrului varianța semnalului va avea o variație mai rapidă, iar cu o valoare mai mică varianța va fi mai mică.
Pentru calcularea câștigului se va utiliza relația:
Câștigul se va obține prin divizarea unui câștig constant, la deviația standard.
Câștigul va trebui să fie limitat într-un interval finit:
În aplicațiile practice raportul . Din această condiție rezultă o valoarea a raportului semnal/zgomot (SNR) de 40 dB.
dă efectul unei filtrări trece-jos. Cu siguranță acest filtru va avea o frecvență de tăiere superioară și din cauza acestei frecvențe nu se poate obține care va fi eșantionat la un nivel mai mare decât cel al frecvenței filtrului trece-jos. este un proces mai lent decât eșantionarea semnalului vocal. Semnalul vocal este eșantionat la o frecvență de 8 KHz – 10 KHz.
Codarea adaptivă se utilizează pentru analiza variației semnalului vocal în timp. Aceasta funcționează pe principiul realizării în codor a estimării unor proprietăți ale semnalului vocal.
Cuantizarea adaptiv diferențială
Codarea adaptiv diferențială poate fi realizată urmând etapele:
pentru generarea estimării semnalului de intrare se vor folosi mai multe eșantioane precedente
fiecărui eșantion i se va da o pondere variabilă în funcție de nivelul mediu de putere al semnalului de intrare
amplitudinea pasului de cuantizare este modificată în funcție de nivelul de intrare.
Figura . PCM diferențial adaptiv
Semnalul analogic care are o variație rapidă sau lentă va fi urmărit mai bine prin realizarea unui pas de cuantizare adaptiv. Semnalul cu variație lentă este cazul semnalului nevocalizat. Cerințele semnalelor vocalizate și nevocalizate sunt satisfăcute foarte bine de sistemul ADPCM și este o soluție preferată pentru codarea vorbirii.
Dacă se pot obține coeficienții predictorului care se pot schimba dinamic în conformitate cu semnalul, ar fi soluția ideală care nu se poate obține în aplicațiile practice.
Predicția adaptivă:
Expresia este valabilă pentru un predictor de ordin „p”. Se poate observa că în acest caz coeficienții predictorului sunt variabili și își vor schimba valoarea de la un eșantion la altul. Predicția adaptivă constă în controlul adaptiv al coeficienților predictorului .
sunt coeficienții predictorului corespunzători eșantioanelor precedente
se poate modifica la fiecare 10-20 de milisecunde.
Coeficienții optimi ai predictorului satisfac relația:
este funcția de autocorelație pe o perioadă scurtă de timp
w(n-m) este funcția fereastră poziționată în n și poate fi comparabilă sau mai mare decât perioada .
Figura 18. Câștig ADPCM
este câștigul predictorului
reprezintă numărul de coeficienți ai predictorului
Observații: – O dată cu creșterea numărului de coeficienți ai predictorului/ordinul predictorului, se va modifica direct proporțional și valoarea câștigului.
Predicția adaptivă aduce o îmbunătățire a câștigului de aproximativ 4 dB, în comparație cu predicția fixă.
Codarea liniar predictivă
Metoda codării liniar predictive este una dintre cele mai puternice tehnici de codare a semnalului vocal. Este cea mai utilizată metodă pentru estimarea parametrilor vorbirii (pas de cuantizare, spectre, funcțiile tractului vocal) și reprezentarea vorbirii pentru transmiterea cu o rată de bit scăzută. Tehnica predicției liniare sau Linear Prediction Coding (LPC) este atât o metodă de compresie, cât și o metodă de analiză și sinteză a semnalului vocal.
Codarea liniar predictivă constă în predicția unui eșantion a semnalului vocal din eșantioanele anterioare , urmând să se calculeze eroarea de predicție. Relația după care este calculată eroarea de predicție este:
sunt coeficienții predictorului care trebuie modelați astfel încât eroarea să fie minimă.
Schema bloc a modelării coeficienților de predicție:
Figura 19. Modelare coeficienți de predicție
sunt parametrii de analiză
Dacă se face analiza semnalului vocal la o viteză reală, se observă cum coeficienții variază lent, în același timp cu silabele (o dată la 10-25 ms). Viteza de variație a coeficienților reprezintă rata cu care silabele se pot schimba. Rolul decodorului este preluat de sinteza liniar predictivă. După ce se face sinteza eșantioanelor rezultă un semnal preferabil asemănător cu cel de la intrare.
Aplicând transformata Z relației , se obține:
Fiecare frecvență de eșantionare este modelată prin cascadarea a două filtre digitale.
Ambele filtre au câte un pol, iar prin cascadarea lor rezultă doi poli. Filtrul digital se modelează utilizând funcția de transfer:
Etapele codării liniar predictive:
Se segmentează semnalul de intrare în intervale de 20-40ms. Pentru evitarea distorsiunilor cauzate de lungimea mică a segmentelor, segmentarea se poate face cu suprapunere, precum și cu aplicarea unei ferestre de ponderare (fereastra Hamming).
Segmentele de pauză între cuvinte sunt detectate și nu sunt transmise.
Fiecare segment este analizat pentru a se determina energia și frecvența dominantă. Segmentele care prezintă o frecvență dominantă clară reprezintă sunete vocalizate; în acest caz se stochează valoarea fundamentalei, care reprezintă frecvența semnalului de intrare. Dacă nu există o frecvență dominantă, sunetul este de tip nevocalizat.
Pentru fiecare segment se estimează parametrii filtrului pentru un ordin dat. Există două metode frecvent folosite, cu ușoare diferențe între ele: metoda autocorelației și metoda covarianței.
Fiecare segment este analizat cu filtrul invers pentru a determina semnalul ideal de intrare. Acesta este semnalul care, aplicat filtrului, produce segmentul vocal. Acest semnal poartă numele de semnal rezidual. În funcție de varianta de implementare folosită, acesta poate fi aproximat printr-un tren de impulsuri sau zgomot alb, poate fi aproximat cu un semnal dintr-un dicționar de semnale disponibile sau poate fi transmis într-o variantă subeșantionată și cuantizată.
În urma codării, pentru fiecare segment analizat se stochează parametrii filtrului și semnalul rezidual sau parametrii care îl aproximează, în funcție de implementarea folosită. La decodare, fiecare segment este sintetizat pornind de la semnalul rezidual și filtrul corespunzător.
Predicția liniară înainte
Se consideră un proces aleator staționar x[n]. Se urmărește estimarea valorii procesului la un moment dat pe baza numărului de eșantioane p consecutive anterioare.
Predictorul liniar înainte cu un pas determină valoarea estimată ca o combinație liniară ponderată a ultimelor p valori: x[n-1], x[n-2],…,x[n-p]. Valoarea estimată se determină:
{-αp[k]} reprezintă coeficienții de predicție ai predictorului înainte cu un pas, de ordinul p.
Figura 21. Predictor liniar cu un pas de ordin p
Eroarea de predicție, fp[n], reprezintă diferența dintre valoarea x[n] și valoarea predictată .
Figura 22. Filtrul erorii de predicție
Funcția de sistem pentru filtrul erorii de predicție este:
;
Eroarea pătratică medie de predicție liniară înainte este:
Eroarea pătratică medie minimă de predicție:
Predicția liniară înapoi
Predicția înapoi constă în estimarea eșantionului de ordin p cu r pași.
Figura 23. Predictor înapoi cu un pas de ordin p
Eroarea de predicție înapoi, gp[n], este diferența dintre valoarea x[n-p] și estimatul .
Funcția de sistem pentru filtrul erorii de predicție este:
Figura 24. Filtrul erorii de predicție înapoi
Eroarea de predicție:
Predicția liniară este utilizată atât în procesarea semnalelor vocale, procesarea de imagini, cât și în suprimarea zgomotului în sistemele de comunicații.
Procesul AR și predicția liniară
Parametrii unui proces autoregresiv de ordin p au o legătură directă cu parametrii predictorului de ordin p pentru același proces. Pentru un proces AR(p) secvența de autocorelație este:
Ecuațiile corespunzătoare predictorului de ordin p:
Comparând cele două relații se observă egalitatea dintre parametrii {αk} ai procesului AR(p) și coeficienții predictorului {αp[k]} de ordin p. Comparând relația cu eroarea pătratică medie minimă de predicție înainte este egală cu dispersia zgomotului alb . Rezultă că filtrul erorii de predicție este un filtru de albire, care produce secvența de zgomot alb w[n].
Algoritmul Levison-Durbin
Algoritmul Levison Durbin este un algoritm pentru rezolvarea ecuațiilor:
, l=1,…, p, ap[0]=1 în raport cu coeficienții predictorului.
Aceste ecuații pot fi scrise sub forma matriceală:
Matricea de autocorelație:
reprezintă un vector coloană ale cărui elemente sunt coeficienții predictorului, , iar este un vector coloană ce conține valorile funcției de autocorelație .
Prin algoritmul Levison-Durbin este obținută soluția ecuației utilizând proprietățile matricei Toeplitz și se aplică recursiv începând cu un predictor de ordinul m=1.
Pentru p=1 rezultă soluția predictorului de ordinal 1:
cu eroarea pătratică medie minimă de:
)
a1[1]=K1 este primul coeficient de reflexie al filtrului lattice.
Înlocuind a1[1] în sistemul de mai sus rezultă:
, a2[2]=K2
Urmând aceeași pași obținem coeficienții predictorului de ordin m în funcție de coeficienții predictorului de ordin (m-1).
[am-1] reprezintă vectorul coeficienților predictorului de ordin (m-1) și vectorul [dm-1] și Km vor fi calculați.
Matricea de autocorelație de ordin m x m:
Pentru predictorul de ordinul m, eroarea pătratică medie minimă este:
unde .
Deoarece coeficienții de reflexie îndeplinesc relația , rezultă că eroarea pătratică medie minimă satisface condiția: .
Filtre lattice
Predictorul liniar cu funcția de sistem:
când este excitat cu procesul aleator x[n] , produce o ieșire care aproximează zgomotul alb când p→∞. Pe de altă parte, dacă procesul de intrare este autoregresiv de ordin p, ieșirea predictorului cu funcția de sistem A(z) este un zgomot alb. Deoarece predictorul cu funcția de sistem Ap(z) generează un proces MA(p) când este excitat cu o secvență de zgomot alb, structurile lattice numai cu zerouri se mai numesc lattice cu medie alunecătoare sau mobilă.
Structura lattice AR
Se consideră sistemul numai cu poli, cu funcția de sistem:
Ecuația cu diferențe corespunzătoare este:
Schimbând rolul intrării cu ieșirea și invers, se obține ecuația cu diferențe:
sau
care reprezintă ecuația cu diferențe pentru un sistem FIR cu funcția de sistem A ( z) . Așadar, un sistem IIR numai cu poli poate fi transformat în unul FIR prin interschimbarea rolului intrării cu ieșirea.
Dacă structura lattice MA(p) are ieșirea y[n]=fp[n] și intrarea x[n]=f0[n] rezultă:
Implementarea corespunzătoare pentru structura lattice AR(p) este prezentată în figură:
Figura 25. Structura corespunzătoare pentru lattice AR(p)
Structura lattice numai cu poli are o cale numai cu zerouri cu intrarea g0[n] și ieșirea gp[n], care este identică cu calea numai cu zerouri din structura lattice MA(p).
Procese ARMA și filtre lattice cu poli și zerouri
O structură lattice numai cu poli furnizează blocul constructiv de bază pentru structurile de tip lattice care implementează sisteme IIR ce conțin atât poli cât și zerouri. Fie un sistem IIR cu funcția de sistem:
Ecuațiile cu diferențe ce caracterizează sistemul:
Ieșirea y[n] este o combinație liniară a ieșirilor întârziate din sistemul numai cu poli.
Fie un filtru lattice numai cu poli, cu coeficienții K , căruia i se adaugă o structură, numită scară, prin considerarea ieșirii ca o combinație liniară de {gm[n]}. Se obține filtrul lattice cu poli și zerouri:
Figura 26. a) Structură lattice pentru un sistem cu poli și zerouri; b) treapta m a filtrului lattice
Ieșirea filtrului este:
{βk} sunt parametrii ce caracterizează sistemul numai cu zerouri.
Conform relației de ieșire din filtru, funcția de sistem devine:
Deoarece X(z)=Fp(z) și F0(z)=G0(z) rezultă:
Această relație poate fi folosită pentru determinarea coeficienților {βk}. Fiind date polinoamele Cq(z) și Ap(z) cu p≥q, se pot determina coeficienții re reflexie {Km} din coeficienții ap[k].
Dacă o structură lattice cu poli și zerouri este excitată cu o secvență de zgomot alb, se generează un proces ARMA(p,q), a cărui densitate spectrală de putere este:
unde σw2 este dispersia secvenței de zgomot alb de la intrare.
Determinarea coeficienților liniar predictivi
Partea cea mai importantă a procesului de codare este determinarea coeficienților filtrului H(z) pentru fiecare segment de semnal vocal. Aceștia se determină din condiția ca fiecare eșantion s[n] al semnalului să fie aproximat cât mai bine ca o combinație liniară a ultimelor p eșantioane.
Din cauză că modelul folosit nu poate modela întreaga complexitate a vorbirii, vor exista întotdeauna diferențe între valoarea unui eșantion și valoarea obținută din combinația liniară a eșantioanelor precedente. Coeficienții se determină din condiția ca energia acestor erori să fie minimă, respectiv:
Metoda autocorelației
Se urmărește ca eroarea să fie minimizată:
Necunoscutele ak se găsesc prin impunerea condițiilor dE/dak=0 care garantează minimizarea lui E, rezultând un sistem de p ecuații liniare cu p necunoscute:
s[n] este un segment vocal.
Se face presupunerea ca s[n] este un proces staționar; funcția sa de autocorelație se definește:
Sub formă matriceală rezultă:
Prin rezolvarea sistemului se obțin valorile necunoscute ak.
Aplicarea codării liniar predictive in compresia semnalelor vocale
În telecomunicații, prelucrarea semnalului vocal este utilizată în aplicații pentru dezvoltarea sistemelor de comunicații multimedia.
for i=1:16
% Număr de biți pe eșantion
v=i;
% 'x' este semnalul vocal de intrare, 'fs' este frecvența de eșantionare
[X, Fs]=wavread('audio2.wav');
% normalizarea valorilor în intervalul [-1 1];
x=(X-mean(X))/max(abs(X-mean(X)));
% x=normalizarea (X);
xn=[];
ff=8;
% re-eșantionare la Fs/ff Hz
for i=1:size(x)/ff
xn(i)=x(ff*i);
end
fs=Fs/ff;
% numărul de eșantioane utilizate pentru PCM din totalul de eșantioane
ns=100;
% niveluri de cuantizare
q=2^v;
% semnalizare număr de biți pe secundă
r=v*fs;
% amplitudinea totală
TA=max(xn)-min(xn);
% mărimea pasului (delta)
delta=TA/q;
% Quantization noise power
QNP=(delta^2)/12;
% Normalized Signal Power
NSP=sum(xn.^2);
% Signal to Quantization Noise Ratio in PCM
SQNR=NSP/QNP;
SQNRdB=10*log10(SQNR);
% 'xs' este 'x' scalat la nivele de cuantizare
xs=(q-1)*(xn+1)/2;
plot(xs(1:ns));
title(sprintf('Semnal %d număr de eșantioane pentru demonstrație',ns));
xs_quant=quantiz(xs,0:q-2);
hold on
plot(xs_quant(1:ns),'r');
hold off
legend(sprintf('Semnalul vocal original scalat cu valoarea %d',q),sprintf('Semnalul cuantizat la %d biți',v));
xs_encod=[];
for i=1:length(xs_quant)
xs_encod=[xs_encod dec2binvec(xs_quant(i),v)];
end
display(sprintf('Frecvența de eșantionare este: %0.0f Hz\n Lungimea cuvântului de cod este: %d biți \n Rata de bit este: %d biți pe secundă \n Signal to Quantization Noise Ratio (SQNR) este : %.2f dB',fs,v,r,SQNRdB));
variable(i,:)=[fs,v,r,SQNRdB];
pause(1)
end
În urma simulării se poate observa rezultatul:
Cu ajutorul semnalului vocal „audio2.wav” am obținut modulația în cod a acestuia. Programul rulează treptat, calculând la fiecare iterație lungimea cuvântului de cod, rata de biți și Raportul semnal/zgomot de cuantizare.
Conform semnalului de intrare rezultă:
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 1 bit
Rata de bit este: 1000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 31.00 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 2 biți
Rata de bit este: 2000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 37.02 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 3 biți
Rata de bit este: 3000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 43.04 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 4 biți
Rata de bit este: 4000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 49.06 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 5 biți
Rata de bit este: 5000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 55.08 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 6 biți
Rata de bit este: 6000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 61.10 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 7 biți
Rata de bit este: 7000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 67.12 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 8 biți
Rata de bit este: 8000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 73.14 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 9 biți
Rata de bit este: 9000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 79.16 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 10 biți
Rata de bit este: 10000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 85.18 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 11 biți
Rata de bit este: 11000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 91.21 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 12 biți
Rata de bit este: 12000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 97.23 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 13 biți
Rata de bit este: 13000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 103.25 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 14 biți
Rata de bit este: 14000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 109.27 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 15 biți
Rata de bit este: 15000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 115.29 dB
Frecvența de eșantionare este: 1000 Hz
Lungimea cuvântului de cod este: 16 biți
Rata de bit este: 16000 biți pe secunda
Signal to Quantization Noise Ratio (SQNR) este : 121.31 dB
Concluzii
Analiza codării liniar predictive este utilă pentru sintetizarea vocii, generând reducerea volumului de date în condițiile menținerii inteligibilității vocii. Deși în sistemele de comunicație cu fir sunt disponibile benzi foarte mari de frecvență (ex. cablul optic), în comunicațiile fără fir și cele prin satelit banda este limitată.
Comunicațiile multimedia și alte aplicații bazate pe vorbire necesită voce reprezentată numeric.
Pentru a compara cele patru metode de codare a semnalului vocal este convenabil să se utilizeze raportul semnal-zgomot de cuantizare. Cu toate acestea, criteriile de comparație între semnalele vocale constau în percepția fiecărei persoane. Este importantă percepția calității codării în comparație cu semnalul vocal original, necuantizat.
Bibliografie
D. Tărniceriu, V. Grigoras, „Prelucrarea numericã a semnalelor, Sinteza filtrelor numerice, Editura "Gh. Asachi", Iași, 1995
V. Munteanu, D. Tărniceriu, „Teoria estimării și filtrare optimală”, Ed. Tehnopres, 2005
C. Negrescu, „Codarea semnalului vocal”, Ed. Printech, București, 2004
Nikhil Sharma, “Speech compression using linear predictive coding”, International Journal of Advanced Researched in Engineering and Applied Sciences, Vol. 1, 2012
A. Cubițchi, „Contribuții la compresia semnalului vocal în sistemele de comunicații numerice”, teză doctorat Universitatea Politehnică, Timișoara, 2002
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Compresia Semnalelor Vocale In Telecomunicatii (ID: 149630)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
