66
REPREZENTAREA DATELOR AUDIO DIGITALE

REPREZENTAREA DATELOR AUDIO DIGITALE

  • Upload
    malaya

  • View
    52

  • Download
    1

Embed Size (px)

DESCRIPTION

REPREZENTAREA DATELOR AUDIO DIGITALE. Cuprins Unde audio PCM si digitizarea audio Rata de esantionare si aliasing Cuantizarea si eroarea de cuantizare Dithering audio Formarea zgomotului Cuantizare neliniara A naliza de frecventa Analiza statistica. Unde audio - PowerPoint PPT Presentation

Citation preview

Page 1: REPREZENTAREA DATELOR AUDIO DIGITALE

REPREZENTAREA DATELOR AUDIO DIGITALE

Page 2: REPREZENTAREA DATELOR AUDIO DIGITALE

Cuprins

Unde audioPCM si digitizarea audioRata de esantionare si aliasingCuantizarea si eroarea de cuantizareDithering audioFormarea zgomotuluiCuantizare neliniaraAnaliza de frecventaAnaliza statistica

Page 3: REPREZENTAREA DATELOR AUDIO DIGITALE

Unde audio

Intelegerea undelor de sunet studiul actiunii acestora asupra microfoanelor.

Doua categorii de microfoane:-microfoanele electrodinamice (dinamice) opereaza pe baza unei

spirale sau benzi mobile;-microfoanele electrostatice (microfoane cu condensatoare) se

bazeaza pe capacitoare care necesita o sursa externa de tensiune.

Ambele: modificarile de presiune a aerului actioneaza asupra componentelor microfonului si sunt transformate in unde electrice.

Page 4: REPREZENTAREA DATELOR AUDIO DIGITALE

PCM si digitizarea audio

PCM (“pulse code modulation”) introdus in 1937 de Alec Reeves de la Intenational Telephone and Telegraph, atunci orientat pe transmiterea semnalelor audio alternativa la modularea analogica in frecventa si amplitudine: semnalele audio erau esantionate in puncte discrete in timp, fiecare esantion cuantizat si codificat in binar, iar bitii erau transmisi ca impulsuri reprezentand 0 si 1.

Fisierele PCM contin date audio digitizate, dar necomprimate. S-au dezvoltat si o serie de alternative cu reducerea cantitatii de informatie (in special in domeniul telefoniei pentru pastrarea largimii de banda).

Deoarece amplitudinea vorbirii umane nu se modifica dramatic de la un moment la momentul urmator, se poate reduce dimensiunea fisierului memorand diferentele dintre esantioanele succesive (DPCM – “differential pulse code modulation”). Algoritmul poate fi imbunatatit: nivelul de cuantizare varieaza in concordanta cu caracteristicile de schimbare dinamica a sablonului de vorbire, furnizand rate mai bune de compresie (ADPCM – adaptive differential pulse code modulation).

Page 5: REPREZENTAREA DATELOR AUDIO DIGITALE

Pentru memorarea datelor audio digitale este necesar sa se specifice rata de esantionare si adancimea de biti. Rata de esantionare se specifica in Hz, rate obisnuite:

-8 kHz mono, pentru telefonie voce;-44.1 kHz stereo doua canale pe 16 biti fiecare canal, pentru sunet de

calitate CD;-48 kHz banda audio digitala (DAT – digital audio tape);-96 sau 192 kHz stereo doua canale DVD cu 24 de biti per canal.

Se poate utiliza o acuratete mai mare la digitizare (exemplu esantioane pe 32 de biti) pentru prelucrare ulterioara prin program, iar apoi se reduce rezolutia inainte de compresie (exemplu: se pastreaza esantioane pe 16 biti).

Page 6: REPREZENTAREA DATELOR AUDIO DIGITALE

Cel mai simplu format de fisier audio PCM, fara compresie este formatul WAVE, un subset al specificatiei RIFF (Resource Interchange File Format) de la Microsoft.

Un fisier RIFF incepe cu un header de fisier urmat de o secventa de bucati („chanks”) de date. Un fisier WAVE este adesea un fisier RIFF cu o singura bucata „WAVE” continand doua sub-chunks: „fmt” specificand formatul datelor si „data” cu esantioanele (forma canonica).

Page 7: REPREZENTAREA DATELOR AUDIO DIGITALE
Page 8: REPREZENTAREA DATELOR AUDIO DIGITALE

Offset Dim Nume Descriere

0 4 ChunkID Contine literele „RIFF” in ASCII0x52494646 big-endian.

4 4 ChunkSize 36 + SubChunk2Size, sau mai exact4 + (8 + SubChunk1Size) + (8 + SubChunk2Size).Este dimensiunea fisierului – 8 octeti, campurile ChunkID si ChunkSize.

