Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de...

12
Denumirea proiectului: PROIECT DE CERCETARE EXPLORATORIE CNCSIS - ID_1057 “Modelarea 2.5D a propagării sunetului în încăperi şi îmbunătăţirea proprietăţilor acustice ale unei încăperi folosind implementări digitale” SINTEZA LUCRĂRII Etapa unică 2010 Director proiect, Prof.dr.ing. MARINA DANA ŢOPA

Transcript of Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de...

Page 1: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

Denumirea proiectului: PROIECT DE CERCETARE EXPLORA TORIE CNCSIS - ID_1057

“Modelarea 2.5D a propagării sunetului în încăperi şi îmbunătăţirea proprietăţilor acustice ale unei încăperi folosind implementări digitale”

SINTEZA LUCR ĂRII

Etapa unică 2010

Director proiect, Prof.dr.ing. MARINA DANA ŢOPA

Page 2: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

C U P R I N S

1. EVALUAREA ACUSTICII UNEI ÎNCĂPERI ............................................................................................................. 1

1.1. DETERMINAREA PARAMETRILOR ACUSTICI AI UNEI ÎNCĂPERI [1], [2] ................................................................................ 1

1.2. HĂRŢILE SAMMON ALE ÎNCĂPERII [2] ........................................................................................................................ 2

1.3. FUNCŢIA PLENACUSTICĂ [1], [13] ............................................................................................................................ 2

1.4. DETERMINAREA DISPUNERII OPTIME A ECHIPAMEN-TULUI DE SONORIZARE [1], [17] ........................................................... 3

2. DEZVOLTAREA UNOR ALGORITMI DE PROCESARE A SEMNALELOR ACUSTICE .................................................. 4

2.1. REVERBERATORI ARTIFICIALI [3] ............................................................................................................................... 4

2.2. ANULAREA ECOULUI ............................................................................................................................................... 5

2.2.1. Anularea ecoului prin identificarea adaptivă pe întreaga bandă [4] ....................................................... 5

2.2.2. Anularea ecoului prin identificarea adaptivă pe subbenzi [6], [7] ............................................................ 5

2.2.3. Anularea ecoului prin identificarea adaptivă cu ajutorul seriilor Volterra [8] .......................................... 5

2.3. ALGORITMUL DE DETECŢIE A VORBIRII DUBLE ŞI ÎMBUNĂTĂŢIREA ALGORITMILOR DE ANULARE A ECOULUI [9] ........................... 6

2.4. ALGORITMI DE SEPARARE OARBĂ A SEMNALELOR ACUSTICE DIN AMESTECURI CONVOLUTIVE [10] .......................................... 7

3. IMPLEMENTAREA ALGORITMILOR DE EGALIZARE SAU/ŞI REVERBERAŢIE PE STRUCTURI FPGA ........................ 8

3.1. IMPLEMENTAREA HDL A ALGORITMILOR LMS ŞI NLMS [11] ........................................................................................ 8

3.2. IMPLEMENTAREA NOII STRUCTURI DE FILTRU FIR [12] .................................................................................................. 8

3.3. IMPLEMENTAREA ALGORITMILOR DE REVERBERATIE PE FPGA FOLOSIND MICROPROCESORUL MICROBLAZE [14] ...................... 9

3.4. IMPLEMENTAREA ALGORITMILOR DE REVERBERATIE FOLOSIND PLATFORMELE NATIONAL INSTRUMENTS [15] ......................... 10

REFERINŢE .......................................................................................................................................................... 10

Page 3: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

1

1. Evaluarea acusticii unei încăperi

1.1. Determinarea parametrilor acustici ai unei încăperi [1], [2]

Analiza proprietăţilor acustice ale unei încăperi implică determinarea parametrilor acustici. Au fost consideraţi: timpul de reverberaţie T60, timpul de descreştere timpuriu (early decay time EDT), claritatea Cte, definiţia Dte şi timpul central Tc, a căror definiţie poate fi găsită şi în [1], [2]. Ei pot fi calculaţi din curba de descreştere a energiei acustice (energy decay curve EDC):

2( ) ( )t

EDC t h dτ τ∞

= ∫ . (1.)

unde h(t) este răspunsul la impuls al încăperii. Am determinat parametrii acustici ai încăperii în două etape: 1. A fost măsurat răspunsul la impuls h(t); măsurătorile s-au realizat cu ajutorul echipamentului

constituit din: – două incinte acustice (una pentru frecvenţe joase şi alta pentru frecvenţe medii şi înalte) - pentru

redarea excitaţiei; – un microfon portabil de tip cardiodă (dB VH 210) – pentru achiziţia răspunsului; – baloane umflate la aceeaşi presiune (50 mmHg) – pentru generarea semnalului impulsiv; – petarde – pentru generarea semnalului impulsiv; – un microfon omnidirecţional (PCB 130D20) - pentru redarea excitaţiei.

