Prinzipien, Algorithmen und Praktiken der Echounterdrückung (AEC) – Einführung in die Module, die im vollständigen Echounterdrückungs-Algorithmus-Framework enthalten sind

1. Ein vollständiges Echokompensationssystem umfasst die folgenden Module:
1. Time Delay Estimation (TDE)-Modul
2. (Lineares) Echokompensationsmodul (Linear Acoustic Echo Cancellation, AEC) (lineares Filtermodul)
3. Double-Talk Detect (DTD). ) Modul
4. Modul zur nichtlinearen Restechounterdrückung (Residual Acoustic Echo Suppression, RAES) (nichtlineares Filtermodul)

 2. Verzögerungsschätzungsmodul

Gründe für die Verzögerung: Das Referenzsignal wird aus den im Downlink empfangenen Daten und das Mikrofonsignal aus den gesammelten Daten entnommen. In der Mitte kommt es zu einer Verzögerung, der Schallausbreitungszeit (unabhängig davon, ob innen oder außen). , der Puffer zum Abspielen der Arbeit des Sammelthreads und die Startzeitdifferenz. Unterschiedliche Geräte und unterschiedliche Umgebungen haben unterschiedliche Verzögerungen.

Die implementierte Echokompensationstechnologie verwendet hauptsächlich zwei Arten von Schallsignalen, eines ist das Echosignal und das andere ist das Referenzsignal. Bei der tatsächlichen Implementierung der Echokompensation gibt es eine gewisse Verzögerung zwischen den beiden Signalen . Es gibt drei Hauptquellen von Verzögerung:

1. Die Zeitverzögerung von der Erfassung des Referenzsignals bis zur Ausgabe des Referenzsignals über den Lautsprecher.

2. Die Verzögerung, die dadurch entsteht, dass das Referenzsignal am Mikrofon ankommt, nachdem es vom Lautsprecher gesendet wurde.

3. Nachdem das Mikrofon das Echosignal empfangen hat, sendet es es an die vom Echounterdrückungsalgorithmusmodul erzeugte Verzögerung.

Der Zweck des Verzögerungsschätzungsmoduls besteht darin, die Verzögerung zwischen dem Echosignal und dem Referenzsignal zu steuern, um sie innerhalb eines bestimmten Bereichs zu halten, was für die folgenden Module zur Verarbeitung des Echos praktisch ist.

Auswirkungen des Verzögerungsschätzungsmoduls

Die Verzögerungsausrichtung kann den Druck auf den adaptiven Filter verringern, die Verfolgungslänge des Filters verringern und den Overhead reduzieren. Wenn kein Verzögerungsausrichtungsmodul vorhanden ist, muss die Länge der Filterverfolgung so ausgelegt werden, dass sie alle Referenzsignale des Echosignals abdeckt Die Verzögerung, die oft Hunderte von Millisekunden beträgt, ist sehr rechenintensiv.

Die Ausrichtung der Verzögerungen beeinflusst die Leistung des Filters. Wenn die Zeitverzögerung nicht angepasst ist, ist die Korrelation zwischen dem Referenzsignal und dem vom Filter verfolgten Echosignal extrem gering und die Filterkonvergenz wird beeinträchtigt. Die Verzögerung wird überschätzt, das Referenzsignal kann nicht im vom Filter verfolgten Signalpuffer gefunden werden und der Filter kann nicht konvergieren.

Die Ausrichtungsgeschwindigkeit der Verzögerung beeinflusst die Gesamtkonvergenzgeschwindigkeit, beeinflusst die Filterkonvergenz und beeinflusst auch die nichtlineare Echoverarbeitung. Wenn sich die Verzögerung ändert, ist es notwendig, die Änderung der Verzögerung schnell verfolgen und schnell anpassen zu können, da sonst gelegentlich Echos auftreten.

Design der Latenzschätzung

Im Allgemeinen liegt die Verteilung der Echos aufgrund der Reaktion der Lautsprecher und Mikrofone des Geräts ungefähr im Mittelfrequenzbereich und es gibt wenig Echo in den Hochfrequenz- und Niederfrequenzbereichen, sodass das Echo verfolgt werden kann den mittleren Frequenzbereich.

