Forum: Digitale Signalverarbeitung / DSP / Machine Learning Speex - Acoustic Echo Cancellation (AEC)


von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hallo,

hat von euch jemand Erfahrungen mit der AEC, die im Speex Vocoder mit 
dabei ist? Die AEC von Speex würde mich deshalb interessieren, weil 
Speex sowohl für DSPs (u.a. von TI und Analog Devices) als auf für 
Cortex M3 Controller verfügbar ist.
Bevor ich aber versuche den "Echo Canceller" auf einem STM32F103 zum 
Laufen zu bringen, wollte ich gerne wissen, ob jemand den kennt und weiß 
wie gut der funktioniert bzw. vielleicht hat ja auch jemand Speex + AEC 
schon auf einem Cortex M3 Controller verwendet!?

mfg
Andreas

von ützgür (Gast)


Lesenswert?

hi

ich bastle grad selbst damit herum .. aber nur die echofunktionen
das ist schon ein krampf das da alles rauszufrickeln
da ich auch einen anderne controller + IDE nutze

ergebnisse sind nur schwer vorzuzeigen ..
bin noch dabei es kompilierfähig zu machen

ich erhoffe mir viel davon ...

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Mit welchem Controller versuchst du es? Ich benötige so auch nur den 
Teil zur Echo Cancellation. Hab aber praktisch noch nicht begonnen das 
Teil zu kompilieren und auszuprobieren.

von H. (Gast)


Lesenswert?

Mit welchen Methoden versucht ihr EC?

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Also ich hab mir den NLMS Algorithmus etwas genauer angesehen. Ist wohl 
einer der einfachsten adaptiven Algorithmen. Ohne jede weitere 
Optimierung ist die Performance jedoch teilweise eher bescheiden.
Der NLMS zusammen mit dem "Affine Projection Algorithm" (APA) 
funktioniert da schon wesentlich besser und wäre ansonsten auch eine 
Alternative. Das muss ich mir aber nochmal genauer ansehen.

von Max G. (l0wside) Benutzerseite


Lesenswert?

Andreas Auer schrieb:
> Also ich hab mir den NLMS Algorithmus etwas genauer angesehen. Ist wohl
> einer der einfachsten adaptiven Algorithmen.

Richtig, der NLMS ist schnell implementiert, aber langsam beim 
Adaptieren. Je rauschähnlicher Dein Signal ist, desto schneller 
konvergiert der NLMS. Whitening kann helfen.

Man kann den NLMS auch im Frequenzbereich implementieren, aber dass ich 
das gemacht habe, ist leider acht Jahre her. Das konvergiert dann aber 
Größenordnungen schneller.

Wichtig neben dem eigentlichen Algorithmus sind Schrittweitensteuerung 
(abhängig von Algorithmus, Signalspektrum und vor allem additiven 
Störungen in der Echostrecke), Double-Talk Detection und Pegelwaage.

Gruß,

Max

von hfhffhfff (Gast)


Lesenswert?

grobe ergbenisse :

decoder + encoder funktionieren auf LPC1768 €96Mhz
auch gewisse effekte

AEC funktioniert nicht wirklich weil ich es nicht hinbekomme
die berechnungen vor dem nächsten sample fertig zu haben
komme dabei immer auf den faktor 2-3  :(

irgendwann ist die samplelänge begrenzt weil man sonst den stack 
zerbröselt :(

hat das schonmal jemand zum laufen gebracht ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.