8 4 Format Contine literele „WAVE”0x57415645 big-endian.

Semnificatiile campurilor sunt:

Header RIFF:

Page 9: REPREZENTAREA DATELOR AUDIO DIGITALE

Offset Dim Nume Descriere

12 4 Subchunk1ID Contine literele „fmt”0x666d7420 big-endian.

16 4 Subchunk1Size 16 pentru PCM, dimensiunea restului subchunk-ului.

20 2 AudioFormat PCM=1 (cuantizare liniara), pentru ≠1 anumita compresie.

22 2 NumChannels Mono = 1, Stereo = 2, etc.

24 4 SampleRate 8000, 44100, etc.

28 4 ByteRate == SampleRate * NumChannels * BitsPerSample/8

32 2 BlockAlign == NumChannels * BitsPerSample/8, numarul de octeti pentru un esantion incluzand toate canalele.

34 2 BitsPerSample 8 bits = 8, 16 bits = 16, etc.

2 ExtraParamSize Pentru PCM nu exista.

X ExtraParams Parametri suplimentari.

Subchunk „fmt”:

Page 10: REPREZENTAREA DATELOR AUDIO DIGITALE

Offset

Dim Nume Descriere

36 4 Subchunk2ID Contine literele „data”,0x64617461 big-endian

40 4 Subchunk2Size == NumSamples * NumChannels * BitsPerSample/8, numar de octeti de date.

44 X Data Datele

Subchunk „data”:

Page 11: REPREZENTAREA DATELOR AUDIO DIGITALE

Exemplu: primii 72 de octeti dintr-un fisier WAVE (in hexa):

52 49 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 00 00 00 00 24 17 1e f3 3c 13 3c 14 16 f9 18 f9 34 e7 23 a6 3c f2 24 f2 11 ce 1a 0d

Interpretarea:

Page 12: REPREZENTAREA DATELOR AUDIO DIGITALE
Page 13: REPREZENTAREA DATELOR AUDIO DIGITALE

Observatii:

-Ordonarea implicita este little-endian, fisierele cu ordonare big-endian au identificatorul RIFX.

-Esatioanele de 8 biti sunt memorate fara semn, cu valori 0->255, iar cele de 16 biti ca intregi cu semn in complement fata de 2, cu valori -32768 -> 32767.

-Pot exista subchunk-uri aditionale in stream-ul de date Wave, caz in care exista SubChunkID char[4], SubChunkSize unsigned long si datele.

Page 14: REPREZENTAREA DATELOR AUDIO DIGITALE

Rata de esantionare si aliasing

Legate de teorema lui Nyquist: doua marimi importante: frecventa Nyquist si rata Nyquist.

Fiind data o rata de esantionare, frecventa Nyquist = componenta de fecventa cea mai inalta care poate fi esantionata la acea rata fara aliasing. Pe baza teoremei lui Nyquist, frecenta Nyquist este jumatate din rata de esantionare:

fnf = ½ fesant

Fiind data o frecventa de esantionat, rata Nyquist = rata cea mai mica de esantionare care va permite reconstructia fidela a semnalului. De asemenea pe baza teoremei lui Nyquist rezulta ca rata Nyquist este dublul frecventei celei mai inalte din semnalul esantionat:

fnr = 2 fmax

Consecinta importanta: daca un semnal audio este esantionat la o rata inferioara ratei Nyquist, apare fenomenul de aliasing audio => la redare frecventele sunetului original vor fi translatate in alte frecvente si deci nu se va mai auzi la fel cu sunetul original. Practic exista prea putine puncte de esantionare, care prin interpolare sa furnizeze corect forma sinusoidala a undei originale.

Page 15: REPREZENTAREA DATELOR AUDIO DIGITALE

Cateva exemple de semnale audio esantionate la diferite frecvente:

Semnal de 637 Hz esantionat la 1490 Hz (rata Nyquist fiind 1274 Hz). Nu apare fenomenul de aliasing, iar semnalul este refacut corect.

Page 16: REPREZENTAREA DATELOR AUDIO DIGITALE

Semnal de 637 Hz esantionat exact la 1274 Hz, esantioanele fiind plasate exact in punctele de minim si de maxim: semnalul poate fi refacut corect. Daca esantioanele sunt plasate in alte puncte decat maxim si minim, frecventa este refacuta perfect, dar amplitudinea semnalului nu (in caz extrem, cand esantioanele sunt plasate in punctele de 0, se obtine un semnal constant 0).

Page 17: REPREZENTAREA DATELOR AUDIO DIGITALE

(Figura 1) Semnal de 637 Hz esantionat la 1000 Hz, furnizeaza o unda aliasing de 363 Hz.

Page 18: REPREZENTAREA DATELOR AUDIO DIGITALE