Das AEC-Modul von Webrtc verwendet die Methode des Binärspektrums im Frequenzbereich. Ordnen Sie die Verteilung des mittleren Frequenzbandes des Spektrums an beiden Enden den binarisierten Daten zu, suchen Sie das Signal am fernen Ende mit der höchsten Ähnlichkeit und berechnen Sie die entsprechende Zeitverzögerung. Diese Methode erfordert einen geringen Rechenaufwand, wird jedoch stark beeinflusst Lärm.

Das aec3-Modul von Webrtc verwendet lineare Filterung. Die angepasste Filtermethode besteht darin, die NLMS-Verarbeitung (Normalized Least Mean Square) direkt am Zeitbereichssignal durchzuführen, was sehr robust ist.

Es kommt zu mehreren Spitzen in der Kreuzkorrelation von Zeitbereichssignalen, was zu einer ungenauen Verzögerungsschätzung führt. Wir erwägen die Verwendung der Methode der Kreuzkorrelation im Frequenzbereich in Kombination mit linearer Filterung, um einerseits die Robustheit sicherzustellen und andererseits die Eigenschaften der schnellen Erkennungsgeschwindigkeit der Kreuzkorrelation im Frequenzbereich zu nutzen, um die Erkennungsgeschwindigkeit zu beschleunigen. 

3. (Lineares) Echokompensationsmodul (Linear Acoustic Echo Cancellation, AEC) (lineares Filtermodul)

Das Echounterdrückungsmodul wird hauptsächlich unter Verwendung eines adaptiven Filters entworfen, und verwandte Indikatoren wie Stabilität, Algorithmuskomplexität und Konvergenzrate müssen während des Entwurfs berücksichtigt werden. Um einen besseren Echokompensationseffekt zu erzielen, muss beim Entwurf des linearen Echokompensationsmoduls zusätzlich zum adaptiven Filter auch eine Zweikanalerkennung eingeführt werden.

x(n) ist das Eingangssignal am fernen Ende, über den unbekannten Echopfad h(n), um y(n)=x(n)∗h(n) zu erhalten, plus das Beobachtungsrauschen v(n), um das zu erhalten Eingangssignal am nahen Ende s(n)=y(n)+v(n). x(n) erhält das geschätzte Echosignal durch den adaptiven Filter w(n) und subtrahiert es vom Eingangssignal s(n) am nahen Ende, um das Fehlersignal e(n) zu erhalten, d. h. e(n)= s(n)− conj(w(n))x(n): Je näher der vom adaptiven Filteralgorithmus geschätzte Echopfad am tatsächlichen Echopfad liegt, desto kleiner ist der Fehler und desto kleiner ist der Echorest. Verwenden Sie daher die erhaltene Fehlergröße als Richtung der adaptiven Anpassung.

Der Filter verwendet einen speziellen adaptiven Algorithmus, um den Gewichtsvektor kontinuierlich anzupassen, sodass sich der geschätzte Echopfad w(n) allmählich dem tatsächlichen Echopfad h(n) annähert. Auf diese Weise kann der Ausgang des Filters dem realen Echo nahekommen, sodass im Fehlersignal kein Echosignal enthalten ist.

In der Konvergenzstufe des adaptiven Filters hat das Signal am nahen Ende nur das Echo und die Stimme am nahen Ende kann nicht gemischt werden. Weil das nahe Ende und das Rauschen den Konvergenzprozess von h(n) stören. Das heißt, der Echounterdrückungsalgorithmus muss sehr schnell konvergieren, nachdem er gestartet wurde. Es ist am besten, den Algorithmus des anderen Teilnehmers zum Konvergieren zu zwingen, sobald Sie sprechen. Wenn die Konvergenz abgeschlossen ist und der andere Teilnehmer zu sprechen beginnt , Der h(n)-Koeffizient sollte sich nicht ändern. Stabilisierung erforderlich.

Der Echopfad kann sich ändern. Sobald eine Änderung vorliegt, muss der Echounterdrückungsalgorithmus in der Lage sein, diese zu beurteilen, da das adaptive Filterlernen neu gestartet werden muss, d. h. h(n) benötigt einen neuen Konvergenzprozess, um sich dem neuen Echo zu nähern Weg h. Adaptive Filter müssen ein Gleichgewicht zwischen Konvergenzgeschwindigkeit und Tracking-Leistung sowie stationärer Fehlausrichtung herstellen.

