Analiza reverberației în expertiza criminalistică a înregistrărilor audio [624900]

Analiza reverberației în expertiza criminalistică a înregistrărilor audio

Masterand: [anonimizat]

1. Introducere
1.1 Introducere în expertiza criminalistică
1.2 Motivația tezei
1.3 Vorbirea
2. Fenomenul de reverberație
2.1Descrierea fenomenului de reverberație
2.2 Timpul de reverberație
2.2.1 Estimarea timpului de re verberație folosind metode "in orb"
2.2.2 Estimarea timpului de reverberație folosind alte metode
2.3 Timpul de cădere in energie
2.4 Claritatea și Tă ria
2.5 Metode de estimare a unor proprietăți acustice ale încăperii
3. Provocări întâlnite în propagarea sunetului și efectele acestora
3.1 Provocări întâlnite în captura sunetelor
3.2 Efectele reverberației asupra mediului și a inteligibilității vorbir ii
4. Algoritmi de dereverberare
4.1 Descrierea algoritmilor de dereverberare
4.2 Aplicații
5. Implementarea și testarea metodei de dereverberare propuse
5.1Realizarea bazei de date ș i estimarea parametrilor acustici
5.2 Descrierea metodei de derever berare
5.3 Implementarea algoritmului
5.4 Rezultate obținuț e și concluzii

Intoducere
1.1 Introducere în expertiza criminalistică
Expertiza criminalistică reprezintă actul procesual prin care se efectuează o cercetare științifică
a probelor materiale dest inată identificării persoanelor, obiectelor, substanțelor, fenomenelor sau
evenimentelor, stabilirii anumitor proprietăți, modificări de formă, aspect, conținut ori structură,
precum și a mecanismului producerii acestora.[1]
Expertiza criminalistică se dispune de că tre:
 Instanța de judecată, prin încheierea de ședință
 Procuror, prin rezoluție – în cursul cercetării penale
 Procuror, prin ordonan ță – în cursul urmăririi penale
 Organele de poliție prin rezoluție motivată

Conform legii, specialitătile de expertiză sunt:
o Expertiza grafică și tehnică a documentelor
o Expertiza dactiloscopică a urmelor palmare și plantare
o Expertiza traseologică a urmelor lăsate de ființe și obiecte
o Expertiza balistică a armelor și a munițiilor
o Expertiza fizico -chimică a probelor materiale
o Expertiza criminalistică în accidentele de trafic terestru
o Expertiza criminalistică în accidentele de trafic aerian
o Expertiza criminalistică în accidentele de trafic fluvial și maritim
o Expertiza criminalisti că în explozii și incendii
o Expertiza vocii și vorbirii
o Expertiza imaginilor
o Expertiza biologică
o Expertiza genetică
o Expertiza aplicațiilor și datelor informatice
o Expertiza pentru detecția comportamentului simulat (poligraf)
o Expertiza drogurilor și stupefi antelor

În efectuarea unei expertize criminalistice trebuie parcurse următoarele etape:
1. Studierea și însușirea obiectului lucrării
2. Examinarea separată litigiu – comparație
3. Examinarea comparativă
4. Demonstrația
5. Formularea concluziilor

Aceste etape sunt concretizate în raportul de e xpertiză criminalistică întocmit de către expertul
criminalist.

Tipur ile de concluzii ce pot fi formulate într-un raport de expertiză criminalistică sunt:
o Concluziile certe, care au caracter categoric și sunt expr esia unor adevăruri obiective.
Acestea pot fi pozitive (de identitate) sau negative (de neidentitate).
o Concluziile de probabilitate, care exprimă măsură a incertitudinii cu privire la un anumit
fapt. La concluziile de probabilitate se poate ajunge ca urmare a insuficienței calitative sau
cantitative a materialului de comparație, a defectuozității sau lipsei aparaturii de specialitate.

Acest tip de concluzii sunt foarte utile organului jud iciar, deoarece, în lipsa concluziilor
certe, oferă date valoroase.
o Concluziile de imposibilitate , care pot fi rezultatul unor factori cu caracter obiectiv, cum ar
fi: starea materialelor supuse examinării, insuficiența materialului de comparație, întinder ea
redusă a urmelor etc.

În această teză ne vom concentra doar asupra expertizei criminalistice a vocii și vorbirii. Pentru
a detalia acest subiect, trebuie să înțelegem mai întâi aspecte generale legate de voce și vorbire.
Pentru a transmite informații oamenii folosesc, printre alte metode, vocea ca instrument al
vorbirii. Vocea este un sunet natural ce ia naș tere la nivelul corzilor vocale în m omentul în care acestea
vibrează datorită aerului ce le pune în mișcare. Trecând prin faringe și ajungând la ni velul gurii, acest
sunet se modifică , iar sunetul obținut reprezintă vocea propriu -zisă. Printre carac teristicile vocii se
numără: înă lțimea, intensitatea, calitatea și timbr ul. Vocea este o caracteristică unică fiecărei persoane
datorită faptului că în producerea sa sunt implicate mai multe părți ale corpului uman. Datorită
unicității vocii putem recunoaște o persoană.
Înalțimea vocii este dată de num ărul de vibrații pe secundă ale corzilor vocale. Un număr mai
mare de vibrații pe secundă vor produce un sunet mai înalt, în timp ce o frecvență mai mică produce o
voce mai gravă.
Intensitatea vocii este dată de elongația maximă a vibrațiilor corzilor vocale . Dacă amplitudinea
vibrațiilor corzilor vocale este mai mică, intensitatea vocii va fi mai scăzută. Cu cât amplitudinea este
mai mare cu atât intensitatea vocii crește. Acest lucru se întâmplă datorită faptului că o amplitudine mai
mare a vibrațiilor corz ilor vocale , face ca aerul să fie expulzat cu o presiune mai mare, producând un
sunet de o intensitate crescută. Intensitatea vocii se măsoară în decibeli.
Calitatea vocii este un fenomen acustic perceptual ce permite omului să diferențieze două
sunete si milare de aceeași intensitate și înălțime. În recunoașterea vocală diferențele dintre voci sunt
responsabile de reducerea performanțelor. Pe de altă parte în sinteza vorbirii calitatea vocii este un
parametru util.
Timbrul oferă o amprentă v ocală unică fiecărui vorbitor. La bărbați, valoarea medie a frecvenței
tonului fundamental este de 125 Hz, în timp ce la femei această valoare medie este de 250 Hz.
Vocea își păstrează caracteristicile pe tot parcursul vieții iar schimbarea ei este aproape
imposibilă. Schimbările care pot apărea totuși sunt de origine patologică.
Vorbirea se caracterizează prin moduri particulare de expresie și stil, specifice unui anumit grup
de persoane. Aceste caracteristici pot duce la recunoașterea vorbitorului de către o altă pe rsoană, martor
de audit, sau de către victimă, situație întâlnită frecvent în practică.

Expertiza criminalistică a vocii și vorbirii stabilește mijloacele, principiile, procedeele și
tehnicile utilizate în examinarea urmelor sonore ale vocii și vorbirii, precum și a modelelor de
comparație, pentru a putea răspunde întrebărilor formulate de organele judiciare.
Domeniul criminalistic al înregistrarilor audio implică mai multe subiecte familiare comunității
de procesare de semnal audio digital (eng. DSP), cum ar fi: recunoașterea vorbirii , indentificarea
vorbitorului și îmbunătățirea calității semnalului.

Unul din principalele interese ale expertizei criminalistice a semnalelor audio este stabilirea
autenticității probei audio. Îmbunătățirea înregistrărilor audio pentru sporirea inteligibilității și a
percepției sunetelor este, de asemenea, un aspect important în cadrul expertizei criminalistice a
semnalelor audio. Un alt domeniu de intere s pentru criminalistică este reprezentat de interpretarea și
documentarea probelor audio pentru identificarea vorbitorului, transcrierea dialogului sau reconstituirea
locului crimei și estimarea cronologiei evenimentelor.

Prin e xpertiza criminalistică de autentificare a probelor multimedia se stabilește dacă
evenimentele acustice și vizuale sunt conforme cu adevărul, în acest sens fiind necesară stabilirea datei
și orei la care acestea au fost create, existența unor eventuale modificări și durata aproxim ativă a
pasajelor modificate etc. Înregistrările care nu sunt autentice , nu pot fi utilizate într-un proces.
Probele audio sunt adesea înregistrate în condiții dificile sau cu echipamente de o calitate mai
puțin bună. Uneori, aceste probe pot deveni vital e pentru un caz iar atunci când inteligibilitatea
înregistrării este scăzută, proba devine nefolos itoare. Din acest motiv, îmbunătățire a calității audiției și
a inteligibilității înregistrării sunt pri ntre cele mai importante sarcini ale unui expert crimin alist.

Prin legea nr.156/2011, expertiza criminalistică a vocii ș i a vorbirii a fost consacrată î n
Rom ânia ca specialitate criminalistică, fiind destinată în principal analizei și interpretării probelor
reprezentând vocea unor persoane, în vederea stabilirii sau verificării identității acestora.
Orice sunet conține informații despre spațiul în care se produce . Modul în care un spațiu este
percep ut este dat de sunetul ambiental , influența asupra spectrului sunetului ș i de reverberație.
Similaritățile dintre parametrii de reverberație estimați dintr -o înregistrare audio, pot fi folosite în
analiza criminalistică a înregistrărilor și în identificarea mediului acustic. O diferență mică între
parametrii de reverberație estimați indică un mediu acustic similar . Dacă două înregistrari au fost
realizate în același mediu acustic sau în medii acustice similare , acest lucru se va putea observa prin
asemămările dintre parametri i de reverberație ai celor două înregistrări.

Mediul acustic își lasă amprentele asupra înregistrărilor audio. Pentru a caracteriza un mediu
acustic se pot folosi reverberația și zgomotul de fundal.
Identificarea mediului acustic (eng. AEI) are o gamă largă de aplicații. Acestea variază de la
verificarea integrității înregistrărilor audio la lo calizarea sau identificarea unui eveniment în timp real.
De exemplu, dacă se primește un apel de urgență de la o victimă ce este hărțuită sau urmărită de un
infractor, semnalele acustice din înregistrarea audio po t fi folosite pentru a caracteriza spațiul acustic.
În mod similar se procedeaza și în cazurile cu focuri de armă. Sunetul armelor de foc din înregistrare
poate fi folosit pentru a obține informații impor tante despre tipul de armă cu care s -a tras.

Disponibilitatea unor instrumente de manipulare digitale puternice, sofisticate și ușor de utilizat
a făcut ca autentificarea integrității mediilor digitale să fie și mai dificilă. În acest context, expertiza
criminalistică își propune ca prin analiza înregistrărilor să stabilească și să ofere răspunsuri la diverse
întrebări, cum ar fi:
• Este înregistrarea nealterată sau a fost creată prin editare?
• Există modificări aduse înregistrării? Ce tipuri de modificări sunt și unde sunt localizate
acestea în înregistrare?
• A fost realizată înregistrarea utilizând dispozitivul de achiziție indicat și la locația menț ionată?

Pentru a fi utilizate ca bază pentru hotărârile instanțelor, autentificarea probelor d igitale este
esențială . Tehnicile de expertiză criminalistică a înregistrărilor digitale au fost dezvoltat e pentru a
detecta urme de fals și intervenții exploatând:
• variațiile frecvenței rețelei electrice (eng. ENF)
• neliniaritățile dispozitivelor de a chiziție
• urmele cauzate de reverberația acustică
• inconsecvențe în variația spectrului și a salturilor de fază

1.2 Motivație