(Figura 2) Semnal de 637 Hz esantionat la 500 Hz, furnizeaza o frecventa aliasing de 137 Hz.

Page 19: REPREZENTAREA DATELOR AUDIO DIGITALE

Semnal de 637 Hz esantionat la 400 Hz, furnizeaza o frecventa aliasing de 163 Hz.

Page 20: REPREZENTAREA DATELOR AUDIO DIGITALE

Se poate stabili un algoritm pentru calcularea frecvetei de aliasing.

algoritm get_frequency/*Input: frecventa undei audio analogice (un singur ton) de esantionat, f _actsi frecventa de esantionare, f_sampOutput: frecventa undei audio digitizate, f_obs*/{

f_ nf = ½ f _ samp/ * f _ nf este frecventa Nyquist*/

/*CASE 1*/if ( f _ act ≤ f _ nf ) then

f _ obs = f _ act/CASE 2*/

elseif ( f _ nf < f _ act ≤ f _ samp ) then

f _ obs = f _ samp − f _ act

Page 21: REPREZENTAREA DATELOR AUDIO DIGITALE

else {INT = f _ act / f _ nf /* impartire intreaga */REM = f_act mod f _ nf

/*CASE 3*/if (INT par) then

f _obs= REM/*CASE 4*/

else if (INT impar) thenf _ obs = f _ nf − REM

}}

Page 22: REPREZENTAREA DATELOR AUDIO DIGITALE

Schema de calcul:

Page 23: REPREZENTAREA DATELOR AUDIO DIGITALE

Exemple de calcule:

Case 2:f _ act = 637 Hz ; f _ samp = 1000 Hz ; => f _ nf = 500 Hzf _ nf < f _ act ≤ f _ samp => f _ obs = f _ samp − f _ act = 363Hz(Figura 1)

Case 3:f _ act = 637 Hz ; f _ samp = 500 Hz ; => f _ nf = 250 Hzf _ act > f _ sampINT = f _ act / f _ nf = 637 / 250 = 2(impartire intreaga)INT parREM = f _ act mod f _ nf = 137(preia restul impartirii) => f _ obs = REM = 137 Hz(Figura 2)

Page 24: REPREZENTAREA DATELOR AUDIO DIGITALE

Case 4:f _ act = 637 Hz ; f _ samp = 400 Hz ; => f _ nf = 200 Hzf _ act > f _ sampINT = f _ act / f _ nf = 637 / 200 = 3INT imparREM = f _ act mod f _ nf = 37 => f _ obs = f _ nf − REM = 200 − 37 = 163Hz

Page 25: REPREZENTAREA DATELOR AUDIO DIGITALE

O reprezentare intuitiva a modului in care functioneaza algoritmul este reprezentata in figura urmatoare, unde f_samp = 1490 Hz este constanta, f_act este intrare (pe abscisa) si f_obs este iesire (pe ordonata).

Page 26: REPREZENTAREA DATELOR AUDIO DIGITALE

O reprezentare grafica diferita se poate obtine prin fixarea frecventei sunetului f_act = 1000 Hz, considerand frecventa observata f_obs ca o functie de frecventa de esantionare f_samp.

Cat timp f_samp < fNyquist (rata Nyquist = 2xf_act) => f_obs < f_act.

Page 27: REPREZENTAREA DATELOR AUDIO DIGITALE

Cuantizarea si eroarea de cuantizareDecibeli. Interval dinamic.Amplitudinea sunetului: determinata la cuantizare si indica intensitatea

acestuia. Fenomenul fizic corespunzator este modificarea presiunii aerului prin care se propaga sunetul. Presiunea: masurata in pascali (Pa) sau newton/m2 (N/m2). Presiunea atmosferica normala la nivelul marii = aprox. 105 Pa. Pragul de auzire a sunetului (la 1000 Hz) = variatia fata de presiunea atosferica cu 2•10-5 Pa. Pentru a masura schimbarile de presiune a aerului se poate utiliza decibelul: nu este o unitate absoluta de masura, trebuie sa se precizezez un punct de referinta pentru marimea masurata (decibelul se poate utiliza si in alte domenii, nu numai presiune). Pentru sunet punctul de referinta = presiunea aerului pentru pragul de auzire => se numeste dB_SPL (decibels-sound-pressure-level).

Definitie. Fie E amplitudinea presiunii sunetului ce trebuie masurata si E0 nivelul presiunii sunetului la pragul de auzire. Atunci dB_SPL se defineste ca

010log20_E

ESPLdB

(este esential ca la o marime in dB sa se specifice nivelul punctului de referinta).

Page 28: REPREZENTAREA DATELOR AUDIO DIGITALE