2. S-au calculat parametrii acustici cu ajutorul programelor: Dirac, WinMLS, Aurora şi CARACAD. Estimarea parametrilor acustici a fost realizată în 3 încăperi multifuncţionale. Prima încăpere considerată a fost o sală multifuncţională fără mobilier, de dimensiune medie, cu un

volum de aproximativ 1952 m3. Au fost efectuate măsurători în 164 de locaţii ale încăperii, iar excitaţiile considerate au fost semnale impulsive obţinute cu ajutorul baloanelor şi semnale generate prin software de tip sweep sine. Procesarea măsurătorilor a fost făcută în programele Dirac sau WinMLS, iar cea a timpului de reverberaţie a fost realizată şi de simulatorul acustic CARACAD.

Concluzia rezultată după aceste măsurători a fost că timpul de reverberaţie şi timpul de descreştere timpuriu nu depind de tipul excitaţiei, poziţita ascultătorului sau forma încăperii, dar claritatea, definiţia şi timpul central sunt foarte sensibili la acestea. Dacă pentru timpul de reverberaţie şi timpul de descreştere timpuriu, tipul excitaţiei şi al programului de calcul nu au contat prea mult, rezultatele fiind comparabile, la estimarea celorlaţi parametri diferenţele au fost foarte importante. Raportul semnal-zgomot având o variaţie mai mică pentru semnalul impulsiv decât pentru semnalul sweep sine (Fig. 1), măsurătorile sunt mai corecte pentru semnalul impulsiv decât pentru cel de de tip sweep sine.

Cea de a doua sală evaluată a fost o biserică folosită atât pentru serviciul religios, cât şi pentru concerte. Sala are un vo-lum de 4011 m3

şi mobilierul compus din bănci de lemn. Ca excitaţie au fost utilizate semnale impulsive generate de spargerea baloanelor sau explo-ziile petardelor, iar procesarea rezultatelor a fost realizată în WinMLS, Dirac şi Aurora. Scopul acestui experiment a fost stabilirea celui mai bun semnal impulsiv dintre cele două (balon şi petardă).

Repetabilitatea măsurăto-rilor a fost verificată în 66 locaţii ale bisericii. Fig. 2a şi 2b arată eroarea clarităţii faţă de valoarea medie. Curbele indică că deviaţiile sunt mai mici pentru petarde decât pentru baloane.

a) b) Fig. 1. Variaţia erorii de la valoarea medie a SNR pentru excitaţia de tip:

a) sweep sine; b) semnal impulsiv

a) b) Fig. 2. Eroarea valorilor clariţăţii faţă de valoarea medie evaluată în punctele de măsură din biserica Sf. Maria. Semnalele impulsive sunt generate de: a) baloane; b) petarde.

Page 4: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

2

1.2. Hăr ţile Sammon ale încăperii [2]

Proprietăţile acustice ale bisericii au fost descrise foarte sugestiv de hărţile Sammon ale parametrilor acustici dependenţi de poziţia ascultătorului: claritatea şi timpul central. În harta clarităţii (Fig. 3a), albul corespunde valorii de -4 dB, iar negrul celei de -8.4 dB. Valorile negative corespund unor spaţii reverberate, iar cele pozitive unor spaţii moarte. Se poate aprecia că biserica este potrivită pentru audiţii de orgă, concerte, dar nu conferinţe. În figura Fig. 3b albul este asociat valorii de 220 ms, iar negrul celei de 290 ms ale timpului central. Pentru audiţii muzicale timpul central trebuie să aibă valori mari (> 70 ms).

Ultima sală analizată este un amfiteatru de mărime şi funcţionalitate similară primei săli studiate, dar având pereţii acoperiţi cu materiale absorbante (lemn şi plexi-glass). Semnale impulsive au fost generate cu ajutorul petardelor, iar prelucrarea datelor măsurate a fost făcută cu ajutorul programelor WinMLS, Dirac and Aurora. Timpul de reverberaţie şi cel de descreştere timpuriu au fost măsuraţi şi cu un sonometru şi valorile obţinute au confirmat corectitudinea măsurătorilor cu excitaţii impulsive obţinute cu petarde (Fig. 4a şi 4b). Valorile parametrilor acustici nu depind de programul de calcul.

Timpul de reverberaţie şi EDTs nu depind de tipul sursei de excitaţie, nici de poziţia ascultătorului sau forma sălii, iar restul parametrilor (claritate, timp central) sunt în schimb foarte sensibili. Hărţile valorilor parametrilor ajută semnificativ la îmbunătăţirea acusticii încăperii, prin stabilirea zonelor de audiţie mai proastă.

1.3. Funcţia plenacustică [1], [13]

S-a evaluat funcţia plenacustică de-a lungul unei linii drepte dintr-o încăpere. Au fost comparate rezultatele măsurătorilor cu simulările făcute pe încăperea modelată cu ajutorul programului CARACAD.

