Ich bin ein langjähriger Softwareentwickler, habe aber praktisch keine Erfahrung mit Signal- / Audioverarbeitung. Ich bin daran interessiert, etwas über die Signalverarbeitung anhand eines Anwendungsfalls zu lernen, den wir für eine unserer Audiokomponenten haben. HINWEIS: Dies ist nur eine Lernübung für mich. Es ist keine Priorität, dass das Endergebnis nützlich ist.
Wir haben eine Komponente (A), die Audio erzeugt (über einen Lautsprecher). Wir haben eine weitere Komponente (B), die dieses Audio aufzeichnet (über ein einfaches Mikrofon).
Was ich tun möchte, ist A zu verwenden, um B's Audio aufzunehmen. Dann möchte ich, wenn möglich, die beiden Streams vergleichen. Das Ziel wäre es, das in Stream A vorhandene Audio zu entfernen - die Umgebungsbedingungen, die während der Aufnahme herrschten, zu belassen - ich verstehe, dass eine vollständige Entfernung nicht möglich ist.
Mir ist klar, dass es Phasen- und Größenprobleme gibt. Mir ist auch klar, dass es nicht nur darum geht, B von A zu "subtrahieren". Ich gehe jedoch davon aus, dass Sie A von A subtrahieren können .
Ich würde gerne verstehen, wie man das Problem angeht. Auch dies ist eine Lernerfahrung für mich (es gibt keine Fristen); Ich bin mehr als bereit, von vorne zu beginnen.
Jeder Rat / Vorschläge wäre sehr dankbar.
quelle
Das Problem, bei dem kein exakter Umgebungsklang ausgegeben werden kann, ist:
(a) die Lautheitsdifferenz (b) die Phasendifferenz aufgrund der Zeitverzögerung.
Insgesamt ist das von B aufgezeichnete Signal also (vorausgesetzt, der Raum verhält sich wie ein LTI-System).yB.[ n ] =∑pk = 0αkxEIN[ n - k ] +xa m b[ n ] ) = ( x ∗ h ) [ n ] +xa m b[ n ] , wo h [ n ] =αn oder so die Raumimpulsantwort. Hierxa m b[ n ] ist das Umgebungssignal an der Position von B. Jetzt,z[ n ] =xEIN[ n ] -yB.[ n ] Sie können sehen, dass Sie haben werden z[ n ] ≠xa m b[ n ] , es sei denn, Sie kennen die Raumimpulsantwort oder ihre Schätzung. Um einen Einblick zu erhalten, können Sie fortfahren, indem Sie die Subtraktion durchführen und das Spektrogramm des resultierenden Signals sehen und mit dem Signalspektrogramm des Umgebungssignals und nur des A vergleichen.
Der umgekehrte Weg besteht darin, das Mikrofon in der Nähe von A zu platzieren, um den Effekt der Raumimpulsantwort zu minimieren. Eine solche Technik wird bei Kopfhörern mit Geräuschunterdrückung verwendet, bei denen Umgebungsgeräusche entfernt werden sollen. http://en.wikipedia.org/wiki/Noise-cancelling_headphonese .
quelle
Das klingt nach einem Standardfall für "akustische Echokompensation". Zu diesem Thema gibt es viele Patente, Forschungsarbeiten und wissenschaftliche Arbeiten (ab 1967 glaube ich mit MM Sondhis Arbeit "Ein adaptiver akustischer Echokanzler").
Eine einfache Übersicht finden Sie hier http://supportdocs.polycom.com/PolycomService/support/global/documents/support/technical/products/voice/vortex_choose_acoustic_echo_canceller.pdf .
Dies ist ein anständiges Buch zum Thema http://www.amazon.com/Advances-Network-Acoustic-Cancellation-Processing/dp/3540417214
quelle