Redactarea ace stei teze este motivată, în pa rte, de cererea continuă de sisteme eficiente de
comunicare și de creș terea masivă a numărului de cazuri în care se depun , în instanța de judecată , probe
sub formă de înregistrări audio -video din ultimii ani. Această creștere va continua, datorită popularității
interacțiunilor om -mașină. C aptarea de sunete "curate" nefiind practic posibilă, aceste tipuri de sisteme
prezintă anumite min usuri, astfel că semnalul înregistrat este degradat de reacțiile acustice ale
încăperilor și ale altor obiecte din spațiul acustic, efect cunoscut și sub numele de reverberație. Astfel,
alterând carac teristicile spectrale ale semnalului, reverberația are un impact puternic asupra calității și
inteligibilității vorbirii.
În lucrare se evaluează efectele reverberației întâlnite în expertiza criminalistică a înregistrărilor
audio. Se examin ează efectele semnalelor acustice standard în contextul datelor necunoscute cu privire
la realizarea înregistrării.
Teza descrie procesul de creare a unei baze de date cu semnale reale, ce vor fi folosite în
evidențierea parametrilor unor tipuri de spații reve rberante. Cu ajutorul acestei baze de date vor putea fi
implementate și testate performanțele metodelor de dereverberare descrise în literatură. Concluziile
testelor se vor aplica la autentificarea criminalistică a unei înregistrări contestate sau a încăpe rii în care
se susține că a fost realizată această înregistrare.

1.3 Vorbirea

Vorbirea, ca mod natural de comunicare între oameni, este percepută de om în mod nativ.
Aceasta constă într -o undă sonoră emisă prin gura unei persoane receptată cu ajutorul urechilor.
Producerea vorbirii presupune un mecanism mai complex al cărui studiu este important și necesar atât
pentru dezvoltarea sistemelor de recunoaș tere vocal ă, de îmbunătățirea inteligibilității vorbirii, de
simulare a și modelarea vorbirii cât și pemtru producerea de aparate auditive.

În principiu, mecanismul de producere a vorbirii const ă în trei funcț ii:

 Creierul produce un gâ nd a ceea ce vrem s ă pronunțăm și oferă semnale de control că tre
organele de producere a vorbirii, prin intermediul nervilor.
 Primind aceste semnale de la creier, organele responsabi le cu producerea vorbirii se
mișcă în vederea producerii sunetului dorit.
 Cea de -a treia fun cție este generarea semnalului propiu -zis prin producerea undei
sonore.

Semnalul sonor poate fi împărț it în două categorii: vocal și nevocal. Pentru analiză , semnalul
vocal po ate fi reprezentat î n mai multe moduri cum ar fi:

 reprezentarea î n domeniul timp
 reprezentarea în domeniul frecvență
 reprez entarea în mod conjugat în timp și frecvență

În domeniul timp, semnalul este reprezentat ca variație de amplitudine în timp. Î n domeniul
frecvență, semnalul se reprezintă ca variație de amplitudine sau putere în frecvență . Pentru
reprezentarea sub form ă de spectrogramă semnalul se reprezintă ca variație simultană în timp și
frecvență.
Datorit ă faptului c ă semnalul vocal este nestaț ionar, pent ru analiza semnalului se folosește
proprietatea de staționaritate pe termen scurt. În accest sens este folosi tă cu succes tehnic a de
ferestruire.
Aceste ferestre de analiză se obțin împărțind semnalul în blocuri de durată scurtă, pentru care
valorile parametrilor pot fi considerate constante .

2. Reverberația
2.1 Descrierea fenomenului de reverberație
O parte din energia undei sonor e produsă de o sursă aflată la o anumită distanță de microfon,
ajunge la microfon în linie dreaptă , în timp ce alte părți din energia sa ajung la microfon numai după ce
au fost reflectate cel puțin o dată de pereți, tavan, podea și alte suprafețe din încăpere . Astfel, semnalul
captat de microfon este format din unda sonoră directă și unde întârziate și atenuate din cauza
parcurgerii unor drumuri mai lungi . Acest fenomen poartă numel e de reverberație. S emnal ul poate fi
astfel afectat atât de reverberație, zgomot de fundal cât și alte interferențe.
Fenomenul de ecou este un caz particular de percepție a reverberației, în care numărul de unde
reflectate este mic și întârziere a este suficient de mare astfel că p erceperea acestuia diferă de percepția
reverberație i obișnuite .
În viata de zi cu zi, reverberația este de ajutor, de exemplu, atunci când încercăm să ne adresăm
unui public. Atunci când vorbim în exterior trebuie să vorbim mai tare decât am face -o în interiorul
unei camere. Acest lucru se datorează faptului că reverberația camerei ne ajută să păstrăm energia
sunetului în interiorul camerei. Atunci când vorbim în exterior, mare parte din energia sonoră se pierde
dator ită lipsei suprafețelor reflectante.
În figura 2.1 este ilustrat un exemplu de traseu al undei sonore ce ajunge la microfon ca o
superpoziție a unei unde direct e și a trei reflexii. Fiecare dintre aceste unde ajunge la microfon cu
diferite amplitudini și faze. Acest lucru se datorează faptului că lungimea căilor de propagare către
microfon și cantitatea de energie absorbită de pereți sunt diferite . De aceea, semnalul recepționat
conține copii întârziate și atenuate ale semnalului sursă. Mai precis, semnalul recepționat este, în
general, descris ca fiind un sunet direct, reflexii care sosesc la scurt timp după sunetul direct
(reverberați e timpurie ) și reflexii care ajung după rev erberația timpurie (reverberație târzie ).
Reverberația timp urie și cea târzie se disting după capacitatea umană de discernere .

Figura 2.1 – traseul undei sonore
• Unda direct ă este primul sunet recepționat la microfon prin parcurgerea căii directe dintre
sursă și microfon . Întârzierea dintre emiterea de către sursă a unui front de undă și observarea acestu ia
ca undă direct ă la microfon depinde de distanța parcursă și de viteza sunetului.

• Reflexiile timpurii sunt reflexiile ce ajung la receptor la scurt timp după sunetul direct. Aceste
componente ajung la m icrofon la momente diferite și di n direcții diferite în comparație cu sunetul
direct și sunt, de asemenea, mai slabe în amplitudine. În [3] se arată că atâta timp cât întârzierea
reflexiilor nu depășește o limită de aproximativ 80 -100 ms, reverberația timpur ie nu este percepută ca
un sunet separat de sunetul direct.

Reverberația timpurie este utilă pentru aplicații folosite în:
o creșterea inteligibilității vorbirii
o acustica încăperi lor mici, deoarece pereții, tavanul și podeaua sunt foarte apropiate.
Reflexiile timpurii determină o denaturare spectrală a semnalului, acest efect datorându -se corelațiilor
pe termen scurt introduse în semnal.

• Reflexiile târzii sunt componente de reverberație care rezultă din reflexii ce sosesc cu
întârzieri mai mari față de sosirea sunetului direct. Ele sunt percepute de către om fie ca ecouri
separate, fie ca reverberație, și pert urbă inteligibilitatea vorbirii . [4]
Nu există limite clare între reverberațiile timpurii și cele târzii, iar defin ițiile date anterior sunt
doar comparative și, în aceeași măsură, relative.
Atunci când distanța dintre sursă și microfon variază, proporția dintre energia sunetului direct
și cea a reflexiilor variază în funcție de acestea. Cu alte cuvinte, energia sunetului direct se modifică
odată cu distanța dintre microfon și sursă, în timp ce energia combinată a reflexiilor timpurii și târzii
este aproximativ constantă.
Inteligibilitatea vorbirii este îmbunătățită de procesarea spațială a sistemului auditiv uman,
acest lucru oferind capacitatea de separare a surselor în perceperea surselor mixte. Cu toate acestea,
utilitatea sau nociv itatea fenomenului de reverberație depinde de aplicație [7].
Ca rezultat al dezvoltării continue a tehnologiei, au apărut diferite sisteme și aplicații avansate
bazate pe vorbire. Printre acestea trebuie amintite aplicațiile de recunoaștere a vorbirii , identificarea
vorbitorului, dispozitive controlate prin comenzi vocale etc. Aparatele auditive constituie un alt
exemplu pentru care înțelegerea vorbirii de la distanță este esențială.

În timp ce pentru suprimarea zgomotului (NU inteleg comentariul) există algoritmi de
procesare, pentru reducerea reverberației găsirea unui algoritm eficient și practic reprezintă încă o
provocare majoră. O diferența î ntre zgomot și reverberație este faptul că efectul de reverberație este
dependent de semnal, în timp ce zgomotul este independent de acesta.
O sursă sonoră emite unde sonore ce traversează un mediu acustic ajungând la receptor.
Răspunsul la impuls reprezintă totalitatea efectelor pe care mediul le are asupra sunetului receptat.
În domeniul acustic, răspunsul la impuls este considerat "semnătura" acustică a mediului .
Răspunsul la impuls conține multe informații desp re un sistem acustic și despre parametrii acestuia.
Acești parametri cara cterizează diferite aspecte de acustică ale încăperii ((NU inteleg comentariul)
Din ră spunsul la impuls al camerei se pot estima și alti parametri cum ar fi:
o timpul de reverberație (T60)
o timpul de cădere în energie (EDT)
o claritatea (C)
o tăria (S)

2.2 Timpul de reverberație

Timpul de reverberație (T60) este definit ca timpul necesa r energiei unui câmp sonor să s cadă
cu 60dB față de nivelul inițial după oprirea sursei de excitație sonoră a camerei [13].
În anii 1900 W.C.Sabine a descris caracteristicile de reverberație ale unui spațiu
bazându -se pe rezultate practice [4]. El a indrodus noțiunea de timp de reverberație, iar ecuația lui se
bazează pe presupunerea că en ergia sunetului este dispersată în mod egal în tot spațiul. Dacă
presupunem că spațiul este omogen și izotrop, timpul de reverberație (T60) poa te fi estimat folosind
ecuația 2 .1:
=
(2.1)

T60 este timpul de reverberație care reprezintă timpul în care energia scade cu 60 dB față de nivelul
inițial după încetarea excitației. V este volumul spațiului și are ca unitate de măsură < >; A este aria
totală de absorbție și se măsoară in < >;
Se definește un coeficient de absorbț ie al suprafețelor , acesta putând fi calculat folosind
ecuația 2.3 media acesto ra fiind calcultă prin formula 2 .2:
̅=
(2.2)

̅ =
∑ (2.3)

unde S reprezintă aria totală a suprafețelor, ce se măsoară în < >.

Astfel, ecuația 2 .1 devine:
=
̅ (2.4)

O altă modalitate de estimare a timpului de reverberație est e cu ajutorul formulei Eyring (2.5) [5]:

=
̅ (2.5)

Unde: este timpul de reverberație <s>
V este volumul total al spațiului < >
S este suprafața totală a spațiului < >
̅ este coeficientul de absorbție mediu

Această metodă presupune că sunetul provenit de la o sursă este reflectat succesiv de
obstacole sau obiecte. Atunci când unda son oră atinge un obiect, o parte din ener gie este absorbită și o
parte este reflectată [6 ].
Aceste două expresii arată că timpul de reverberație al unei camere este independent de locația
sursei sonore sau a microfonului. [3].

După apariția ,în literatură, a celor două metode prezentate anterior, au mai fost dezvoltate și alte
metode de estimare a timpului de reverberație. Aceste metode pot fi clasificate din punct de vedere al
cunostințelor despre spațiul acustic necesare apriori. Tehnicile de estimare "non -blind" necesită
răspunsul la impuls a l camerei pentru obținerea curbei de cădere în energ ie necesară pentru estimarea
timpului de reverberație. Metodele " in orb" (eng. " blind" ), folosite mai mult în algoritmii de
îmbunătățire a calității vorbirii, estimează direct timpul de reverberație din semnalul măsurat
(reverberat).

2.2.1 Estimarea timpului de reverberație folosind metode în orb ("blind" )

Aceste metode de estimare a timpului d e reverberație se folosesc de semnal ul vocal reverbera t,
neavând nevoie de alte informații legate de caracteristicil e acustice ale camerei sau de echipamentul
folosit pentru înregistrare etc. Ținând cont că, în cele mai multe cazuri, singura informație pe care o
avem este semnalul vocal reverberat, aceste metode sunt cele mai utile în aplicațiile practice.
O astfel de metodă este estimarea timpului de reverberaț ie bazată pe distribuția ratelor de cădere în
energie ale semnalului . Ratele de cădere în energie ale semnalului sunt estimate în domeniul STFT
folosind un mecanism de ajustar e bazat pe metoda celor mai mici pă trate – LMS (eng. "Least Mean
Squares") .

2.2.2 Estimarea timpului de reverberație folosind alte metode

1) Metoda Schroeder utilizeză la intrare un răspuns al camerei la impuls cunoscut apriori.
Logaritmând pătratul răspunsului la impuls al unei camere, obținem curba de cădere în energie. din
care putem estima timpul de reverberație. Deoarece semnalul sursă este zgomot cu fluctuații aleatorii,
estimarea timpului de reverberație din curba de cădere în energie nu este foarte precisă. O soluție ce
poate rezolva această problemă este integrarea în timp a răspunsul ui camere i la impuls folosind formula
2.6:

〈 〉=∫
(2.6)

unde s(t ) reprezintă semnalul reverbera t și hr(x) este răspunsul la impuls al camerei.

2) Estimarea bazată pe Criteriul Plauzibilității Maxime (engl.Maximum Likelihood Estimation –
MLE)
Estimarea timpului de reverberație folosind metoda ML E este o tehnică ce poate fi folosită atât pentru
estimarea "non -blind" cât și pentru cea "blind". Această metodă se bazează pe modelarea reverberației
ca o exponențială ce depinde doar de o const antă de timp denumită rată de cădere în energie . Dacă
presupu nem că reflexiile târzii nu sunt corelate, putem modela căderea în energie ca o secvență
exponențială necorelată de zgomot alb [19].
Deoarece metodele "non -blind" necesită spre exemplu, cunoașterea răspunsului la impuls al
camerei, este necesară o trecere în revistă a acestora și a metodelor de estimare sau măsurare ale
acestuia.
Atunci când o sursă sonoră și un receptor se află în aceeași încăpere , sunetul primit de receptor
depinde de răspunsul la impuls al camerei.
Răspunsul la impuls este o funcție, h( t), în domeniul timp, care caracterizează modul în care
semnalul x(t) este modificat în poziția receptorului. Semnalul rezultat poate fi exprimat ca o convoluție
în domeniul timp a semnalului cu raspunsul la impuls:

y(t) = x(t) h(t) (2.7 )

Răspunsul la impuls al unui spațiu închis generează proprietățile acustice ale acestuia și depinde
de dimensiunile încă perii și forma sa geometrică precum și de proprietățile suprafetelor pereților care
delimitează camera.

Dacă răspunsul la impuls al cam erei este cunoscut, curba de cădere în energie poate fi estimată
cu ajutorul formulei 2.8 :
EDC(t) = ∫
(2.8)

În figura 2 .2 se arată un exemplu de curbă de cadere în energie pentru masurarea timpului de
reverberație.

Figura 2.2 – Estimarea timpului de reverberatie

2.3 Timp ul de cădere în energie (eng. Energy Decay T ime – EDT)

Timpul reflexiilor timpurii este estimat din curba de cădere în energie ca fiind durata în care
energia scade cu 10dB față de nivelul inițial. Un timp de cădere în energie scurt este un indicator al
clarității semnalului vocal.
Unul dintre factorii determinanți în performanța sistemelor de recunoaștere automată a vorbirii
(eng. ASR) este inteligibilitatea semnalului vo rbit. Cu cât dist anța dintre microfon și vorbitor este mai
mare cu atât performanța sistemelor ASR scade, deoarece semnalul ajuns la microfon conține mai
multă reverberație și mai puțin s emnal direct. Același lucru se întâmplă și cu raportul semnal –
reverberație (eng. SRR) și raportul semnal direct -reverberație (eng. DRR). În plus, reverberația
cauzează și estomparea fonemelor, lucru care se datorează faptului că reflexiile ajung la microfon cu o
mică întârziere.

2.4 Claritatea și tăria

Claritatea este da tă de raportul energiei reflexiilor timpurii și târzii ale sunetului . Cu cât acest
raport are o valoare mai mare, cu atât claritatea este mai bună. Energia reflexiei timpurii este cea a
undelor care ajung la microfon în 80 ms după unda directă. C laritatea se măsoară în dB și se calculează
conform formulei 2.x .

= 10 log (
) 2.x

Tăria este un parametru acustic definit ca nivelul sunetului produs de o sursă sonoră
omnidirecțională măsurat într -o anumită poziție din încăpere, raportat la nivelul sunetului la o distanță
de 10 m fată de aceeași sursă măsurat în spațiul liber. Măsuratorile arată efectul reflexiilor asupra
nivelului sunetului. Tăria se măsoară în dB și este calculat conform formulei 2.2x

G = − 2.2x

Unde = este nivelul sunetului în încăpere și = este nivelul sunetului î n aer liber.

2.5 Metode de estimare a unor proprietăți acustice a le încăperii

În acest subcapitol voi prezenta cele mai uzuale metode de estimare a proprietăților acustice ale
încăperilor.

o Cea mai ieftină și intuitivă metodă de măsurare este cea în care se folosesc, drept sursa
sonoră, aplauze, baloane sau pistolul de jucărie.
Această metodă presupune înregistrarea răspunsul ui camerei la impuls , urmând a se extrage
din înregistrare apoi timp ul de reverberație și alți parametri. După aceea se exprimă puterea
sunetului în dB (la scară logaritmică) găsind astfel panta.
Prelungind linia după care cade energia semnalului, se stabileste timpul de reverberație.
Aplauzele nu au un raspuns în frecvenț ă la frecven țe joase . Folosind b aloanele ca sursă
sonoră se obține un r ăspuns puțin mai bun însă pistolul va da cele mai bune rezultate.

o Sweep sine
Pentru această metodă se folosește un semnal generat d e tip chirp ("sweep sine ").
Un semnal de tip chirp este un semnal a cărui frecvență variază în timp. Spre deosebire de
alte tipuri de impuls, componentele spectrale ale chirp au faze diferite.
Similar cu metoda precedentă, se redă acest semnal folosind un difuzor, se înregistrează
răspunsul camerei pentru câteva poziții și apoi se analizeaza rezultatele.

o Sunet intermitent
Se redă zgomotul roz filtrat trece -bandă și se înregistrează nivelul acestuia în dB. Se oprește
sursa sonor ă și se înregistrează rezultatul . Din graficul pantei, în dB , se găsește timpul în
care curba energiei va ajunge la -60dB față de starea activă, acesta reprezentând timpul de
reverberație. Este importantă folosirea unei surse și a unui microfon omni -direcționale.

o "Maximum Length Sequence "
Este folosit un se mnal de tip zgomot alb care în urma autocorelației permite extragerea
răspunsului la impuls. Are rezultate mai slabe decât metoda precedentă.

Cerințele recomand ate pentru captarea corectă a ră spunsului la impuls al unei camere sunt ca :
 Sursa, fie un difuzor fie orice tip de sursă sonoră, să aibă un model de radiație omni -direcțional.
 Nivelul de presiune al sunetului trebuie să fie suficient de înalt pentru a oferi o gamă dinamică
minimă necesară pentru a efectua o măsurare a timpului de reverberație.

3. Provocări întâlnite în propagarea sunetului și efectele acestora

3.1 Provocări întâlnite în captarea sunetelor

Sistemele de comunicare au de suferit datorită faptului că nu este prac tic posibilă captarea
directă a vorbirii oricât de aproape de vorbitor ar fi plasat microfonul. O consecință a acestui fapt, este
că semnalul este degradat de reacțiile acustice ale pereților și a altor obiecte din spațiul acustic , efectul
perceput fiind cel de reverberație .
Deoarece efectele de filtrare al e mediilor sunt aproximativ lini are, răspunsul la impuls poate fi
folosit pentru a prezice sunetul pe care orice sursă îl va produce într -un anumit mediu și astfel oferă un
mijloc de descriere a reverberației.
Un exemplu de ră spuns l a impuls pentru o încăpere se poate observa în figura 3 .1. Primul vârf
corespunde sunetului care sosește direct de la sursă, cu ce a mai mică întârziere posibilă. Vârfurile
ulterioare se datorează reflexiilor, fiecare corespunzând unui anumit traseu parcurs de sunet până la
receptor. În cele din urmă, reflexiile devin suficient de dense încât se suprapun în timp. Deoarece
energia este absorbită de suprafețele din mediu la fiecare reflexie, căile mai lungi produc amplitudini
mai mici, iar ecourile suprapuse p roduc o "coadă" în ră spun sul la impuls care descrește în timp.

Figura 3 .1- un exemplu de ră spuns la impuls [3] http://acoustics.org/pressroom/httpdocs/152nd/behler1.jpg

Răspunsul la impuls oferă informații despre mediu. De exemplu, camerele mai ma ri produc mai
puține reflexii în unitate a de timp , astfel încât reverberația descrește mai încet. Ratele de cădere în
energie sunt, de asemenea, afectate de material. Un astfel de exemplu este covorul care este mai
absorbant decât piatra . Răspunsul la impuls conține, de asemenea, informații despre distanța dintre
sursa de sunet si ascultător, prin raportul dintre sunetul direct și sunetul reverberat . Dar având în vedere
gama largă de medii fizice cu care se confruntă oamenii, cu materiale și geometrii care variază, nu este
evident dacă răspunsurile la impuls ar putea prezenta reguli care să permită separarea lor clară de
semnalele sursă.

O altă problemă o reprezintă faptul că sistemul măsurat trebuie să prezinte două proprietăți:
liniarita tea și invarianța în timp. În sistemul liniar, dacă se dublează intrarea , aceast ă dublare trebuie
obținută și la ieș ire. De asemenea, toate măsurătorile trebuie realizate în mod identic în timp.
Pentru ca un sistem să fie invariabil în timp, modificările f izice nu sunt permise nici în timpul
măsurătorilor, nici între acestea. Ca mediu acustic, aerul este o parte critică a s istemului. Deși se pot
menține obiecte în mediul înconjurător, nu se poate controla aerul, a cărui temperatură și umiditate
influențează viteza sunetului [14].
Un sunet care parcur ge o distanta de 300 m, ajunge din suprafată în suprafată până la receptor
într-un moment determinat de viteza sunetului în aer. În funcție de temperatura aerului la un anumit
moment, sunetul ar putea ajunge la r eceptor în 1.3s. În alt moment, sunetul ar putea ajunge după 0.9
secunde. Astfel, aceste variații pot fi suficiente pentru a contrazice ipotezele matematice.
Modificările de temperatură destabilizează de asemenea măsurarea răspunsului in frecvență.
Chiar ș i variațiile minore ale temperaturii contrazic invarianța timpului.
Înregistrarea unui răspuns la impuls într -o sală de concerte necesită ca reverberația să fie
suficient de puternică pentru a depăși zgomotul de fond, mai ales la sfârșitul cozii de reverberație, când
aceasta este la un nivel scăzut. Pentru a asigur a o intensitate suficientă în căderea în energie, excitare a
inițială trebuie să fie extrem de intensă.
Distanța la care energia căii directe este egală cu energia ansamblului reflexiilor timpurii și
târzii se numește distanță critică [3]. Când distanța dintre o sursă și un microfon este mai mare decât
distanța critică, energia totală a reflexiilor este mai mare decât energia căii directe.