12317.620)1500000(log2000002.0

30log20_ 1010

Pa

PaSPLdB

010log10_I

ISILdB

Exemplu. Se doreste sa se calculezez in dB nivelul pragului de durere (30 Pa). Se inlocuieste in formula de mai sus:

Deci pragul de durere este aprox. 123 dB.

Se poate utiliza dB pentru a specifica intensitatea sunetului, utilizand dB_SIL (decibels-sound-intensity-level), definit prin relatia:

unde I este intensitatea sunetului de masurat si I0 este intensitatea corespunzatoare pragului de auzire (10-12 W/m2).

Page 29: REPREZENTAREA DATELOR AUDIO DIGITALE

Sunet dB_SPL

Pragul de auzire 0

Frunze in vant 20

Conversatie 60-70

Ciocan pneumatic 100

Pragul de durere 130

Distrugerea auzului 160

Utilizarea dB_SPL este o solutie naturala pentru masurarea amplitudinii sunetului, deoarece scara logaritmica este adaptata auzului uman. In tabela urmatoare sunt date cateva din valorile corespunzatoare unor sunete:

Page 30: REPREZENTAREA DATELOR AUDIO DIGITALE

nSQNR 2log20 10

nndn

6)2(log201

2log20 1010

Rata de esantionare insuficienta aliasing.Utilizarea unui numar prea mic de biti pentru cuantificare distorsiuni(zgomot de cuantificare). Definitia pentru SQNR (signal-to-quantization-noise-ratio):

Acest concept este legat de cel de domeniu dinamic („dynamic range”), definit ca raportul dintre cea mai mica valoare nenula (1) si cea mai mare (2n). Rezulta:

Exemplu: un fisier audio digital pe 16 biti are un domeniu dinamic de 96 dB. Domeniul dinamic specifica gama de amplitudini ale sunetului digitizat, diferenta relativa dintre sunetul cel mai puternic si cel mai slab (nu specifica amplitudinile absolute).

Page 31: REPREZENTAREA DATELOR AUDIO DIGITALE

O alta definitie pentru decibeli este reprezentata de dBFS (“decibels-full-scale”). Se considera ca punct de referinta amplitudinea audio maxima generata de sistem (acelasi pentru toate fisierele audio). Se atribuie maximului valoarea 0. O unda audio are axa orizontala corespunzatoare - ∞ dBFS, iar deasupra si dedesubtul acesteia valorile progreseaza pana la maxim 0 dBFS.

Page 32: REPREZENTAREA DATELOR AUDIO DIGITALE

Definitia dBFS se bazeaza pe masurarea valorilor de amplitudine relative la valoarea maxima posibila. Pentru esantioane de n biti:

Definitie. Fie x un esantion audio de n biti in plaja -2n-1 ≤ x ≤ 2n-1 -1. Valoarea lui x ca dBFS este

1102

||log20

n

xdBFS

Facand cateva calcule pentru, de exemplu, n=16 se obtin maparile: -32768 -> 0; 10000 -> -10.3; 1 -> -90.3; 0.5 -> -96.3298. Astfel, consistent cu domeniul dinamic, orice amplitudine dintr-un fisier pe 16 biti care este cu mai mult decat 96 dB sub amplitudinea maxima posibila este considerata liniste.

Page 33: REPREZENTAREA DATELOR AUDIO DIGITALE

Dithering audio

Dithering (tremur, freamat) este o solutie de compensare a erorii de cuantizare, prin adunarea de valori mici aleatoare la esantioane. In procesul de cuantizare se face o rotunjire, cand anumite esantioane de amplitudine mica sunt aproximate cu zero, rezultand intreruperi in cadrul sunetului. Adaugand la fiecare esantion o valoare mica aleatoare (intre 0 si ½ din valoarea minima posibila) se obtine ca unele esantioane mici sa aibe in final valori diferite de zero: acest zgomot este preferat zonelor de discontinuitate a sunetului. Dithering se realizeaza de catre convertoarele A/D inainte de etapa de cuantizare.

Page 34: REPREZENTAREA DATELOR AUDIO DIGITALE

In graficul urmator se prezinta semnalul initial, semnalul cuantizat (cu 16 niveluri) si eroarea de cuantizare. De remarcat: suma dintre semnalul cuantizat si semnalul eroare de cuantizare este chiar semnalul initial.

Semnalul de eroare este periodic (are perioada semnalului initial) si se aude la redarea sunetului digital ca distorsiune (mai suparatoare chiar decat un zgomot aleator).

Page 35: REPREZENTAREA DATELOR AUDIO DIGITALE

La fiecare esantion se aduna o valoare cuprinsa intre -1 si 1, pe baza unei functii de densitate de probabilitate triunghiulara (TPDF – „triangular probability density function”).

Evident 0 are cea mai mare probabilitate sa fie adunat la un esantion.

Page 36: REPREZENTAREA DATELOR AUDIO DIGITALE

Semnalul cuantificat, semnalul cuantificat cu dithering si semnalul de eroare:

Alte functii de dithering sunt:-RPDF („rectangular probability density function”) genereaza aleator

valori in intervalul -1 la 1;-PDF Gaussian (functia de densitate de probabilitate este o

Gaussiana) creaza un zgomot de fond asemanator de exemplu histerezisului benzii;

-dithering colorat produce zgomot de frecvente mai inalte decat poate distinge urechea umana.

Page 37: REPREZENTAREA DATELOR AUDIO DIGITALE

Formarea zgomotului

Formarea zgomotului („noise shaping”): o alta metoda de compensare a erorii de cuantizare. Nu este chiar dithering, dar se utilizeaza cu acesta.

Ideea: redistribuirea erorii de cuantizare astfel incat zgomotul sa fie concentrat in frecventele mai inalte, unde urechea umana este mai putin sensibila. In algoritmii de formare a zgomotului (dezvoltati prima data de Utler in anii 1950) este necesar sa se adune eroarea de cuantizare de la esantionul curent la esantionul urmator inainte ca acesta sa fie cuantizat.

Se considera un tablou F de esantioane audio. Se defineste bucla de feedback de ordinul intai pentru formarea zgomotului:

Page 38: REPREZENTAREA DATELOR AUDIO DIGITALE

Fie F_in un vector de N esantioane audio pentru care se executa cuantizare, dithering si formarea zgomotului => F_out.

Pentru 0≤i≤ N-1 se defineste:F_ini valoarea esantionului i necuantizata;

Di este valoarea aleatoare de dithering adunata la esantionul i;

Atribuirea F_ini = F_ini + Di + cEi-1 executa dithering si formare zgomot

pentru esantionul i;Atribuirea F_outi = └F_ini┘ executa cuantizarea esantionului;

Ei este eroarea rezultata din cuantizarea esantionului i dupa dithering si

formarea zgomotului.Daca i=-1 atunci Ei=0 altfel Ei=F_ini – F_outi.

Page 39: REPREZENTAREA DATELOR AUDIO DIGITALE

Exemplu. Codificarea pe 8 biti, amplitudinile sunetului fiind in interalul: -128 la 128 (dupa cuantizare valorile devin intregi intre -128 la 127).

Fie:

Page 40: REPREZENTAREA DATELOR AUDIO DIGITALE

Termenul de formare este utilizat deoarece se poate manevra forma zgomotului prin modificarea ecuatiei de calcul, eventual adaugandu-se noi termeni de eroare si modificand coeficientii termenilor de eroare. Ecuatia generala de ordinul n este:

De exemplu algoritmul POW-r pentru recuantificarea audio de la 24 biti la 16 biti utilizeaza formula de ordinul 9.

Page 41: REPREZENTAREA DATELOR AUDIO DIGITALE

In programele de prelucrare audio: optiunea de a utiliza formarea zgomotului + dithering => reduc efectul negativ al zgomotului, dar in moduri diferite.

Distinctie intre zgomot si distorsiune! Distorsiunea este tot un zgmot, dar corelat cu frecventa semnalului. Formarea zgomotului nu face nimic pentru a disocia frecventa zgomotului de semnal, de aceea este bine ca formarea zgomotului sa se utilizeze impreuna cu dithering.

Exemplu: semnalul de eroare de cuantizare: a) fara dithering, b) cu dithering si c) cu dithering si formarea zgomotului.