Lineares Filterdesign

Adaptive Filter, NLMS-Filter und Kalman-Filter werden derzeit häufig verwendet, und diese beiden Filter haben ihre eigenen Vor- und Nachteile. Die Kalman-Filterung hat eine hohe Konvergenzgeschwindigkeit und keine Konvergenzleistung; NLMS ist relativ stabil. Grundsätzlich gibt es unterschiedliche Verzerrungen hinsichtlich der Konvergenzgeschwindigkeit, der Tracking-Leistung und der stationären Fehlausrichtung. Aber unabhängig von der Art des Filters können Sie die Tracking-Geschwindigkeit anpassen, um das Gleichgewicht zwischen Konvergenzgeschwindigkeit und Tracking-Leistung zu ändern. NLMS ändert den Schrittgrößenwert und Kalaman ändert die Verstärkung.

Berücksichtigen Sie die gemischte Verwendung mehrerer Filter, nutzen Sie die Vorteile verschiedener Filter, stellen Sie die Konvergenzgeschwindigkeit sicher und begrenzen Sie auch die Divergenz untereinander. Der nichtlineare Filter beteiligt sich auch an der Schätzung des Echo- und Doppelsprechstatus, wodurch die Tracking-Schrittgröße des adaptiven Filters gesteuert und eine variable Schrittverfolgung entsprechend dem Status realisiert wird.

4. Modul zur nichtlinearen Restechounterdrückung (Residual Acoustic Echo Suppression, RAES) (nichtlineares Filtermodul)

Für den adaptiven Filter ist es schwierig, das Echo vollständig zu eliminieren. Um das Restecho zu eliminieren, muss ein Restecho-Unterdrückungsmodul eingeführt werden. Wenn wir das Restecho-Unterdrückungsmodul entwerfen, müssen wir nicht nur ein Gleichgewicht zwischen Sprachverzerrung am nahen Ende und Restecho-Unterdrückung erreichen, sondern auch den Algorithmuseffekt und die Rechenkomplexität ausgleichen.

Das nichtlineare Verarbeitungsmodul berechnet normalerweise die Korrelation zwischen dem Referenzsignal, dem Mikrofonsignal, dem linearen Echosignal und dem Rest und schätzt das Restecho oder den Zustand des Echos. Die Echobeseitigung mittels Wiener-Filterung konzentriert sich auf die Schätzung des Restechos, und die Schätzung der Größe des Restechos wirkt sich auch direkt auf das endgültige Eliminierungsergebnis aus. Wenn das Restecho unterschätzt wird, kann es zu Restechos kommen. Wenn das Restecho überschätzt wird, wird die Stimme des nahen Endes im Doppelgespräch beschädigt.

Nichtlineares Filterdesign

Für das Referenzsignal, das Mikrofonsignal, das lineare Echosignal und das Restsignal übernimmt unser nichtlineares Verarbeitungsmodul die Eigenschaften der Spitzenkorrelation, der Frequenzbereichskorrelation und der Amplitudenähnlichkeit, um gemeinsam Informationen wie den Doppelsprechstatus und den Echostatus zu beurteilen und zu erhalten . Zusätzlich zur obigen Korrelation kann auch das Aktualisierungsgewicht des linearen Filters verwendet werden, um den Zustand des Echos zu erhalten. Was die endgültige Ausgabe beeinflusst, ist das Restecho oder die Schätzung der Echogröße. Die Schätzung des Restechos übernimmt die Methode der Kombination des Echozustands und der ERL-Schätzung (Echo Return Loss) des Filters.

Der adaptive Filter verfügt über drei Arbeitsmodi (von DTD erkannt):

  • Sprache am fernen Ende ist vorhanden, Sprache am nahen Ende ist nicht vorhanden: Filterung, Aktualisierung der adaptiven Filterkoeffizienten
  • Vorhandene Sprache am fernen Ende, vorhandene Sprache am nahen Ende: Filterung
  • Die Stimme am anderen Ende ist nicht vorhanden: Nichts tun

Verweise:

https://worktile.com/kb/ask/5708.html

https://www.cnblogs.com/LXP-Never/p/11703440.html

Supongo que te gusta

Origin blog.csdn.net/qq_42233059/article/details/131959160
Recomendado
Clasificación