Fig. 5 prezintă funcţia plenacustică în timp. Axa x reprezintă axa spaţiului, axa y fiind axa timpului iar axa z reprezintă axa valorii răspunsului la impuls în dB. Spaţiul corespunde poziţiei ascultătorului, iar timpul este durata răspunsului la impuls. Studiul funcţiei plenacustice s-a realizat pe o linie a încăperii. Pe această linie au fost preluate 60 de eşantioane, adică a fost înregistrat răspunsul la impuls sub forma fişierelor wav în 60 de locaţii ale liniei, distanţa dintre locaţii fiind de 10 cm (eşantionare spaţială). Frecvenţa de eşantionare a răspunsului la impuls este de 44 100Hz (eşantionare în timp).

Atunci când funcţia plenacustică este eşantionată se produc repetiţii ale spectru-lui de-a lungul axei temporale şi spaţiale. Având o anumită distanţă de eşantionare d,

Main A

ltar

Altar

Desk

St. Vincent Altar

Pulpit

Heart of Jesus

Mini Organ

St. Joseph Altar

S

Altar

a).

Main A

ltar

Altar

Desk

St. Vincent Altar

Pulpit

Heart of Jesus

Mini Organ

St. Joseph Altar

S

Altar

b).

Fig. 3. Hăr ţi Sammon ale bisericii: a) harta clarităţii; b) hartea timpului central.

a) b) Fig. 4. Valorile medii ale parametrilor caracteristici ale unui amfiteatru, măsurate prin mai multe metode:

a) timpul de reverberaţie; b) timpul de descreştere timpuriu

Page 5: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

3

b) a) Fig. 5. Funcţia plenacustică obţinută de-a lungul unei linii din încăpere prin: a) simulare; b) măsurători

b) a) Fig. 6. Transformata Fourier bidimensională a funcţiei plenacustice obţinută prin: a) simulare; b) măsurători.

frecvenţa maximă f neafectată de efectul de aliere poate fi calculată folosind relaţia:

2

cf

d=

⋅, (2.)

unde c reprezintă viteza sunetului în aer. Înlocuind datele noastre, reiese faptul că frecvenţa maximă care nu este afectată de efectul de aliere este 1700Hz.

Efectuând transformata Fourier bidimensională (2D-FT) a funcţiei plenacustice obţinem reprezentările din Fig. 6. Se poate observa forma triunghiulară a transformatei Fourier a funcţiei plenacustice. Vârful triunghiului indică frecvenţa maximă neafectată de efectul de aliere. Atât în cazul simulării, cât şi în cazul măsurătorilor obţinem acelaşi rezultat ca şi cel calculat (aproximativ 1700Hz). Diferenţele care apar între modelul simulat şi măsurători se datorează:

- simplificării formei încăperii pentru a creşte viteza de execuţie a simulărilor;

- zgomotului din măsurători.

1.4. Determinarea dispunerii optime a echipamen-tului de sonorizare [1], [17]

Determinarea modului de dispunere spaţială a echipamentelor de sonorizare este sugerată de hărţile Sammon, dar verificarea trebuie să fie realizată prin simu-

a)

b)

Fig. 7. Dispunerea echipamentelor de sonorizare: a) planul ini ţial al încăperii; b) planul optimizat al încăperii

larea acusticii încăperii urmată de realizarea de măsurători. Simularea acusticii încăperii poate să fie realizată de programe specializate, cum ar fi CARACAD. Considerăm încăperea din Fig. 7a, unde este instalat un echipament de tip sorround, 2 difuzoare fiind dispuse în faţa auditoriului, iar alte 4 în colţurile încăperii.

Page 6: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

4

Au fost calculaţi pa-rametrii acustici pentru optimizarea amplasării difuzoarelor i, iar rezul-tatul optimzării este o uşoară deplasare a difu-zoarelor şi o rotire a lor pentru o acustică su-pe-rioară (Fig. 7b). Pentru a verifica corectitudinea dispunerii echipamente-lor de sonorizare a fost efectuată o simulare a acusticii încăperii.

Fig. 8. Nivelul presiunii sonore pentru frecvenţa de 201.6 Hz în:

a) încăperea iniţială; b) încăperea optimizată.

S-a trasat repartizarea presiunii sonore în încăpere înainte şi după optimizare. De exemplu Fig. 8a şi b sunt reprezentările presiunii sonore pentru frecvenţa de 201.6Hz; culoarea galbenă sugerează interferenţe constructive, iar cea verde distructive. Se observă că dispunerea optimizată a echipamentelor de sonorizare asigură o aplatizare a presiunii sonore. În general acesta este efectul modificării dispunerii echipamentului. În partea frontală a încăperii conţine încă o neuniformitate a presiunii, dar aceasta nu este supărătoare deoarece aici nu sunt ascultători.

În continuare locaţiile situate lângă perete nu sunt bune din punct de vedere acustic, iar locuri foarte bune sunt cele centrale. Înainte de optimizare au existat două locuri cu serioase probleme de claritate, dar după optimizare aceastea au dispărut.

2. Dezvoltarea unor algoritmi de procesare a semnalelor acustice

2.1. Reverberatori artificiali [3]