(a) (b) (c)Se observa ca ultima solutie duce zgomotul la frecvente inalte. Optiunile de utilizare a dithering-ului si de formare a zgomotului sunt legate de frecventa de esantionare: f < 32 kHz formarea zgomotului s-ar putea sa nu functioneze prea bine (frecventa Nyquist este prea scazuta si chiar in cazul obtinerii unor frecvente mai mari pentru zgomot, acestea vor fi in domeniul audibilitatii umane).

Page 42: REPREZENTAREA DATELOR AUDIO DIGITALE

Cuantizare neliniaraCodificarea neliniara sau „companding” (schema de codificare necesita

compresie si apoi expandare) a rezultat din necesitatea de compresie a semnalelor telefonice pe linii de banda joasa. Etape principale:

-semnalul digital pe n biti este recuantizat pe m biti (m<n) printr-o metoda de cuantizare neliniara;

-se transmite semnalul;-expandeaza semnalul la n biti la receptie (anumite informatii sunt

pierdute, cuantizare cu pierderi) => micsoreaza eroarea pentru semnale de amplitudine mica, in comparatie cu cuantizarea liniara.

Baza codificarii neliniare: sistemul auditiv uman percepe mici diferente intre sunete slabe, dar pe masura ce nivelul creste scade abilitatea de percepere a diferentelor => mai multe niveluri de cuantizare pentru nivelurile mici si mai putine pentru niveluri mari => metode de codificare neliniara μ-law si A-law pentru transmisiile telefonice.