3.2 Efectele reverberației asupra mediului și inteligibilității vorbirii

Partea reverberată este dependentă de pozițiile sursei sonore și a receptorului. Sunetele se
reflectă în unghiuri diferite oferind diferite întârzieri de propagare așadar diferite răspunsuri la impuls.
Acest fenomen se poate verifica mișcând și întorcând capul în diferite direcții într -o încăpere obișnuită
în ca re este prezentă o sursă sonoră [12].
Efectul im ediat al reflexiilor multiple este o creștere a intensității sunetului. Un ascultător va
auzi atât unda directă cât și reflexiile multiple. Așadar, intensitatea combinată a undei directe și a celor
reflectate va fi mai mare decât cea a sunetului original.
Provocarea computațională este că semnăturile acustice ale sursei și mediului sunt combinate
într-un singur semnal receptionat. Apare intrebarea dacă recunoașterea surselor și a spațiilor reflectă
capacitatea de a separa efectele lor și dacă o astfel de s eparare este posibilă.
Pentru a determina dacă există astfel de regularități statistice, autorii din [13], au măsurat
răspunsurile la impuls a 271 de spații din eșantionul de distribuție întâlnit de oameni în timpul vieții de
zi cu zi. Spațiile eșantionat e au fost diverse, dar rezultatele au fost dependente de frecvență: frecvențele
medii au reverberat cel mai mult, frecvențele mai mari și cele mai scăzute au fost atenuate mai rapid,
probabil datorită proprietăților absorbante ale materialelor și ale aerul ui.
Pentru a testa dacă oamenii folosesc aceste regularități, au fost manipulate caracteristicile
răspunsulu i la impuls în sunetul reverbera t simulat. Ascultătorii au putut distinge sursele și mediile de
sunet de aceste semnale, dar ab ilitățile acestora s-au micșorat atunci când caracteristicile de
reverberație au fost deviate de cele ale mediilor din lumea re ală. Răspunsurile la impuls atipice au fost
astfel confundate cu surse de su net. Rezultatele sugerează capaci tatea creierului de a separa sunetul de
contribuțiile din sursă și din mediul înconjurător, constrânse de un precedent asupra reverberației
naturale. Acest proces de separare poate contribui la recunoașterea robustă oferind în același timp
informații despre spațiile din jurul nostru.
Interacțiu nile cu spațiul din jurul nostru se realizează atât prin vizualizarea acestuia cât și prin
ascultarea sunetului produs. Astfel, ne putem mișca,de exemplu, într -o încăpere pe întuneric sau putem
"auzi" lipsa mobilierului dintr -o încăpere. În același mod și poziția pe care o avem într -o sală de
concerte, poate influența experiența avută.

4. Algoritmi de dereverberare

4.1 Descrierea algoritmilor de dereverberare

Toate efectele discutate până acum, pot deteriora considerabil inteligibilitatea semnalului. De
aceea, reducerea acestora este, in mod evident, foarte importantă. Algoritmii care ajută la reducerea
efectelor reverberațiilor se numesc algoritmi de dereverberare.

Există două posibilități de abordare a dereverberării unui semnal și anume:
-folosirea unor algoritmi ce calculează direct, prin observarea semnalului, un estimat al
semnalului sursă. Acești algoritmi sunt folosiți în suprimarea efectului de reverberație.
-folos irea unor algoritmi care presupun estimarea filtrului canalului și aplicarea filtrului invers
asupra semnalul ui înregistrat. Acești algoritmi sunt folosiți în anularea efectului de reverberație.

Dereverberarea unui semnal audio single -channel reprezintă a cțiunea de a recupera semnalul
original atunci când avem la dispoziție un semnal reverbera t recepționat de un singur microfon. În
general, datorită faptului că nu este posibilă procesarea spațială în diferite puncte de observare a
semnalului, metodele de dereverberare pe ntru un singur canal prezintă mai multe probleme decât cazul
metodelor de de reverberare cu mai multe canale [16], [17].
Prima metodă de îmbunătățire a sem nalului reverbera t a fost propus ă in 1991 de către Bees et al
[18]. Acesta propunea u n algoritm ce estima cepstrul canalului acustic, folosind apoi pentru inversare
tehnica "least squares".
Folosind metode de îmbunătățire spectrală, alți cercetători s -au ocupat doar de eliminarea
reflexiilor târzii considerându -le independente de componen tele reverberației timpurii. Aceste metode
folosesc transformata Fourier în timp scurt, estimând densitatea spectrală de putere în timp scurt a
componentelor de reverberație târzii pentru suprimarea acestora.
O altă tehnică foarte des folosită este suprim area spectrală. Este o tehnică ce poate fi utilizată în
timp real.
Metodele descrise până în acest punct au totusi un punct slab: acestea nu iau in considerare si
reflexiile timpurii deși acestea sunt foarte importante în aplicațiile de recunoaștere vocal ă.
Yegnanarayana and Murthy [19], [20 ] calculează, în metoda lor, eroarea de predicție liniară LP
a semnalului curat, sintetizând apoi un semnal îmbunătățit.
Există și câțiva algoritmi de dereverberare care se ocupă atât de componentele reverbera te
timpurii cât și de cele târzii.
Wu and Wang [22] au folosit metoda Gillespie et al. [21] ca prim pas al algoritmului, folosind
apoi scăderea spectrală pentru a reduce reverberația târzie. Acest algoritm combinat, are rezultate bune
doar în cazul în car e timpul de reverberație este scurt.
In [2 3] Zarouchas et al. consideră reverberația ca o degradare a unui semnal audio mono. Pentru
a aplica algoritmul este nevoie să fie cunoscute atât semnalul curat cât și semnalul reverberat. Pentru a
modela percepția semnalelor reverberate se utilizează un model computational de m ascare auditivă
(CAMM) . Semnalul sursă și semnalul reverberat sunt procesate cu ajutorul acestui model iar ap oi se
realizează o scădere a distorsiunilor cauzate de reverb erație. Acest proces are la bază evaluarea
diferențelor perceptibile dintre reprezentările perceptuale ale celor două semnale.
În [24 ] si [ 25], se concluzionează că filtrarea inversă necesită o măsurare precisă a răspunsului
la impuls dintre sursă si receptor. D e asemenea, filtrul invers este specific unui singur răspuns la
impuls, deci un filtru aproximat pentru o pozitie dintr -o încăpere nu este valid pentru o altă poziție din
aceeași încăpere

4.2 Aplicații

În acest subcapitol voi prezenta câ teva dintr e cele mai semnificative aplicații în care efectul de
reverberaț ie ajut ă la soluț ionarea unor probleme.

4.2.1 Identificarea spațiului acustic

Prin analiza artefactelor semnalului audio se po ate obține semnă tura spatiului acustic al locației
în care a fost realizată o înregistrare.
Motivaț ia din spatele f olosirii artefactelor acustice î n identificarea spa țiului acustic este faptul
că metodele de analiz ă actuale, cum ar fi metodele bazate pe ENF, sau metodele bazate pe identificarea
dispozitivului cu care a fost realizat ă o inregistrare, sunt predispuse atacurilor de compresie.
Reverberația nu este afectată de aceste atacuri. Astfel, caracteristicile acustice pot fi folosite în
identificarea spațiului acustic și în aplicații de expertiză criminalistică audio.
Pentru implementarea acestei aplicații, se urmează trei pași:
 Se estimează zgomotul de fundal
 Dereverberarea "în orb"
 Extrag erea parametrilor și clasificarea acestora
Acest subiect e ste detaliat în [31] și [32].

4.2.2 Reverberația folosită în dinamica oceanului

Ținând cont de presupunerile generale asupra mediului de propagare a sunetului și de duritatea
suprafe ței oceanului, se arată în [3 4] că reverberaț ia con ține informaț ii despre faze și despre timpul de
călatorie al undelor. D acă în ocean exista o rețea de receptori, putem obtine si informatii cum ar fi
viteza sunetului si viteza curentului in fluid ce ne pot ajuta in predictia dinamicii oceanului.
Detalii despre aplicabilitatea reverbera ției î n dina mica oceanului sunt prezentate î n luc rările
[33] și [34].

5. Implementarea și testarea metodei de dereverberare
5.1 Realizarea bazei de date și estimarea parametrilor acustici

Pentru a putea implementa și testa o metodă de dereverberar e avem nevoie să cunoaștem
anumiți parametri i. Cum răspunsul camerei la impuls conține informații despre acești parametrii u n
prim pas în estimarea acestor a este crearea unei baze de date care să conțină răspunsul încăperii la
impuls. Cel mai simplu și ieftin mod de a realiza această bază de date este cu ajutorul unui pistol de
jucărie sau a l baloanelor.
Astfel, pentru crearea bazei de date am realizat trei experimente în laboratorul B029 al facultății
de Electronică, Telecomunic ații și tehnologia informației. Pe toată durata experimentelor în sală au fost
prezente doar două persoane.
Temperatura în încăpere în momentul experimentelor a fost de ~22.5 grade.
Montajul experimental este compus dintr -un microfon omni -direcțional, sistem de boxe KRK
RoKit 8 G3, hardware pentru înregistrare AVID MBox Pro și software pentru înregistrare Pro Tools 8
VE. Montajul experimental este reprezentat în Anexa 1.
În experiment e au fost folosite , drept surse sonore, baloane, un pist ol de jucărie și un semnal de
tip chirp .

1) Spargerea unui balon într -o încăpere închisă produce un sunet ce radiază omnidirecțional,
reflectându -se de pereți, tavan, podea și alte suprafețe din încăpere. Datorită reflexiilor, nivelul
sunetului scade pân ă devine inaud ibil. Pentru măsurarea timpului în care are loc această descreștere am
realizat primul experiment.

Am plasat microfonul în punctul desenat cu albastru în figura 5.1 și i -am setat nivelul de câștig
la minim. Am creat un nou proiect în Pro To ols 8 VE și am setat ca înregistrările să fie realizate pe 24
biți, cu o frecvență de eșantionare de 44.1kHz . Am pornit înregistrarea și am spart câte un balon în
fiecare punct reprezentat cu roșu în figura 5.1, lăsând ca sunetul să descrească pentru a înr egistra corect
și în totalitate răspunsul la impuls al camerei în fiecare din cele 12 puncte. Am înregistrat pentru fiecare
punct semnalul compus din impulsul generat de spargerea balonului și răspunsul camerei la acest
impuls. Aceste 12 înregistrări const ituie prima parte a bazei de date.

Următorul pas a fost estimarea și măsurarea timpului de reverberație. Pentru acest pas am
folosit software -ul "Room EQ Wizard" în care am importat răspunsurile la impuls obținute în fiecare
dintre cele 12 puncte. Room EQ Wizard primește la intrare răspunsul la impuls și calculează timpul de
reverberație. În figura 5.3 se poate observa un exemplu de măsurare. Pe axa OX este reprezentată
frecvența, afișată logaritmic, iar pe axa OY timpul, în secunde.
Primul lucru c e poate fi observat din figura 5.3 este faptul ca timpul de reverberție nu este
același, acesta depinzând de f recvență. De aceea, am folosit pentru toate măsurătorile , valoarea obținută
pentru frecvența de 500Hz. Rezultatele sunt trecute în tabelul 1 – T60 măsurat.

Figura 5. 1 – Poziția punctelor de măsurare

Figura 5. 2 – Răspunsul la impuls obținut prin metoda balonului spart

Figura 5.3 – Rezultate măsurare cu ajutoul Room EQ Wizard