Au fost studiate reverberatoarele clasice: Schroeder I, Schroeder II, Moorer, Gardner, Dattorro şi au fost comparate performanţele lor în comparaţie cu cele ale unei încăperi de concert [3]. Datorită faptului că în proiectarea acestor filtre nu se ţine cont de dependenţa timpilor de reverberaţie de frecvenţă, performanţa reverberatoarelor clasice este mulţumitoare doar la frecvenţe medii (250Hz si 2000 Hz).

S-au dezvoltat două variante îmbunătăţie ale reverberatorului Schroeder I. Acesta este compus din 4 filtre pieptene legate în paralel urmate de 2 filtre trece-tot în cascadă. Pornind de la ideea lui Jot, a fost concepută o nouă structură de filtru pieptene (Fig. 9), care are în serie cu elementul de întârziere un filtru trece jos de ordin I Hi(z). Aceste filtre au fost proiectate pe baza timpilor de reverberaţie dintr-o sală de concert.

Simulările realizate în Matlab certifică superioritatea reverberatoarelor îmbunătăţite. Se poa-te observa din Fig. 10 că timpii de reverberaţie ai variantelor îmbunătăţie se aproximează timpii sălii de concert în zona frecvenţelor înalte şi medii.

X(z) Y(z)

z-mi

1/gi

Hi(z)

Fig. 9. Structura unui filtru pieptene îmbunătăţit

RT-60 Reverberation time (T30)

Frequency [Hz]63 125 250 500 1k 2k 4k 8k

T30

[s]

2

1.8

1.6

1.4

1.2

1

0.8

0.6

0.4

0.2

0

Real_roomSchroeder_ISchroeder_I_22050HzSchroeder_I_combinat

WinMLS Pro

Fig. 10. Timpii de reverberaţie ai unei săli de concert, reverberatorului Schroeder I şi a două variante îmbunătăţite

Page 7: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

5

2.2. Anularea ecoului

2.2.1. Anularea ecoului prin identificarea adaptivă pe întreaga bandă [4]

Semnalul x(n) este semnalul sonor de intrare, care este aplicat atât sistemului necunos-

cut h, cât şi filtrului adaptiv h (Fig. 11). Semna-lul x(n) este intrarea, y(n) este ieşirea, d(n) semnalul dorit, iar e(n) este eroarea.

Măsurarea performanţei algoritmului a fost evaluată cu ajutorul următoarelor mărimi:

- eroarea medie pătratică:

( )( )21010 log ( )= ⋅MSE E e n ;

- atenuarea medie:

2

10 2

( ( ))10log

( ( ))

E d nERLE

E e n= − . (3.)

