Sunteți pe pagina 1din 5

A practical controlled NLMS algorithm for

network echo cancellation

Introducere

Anularea ecoului este un subiect popular în literatura procesării de semnale digitale, cu două tipuri de
probleme ale compensării acestuia: electric și acustic. Diferența principală între acestea este lungimea
traseului urmată de ecou. Compensarea ecoului bazată pe filtre adaptive este cea mai eficientă cale de a
elimina zgomotul nedorit în ambele situații, fie că este electric sau acustic.

Filtrarea adaptivă este o tehnică folosită la scară largă pentru a înlătura ecoul nedorit în procesarea
semnalului digital. Provocarea majoră în această tehnică este selectarea parametrilor optimi pentru a
folosi acest algoritm. Specific vorbind, alegerea mărimii pasului în familia de algoritmi LMS (least mean
square – cele mai mici pătrate) are un impact semnificativ pentru viteza de convergență, complexitatea
aritmetica și dezadaptarile ce sunt obținute în faza de convergență. Drept urmare, au fost făcute multe
cercetări în metode pentru obținerea unui pas variabil (VSS – variable step-size) din dorința de a
îmbunătăți performanța acestui algoritm.

Cu toate acestea, implementarea VSS în practică s-a dovedit a fi o provocare. Reîmprospătarea automată
a parametrului legat de mărimea pasului adaugă efort computational. Prin urmare, provocarea a fost de
a gasi o metoda simpla si eficienta de a rezolva problema.

Mai multe abordari au fost propuse pentru a aborda problematica selectarii marimii pasului in mod
optim in filtrul adaptiv. Una din cele mai comune metode folosite este pasul variabil fix, care se refera la
setarea unui pas constant pentru intregul algoritm. Avand in vedere ca aceasta abordare este usor de
implementat, dezavantajele acestei metode duc la convergenta lenta a algoritmului sau chiar instabilitate
daca pasul este nepotrivit – prea mare sau prea mic.

Abordarea prin setarea unei marimi variabile a pasului ar rezolva problema prin ajustarea dinamica a
pasului in timpul folosirii acestui algoritm. Ideea din spatele VSS este de a utiliza un pas mai mare in
etapele preliminarii ale algoritmului cand eroarea este mare si un pas mai mic in finalul rularii
algoritmului, atunci cand eroarea este mica. Acest lucru permite unei convergente mai rapide fara a
sacrifica stabilitatea.

Insa, implementarea algoritmului VSS poate fi complicata. O abordare posibila este data de utilizarea
unui algoritm matematic pentru a determina pasul optim fiecarei iteratii. Aceasta necesita putere
computionala aditionala. Ideea din spatele acestei metode este de a estima marimea erorii folosind o
formula recursiva, pentru a ajusta in timp real marimea pasului o data cu utilizarea algoritmului.

In continuare va fi prezentata solutionarea eficienta a problemei prin selectarea pasului in algoritmul


NLMS (normalized least mean square), ce poate fi aplicat si altor algoritmi din familia LMS, cum ar fi
proiectiile afine (APA – affine projection algorithm). Aceasta metoda este relativ automata si controleaza
valoarea pasului bazat pe estimatori de putere calculati folosind clasica metoda de ferestre glisante. Prin
comparatia acestor estimatori de putere, momentul algoritmului poate fi determinat simplu iar valoarea
marimii pasului poate fi ajustata avand in vedere necesitatile algoritmului din momentul respectiv,
precum viteza rapida a convergentei sau calea ecoului urmarita, nevoia de a bloca algoritmul in situatiile
de vorbire dubla (double-talk).

De asemenea, introducem ideea de control a factorului de normalizare utilizata de algoritmul NLMS.


Aceasta solutie este potrivita aplicatiilor de compensare a ecoului, inclusiv a ecoului electric sau acustic.
Aceasta abordare ofera o solutie simpla si eficienta provocarii de selectare a parametrului pasului
variabil, ce poate imbunatati viteza de convergenta si dezacordarea obtinuta in momentul convergentei
algoritmului NLMS.

Compensatorul de ecou cu algoritm NLMS

Algoritmul NLMS este un algoritm adaptiv folosit des pentru actualizarea coeficientilor vectorilor dintr-o
structura de compensator de ecou. In figura 1, toate semnalele sunt reprezentate ca semnale de date
esantionate ce ar aparea natural la terminalul unei transmisii digitale sau in cazul unui switch digital.
Semnalul x(n), reprezentat de vocea indepartata (far-end speaker), este folosit in filtrul adaptiv pentru a
genera o estimare, y(n), a ecoului nedorit, notat cu ec(n), ce poate fi gasit in echipamentul hibrid.
Semnalul dat de vocea apropiata (near-end speaker), notat cu z(n), este insumata cu semnalul ecou,
generand astfel referinta semnalului filtrului adaptiv, d(n).