Pentru a vizualiza răspunsul la impuls al camerei (fig 5.2) am importat în Matlab înregistrarea
ce conține un semnal compus din impulsul generat de spargerea balonului și r ăspunsul camerei la acest
impuls și am vizualizat în timp forma de undă a acest ui semnal. Codul Matlab folosit pentru acest pas
este detaliat î n plots.m – pasul 1 din anexa 3 .
Aplicând semnalului transformata Hilbert ob ținem semnalul analitic. Pentru o verificare a
rezultatelor anterioare, voi estima timpul de reverberație prin vizualizarea curbei de cădere în energie a
semnalului. Fiind interesa ți de anvelopa semnalului, extragem doar informațiile de modul astfel
obținând curba de cădere în energie a semnalului. Acest pas este realizat prin intermediul pasului 2 al
plots.m din anexa 3.
Din figura curbei de cădere în energie la sc ara logaritmică (EDC) , se estimează timpul de
reverberație ca fiind perioada de timp în care energia semnalului scade cu 60dB. Fig ura 5. 4 prezintă un
astfel de exemplu, unde T60~= 0.88s. Rezultatele obținute în urma acestei verificări sunt trecute în
tabelul 1 – T60 estim at.
Datorită cantităților diferite de aer din interiorul baloanelor, pot apărea anumite diferențe în
rezultatele obținute, de exemplu în același punct .

Figura 5 .4 – Estimare T60 metoda balonului

Balon
nr probă 1 2 3 4 5 6 7 8 9 10 11 12 Media
T60 Estimat 0.8 0.83 0.85 0.82 0.93 0.92 0.91 0.755 0.88 0.86 0.9 0.867 0.860167
T60 Măsurat 0.972 0.951 0.948 0.854 0.862 1.018 0.948 0.909 0.959 0.973 0.989 0.923 0.942167
T60 Calculat * 0.273 0.926 0.889 0.793 0.936 0.926 0.879 0.935 0.895 0.955 0.96 0.817 0.848667
Tabel 1. Timpul de reverberație obținut folosind ca sursă un balon

2) Pentru cel de -al doilea experiment, am folosit drept sursă sonoră un pistol de jucărie. Am ales
realizarea acestui experiment pentru a pune în evidență influența tăriei sunetului asupra timpului de
reverberație. Am urmat aceiași pași ca în experimentul anterior iar rezultatele obținute pentru timpul de
reverberație sunt trecute în tabelul 2. Figurile 5.5 și 5.6 prezintă răspunsul la impuls și curba de cădere
în energie obținute folosind pistolul de jucărie ca sursă sonoră.

Figura 5 . 5 Răspunsul la impuls – metoda pistolului

Figura 5. 6 Estimare T60 metoda pistolului

Pentru o a doua verificare am calcula t timpul de reverberație cu ajutorul unui cod Matlab
(testT60.m , T60.m din anexa 3 ) pe baza meto dei lui Schroeder descrisă în [26 ]. Această implementare
calculează T60 în s iar rezultatele obținute sunt , de asemenea, sumarizate în tabelul 2 – T60 Calculat .

Pistol
nr probă 1 2 3 4 5 6 7 8 9 10 11 12 Media
T60 Estimat 0.7 0.79 0.8 0.79 0.8 0.78 0.82 0.81 0.77 0.75 0.8 0.8 0.78416
T60 Măsurat 1.113 0.865 1.026 0.859 0.904 0.930 0.978 0.996 1.073 0.897 0.936 0.968 0.962 33
T60 Calculat * 1.01 0.916 0.895 0.837 0.85 0.877 0.9 0.902 0.844 0.885 0.797 0.904 0.88475
Tabel 2. Timpul de reverberație obținut folosind ca sursă pistolul de jucărie

În tabelul 3 am realizat o comparație a timpului de reverberație măsurat pentru diferite
frecvențe. Pentru această comparație am folosit înregistrările corespunzătoare punctului 7 din figura 5.1
atât pentru metoda balonului spart cât și pentru cea a pistolului de jucărie. În urma rezultatelor putem
obser va, că diferența dintre timpul de reverberație, măsurat folosind o sursă sonoră sau cealaltă, crește
la frecvențe mai mici datorită dimensiunilor încăperii. De aceea, alegerea metodei de măsurare este
importantă pentru încăperi mici, deoarece rezultatele o bținute diferă destul de mult.
Pentru a evidenția rezultatel e obținute, în figura 5.x am reprezentat comparativ T60 M ăsurat
pentru fiecare dintre cele două metode.

Frecvență (Hz) 100 200 400 800 1000 2000 4000
T60 Măsurat Balon (Hz) 1.872 0.831 1.035 1.009 1.006 0.991 0.908
T60 Măsurat Pistol (Hz) 3.274 0 0 1.093 1.025 0.958 0.87
Tabelul 3 – T60 Măsurat pentru diferite frecvențe

Fig 5.x – rezultate comparație T60 în funcție de frecvență

00.250.50.7511.251.51.7522.252.52.7533.253.5
0 500 1000 1500 2000 2500 3000 3500 4000 4500T60 Măsurat
Frecvența (Hz) Comparație T60 în funcție de frecvență
Balon punctul 7
Pistol punctul 7

3) O altă modalitate de a estima răspunsul la impuls al camerei, este cu aj utorul unui semnal de tip
chirp. Schema bloc a sistemului folosit pentru măsurarea răspunsului la impuls este reprezentată în
figura 5.6

Fig 5.6

Am generat, cu ajutorul [15 ] un semnal de tip sweep sine ( chirp) cu durată de 10 secunde și o
gamă de frecvențe între 20 Hz ș i 20000 Hz cu frecvența de eșantionare de 44.1 KHz. Acest semnal este
generat pe baza ecuației (5 .1).

x(t) = {

[

]} (5.1)

Am redat apoi acest semnal, prin boxe. Semnalul este redat prin boxe și este înregistrat prin microfon
alături de răspunsul camerei la acest impuls . Semnalul obținut conține astfel efectul de reverberație.
În figura 5.8 sunt reprezentate semnalul curat gen erat cu ajutorul [15] și semnalul reverberat.
Pasul ce urmează după obținerea semnalului reverberat, este extragerea răspunsului la impuls.
Pentru aflarea acestuia este necesară o deconvoluție a semnalului obținut după înregistrare. Acest pas
presupune, de fapt, convoluția liniară dintre semnalul obținut după înregistrare și semnalul curat
inversat în timp. Datorită faptului că frecvența instantanee variază încet pentru frecvențe mici și mult
mai repede la frecvențe mari, obținem un semnal ce scade cu 3dB/o ctavă într -un spectru Fourier. De
aceea , la construirea filtrului invers trebuie să ținem cont și de acest aspect. Filtrul invers este
reprezentat în figura 5.8.
Prin convoluția dintre semnalul reverberat și filtrul invers, obținem răspunsul la impuls. Acest
răspuns la impuls este reprezentat în figura 5.9. Codul Matlab pentru această pre lucrare este detaliat în
anexa 3 – RIR.m .

Figura 5.7 – Generarea semnalului chirp [15]

Figura 5 .8 – Prelucrarea semnalelor

Figura 5 .9 – Răspunsul la impuls al camerei – metoda sine sweep

5.2 Descrierea metodei de dereverberare

După câte am demonstrat prin experimentele anterioare există un număr fo arte mare de
combinații posibil e în poziționarea sursei și a microfonului într -o încăpere . Reprezenta rea Fourier a
unui răspuns la impuls oferă informații legate de nivelul componentelor în frecvență, prin modulul
funcției, și informații legate de aspectele temporale ale componentelor în frecvență, prin fază.
Modificarea poziției sursei față d e microfon are, așadar, efect asupra fazei.
Dacă procesarea se face folos ind întregul răspuns la impuls, este posibil ca efectele apărute în semnalul
procesat să fie audibile. Pentru a rezolva această problemă răspunsul la impuls este procesat pe blocuri
de semnal.

Deta lierea algoritmului în domeniul timp

Fie un semnal x(t) și răspunsul la impuls h(t). Realizând o convoluție între semnalul curat și răspunsul
la impuls, se obține semnalul y(t) :

y(t) = x(t)*h(t) (5.4)

Răspunsul la impuls, h( t) este procesat cu b+1 ferestre , fiecare având dimensiunea N. De asemenea,
semnalul x(t) este procesat cu b+1 filtre FIR și este întârziat pentu a alinia filtrele FIR. Astfel, semnalul
y(t) poate fi rescris ca:

y(t)= ∑
= x(t)* + ∑
(5.5)

unde x(t)* este componenta directă a semnalului iar r(t)=∑
(5.6)
este componenta reverbera tă a acestuia .

Detalierea algoritmului în domeniul frecvență

Procesul de filtrare a semnalului cu ajutorul filtrelor FIR poate fi realizat și în frecvență, numai
că în frecvență filtrul FIR este înlocuit de echivalentul său în frecvență H(w). Se transformă, de
asemenea și semnalul curat și cel reverberat în domeniul frecvenț ă. Așadar, semnalul Y(w) poate fi
exprimat prin formula 3:

Y(w)= ∑
=X(w ) + ∑
(5.7)

Se ține cont de faptul că în frecvență, convoluția devine înmulțire.
Dacă se cunosc valorile exacte ale filtrului FIR, e ste posibilă recuperarea semnalului cu rat x(t) din
semnalul reverbera t y(t) , folosind filtre IIR adecvate . Deoarece aceste valori nu pot fi extrase exact, nu
este deci posibilă nici recuperarea completă a semnalului curat. De aceea, filtrul I IR folo sește semnalul
reverbera t Y(w) pentru a estima spectrul componentei directe a semnalului cât și al componentei
reverbera te.

̃ ̃ ∑
(5.8)

Pentru fiecare bloc al semnalului reverberat (w) formula 5.8 devine:

̃ ̃ ∑ ̃ ̃
(5.9)

unde ̃ = . reprezintă convoluția blocului curent al semnalului curat cu ,
plus convoluția blocului precedent al semnalului curat cu și tot așa pentru toate blocurile
precedente ale semnalului curat. Daca N este suficient de mic, ̃ poate fi considerat egal cu 1.
Astfel:
̃ ∑ ̃ ̃
(5.10 )

unde ∑ ̃ ̃
= ̃ (7) este componenta reverberată a semnalului.

Pentru a putea estima semnalu l curat și componenta reverbera tă a acestuia, este necesară introducerea
noțiunii de câștig .

Câștigul

Considerând cele prezentate anterior, se observă că doar partea reală a semnalului se va modifi ca. De
aceea, formulele (6) și (7) pot fi scrise ca:

̃ ̃ ∑ ̃ ̃
(5.11 )
și

̃ ∑ ̃ ̃
(5.12 )

Aceste aproximări ne asigură că ̃ este pozitiv și că procedeul ̃ = –
̃ va înlătura do ar energia semnalului reverbera t atunci c ând se va estima componenta directă a
semnalului. Acest rezultat susține ideea că înlăturarea componentei reverberate ar trebui să reducă
energia totală a semnalului.
Pentru a defini corect câștiguri le folosite pentru estimarea componentei semnalului curat și a
componentei reverberate, vom folosi un semnal de intrare ce va fi dat de convoluția unui semnal curat
cu răspunsul la impuls al camerei. Ambele semnale sunt cunoscute, astfel că metoda de derev erberare
folosită este una de tip "non -blind". Așadar vom putea estima acuratețea câștigurilor comparând
estimatul semnalului curat cu semnalul curat inițial, ajustând astfel câștigul. Acest lucru se obți ne
înmulțind semnalul reverbera t cu vectorul câștig ce are v alori reale. Pentru a estima modulele
componentelor semnalului curat și a celui reverberat, trebuie să calculăm valoarea câștigului pentru
fiecare fereastră a semnalului de intrare.

Așadar, î n pasul următor se calculeaz ă câștigurile pentru estima rea ̃ și ̃ după cum
urmează:

̃ = (5.13 )
̃ = (5.14 )

Înlocuind ̃ cu valoarea sa din ( 5.11) formula câștigului pentru componenta semnalului curat
devine:

= ∑ ̃ ̃

= 1-∑ ̃ ̃

(5.15 )

Deoarece exi stă posibilitatea ca ecuația (5.15 ) să introducă un câștig negativ, este neesară introducerea
unui parametru dependent de frecvență care să prevină câștigul să scadă sub o anumită valoare.

Câștigul pentru estimarea componentei reverbera te a semnalului poate fi obținută ușor cu formula:

=1- (5.16 )

Se aplică pașii pentru fiecare bucată de semnal pentru a obține estimatul componentelor semnalului
curat și reverberat.

5.3 Implementarea algoritmului

Primul pas al algoritmului constă în obținerea semnalului reverbera t prin convoluția semnalului
curat c u răspunsul la impuls cunoscut . Semnalul curat este notat cu " in" iar răspunsul la impuls cu " rir".
Se realizează convoluția dintre in și rir cu ajutorul funției Matlab, "conv .m", obținând astfel semnalul
reverbera t "rev": rev=conv(rir,in);
Semnalul obținut conține reverberație, lucru ce poate fi observat în figura 5.9 .

Figura 5.9 –(a) Reprezentarea semnalului curat și a semnalului reverberat obținut prin convoluție
(b) Reprezentar spectrogramă

Se observă c ă lungimea semnalului reverbera t este mai mare decât lungimea celorlalte două
semnale. Din acest motiv, am adăugat zerouri semnalel or inițiale pentru a avea aceeași lungime.

După obținerea semnalului reverberat , pentru a putea continua, este nevoie de împărțir ea celor
trei semnale în ferestre de lungime N.
Lungimea unei ferestre este de 1024 puncte. Se folosește un factor de supr apunere de 50%. Aceste
valori pot fi modificate pentru a testa algoritmul. Fiecare fereastră este înmulțită cu o fereastră Hanning
normalizată.
Se poate începe imp lementarea matricii de câștig a semnalului curat cu ajutorul formulei (12).
Această matrice este dat ă de raportul dintre valoarea absolută a semnalului curat și valoarea absolută a
semnalului reverbera t, calculat pentru fiecare bloc și pentru fiecare frecvență a fiecărui bloc.
X0(w) constă în diferența dintre fereastra curent ă a semnalului de in trare și fereastra precenent ă a
semnalului reverbera t. Aceasta diferență se aplică pentru toate ferestrele precendente ale semnalului
curat. Acest lucru demonstrează că X0(w) este egal cu Y0(w), deci vectorul de câștig pentru prima
fereastră este 1. Se con tinuă calculul până la obținerea matricii de câștig pentru estimarea semnalul ui
curat folosind formulele de mai jos.

(w)=1
(w)=1 -∑ ̃ ̃

(5.17)

(w)=1 -∑ ̃ ̃

(5.18)

După obținerea matricii de câștig și după ce fiecare fereastră de semnal curat a fost estimat ă
înmulțind semnalul curat c u matricea câștigului, se aplică filtrul invers și se rec onstruiesc semnalele.
Pentru a testa algoritmul am folosit mai multe înregistrari, modificân d pe rând unii parametrii.
Voi prezenta în subcapitolul următor rezultatele obținute .
Pentru implementarea algoritmului am folosit codul Matlab Dereverberare.m , detaliat în anexa
3. În implementarea algoritmului au mai fost folosite o serie de funcții implementate în Voicebox
Toolbox [27] cum ar fi:
 "enframe.m" – pentru împărțirea semnalului în cadre de analiză
 "rfft.m" – pentru calculul transformatei Fourier discrete
 "irfft.m" – pentru calculul transformatei Fourier discretă inversă
 "overlapa dd.m" – pentru reconstrucția semnalului

5.4 Rezultate obținute

Primul experiment de testare a algorit mului constă în aplicarea unui d irac drept semnal de intrare .
Răspunsul la impuls sub formă de Dirac este realizat prin funcția " dirac_gen.m ":

x =0:0.1:1;
y = dirac(x);
idx = y == Inf;
y(idx) = 1;
stem(x,y);
fs=44100;
audiowrite( 'dirac.wav' ,y,fs);
sound(y,fs)
Rezultatul convoluție i unui semnal de intrare cu semnalul Dirac lasă semnalul de intrare neschimbat la
ieșire . Acest lucru se întâmplă datorită faptului că valoarea câștigului este 1 pentru fiecare fereastră și
frecvență. Rezultatele obținute sunt prezentate in Figura 5.10 :

Figura 5.10 – rezultate obținute folosind ca răspuns la impuls un Dirac

Al doilea ex periment realizat pentru testare a algoritmului constă în aplicarea unui răspuns la impuls
obținut prin metoda spargerii unui balon ( Baloane_02.wav ). Semnalul curat folosit este
gradinita.wav
Au fost alese pentr u acest experiment N= 512 și R=0.5 . Valoarea parametrul pentru câștigul minim este
egal cu 0.3.
Răspunsul la impuls aplicat este reprezentat în domeniul timp în Figura 3. Rezultatele obți nute sunt
prezentate în Figura 5.11 .

Figura 5.11- Răspunsul la impuls obținut prin metoda balonului spart

Figura 5.12- rezultate obținute folosind ca răspuns la impuls semnalul Baloane_02.wav

În continuare, am testat algoritmul pentru aceleași semnale folosite la intrare, schimbând doar
parametrii utilizați. Astfel, pentru a testa influența lungimii ferestre i, am modificat N din 512

eșantioane în N=256, N=1024 și N=2048. Rezultatele obținute sunt prezentate în figurile 5 .13, 5.14 și
5.15.

Figura 5 .13 – rezultate obținute pentru N=256

Figura 5.14 –Rezultate obținute pentru N -1024

Figura 5.15 –Rezultate obținute pentru N -2048

Din acest experiment se poate observa influența alegerii lungimii ferestrei asupra rezultatelor. Se
observă că pent ru ferestrele de 512 respectiv 1024 eșantioane , rezultatele sunt asemănătoare. Cu toate
acestea, pent ru o fereastră prea mare, îmbunătățir ea semnalului reverbera t nu are rezultate prea bune.
Astfel, o fereastră de 1024 eșantioane este cea recomandată.

Pentru experimentul 4 am folosit la intrare un răspuns la impuls descărcat dintr -o bază de date
online, s1_-_r1a_-_ir.wav [28]. Pentru semnalul curat am folosit tot gradinita.wav . Deoarece am
demonstrat mai devreme că lungimea ferestrei cu cele mai bune rezultate este N=1024 eșantioane , am
folosit această dimensiune în acest experiment. Rezultatele obținute în acest pas sunt prezentate în
figura 5.16.

Figura 5.16 – rezultate obținute folosind s1 ca răspuns la impuls
Experiment pentru identificarea unei camere

Deoarece nu avem acces la semnalul curat, metoda nu poate fi aplicată d irect pe înregistrarea
primită într -un proces, despre care se susține că ar fi fost realizată într -o anumită încăpere.
Primul pas în verificarea spațiului acustic este să estimăm răspunsul la impuls al acestuia. Pentru acest
lucru putem folosi metoda balonulu i spart/pistolul ui. Astfel, se sparge un balon în camera de verificat,
obținând răspunsul la impuls al acelei camere. Se aplică răspunsul la impuls al camerei unui semnal
curat cunoscut. Se aplică apoi algoritmul aflând astfel estimatul componentei de semnal curat și
estimatul componentei reverbera te a semnalului. Realizând o deconvoluție a acestor semnale obținem
un estimat al răspunsului la impuls al camerei.
Folosind aceiași vectori d e câștig pe înregistrarea primită, putem af la estimatele semnalului curat ș i al
semnalului reverbera t. Realizând o deconvoluție și pentru aceste semnale se obține un răspuns la
impuls estimat. Pentru ca înregistrarea să fi fost făcută în aceeași încăpere, răspunsurile la impuls
estimate, trebuie să fie identice. Această idee este implementată în verificare.m , care reprezintă o
combinație între metoda de dereverberare utilizată anterior ( Dereverberare.m ) și funția
deconvolution.m implementată de Dr. Erol Kal kan, P.E [30].

Înițial am testat algoritmul sugerat pentru două înregistrări cunoscute c a fiind făcute în aceeași
încăpere . Rezultatele obținute au arătat un răspuns la impuls asemănător pentru înregistrarea de test și
proba depusă . Aceste rezultate sunt evidențiate în figurile 5.17 și 5.18.

Figura 5.17 – răspunsul la impuls de test Figura 5.18 – răspunsul la impuls al inregistrarii de verificat

Am repetat testul pentru două înreg istrări efectuate în doua locații diferite. Rezultatele obținute se p ot
observa în figurile 5.19 și 5.20

Figura 5.19 – răspunsul la impuls de test Figura 5.20 – răspunsul la impuls al înregistrării de verificat

În cel de -al doilea caz se poate observa diferența dintre răspunsurile la impuls estimate, deci se poate
afirma că înregistrarea , cel mai probabil , nu a fost realizată în camera suspectată.

Concluzii

Metoda de dereverberare aleasă este descrisă în [29 ] și permite extragerea estimatului semnalului curat
și a componentei reverbera te a unui semnal mono. Extragerea acestor parametri se realizează estimând,
în frecvență, răspunsul la impuls al unei încăperi. Împărțim apoi acest estimat în ferestre, procesând
apoi semnalul pentru fiecare fereastră în parte. Pentru a estima elementele r ăspunsului la impuls se
folosește modulul fiecărei ferestre a răspunsului la impuls. Estimatul modulului se obține înmulțind
semnalul reverberat cu un vector de câștig, deci găsirea acestui vector este foarte importantă.
Estimatul modulului este scăzut di n semnalul reverberat, pentru a găsi estimatul modulului semnalului
curat orig inal. Faza semnalului reverbera t ese utilizată pentru a aproxima faza semnalului curat
original.