Schemele de codificare neliniara: utilizate si standardizate de CCITT („Comité Consulatif Internationale de Télégraphique et Téléphonique”). In USA si Japonia se utilizeaza μ-law (se citeste „mu-law”), cu rata de esantionare de 8000 Hz, pe 8 biti, dar atingand 12 biti de domeniu dinamic. In restul lumii se utilizeaza A-law.

Page 43: REPREZENTAREA DATELOR AUDIO DIGITALE

5452.5

|)|2551ln()(

)1ln(

|)|1ln()()(

xxsign

xxsignxm

Metoda de codificare μ-law este definita de functia:

pentru μ=255, x valoarea normalizata a esantionului -1≤x<1 si sign(x)=-1 daca x negativ si sign(x)=1 altfel.Graficul functie μ-law este:

Page 44: REPREZENTAREA DATELOR AUDIO DIGITALE

Exemplu. Aplicarea practica a metodei de codificare: esantioane initiale pe 16 biti, in plaja de -32768 -> 32767, iar transmisia semnalului se face pe 8 biti. La receptie se trece din nou pe 16 biti. Etape:

-se normalizeaza valorile de intrare, prin impartire la 32768;

-se aplica functia m(x) de codificare neliniara (cea din grafic);

-calculeaza └128m(x)┘, pentru scalare la 8 biti.

Astfel: val.init 16 (pe 16 biti) este scalata 16/32768 si se aplica m(x) => m(16/32768)≈0.02, apoi se scaleaza la 8 biti └128∙0.02)┘=2. Sau, o alta valoare initiala 30037 => 30037/32768 =>m(30037/32768)=0.9844 => └128∙0.9844)┘=125.

Page 45: REPREZENTAREA DATELOR AUDIO DIGITALE

Codificare liniara Codificare neliniara

Valori esantioane originale 16 biti

Valori 8 biti dupa recuantizare liniara (impartire la 256 si rotunjire la c.m.apropiat intreg)

Valori esantioane originale 16 biti

Valori 8 biti dupa recuantizare neliniara

Numar de valori care se mapeaza in aceeasi valoare

0−255 0 0-5 0 6256−511 1 6-11 1 6512−767 2 12-17 2 6

. . . . . . . . . . . . . . . . . . . . . . . . .32,000−32,255 125 28,759−30,037 125 1,27932,256−32,511 126 30,038−31,373 126 1,33632,512−32,767 127 31,374−32,767 127 1,394

Valorile pozitive codificate neliniar, in comparatie cu tehnica de codificare liniara (valorile negative se codifica la fel):

Page 46: REPREZENTAREA DATELOR AUDIO DIGITALE

La receptie valorile pe 8 biti sunt decomprimate la 16 biti utilizand functia inversa:

255

)1256)(

)1)1()()(

|||| xx

xsignxsignxd

pentru μ=255, x valoarea normalizata a esantionului codificat μ-law -1≤x<1 si sign(x)=-1 daca x negativ si sign(x)=1 altfel.

Exemplu. Se considera valorile din calculul precedent, unde 16 -> 2 si 30037 -> 125. Astfel: d(2/128)=0.00035, scalare la 16 biti ┌32768∙0.00035┐=11. Cealalta valoare : d(125/128)=0.8776, scalare la 16 biti ┌32768∙0.8776┐=28758.

In concluzie valoarea 16 afost receptionata 11, cu eroare de 31%, iar valoarea 30037 a fost receptionata 28758 cu eroare de 4%. Chiar daca erorile la valori mici sunt inca mari, totusi acestea sunt mult mai acceptabile decat daca s-ar fi utilizat o codificare liniara. In tabela urmatoare sunt prezentate erorile rezultate la cuantizarea neliniara in comparatie cu cea liniara pentru diferite valori de amplitudine:

Page 47: REPREZENTAREA DATELOR AUDIO DIGITALE

Codificare liniara Codificare neliniaraEsantion initial 16 biti

Esantion 8 biti dupa compresie

Esantion 16 biti dupa decompresie

eroarea Esantion 8 biti dupa compresie

Esantion 16 biti dupa decompresie

eroarea

1-5 0 0 100% 0 0 100%6-11 0 0 100% 1 6 26%

12-17 0 0 100% 2 12 16%18-24 0 0 100% 3 18 13%25-31 0 0 100% 4 25 10%

127 0 0 100% 15 118 7%128 1 256 100% 25 118 7.8%383 1 256 33% 31 364 4.9%

30,038 117 29,952 0.29% 126 30,038 0%31,373 122 31,232 0.45% 126 30,038 4.2%

Page 48: REPREZENTAREA DATELOR AUDIO DIGITALE

Se pot reprezenta erorile in procente pentru codificarea neliniara (a) si pentru cea liniara (b):

(a) (b)

Page 49: REPREZENTAREA DATELOR AUDIO DIGITALE

ANALIZA DE FRECVENTADomeniile timp si frecventaUn semnal audio poate fi reprezentat atat in domeniul timp, cat si in

domeniul frecventa.In domeniul timp: variatia amplitudinii semnalului in timp (pe axa

orizontala este timpul, iar pe axa verticala amplitudinea seamnalului) => cea mai intuitiva solutie de reprezentare a unui semnal unidimensional.

In domeniul frecventa: componentele de frecventa ale semnalului (frecventa fundamentala si multipli intregi ai acesteia, frecventele armonice). Exista doua solutii de baza:

1) In reprezentarea analizei de frecventa (analiza de spectru) pe axa orizontala se plaseaza valorile de frecventa, iar pe axa verticala amplitudinile componentelor de frecventele respective. Se ia in considerare un anumit interval de timp pentru care se face analiza de frecventa. Se mai utilizeaza si termenul de energie (reprezentat de aria de sub graficul frecventei).