Intr-o situatie ideala, daca vocea vorbitorului apropiat nu exista, filtrul adaptiv genereaza o replica foarte
buna a functiei de transfer hibrid, minimizand eroare ecoului. Daca functia de transfer a filtrului cu
raspuns finit la impuls este identic cu calea data de ecou, copia ecoului devine identica cu ecoul, astfel
vom obtine supresie totala a ecoului. Aceasta compensare este necesara intrucat ecourile pot fi foarte
deranjante, rezultand in calitate slaba a comunicarii.
Algoritmul NLMS este descris de urmatoarele ecuatii:

L−1
y ( n )=w ( n )∗x ( n )=∑ wi ( n )∗x ( n−i ) ,
T

i=0

w(n) = [w0(n), w1(n), ... , wL-1(n)]T,


x(n) = [x(n), x(n-1), ... , x(n-L+1)] T,
pentru care w(n) este vectorul pondere, iar x(n) este vectorul de intrarea. De asemenea, indexul
temporal este notat cu n, iar L este lungimea filtrului adaptiv.
Vom defini eroarea de estimare astfel:
e(n) = d(n) – y(n) = ec(n) + z(n) – y(n)
tap weight adaptation ??
μ
w ( n+1 )=w ( n ) + 2
∗e ( n )∗x ( n )
β +‖ x (n)‖2

Pentru a evita o posibila impartire la 0 atunci cand semnalul de intrare este la un nivel scazut,
adaugam o valoare mica, pozitiva, β, la norma. Algoritmul NLMS este comun folosit pentru a
updata coeficientii vectorului in structurile compensatorului de ecou. Parametrul pentru
marimea pasului, µ, joaca un rol critic in performantele compensatorului de ecou. Alegerea µ-
ului este un compromis intre viteza de convergenta si dezadaptarea in ??steady state??. O
valoare mica a pasului este folositoare in cazul zgomotului sau al dialogului, intrucat asigura
dezadaptari mici. In contrast cu aceasta, o valoare mare ofera o viteza mare de convergenta si o
putere mai mare de urmarire in cazul schimbarilor caii ecoului. Incercarile de a automatiza
controlul parametrului pasului variabil au dus in trecut la cresterea complexitatii
computationale. Fenomenul de “double talk” este prezent in momentul in care persoana de la
microfonul apropiat vorbeste simultan cu persoana de la indepartare. Astfel, coeficientii filtrului
pot diverge in acest timp, intrucat adaptarea filtrului este bazata pe corelarea intre discursul
vorbitorului indepartat si a ecoului. Un detector clasic de double talk este detectorul Geigel. Cu
toate acestea, acest model creste complexitatea totala si intarzierea procesarii, in ciuda
simplitatii teoretice.
In cazurile unde semnalul vorbitorului din apropiere nu este suficient de puternic sa atinga
pragul de -6dB, astfel ca algoritmul Geigel nu poate detecta double talk. Pentru a aborda
aceasta problema, propunem o metoda eficienta si directa pentru a obtine compensare a
ecoului electric reala, in timp ce mentinem un nivel rezonabil de complexitate computationala.
Solutia propusa este bazata pe observatii atente si analiza.
Noua metoda de adaptare

Folosirea unei singure valori pentru marimea pasului µ este insuficienta. Acest algoritm a fost dezvoltat
pentru a obtine rezultate mai bune in amandoua situatiile, de monolog sau dialog. In perioadele de
monolog, este necesar o rata de convergenta mai mare, in timp ce in perioadele de dialog, este utila o
rata de divergenta scazuta. Astfel, are sens sa utilizam valori multiple ale pasului. Pentru a detecta
momentele de dialog, vom folosi un detector pentru double talk, astfel ca vom seta valoarea adecvata a
pasului, dar nu este eficient in detectarea momentelor slabe de dialog. In scopul rezolvarii acestei
probleme, un algoritm nou de control pentru pasul variabil a fost creat, fiind derivat dintr-un algoritm
clasic NLMS. Acest nou algoritm supravegheaza “paths” trimise si primite, ca sa detecteze momente
posibile de divergenta in algoritmul de adaptare. Estimatorii de putere a semnalului si coeficientii filtrului
de rezerva sunt utilizati sa restabileasca stabilitatea algoritmului adaptiv. Astfel, algoritmul propus este
simplu si eficient, astfel ca utilizeaza complexitatea computationala initiala.

++ figura 2 cu explicatii

S-ar putea să vă placă și