Referințe
[1] HG nr. 458/2009 – modificare Institutului National de Expertize Criminalistice
[2] Site-ul oficial al Institutului Național de Criminalistică:
http://www.politiaromana.ro/Criminalistic/fonoscopie.htm
[3] E.A.P Habets, “Single – and multi -microphone speech dereverberation using spectral enhancement,” Ph.D.
dissertation, T. U. Eindhoven, 2007. Available: http://alexandria.tue.nl/extra2/200710970.pdf.
[4] Collected Papers on Acoustics. SABINE, W.C. New York : University Press Harvard, 1922
[5] Reverberation Time in "Dead" Rooms. EYRING, C.F. sl : Journal of the Acoustical Society of America, 1930,
Vol. 1, pp. 217 -241.
[6] Acoustics. PIERCE, A. D. sec ond printing, 1991, Journal of the Acoustical Society of America, pp. chapter 6,
262.
[7] P. A. Naylor and N. D. Gaubitch, Speech Dereverberation. Berlin, Germany: Springer, 2010.
[8] Acoustic Environment Identification and Its Applications to Audio Foren sics – IEEE TRANSACTIONS ON
INFORMATION FORENSICS AND SECURITY, VOL. 8, NO. 11, NOVEMBER 2013
[9] J. Hardwick, C.D. Yoo, and J.S. Lim, “Speech enhancement using the dual excitation speech model,” in Proc.
IEEE Int. Conf. Acoust., Speech Signal Process. (IC ASSP), 1993, pp. 367 –370.
[10] P.A. Naylor, N.D. Gaubitch and E.A.P Habets, “Signal -based performance evaluation of dereverberation
algorithms,” J. Elect. Comput.Eng. (formerly Hindawi Research Letters in Signal Processing), 2010.
[11] Ali Baghaki, "Singl e-Microphone Speech Dereverberation based on Multiple -Step Linear Predictive Inverse
Filtering and Spectral Subtraction"
[12] N.D.Gaubitch, P. A. Naylor si D.B Ward. "On the use of linear prediction for derreverberation of speech.
IWAENC, septembrie 2003
[13] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5137703/
[14]Hardy, H., Telfair, D., and Pielemeier, W. (1942). The velocity of sound in air. Journal of the Acous –
tical Society of Amer ica 13: 226 –233.
[15] https://www.audiocheck.net/audiofrequencysignalgenerator_sweep.php
[16] P. A. Naylor and N. D. Gaubitch, Speech Dereverberation. Berlin, Germany: Springer, 2010.;
[17] E.A.P Habets, “Single – and multi -microphone speech dereverberation using spectral enhancement,” Ph.D.
dissertation, T. U. Eindhoven, 2007. Available: http://alexandria.tue.nl/extra2/200710970.pdf .
[18] D. Bees, M. Blostein, and P. Kabal, “Reverberant speech enhancement using cepstral processing,” in Proc.
IEEE Int. Conf. Acoust., Speech Signal Proc ess. (ICASSP), 1991, pp. 977 –980.
[19] B. Yegnanarayana, “Enhancement of reverberant speech using LP residual,” in Proc. IEEE Int. Conf. Acoust.,
Speech Signal Process. (ICASSP), 1998, vol. 1, pp. 405 –408.
[20] B. Yegnanarayana and P.S. Murthy, “Enhancemen t of reverberant speech using LP residual signal,” IEEE
Trans. Speech Audio Process., vol. 8, no. 3, pp. 267 –281, 2000.
[21] B.W. Gillespie, H. Malvar, and D. Florêncio, “Speech dereverberation via maximum kurtosis subband
adaptive filtering,” in Proc. IEE E Int. Conf. Acoust., Speech Signal Process.(ICASSP), 2001, vol. 6, pp. 3701 –3074.
[22] M. Wu and D. L. Wang, “A two -stage algorithm for one microphone reverberant speech enhancement,”
IEEE Trans. Audio, Speech, Lang. Process., vol. 14, no. 3, pp. 774 –784, May 2006.
[23] T. Zarouchas, J. Mourjopoulos, P. Hatziantoniou, and J. Buchholz, “A perceptual measure for assessing and
removing reverberation from audio signals,” Proc. of the 120th AES Convention, Paris, France, Convention
paper, no. 6702, pp. 1 –8, 2006.
[24] G. Soul odre, “About this dereverbeartion business: A method for extracting reverberation from audio
signals,” Proc. of the 129th AES Convention, San Francisco, USA, Convention paper, no. 8253, pp. 1 –15, 2010.
[25] N. Lopez, “Méthodes parcimonieuses pour la déréve rbération des signaux audio,” Master Thesis, IRCAM,
France, 2011.
[26] Schroeder, M.R. (1965). New method of measuring reverberation time. Journal of the Acoustical Society of
America, 37, 409 -412. +Anexa 3
[27] http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox /voicebox.html

[28]http://www.openairlib.net/sites/default/files/auralization/data/afoteinou/st -johns -church –
wolverh ampton/mono/s1_ -_r1a_ -_ir.wav
[29] G. Soulodre, “About this dereverbeartion business: A method for extracting reverberation from audio
signals,” Proc. of the 129th AES Convention, San Francisco, USA, Convention paper, no. 8253, pp. 1 –15, 2010.
[30] https://www.mathworks.com/matlabcentral/mlc –
downloads/downloads/submissions/60644/versions /5/previews/deconvolution/deconvolution.m/index.html?
access_key =
[31] https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6582548
[32] https://ieeexplore.ieee.org/document/6288258/
[33]
https://www.researchgate.net/publication/257852923_On_the_possibility_of_using_acoustic_reverberation_f
or_remote_sensing_of_ocean_dynamics
[34] https://ac.els -cdn.com/S1875389215007798/1 -s2.0-S1875389215007798 -main.pdf?_tid=45235dc6 -cc6b –
46e5 -b922 -6aa0845a1ed4&acdnat=1525903375_892cbfb07c6f3e30ba62426f0b3cef01

Anexa 1 montaj experimental

Anexa 3 – Coduri Matlab
test_t60.m
close all
clear all

[in,fs]=audioread( 'Baloane_02.wav' );
flag=1;
t60(in,fs,flag);
xlabel('Timp(ms)' );
ylabel('Energia (dB)' );
t60.m

function [rt,iidc] = t60(signal,FS,flag)
if nargin==2
if nargout==0
flag = 1;
else
flag = 0;
end
elseif nargin==3
else
error('argumente insuficiente' );
end
if size(signal,2)==1
signal = signal.';
end
start = round(FS*.05);
if (length(signal)/FS) < 1.5 %daca impulsul are mai putin de 1.5s se considera
tot semnalul
T = length(signal);
else
T = round(FS * 1.5); %daca impulsul are mai mult de 1.5s se considera
primele 1.5s
end
iidc(length(signal): -1:1) = cumsum(signal(length(signal): -1:1).^2); %curba de
cadere in energie
y = iidc(1:T);
y = 10 * log10(y/max(abs(y)));
xtime = linspace(1,(T/(FS/1000)),T);

%calculare r2's
sampsize = 1:length(xtime);
Exy2 = (cumsum(xtime.*y) – ((cumsum(xtime).*cumsum(y) )./sampsize)).^2;
Ex2 = cumsum(xtime.^2) – (((cumsum(xtime)).^2)./sampsize);
totss = cumsum(y.^2) – (((cumsum(y)).^2)./sampsize);
regss = Exy2(start:T)./Ex2(start:T);
r2 = regss ./ totss(start:T);

r3 = find(r2 == max(r2)); %alegerea maximelor
stop = start + r3(length(r3));

xx = xtime(1:stop);
yy = y(1:stop);
slope = (mean(xx.*yy) – mean(xx)*mean(yy))/(mean(xx.^2) – mean(xx)^2);
yintercept = mean(yy) – slope * mean(xx);
rt = -(yintercept + 60)/slope;

if flag == 1
clear xtime;
xtime = linspace(1,rt,rt*(FS/1000));
if length(y)<length(xtime)
difference = length(xtime) -length(y);
pad(1:difference) = nan;
y = [y,pad];
else
y = y(1:length(xtime));
end