2) In reprezentarea spectrala (spectrul) pe axa orizontala se plaseaza timpul , pe cea verticala frecventele, iar amplitudinile diferitelor componente spectrale se reprezinta prin culori diferite (de exemplu de la albastru la rosu si chiar pana la alb, pe masura ce amplitudinile cresc).

Page 50: REPREZENTAREA DATELOR AUDIO DIGITALE

Seria FourierSeria Fourier este o reprezentare a unei functii periodice sub forma

unei sume infinite de sinusoide:

unde ω=2πf, f fiind frecventa fundamentala a semnalului (a nu se confunda cu f(t)). Relatia se mai poate scrie si sub forma:

unde a0 este componenta continua (DC – „direct component”), data de relatia:

cu T=1/f. fiecare componenta alternativa (AC – „alternating component”) este o sinusoida pura.

Page 51: REPREZENTAREA DATELOR AUDIO DIGITALE

Coeficientii acestor componente sunt date de relatiile:

pentru -∞ < n < ∞.O alta forma echivalenta de reprezentare a seriei Fourier se bazeaza

pe relatia lui Euler:

unde e ≈ 2.71828...

iar

Page 52: REPREZENTAREA DATELOR AUDIO DIGITALE

Transformarea Fourier discreta (DFT)

Pentru un semnal audio digitizat fk reprezentat prin N esantioane, se

poate defini transformarea Fourier inversa:

Deoarece ω=2πf, rezulta ca frecventa fundamentala f este 1/N. Cunoscand amplitudinea fiecarei componente an si bn pentru 0 ≤ n ≤ N-1 se poate

reconstitui semnalul initial.

Page 53: REPREZENTAREA DATELOR AUDIO DIGITALE

Componenta continua este definita de:

(amplitudinea medie), iar componentele AC sunt date de:

cu 1 ≤ n ≤ N-1.

1

0

2cos

1 N

kkn N

nkf

Na

1

0

2sin

1 N

kkn N

nkf

Nb

Page 54: REPREZENTAREA DATELOR AUDIO DIGITALE

Transformarea Fourier directa prelucreaza un vector de esantioane audio si furnizeaza coeficientii sin si cos reprezentand datele din domeniul frecventa, pe baza relatiei:

cu 0 ≤ n ≤ N-1.

Page 55: REPREZENTAREA DATELOR AUDIO DIGITALE

Se poate defini in continuare magnitudinea componentei n de frecventa:

pentru 0 ≤ n ≤ N-1 si faza:

Pe baza acestor marimi se poate reprezenta DFT inversa:

Page 56: REPREZENTAREA DATELOR AUDIO DIGITALE

Faza este importanta in perceptia sunetului!

Legea lui Ohm (1800): faza nu are niciun efect in modul de perceptie a sunetului => un sunet sinusoidal este identic perceput de urechea umana indiferent de faza initiala cu care este transmis.

Dar daca se transmit simultan doua sunete de aceeasi frecventa, dar de faze diferite, sunetul perceput va depinde de diferenta de faza.

Exemplu: in auditia stereo, doua difuzoare defazate pot genera un sunet suparator.

In analiza de imagini, faza este chiar si mai importanta decat in analiza sunetelor, componenta de faza dominand perceptia unei imagini!

Page 57: REPREZENTAREA DATELOR AUDIO DIGITALE

Transformarea Fourie rapida (FFT)

Transformarea Fourier rapida, FFT – Fast Fourier Transform (1965 Cooley si Tukey) reduce complexitatea de calcul de la O(N2) O(Nlog2N).

Castigul de timp folosind FFT fata de DFT este foarte important!Un fisier de sunet calitate CD stereo: 44100 esantioane / secunda => N foarte mare!