Au fost analizate în Matlab mai multe sisteme de anulare a ecoului bazate pe diverse variante ale algoritmului LMS: LMS clasic, NLMS (Normalized LMS), VS`LMS (Variable Step Size LMS), VSNLMS (Variable Step Size NLMS), RLS (Recursive Least Square) [4], [5], [16]. Rezultatele analizei sunt rezumate în Tab. 1. Semnalul de intrare a fost creat prin însumarea la un semnal vocal de variante întârziate şi atenuate ale sale. Filtrul adaptiv este un filtru FIR de ordinul 1025. Se observă că cel mai rapid algoritm este RLS, dar acesta necesită un hardware de mărime foarte mare.

Fig. 11. Configuraţia de anulare a ecoului (AEC)

Tab. 1. Performanţele algoritmilor adaptivi pentru anularea ecoului

Algoritm Atenuarea medie ERLE

Număr de înmulţiri

LMS 6.7709 dB 2N+1 NLMS 16.7624 dB 3N+1 VSLMS 17.8861 dB 4N+1

VSNLMS 12.3276 dB 5N+1 RLS 20.60 dB 4N2

Fig. 12. Schema bloc a unui sistem adaptiv de identificare pe subbenzi

Algoritmii NLMS şi VSLMS în schimb au o convergenţă bună la o dimensiune rezonabilă a hardware-ului, similară algoritmului LMS. In consecinţă varianta cea mai bună a schemei de egalizor este cea cu filtru adaptiv NLMS sau VSLMS [4].

2.2.2. Anularea ecoului prin identificarea adaptivă pe subbenzi [6], [7]

În Figura 13 este reprezentat sistemul care lucrează pe M subbenzi. Semnalele x(n) şi d(n) sunt descompuse de blocul de analiză P(z) în M semnale (x0(n), x1(n), … , xM-1(n)) prin divizarea spectrului pe benzi mai mici. Filtrarea adaptivă pe subbenzi este apoi realizată de un set de filtre independente (h0(n), h1(n),…, hM-1(n)). Ieşirile acestor filtre sunt apoi combinate folosind blocul de sinteză Q(z) pentru a reconstrui pe întreaga bandă semnalul de ieşire [6].

Deoarece lăţimea fiecărei subbenzi este mai mică decât întreaga bandă, frecvenţa de eşantionare poate fi redusă şi în consecinţă filtrele adaptive sunt mai scurte în comparaţie cu cel din sistemul pe întreaga bandă. Acest fapt conduce la o semnificativă reducere a complexităţii calculului, chiar dacă structura este mai complicată. Înaintea blocului de prelucrare adaptivă se realizează subeşantionarea, iar după acest bloc supraeşantionarea.

2.2.3. Anularea ecoului prin identificarea adaptivă cu ajutorul seriilor Volterra [8]

O îmbunătăţire a algoritmului de identificare a traseului acustic poate fi realizată prin considerarea neliniarităţii acestuia. Un sistem discret invariant în timp şi neliniar poate fi descris în timp de seria Volterra:

.,...)()...(),...,(......

)()(),()()()(

0 011

0 021212

01110

1

1 21

∑ ∑

∑∑∑∞

=

=

=

=

=

+−−++

+−−+−+=

m mppp

m mm

p

mkxmkxmmh

mkxmkxmmhmkxmhhky

(4.)

Fig. 13. Structura propusă pentru identificarea

traseului acustic neliniar

Page 8: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

6

0 1 2 3 4 5 6 7 8 9 10

x 104

-5

0

5

10The nonlinear system's output

Samples

d[n

]

0 1 2 3 4 5 6 7 8 9 10

x 104

-10

0

10NLMS filter's output

Samples

y1

0 1 2 3 4 5 6 7 8 9 10

x 104

-5

0

5

102nd order Volterra filter's output

Samples

y2

0 1 2 3 4 5 6 7 8 9 10

x 104

-5

0

5

103rd order Volterra filter's output

Samples

y3

a)

b)

c)

d)

Fig. 14. a) Ieşirea sistemului neliniar b) ieşirea sistemului liniar c) ieşirea sistemului Volterra de ordin doi

d) ieşirea sistemului Volterra de ordin trei

unde x(k) este semnalul de intrare şi y(k) semnalul de ieşire. Se consideră că nucleele Volterra de ordin p hp(m1,…,mp) sunt simetrice, iar termenul h0 poate fi neglijat. Dacă ordinul maxim este egal cu 3 (p = 3), relaţia (4) poate fi rescrisă ca:

1 1 2 1 2 3

1 1 1 1 1 1

1 1 1 2 1 2 1 2 3 1 2 3 1 2 30 0 0 0 0 0

( ) ( ) ( ) ( , ) ( ) ( ) ( , , ) ( ) ( ) ( ).M M M M M M

m m m m m m

y k h m x k m h m m x k m x k m h m m m x k m x k m x k m− − − − − −

= = = = = == − + − − + ⋅ − ⋅ − ⋅ −∑ ∑∑ ∑∑ ∑ (5.)

Structura pentru identificarea sistemului neliniar este prezentată în Fig. 13, iar adaptarea se realizează cu ajutorul algoritmului NLMS cu diferite valori ale pasului.

S-au făcut numeroase simulări considerând diferite funcţii analitice pentru descrierea traseului neliniar acustic. Un exemplu este ilustrat în Fig. 14. Se poate observa că identificarea este cu atât mai bună cu cât ordinul filtrului Volterra este mai mare.

2.3. Algoritmul de detecţie a vorbirii duble şi îmbunătăţirea algoritmilor de anulare a ecoului [9]

Probleme deosebite apar în comanda algoritmilor de procesare a semnalelor acustice dacă apare fenomenul de vorbire dublă (double-talk DT). În Figura 11 este prezentată schema bloc a acestui fenomen întâlnit îndeosebi la anularea ecoului. Semnalul acustic de la un vorbitor îndepărtat (far-end speaker) x(n) este transmis de un difuzor într-o cameră, iar ecoul creat de încăpere (h(n)) este preluat de microfon. Microfonul preia şi semnalul vorbitorului apropiat (near-end), v(n) cât şi zgomotul de fundal. Filtrul adaptiv estimează

traseului acustic h pentru a elimina ecoul. Blocul DTD (Fig. 11) este cel care detectează fenomenul de vorbire dublă. Când se detecteză DT, algoritmul de adaptare este oprit, iar semnalul de referinţă este filtrat cu funcţia răspuns la impuls estimată la acel moment. Dacă DT nu ar fi detectat, atunci performanţa filtrului adaptiv ar fi serios afectată de semnalul near-end.

Pentru DTD s-a utilizat un algoritm bazat pe funcţia de intercorelaţie. Se evaluează o decizie statistică ξ şi dacă valoarea acesteia este aproximativ egală cu 1, atunci semnalul near-end nu este prezent şi se actualizează coeficienţii filtrului adaptiv sau dacă decizia statistică este mai mică decât 1, atunci actualizarea este oprită. Decizia statistică se calculează ca:

2dσ

edr-1 ξ

ˆ

ˆ= , (6.)

a)

b) Fig. 15. MSE pentru algoritmii: a) NLMS; b) RLS

Page 9: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

7

unde )(ˆ nred este estimarea intercorelaţiei dintre

semnalul de eroare e(n) şi semnalul microfonului

d(n), iar )(2ˆ nvσ estimarea varianţei semnalului v(n).

Ele se obţin recursiv:

(n)T

λ)d(n)d-(11)-(n2dσλn2

(n)Tλ)e(n)d-(11)-(nedrλ nedr

+=

+=

ˆ)(ˆ

ˆ)(ˆ. (7.)

În Fig. 15 şi Fig. 16MSE sunt prezentate MSE şi ERLE pentru algoritmul NLMS, respectiv RLS. Deoarece DTD depinde de semnalul eroare şi algoritmul RLS are o mai bună aproximare a canalului, evaluarea deciziei statistice este mai precisă în acest caz. Algoritmul RLS este superior celui NLMS ca viteză de convergenţă, dar implică o complexitate sporită a calculelor.

a)

b)

Fig. 16. ERLE pentru algoritmii: a) NLMS; b) RLS

2.4. Algoritmi de separare oarbă a semnalelor acustice din amestecuri convolutive [10]

S-a dezvoltat un algoritm pentru separarea oarbă a semnalelor acustice din amestecuri convolutive. Algoritmul se bazează pe procesarea pe subbenzi şi calcul neuronal (Fig. 17). Se cconsideră ca există un numar n de surse sonore sj(t), j = 1, 2, …,n, independente şi necunoscute. Aceste semnale sunt recepţionate ca un amestec convolutiv de un numar de m senzori amplasaţi în încăpere xi(t), i = 1, 2, …, m. Fiecare semnal amestec este împărţit pe l subbenzi cu ajutorul blocului de analiză, format din filtre trece-bandă. Semnale filtrate pe subbenzi sunt separate cu ajutorul reţelelor neuronale şi apoi recompuse cu ajutorul unui bloc de sinteză.

Pentru evaluarea performanţei sistemului de separare a fost folosit raportul semnal interferenţă (signal to interference ratio) SIR. Din Fig. 18a şi Fig. 18b se observă că separarea oarbă pe subbenzi este mai stabilă şi mai convergentă decât cea pe întreaga bandă.

11 ( )y k

21 ( )y k

1( )ly k

2( )ly k

1( )y k

2( )y k

( )ny k

( )lny k

1( )s k

2( )s k

( )ns k

1( )x k

2( )x k

( )mx k

11( )x k

21 ( )x k

1( )lx k

2( )lx k

( )lmx k

Fig. 17. Sistemul de separare oarbă a semnalelor acustice din amestecuri convolutive

a)

b)

Fig. 18. SIR la separare oarbă pe: a) întreaga bandă; b) pe subbenzi

Page 10: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

8

a)

b)

Fig. 19. a) Implementarea Hardware a algoritmului LMS; b) semnalul de eroare plotat în Matlab

a)

b)

Fig. 20. a) Implementarea Hardware a algoritmului NLMS; b) semnalul de eroare plotat în Matlab

3. Implementarea algoritmilor de egalizare sau/şi reverberaţie pe structuri FPGA

3.1. Implementarea HDL a algoritmilor LMS şi NLMS [11]

In Fig. 19 a şi Fig. 20 a sunt prezentate implementările hardware ale unor filtre LMS, respectiv NLMS, iar în Fig. 19 b şi Fig. 20 b semnalele de eroare ale hardware-ului implementat, desenate în Matlab prin intermediul unui mic program de afişare a ieşirilor din hardware. Ordinul implementărilor din Verilog a fost 4.

3.2. Implementarea noii structuri de filtru FIR [12]

Noua structură FIR propusă este prezentată în Fig. 21. Eşantioanele semnalului sunt scrise într-o memorie („Sample memory”) de dimensiune N la frecvenţa fs = 44 kHz şi citite la o frecvenţa mai ridicată fp = 100 MHz. Valoarea frecvenţei fs este dictată de semnalul acustic, iar cea a frecvenţei fp de circuitul FPGA, pe care se face implementarea. Aceasta înseamnă că între două eşantioane de intrare consecutive un număr de fp/fs eşantioane pot fi citite din memorie şi procesate. Coeficienţii filtrului sunt stocaţi într-o memorie separată (ROM). Un controller de dimensiuni mici supervizează procesul de filtrare realizat în felul următor: se citesc eşantioanele memorate, fiecare eşantion este multiplicat cu coeficientul corespunzător, iar rezultatul este cumulat. După un numar de fp/fs eşantioane acumulatorul livrează valoarea de ieşire.

S-a evaluat performanţa noii structuri FIR. S-a constatat că eroarea introdusă de filtrarea propusă este minimizată dacă coeficienţii ci ai noului filtru satisfac relaţia:

0

L

i iL jj

c h +=

=∑ . (7)

unde hi sunt coeficienţii filtrului FIR cu structura noua, iar raportul N/L este egal cu valoarea trunchiată a raportului fp/fs .

Noile structuri FIR se pot utiliza pentru realizarea reverberatoarelor. Astfel s-a implementat pe placa ML501 Virtex-5 Evaluation Platform un reverberator in timp real (Fig. 23) compus dintr-un codec audio si structura FIR propus. Fig. 22 prezintă schema bloc a interfeţei AC’97. Aceasta permite comunicare în ambele sensuri între codec şi sistem. Frecvenţa maximă de transmisie şi recepţie este de

Fig. 21. Structura noului filtru FIR

48 KHz. Codec-ul lucrează cu orice frecvenţă între 7 KHz şi 48 KHz cu incremenţi de 1 Hz. Dimensiunea memoriei este de 44 Kcuvinte. În implementarea noastră un cuvânt este de 20 de biţi, datorită rezoluţiei convertoarelor A/D şi D/A din codec. Dimensiunea memoriei permite stocarea unei secunde din semnalul de intrare şi deci lungimea memoriei este N = 44000.

Page 11: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

9

Fig. 22. Schema bloc a interfeţei AC’97

Ştiind că raportul N/L egalează fp/fs, rezultă ca valoarea lui L este 38 [12]. Figura 21 a prezintă răspunsul la impuls al unei încăperi. Măsurătorile aferente acestui răspuns s-au realizat la frecvenţa de eşantionare de 44 kHz pe o durată de 1 secundă. Răspunsul la impuls al reverberatorului implementat este prezentat în Fig. 21 b. Comparând cele două răspunsuri se poate observa că ele sunt aproape identice. Răspunsul sistemului implementat este mai zgomotos decât cel al sistemului dorit. Acest fapt se datorează simplificărilor care au apărut în numărul de coeficienţi. Noul filtru FIR ocupă circa 77% din capacitatea plăcii, iar în varianta tradiţională filtrul FIR nu ar fi putut fi implementat.

3.3. Implementarea algoritmilor de reverberatie pe FPGA folosind microprocesorul Microblaze [14]

Schema bloc de principiu a sistemului este prezentată în Fig. 25. Controllerul AC’97 reprezintă un miez propriu descris in limbaj mixt

Fig. 23. Reverberator implementat pe placa ML501

a)

b)

Fig. 24. a) Răspunsul la impuls al unei încăperi; b) răspunsul la impuls al noului filtru FIR

Verilog/VHDL. Acesta stabileşte legătura prin AC’97 Link la codec-ul AC’97 pe care îl controlează. Pe cealaltă parte este implementată o interfaţă la magistrala PLBV4.6 propriu sistemelor pe microprocesoare Microblaze si PowePC. Magistrala PLBV4.6 faciliteaza interfatarea controllerului AC’97 cu microcontrollerul Microbaze si memoria lui externă, folosită atât ca si memorie program cât şi memorie pentru stocarea eşantioanelor provenite de la codec-ul audio.

Folosind sistemul descris mai sus, au fost implementate un algoritm de ecou (filtru trece-tot), un algoritm Half-Schroeder folosind doua filtre pieptene si un filtru trece-tot, respectiv un algoritm Schroeder folosind patru filtre pieptene si doua filtre trece-tot. Sistemul a fost testat pe o placa de dezvoltare XUP-V5 având un circuit FPGA Virtex5 XV5VLX110T.

Fig. 25. Schema bloc a sistemului cu microprocessor Microblaze implementat pe placa de dezvoltare FPGA

BITCLK

SYNC

RESET

SDATA_IN

SDATA_OUT

PCM_IN_L

PCM_IN_R

SLOT_VALID

SLOT_REQ

ADDR_OUT

DATA_OUT

DONE

TAG_IN

ID

RNW

DATA_WR

PCM_OUT_L

PCM_OUT_R

LOAD

SHIFTREG_IN 95 94 …… 0

0 1 …… 95

SHIFTREG_OUT

STC State machine

0000…

SHIFTREG_IN

Page 12: Denumirea proiectului: PROIECT DE CERCETARE · PDF filedenumirea proiectului: proiect de cercetare exploratorie cncsis ... implementarea algoritmilor de reverberatie pe fpga folosind

10

3.4. Implementarea algoritmilor de reverberatie folosind platformele National Instruments [15]

Implementările s-au realizat în mediul LabVIEW FPGA 8.6.1, iar fişierele astfel obţinute rulate pe un sistem NI CompactRIO-9014, cu 3 milioane de porţi FPGA. Implementarea LabVIEW FPGA a fost opti-mizată şi se presupune faptul că se pot utiliza frecvenţe de eşantionare mai mari, până la cca 90 kHz, păstrând reverberatorul în timp real. În Fig. 26 este prezentat răspunsul la impuls al reverberatorului Schroeder.

Fig. 26. Răspunsul la impuls al reverberatorului Schroeder implementat.

Referinţe 1. Norbert Toma, Marina Dana Ţopa, Botond Sandor Kirei, Ioana Homănă, “Acoustic Analysis of a Room”, Acta

Technica Napocensis - Electronics and Telecommunications, ISSN 1221-6542, Volume 51, Number 2, pp. 14-19, 2010.

2. Marina Dana Ţopa, Norbert Toma, Botond Sandor Kirei, Ioana Homănă, Marius Neag, Gilbert De Mey, “Comparison of Different Experimental Methods for the Assessment of the Room’s Acoustics”, Acoustical Physics, ISSN 1063-7710, e-ISSN: 1562-6865, to be published in Volume 57, Number 2, 2011.

3. Marina Dana Ţopa, Norbert Toma, Victor Popescu, Vasile Ţopa, “Evaluation of All-Pass Reverberators”, Proceedings of the 14th IEEE International Conference on Electronics,Circuits and Systems ICECS’2007, ISBN 1-4244-1387-8, December 11-14, 2007, Marrakech, Morocco, pp. 339-342.

4. Ioana Homănă, Marina Ţopa, Botond Sandor Kirei, “Echo Cancelling Using Adaptive Algorithms”, Proceedings of the 15th International Symposium for Design and Technology of Electronics Packages SIITME2009, 17-20 September, 2009, Gyula, Hungary, pp 347-351.

5. Ioana Homană, Marina Ţopa, “Variable stepsize NLMS algorithm for echo cancelling”, Novice Insights, 2009 6. Irina Dornean, Marina Ţopa, Botond Sandor Kirei, Marius Neag, “Sub-Band Adaptive Filtering for Acoustic

Echo Cancellation”, Proceedings of the European Conference on Circuit Theory and Design ECCTD 2009 (indexată IEEE), 23-27 August, 2009, Antalya, Turkey, on CD (C3L-D-3).

7. Marina Dana Ţopa, Irina Mureşan, Botond Sandor Kirei, Ioana Homănă, “Digital Adaptive Echo-Canceller for Room’s Acoustics Improvement”, Advances in Electrical and Computer Engineering, ISSN 1582-7445, e-ISSN: 1844-7600, Volume 10, Number 1, pp. 50-53, 2010.

8. Cristian Conţan, Marina Ţopa, Botond Sandor Kirei, Ioana Homănă, “Nonlinear System Identification using Adaptive Volterra Filters for Echo Cancelling”, Acta Technica Napocensis - Electronics and Telecommunications, ISSN 1221-6542, programat in Volume 51, Number 4, 2010.

9. Ioana Homănă, Marina Ţopa, Botond Sandor Kirei, Cristian Conţan, “Adaptive Algorithms for Double-Talk Echo Cancelling”, Proc. of the 2010 9th International Symposium on Electronics and Telecommunications ISETC’ 2010, ISSN 978-1-4244-8458-4, November 11-12, 2010, pp. 349-352.

10. Botond Sandor Kirei, Marina Dana Ţopa, , Irina Mureşan, Ioana Homănă, Norbert Toma, “Blind Source Separation for Convolutive Mixtures with Neural Networks”, Advances in Electrical and Computer Engineering, ISSN 1582-7445, e-ISSN: 1844-7600, in curs de recenzie.

11. I. Dornean, Marina Ţopa, B. S. Kirei, G. Oltean, “HDL Implementation of the Variable Step Size N-LMS Adaptive Algorithm”, Proceedings of the 2008 IEEE International Conference on Automation, Quality and Testing (AQTR 2008) (indexată IEEE), ISBN 978-1-4244-2576-1, May 22-25, 2008, Cluj-Napoca, Romania, pp.243-246.

12. Botond Sandor Kirei, Marina Dana Topa, Albert Csaba Fazakas, Norbert Toma, “Novel FIR Implementation for Acoustic Signal Processing”, International Symposium for Design and Technology of Electronics Packages SIITME (indexată Scopus), 16-20 September, 2009, Gyula, Hungary

13. Norbert Toma, Marina Ţopa, Irina Mureşan, Botond Sandor Kirei, Marius Neag, Albert Fazakas, “Acoustic Modelling and Optimization of a Room”, Acta Technica Napocensis - Electronics and Telecommunications, ISSN 1221-6542, Volume 50, Number 2, pp. 25-30, 2009.

14. Copacian Sebastian Dan, „Aplicatii de achizitie si prelucrare de semnal audio pe placa de dezvoltare XUPV5”, Lucrare de licenta, promotia 2010, sub indrumarea Albert Fazakas.

15. Ioan Cătuna, Erwin Szopos, Marina Dana Ţopa, “LabView FPGA Implementation of Digital Reverberators”, Acta Technica Napocensis - Electronics and Telecommunications, ISSN 1221-6542, Volume 51, Number 3, pp. 41-44, 2010.

16. Ioana Homǎnǎ, Marina Dana Ţopa, Botond Sandor Kirei, “Semi-blind equalization using the Constant Modulus Algorithm”, Proceedings of the 2010 IEEE International Conference on Automation, Quality and Testing (AQTR 2010), ISBN 978-1-4244-6722-8, May 28-30, 2010, Cluj-Napoca, Romania, pp. 299-302.

17. Erwin Szopos, Marina Ţopa, Lelia Feştilă. Horia Hedeşiu, “FIR Synthesis of the Human Hearing Mechanism Response”, Acta Technica Napocensis - Electronics and Telecommunications, ISSN 1221-6542, to be published in Volume 51, Number 4, 2010.