figure;
plot(xtime,y, 'b-','LineWidth ',1.5);
ylim([-70 0]);
xlim([0 rt*1.1]);
xlimits=xlim; ylimits=ylim;
line([xlimits(1),xlimits(2)],[ -60,-60],'Color',[.4,.4,.4], 'LineWidth' ,.5);
text(.6 * xlimits(2), -8,['T_6_0 (ms) =
',num2str(rt)], 'FontSize' ,10,'color','k');
linestart = (xlimits(1) * slope) + yintercept;
line([xlimits(1),rt],[linestart, -60],'Color','r','LineWidth' ,.5);
end
plots.m
close all
clear all

%pasul 1
%vizualizarea raspunsului la impuls
[in,fs]=audioread( 'Baloane_02.wav' );
dt = 1/fs;
t = 0:dt :(length(in)*dt) -dt;
plot(t,in); xlabel( 'Secunde' ); ylabel( 'Amplitudine' );
title('Raspunsul la impuls' );

%pasul 2
%vizualizarea curbei de cadere in energie
A=abs(hilbert(in)); %anvelopa semnalului
E=20*log(A/max(A)); %anvelopa semnalului logaritmic
figure(2)
plot(t,E);
figure(3)
hold on
plot(t,A)
plot(t,in)
title('Curba de cadere in energie – logaritmic' )
xlabel('Secunde' ); ylabel( 'Level [dB]' );
RIR.m
close all
clear all
[s1,fs]=audioread( 'audiocheck.net_sweep_20Hz_20000Hz_ -3dBFS_10s.wav' );%semnal curat
s1=s1';
s2=audioread( 'audiocheck.net_sweep_20Hz_20000Hz_ -3dBFS_10s -rec.wav' );%semnal
inregisrat

T=10;%durata semnalului
f1=20;%frecventa initiala
f2=20000; %frecventa finala

w1=2*pi*f1;
w2=2*pi*f2;
t=0:1/fs:(T*fs -1)/fs;%vectorul de timp
L=T/log(w2/w1);
x=s1(length(s1) -1:-1:1).*exp( -t./L);
impulse=conv(s2,x, 'same');%convolutia semnalului inregistrat cu semnalul curat
inversat in timp

N=256;
figure(1);
t1=0:1/fs:(length(s1) -1)/fs;
subplot(3,1,1)
plot(t1,s1); %vizualizare semnal curat
title('Semnal curat');
xlabel('Secunde' ); ylabel( 'Amplitudine' );

t2=0:1/fs:(length(x) -1)/fs;
subplot(3,1,2)
plot(t2,x, 'r'); %vizualizare emnal curat inversat in timp
title('Semnal curat inversat in timp' );
xlabel('Secunde' ); ylabel( 'Amplitudine' );

t3=linspace( 0,length(s2)/fs,length(s2));
subplot(3,1,3)
plot(t3,s2); %vizualizare semnal inregistrat
title('Semnal inregistrat' );
xlabel('Secunde' ); ylabel( 'Amplitudine' );

figure(2)
t=linspace(0,length(impulse)/fs,length(impulse)); %crearea vectorului de timp
subplot(2,1,1)
plot(t,impulse);
title('Raspunsul la impuls al camerei' )
subplot(2,1,2)
plot(t(221000:221500),impulse(221000:221500)); %vizualizare raspuns la impuls
title('Raspunsul la impuls al camerei – decupat' );

audiowrite( 'IR_final.wav' ,impulse,fs); %salvare rezultat
Dereverberare.m
close all
clear all
clc;

%algoritm de dereverberare
%incarcarea semnalulul curat
[in,fs1]=audioread( 'gradinita.wav' );
Lin=round(length(in)); %lungimea semnalului

%incarcarea raspunsului la impuls cunoscut
[rir,fs2]=audioread( 'Baloane_02.wav' );
Lrir=round(length(rir)); %lungimea raspunsului la impuls

%obtinerea semnalului reverberat prin convolutia semnalului curat
%cu raspunsul la impuls
rev=conv(rir,in);
Lrev=round(length(rev)); %lungimea semnalului reverberat
audiowrite( 'gradinita -baloane2.wav' ,rev,fs1); %salvarea semnalului reverberat

figure(1)
subplot(2,1,1)
plot(in);
title('semnal curat' );
subplot(2,1,2)
plot(rev);
title('semnal reverbera t')

in1=cat(1,in,zeros(Lrev -Lin,1)); %adaugam zerouri la semnalul curat pentru a avea
aceeasi lungime cu semnalul reverbera t
rir1=cat(1,rir,zeros(Lrev -Lrir,1)); % adaugam zerouri la RIR pentru a avea aceeasi
lungime cu semnalul re verberat

%impartirea semnalelor in blocuri folosind functia enframe din Toolboxul Voicebox

N=1024;%lungimea unei ferestre
R=0.5; %suprapunerea
b=floor(1+(Lrev -N)/((1-R)*N)); %calcul numar de ferestre

w=sqrt(hann(N, 'periodic' )); %aplicare fereastra Hanning
w=w/sqrt(sum(w(1:(1 -R)*N:N).^2)); %normalizarea ferestrei

in_bloc=enframe(in1,w,(1 -R)*N)';%impartirea in ferestre a semnalului curat
IN=rfft(in_bloc); %aplicare FFT
IN1=abs(IN); %modululsemnalului curat
phase_in=angle(IN);

rir_bloc=enframe(rir1,w,(1 -R)*N)'; %impartirea in blocuri a raspunsului la impuls
RIR=rfft(rir_bloc); %aplicare FFT
RIR1=abs(RIR);
phase_rir=angle(RIR);

rev_bloc=enframe(rev,w,(1 -R)*N)';%impartirea in blocuri a semnalului reverbera t
REV=rfft(rev_bloc);
REV1=abs(REV);
phase_rev=angle(REV);

%initializarea vectorilor
gain_in=zeros(N/2+1,b); %initializare vector de castig al semnalului curat
gain_rev=zeros(N/2+1,b); %initializare vector d e castig al semnalului reverbera t
gain_revs=zeros(N/2+1,b); %initializare vector de castig al patratului semnalului
reverbera t
gain_time=zeros(N/2+1,b); %initializare vector castig dupa netezir e
gain_min=zeros(N/2+1,1); %valori intre 0 si 1
x=zeros(N/2+1,1); %valoare gamma

for p=1:b
for q=1:N/2+1
sum=zeros(N/2+1,1);
for r=1:p
sum(q)=sum(q)+ power(IN1(q,r),2)*power(RIR1(q,r),2);
end
gain_revs(:,p)=power(REV1(:,p),2); %calcul patratul modulului RIR
gain_in(q,p)=1 -sum(q)/gain_revs(q,p); %calcul castig semnal curat formula
5.12
gain_min(:,1)=0.3; %fixam valoarea minima initiala
if gain_in(q,p)<0
gain_in(q,p)=gain_min(q,1); %verificarea ca nu este mai mic decat pragul

end
gain_rev(q,p)=1 -gain_in(q,p); % calcul castig semnal reverbera t formula 5.13
x(:,1)=1;
if p==1
gain_time(q,p)=gain_in(q,p);
else
gain_time(q,p)=(1 -x(q,1))*gain_time(q,p -1)+x(q,1)*gain_in(q,p);
end
end
%suprimarea reverberatiei
out_pl(:,p)=REV1(:,p).*gain_time(:,p); %estimat al semnalului original fara
faza
out(:,p)=out_pl(:,p).*exp(1i*phase_rev(:,p)); %estimat al semnalului original cu
faza
rev_out_pl(:,p)=REV1(:,p).*gain_rev(:,p); %estimat al componentei reverberate
fara faza
rev_out(:,p)=rev_out_pl(:,p).*exp(1i*phase_rev(:,p)); %estimat al compone ntei
reverbera te cu faza
end

%reconstructia semnalelor
IN_fin=irfft(IN1);
IN_fin=overlapadd(IN_fin',rectwin(N),(1 -R)*N); %semnalul curat original

REV_OUT_pl=irfft(rev_out_pl);
REV_OUT=irfft(rev_out);
REV_OUT_pl=overlapadd(REV_OUT_pl',rectwin(N),(1 -R)*N);%estimat componenta
reverbera ta fara faza
REV_OUT=overlapadd(REV_OUT',rectwin(N),(1 -R)*N);%estimat componenta reverbera ta cu
faza

OUT_pl=irfft(out_pl);
OUT=irfft(out);
OUT_pl=overlapadd(OUT_pl',rectwin(N),(1 -R)*N); %estimat componentei originale fara
faza, semnalul dereverberat
OUT=overlapadd(OUT',rectwin(N),(1 -R)*N); %estimat componentei originale cu faza,
semnalul dereverberat

%vizualizare semnale
figure(2)
subplot(3,1,1)
plot(IN_fin);
title('semnal original' )
subplot(3,1,2)
plot(OUT_pl);
title('semnal estimat – dereverberat' )
audiowrite( 'gradinita -derev-s1-gain0.wav' ,OUT,fs1)
subplot(3,1,3)
plot(REV_OUT_pl);
title('semnal estimat – reverberat' )

dirac_gen.m

x =-1:0.1:2.5;
y = dirac(x);
idx = y == Inf;
y(idx) = 1;
stem(x,y);
fs=44100;
audiowrite( 'dirac.wav' ,y,fs);
verificare.m

close all
clear all
clc;

%algoritm de dereverberare
%incarcarea semnalulul curat
[in,fs1]=audioread( 'gradinita.wav' );
Lin=round(length(in)); %lungimea semnalului

%incarcarea raspunsului la impuls cunoscut
[rir,fs2]=audioread( 'IR_cam.wav' );
Lrir=round(length(rir)); %lungimea raspunsului la impuls

%obtinerea semnalului reverbera t prin convolutia semnalului curat
%cu raspunsul la impuls
rev=conv(rir,in);
Lrev=round(length(rev)); %lungimea semnalului reverbera t
audiowrite( 'gradinita -verificare.wav' ,rev,fs1); %salvarea semnalului reverbera t
figure(1)
subplot(2,1,1)
plot(in);
title('semnal curat' );
subplot(2,1,2)
plot(rev);
title('semnal reverbera t')

in1=cat(1,in,zeros(Lrev -Lin,1)); %adaugam zerouri la semnalul curat pentru a avea
aceeasi lungime cu semnalul reverbera t
rir1=cat(1,rir,zeros(Lrev -Lrir,1)); % adaugam zerouri la RIR pentru a avea aceeas i
lungime cu semnalul reverbera t

%verificare inregistrare
rev2=audioread( 'examen-recorded -cam.wav' );
Lrev2=round(length(rev2));
%impartirea semnalelor in blocuri folosind functia enframe din Toolboxul Voicebox

N=1024;%lungimea unui bloc
R=0.5; %suprapunerea
b=floor(1+(Lrev -N)/((1-R)*N)); %calcul numar de blocuri

w=sqrt(hann(N, 'periodic' )); %aplicare fereastra Hanning
w=w/sqrt(sum(w(1:(1 -R)*N:N).^2)); %normalizarea ferestrei

in_bloc=enframe(in1,w,(1 -R)*N)';%impartirea in blocuri a semnalului curat de
aceleasi dim cu rev
IN=rfft(in_bloc); %aplicare FFT
IN1=abs(IN); %modululsemnalului curat

phase_in=angl e(IN);

rir_bloc=enframe(rir1,w,(1 -R)*N)'; %impartirea in blocuri a raspunsului la impuls
RIR=rfft(rir_bloc); %aplicare FFT
RIR1=abs(RIR);
phase_rir=angle(RIR);

rev_bloc=enframe(rev,w,(1 -R)*N)';%impartirea in blocuri a sem nalului reverbera t
REV=rfft(rev _bloc);
REV1=abs(REV);
phase_rev=angle(REV);

rev_bloc2=enframe(rev2,w,(1 -R)*N)';%impartirea in blocuri a semnalului reverbera t
REV2=rfft(rev_bloc2);
REV12=abs(REV2);
phase_rev2=angle(REV2);
%initializarea vectorilor
gain_in=zeros(N/2+1,b); %initializare vector de castig al semnalului curat
gain_rev=zeros(N/2+1,b); %initializare vector de castig al semnalului reverbera t
gain_revs=zeros(N/2+1,b); %initializare vector de castig al patratului semnalului
reverbera t
gain_time=zeros(N/2+1,b); %initializare vector castig dupa netezire
gain_min=zeros(N/2+1,1); %valori intre 0 si 1
x=zeros(N/2+1,1); %valoare gamma

for p=1:b
for q=1:N/2+1
sum=zeros(N/2+1,1);
for r=1:p
sum(q)=sum(q)+ power(IN1(q,r),2)*power(RIR1(q,r),2);
end
gain_revs(:,p)=power(REV1(:,p),2); %calcul patratul modulului RIR
gain_in(q,p)=1 -sum(q)/gain_revs(q,p); %calcul castig semnal curat formula 12
gain_min(:,1)=0.3; %fixam valoarea minima initiala
if gain_in(q,p)<0
gain_in(q,p)=gain_min(q,1); %verificarea ca nu este mai mic decat pragul
end
gain_rev(q,p)=1 -gain_in(q,p); % calcul castig semnal reverbera t formula 13
x(:,1)=1;
if p==1
gain_time(q,p)=gain_in(q,p);
else
gain_time(q,p)=(1 -x(q,1))*gain_time(q,p -1)+x(q,1)*gain_in(q,p);
end
end
%suprimarea reverberatiei
out_pl(:,p)=REV1(:,p).*gain_time(:,p); %estimat al semnalului original fara
faza
out(:,p)=out_pl(:,p).*exp(1i*phase_rev(:, p));%estimat al semnalului original cu
faza
rev_out_pl(:,p)=REV1(:,p).*gain_rev(:,p); %estimat al componentei reverbera te
fara faza
rev_out(:,p)=rev_out_pl(:,p).*exp(1i*phase_rev(:,p)); %estimat al componentei
reverbera te cu faza
%semnalul 2
out_pl2(:,p)=REV12(:,p).*gain_time(:,p); %estimat al semnalului original fara
faza
out2(:,p)=out_pl2(:,p).*exp(1i*phase_rev(:,p)); %estimat al semnalului original
cu faza

rev_out_pl2(:,p)=REV12(:,p).*gain_rev(:,p); %estimat al componentei reverbe rate
fara faza
rev_out2(:,p)=rev_out_pl2(:,p).*exp(1i*phase_rev(:,p)); %estimat al componentei
reverbera te cu faza
end

%reconstructia semnalelor
IN_fin=irfft(IN1);
IN_fin=overlapadd(IN_fin',rectwin(N),(1 -R)*N); %semnalul curat original

REV_OUT_pl= irfft(rev_out_pl);
REV_OUT=irfft(rev_out);
REV_OUT_pl=overlapadd(REV_OUT_pl',rectwin(N),(1 -R)*N);%estimat componenta
reverberata fara faza
REV_OUT=overlapadd(REV_OUT',rectwin(N),(1 -R)*N);%estimat componenta reverbera ta cu
faza

OUT_pl=irfft(out_pl);
OUT=irfft(out);
OUT_pl=overlapadd(OUT_pl',rectwin(N),(1 -R)*N); %estimat componentei originale fara
faza, semnalul dereverberat
OUT=overlapadd(OUT',rectwin(N),(1 -R)*N); %estimat componentei originale cu faza,
semnalul dereverberat

figure(3)
subplot(3,1,1)
plot(IN_fin);
title('semnal original' )
subplot(3,1,2)
plot(OUT_pl);
title('semnal estimat – dereverberat' )
subplot(3,1,3)
plot(REV_OUT_pl);
title('semnal estimat – reverbera t')

[t,l]=deconvolution(REV_OUT,OUT);
dt_org = 0.005;
dt = dt_org/5;

wm = max(abs(t));
l = l/wm;
t = t*dt;
figure(5)
plot(t,l, 'k','LineWidth' ,1);
%reconstructia semnalelor

REV_OUT_pl2=irfft(rev_out_pl2);
REV_OUT2=irfft(rev_out2);
REV_OUT_pl2=overlapadd(REV_OUT_pl2',rectwin(N),(1 -R)*N);%estimat componenta
reverbera ta fara faza
REV_OUT2=overlapadd(REV_OUT2',rectwin(N),(1 -R)*N);%estimat componenta reverbera ta
cu faza

OUT_pl2=irfft(out_pl2);
OUT2=irfft(out2);
OUT_pl2=overlapadd(OUT_pl2',rectwin(N),(1 -R)*N); %estimat componentei originale
fara faza, semnalul dereverberat

OUT2=overlapadd(OUT2',rectwin(N),(1 -R)*N); %estimat componentei originale cu faza,
semnalul dereverberat

[t2,w2]=deconvolution(REV_OUT2,OUT2);
dt_org2 = 0.005;
dt2 = dt_org2/5;

wm = max(abs(w2));
w2 = w2/wm;
t2 = t2*dt2;
figure(6)
plot(t2,w2, 'k','LineWidth' ,1);

Similar Posts