Exemple:

N=256 => N2/(Nlog2N)= N/(log2N)=256/( log2256)=32

N=1024 => N2/(Nlog2N)= N/(log2N)=1024/( log21024)=102

N=65536 => N2/(Nlog2N)= N/(log2N)=65536( log265536)=4096

Page 58: REPREZENTAREA DATELOR AUDIO DIGITALE

In anumite programe de prelucrare audio este necesar sa se aleaga dimensiunea ferestrei FFT.

Se considera urmatoarea situatie:-semnalul audio f=440 Hz;-achizitia = 8000 esantioane/s;-fereastra FFT =1024 esantioane => 56.32 cicluri.

Sfarsitul unei ferestre se va situa in interiorul unei perioade a semnalului, iar la punerea cap-la-cap a doua perioade succesive apare o discontinuitate => unda care se presupune ca este analizata de FFT nu reprezinta exact frecventa audio reala. FFT interpreteaza aceasta discontinuitate drept componente de frecventa aditionale.

Fenomenul se numeste scurgere spectrala („spectral leakage”). Pe masura ce FFT parcurge intreaga forma de unda, de fiecare data cand se face calculul pe o fereastra de 1024 de esantioane, se detecteaza frecvente false (apar in reprezentarea grafica).

Page 59: REPREZENTAREA DATELOR AUDIO DIGITALE

Semnal perodic de 440 Hz

Analiza de frecventa.

Page 60: REPREZENTAREA DATELOR AUDIO DIGITALE

Discontinuitate generata de o fereastra FFT care nu acopera un numar intreg de cicluri.

De exemplu, pentru un semnal de 512 Hz, esantionat la rata de 1024 Hz si cu fereastra FFT de 1024 de esantioane, acoperind exact doua cicluri, nu apare fenomenul de scurgere spectrala.

Page 61: REPREZENTAREA DATELOR AUDIO DIGITALE

Fenomenul de scurgere spectrala: controlat intr-un program de prelucrare audio prin selectarea unei functii de ferestra („windowing function”). Cele mai utilizate: „triangular”, „Hanning”, „Hamming” si „Blackman”.

Deoarece discontinuitatile de faza apar la inceputul si sfarsitul unei ferestre, functia reduce amplitudinea semnalului in aceste doua zone.

=> frecventele false vor fi mai mici in amplitudine!

Aplicarea functiei fereastra: inmultirea semnalului cu functia fereastra.

Page 62: REPREZENTAREA DATELOR AUDIO DIGITALE

Cateva functii fereastra:

Page 63: REPREZENTAREA DATELOR AUDIO DIGITALE

Functia fereastra Hanning aplicata unui semnal sinusoidal.

Graficele functiilor fereastra

Page 64: REPREZENTAREA DATELOR AUDIO DIGITALE

Analiza statistica

Analiza statistica a unui fisier audio: prelucrarea valorilor esantioanelor in domeniul timp valorile minima si maxima, amplitudinea de varf din fisier, offset-ul DC, amplitudinea radacina patratica medie (RMS – „root-mean-square”), histograma.

Chiar daca offset-ul continuu (DC) nu este perceput la redarea fisierului audio, acesta poate influenta anumite etape de prelucrare, in particular prelucrarile bazate pe trecerile prin zero. Un program de prelucrare audio contine o facilitate de ajustare a offset-ului DC.

Amplitudinea radacina patratica medie (referita ca putere RMS sau nivel RMS) este o masura a amplitudinii medii a sunetului pe o perioada data (toata durata sau o parte). Se calculeaza astfel:

unde xi este amplitudinea esantionului i si N este numarul de esantioane.

Page 65: REPREZENTAREA DATELOR AUDIO DIGITALE

2

maxr

2

1

2

22

))((1 T

T

dxxfTT

r

2

max))sin((max

2

1 2

0

2

k

dxxk

r

Se poate vedea ecuatia RMS sub forma

unde max este valoarea esantionului maxim. Aceasta rezulta din versiunea continua a ecuatiei de mai sus:

care aplicata unui sinus pentru k cicluri complete furnizeaza:

Puterea RMS minima sau maxima se defineste doar in situatia in care a fost setata dimensiunea unei ferestre de analiza. De exemplu pentru o fereastra de 50 ms, puterea RMS minima este amplitudinea RMS minima pentru toate ferestrele de 50 ms din forma de unda. Amplitudinea RMS medie este media tuturor ferestrelor de dimensiunea specificata.

Page 66: REPREZENTAREA DATELOR AUDIO DIGITALE

Histograma audio indica numarul de esantioane de fiecare amplitudine (valoare). Un exemplu de histograma:

Exemple de programe de prelucrare a fisierelor audio de esantioane: Audition, Logic, Audacity, si Sound Forge.