-
Hintergrund
-
Sprachkommunikationssysteme haben traditionell Geräuschunterdrückungs- (NR-) Algorithmen mit einem einzigen Mikrophon verwendet, um Störungen und Geräusche zu unterdrücken und um die Tonqualität zu verbessern. Derartige Algorithmen, die von statistischen Unterschieden zwischen Sprache und Geräusch abhängen, ergeben eine effektive Unterdrückung von stationären Geräuschen, insbesondere dann, wenn das Signal-/Störverhältnis (SNR) mäßig bis hoch ist. Die Algorithmen sind jedoch weniger wirkungsvoll, wenn das SNR sehr niedrig ist.
-
Mobile Geräte, wie zum Beispiel Zellular-Telefone werden in vielen unterschiedlichen Umgebungen verwendet, wie zum Beispiel in Bahnhöfen, Flughäfen, geschäftigen Straßen und Bars. Traditionelle NR-Algorithmen mit einem einzigen Mikrophon arbeiten nicht effektiv in derartigen Umgebungen, in denen das Geräusch dynamisch (oder nicht-stationär) ist, beispielsweise Hintergrund-Sprache, Musik, vorbeifahrende Fahrzeuge, u.s.w.. Um dynamisches Geräusch zu unterdrücken und weiterhin das NR-Betriebsverhalten bei stationären Geräusch zu verbessern, wurden NR-Algorithmen mit mehreren Mikrophonen vorgeschlagen, um das Problem unter Verwendung einer räumlichen Information zu lösen. Diese Algorithmen sind jedoch typischerweise vom Rechenaufwand her intensiv und sind daher nicht für die Verwendung in eingebetteten Geräten geeignet, bei denen die Prozessor-Leistung und die Batterie-Lebensdauer Beschränkungen auferlegen.
-
Weitere Herausforderungen an die Geräuschunterdrückung ergeben sich durch die zunehmend geringere Größe von Geräten, wie zum Beispiel Zellular-Telefonen und Bluetooth-Hör-Sprechsets. Diese Verringerung der Größe eines Gerätes vergrößert allgemein den Abstand zwischen dem Mikrophon und dem Mund des Benutzers und führt zu einer geringen Benutzer-Sprachleistung an dem Mikrophon (und daher zu einem niedrigeren SNR).
-
Die Druckschrift von J. Huang, Kuan-Chieh Yen und Yunxin Zhao: „Subbandbased adaptive decorrelation filtering for co-channel speech separation" in: IEEE Transactions on Speech and Audio Processing, Vol. 8, No. 4, S. 402 - 406, July 2000, offenbart ein Verfahren zur Geräuschunterdrückung gemäß dem Oberbegriff des Anspruchs 1, ein Geräuschunterdrückungs-system gemäß dem Oberbegriff des Anspruchs 8 sowie ein Verfahren zur Geräuschunterdrück-ung gemäß dem Oberbegriff des Anspruchs 14.
-
Zusammenfassung
-
Diese Zusammenfassung wird gegeben, um eine Auswahl von Konzepten in einer vereinfachten Form einzuführen, die in der ausführlichen Beschreibung nachfolgend weiter beschrieben werden. Diese Zusammenfassung soll nicht Schlüsselmerkmale oder wesentliche Merkmale des beanspruchten Gegenstandes identifizieren, und sie soll auch nicht als Hilfe bei der Bestimmung des Schutzumfanges des beanspruchten Gegenstandes dienen.
-
Es wird ein Geräuschunterdrückungssystem mit zwei Mikrophonen beschrieben. Bei einer Ausführungsform werden Eingangssignale von jedem der Mikrophone in Teilbänder unterteilt, und jedes Teilband wird dann unabhängig gefiltert, um Geräusch und gewünschte oder Nutz-Signale zu trennen und nicht-stationäre und stationäre Geräusche zu unterdrücken. Verwendete Filterverfahren schließen eine adaptive Dekorrelations-Filterung ein. Ein Nachverarbeitungs-Modul, das eine adaptive Störgeräusch-Kompensations-ähnliche Filter-Algorithmen verwendet, kann zur weiteren Unterdrückung stationärer und nichtstationärer Geräusche in den Ausgangssignalen von der adaptiven Dekorrelations-Filterung verwendet werden, und ein Einzel-Mikrophon-Geräuschunterdrückungs-Algorithmus kann zur weiteren Vergrößerung der stationären Geräuschunterdrückungs-Betriebsleistung des Systems verwendet werden.
-
Ein erster Gesichtspunkt ergibt ein Verfahren zur Geräuschunterdrückung, das Folgendes umfasst: Zerlegen jedes eines ersten und eines zweiten Eingangssignals in eine Mehrzahl von Teilbändern, wobei die ersten und zweiten Eingangssignale von zwei in geringen Abstand angeordneten Mikrophonen empfangen werden; Anwenden zumindest eines Filters unabhängig in jedem Teilband zur Erzeugung einer Mehrzahl von gefilterten Teilband-Signalen aus dem ersten Eingangssignal, wobei das zumindest eine Filter ein adaptives Dekorrelationsfilter umfasst; und Kombinieren der Mehrzahl von gefilterten Teilband-Signalen von dem ersten Eingangssignal zur Erzeugung eines wiederhergestellten Vollbereichs-Signals.
-
Der Schritt des Anwendens von zumindest einem Filter unabhängig in jedem Teilband zur Erzeugung einer Vielzahl von gefilterten Teilband-Signalen aus dem ersten Eingangssignal umfasst Folgendes: Anwenden eines adaptiven Dekorrelations-Filters in jedem Teilband für jedes der ersten und zweiten Signale zur Erzeugung einer Mehrzahl von gefilterten Teilband-Signalen aus jedem der ersten und zweiten Eingangssignale; und Anpassen des Filters in jedem Teilband für jedes der Eingangssignale auf der Grundlage einer Schrittgrößen-Funktion, die dem Teilband und dem Eingangssignal zugeordnet ist.
-
Die Richtung der Schrittgrößen-Funktion, die einem Teilband und einem der ersten und zweiten Eingangssignale zugeordnet ist, wird entsprechend einer Phase einer Kreuzkorrelation zwischen einem Eingangs-Teilbandsignal von dem anderen der ersten und zweiten Eingangssignale und einem gefilterten Teilband-Signal von dem anderen der ersten und zweiten Signale eingestellt.
-
Die Schrittgrößen-Funktion, die einem Teilband und einem Eingangssignal zugeordnet ist, kann gegen die Gesamtleistung in dem Teilband für sowohl das erste als auch das zweite Eingangssignal normalisiert werden.
-
Die Schrittgrößen-Funktion, die einem Teilband und einem Eingangssignal zugeordnet ist, kann auf der Grundlage eines Verhältnisses des Leistungspegels des gefilterten Teilband-Signals von dem Teilband-Eingangssignal zu einem Leistungspegel des Teilband-Eingangssignal eingestellt werden.
-
Der Schritt des Anwendens zumindest eines Filters unabhängig in jedem Teilband zur Erzeugung einer Mehrzahl von gefilterten Teilband-Signalen aus dem ersten Eingangssignal kann Folgendes umfassen: Anwenden eines adaptiven
-
Dekorrelations-Filters unabhängig in jedem Teilband zur Erzeugung einer Mehrzahl von getrennten Teilband-Signalen aus jedem der ersten und zweiten Eingangssignale; und Anwenden eines adaptiven Geräuschunterdrückungsfilters auf die abgetrennten Teilband-Signale unabhängig in jedem Teilband zur Erzeugung einer Mehrzahl von gefilterten Teilband-Signalen aus dem ersten Signal.
-
Der Schritt der Anwendung eines adaptiven Geräuschkompensations-Filters auf die abgetrennten Teilband-Signale unabhängig in jedem Teilband kann Folgendes umfassen: Anwenden eines adaptiven Geräuschkompensations-Filters unabhängig auf ein erstes und ein zweites abgetrenntes Teilband-Signal in jedem Teilband; und Anpassen jedes der genannten adaptiven Geräuschkompensations-Filter in jedem Teilband auf der Grundlage einer Schrittgrößen-Funktion, die dem abgetrennten Teilband-Signal zugeordnet ist.
-
Das Verfahren kann weiterhin für jedes abgetrennte Teilband-Signal Folgendes umfassen: wenn sich ein Teilband in einem gewünschten Frequenzbereich befindet, Einstellen der zugehörigen Schrittgrößen-Funktion auf Null, wenn die Leistung in dem abgetrennten Teilband-Signal die Leistung in einem entsprechenden gefilterten Teilband-Signal übersteigt, und wenn ein Teilband sich nicht in dem definierten Frequenzbereich befindet, Einstellen der zugehörigen Schrittgrößen-Funktion auf Null auf der Grundlage einer Feststellung einer Anzahl von Teilbändern in dem definierten Frequenzbereich, die eine zugehörige auf Null eingestellte Schrittgröße haben.
-
Der Schritt des Anwendens von zumindest einem Filter unabhängig in jedem Teilband zur Erzeugung einer Mehrzahl von gefilterten Teilband-Signalen aus dem ersten Eingangssignal kann Folgendes umfassen: Anwenden eines adaptiven Dekorrelations-Filters unabhängig in jedem Teilband zur Erzeugung einer Mehrzahl von abgetrennten Teilband-Signalen aus jedem der ersten und zweiten Eingangssignale; Anwenden eines adaptiven Geräuschkompensations-Filters auf die abgetrennten Teilband-Signale unabhängig in jedem Teilband zur Erzeugung einer Mehrzahl von Fehler-Teilband-Signalen aus dem ersten Eingangssignal; und Anwenden eines Einzelmikrophon-Geräuschunterdrückungs-Algorithmus auf die Fehler-Teilband-Signale zur Erzeugung einer Vielzahl von gefilterten Teilband-Signalen aus dem ersten Eingangssignal.
-
Ein zweiter Gesichtspunkt ergibt ein Geräuschunterdrückungssystem, das Folgendes umfasst: einen ersten Eingang von einem ersten Mikrophon; einen zweiten Eingang von einem zweiten Mikrophon, das mit geringen Abstand von dem ersten Mikrophon angeordnet ist; eine Analyse-Filterbank, die mit dem ersten Eingang gekoppelt und so angeordnet ist, dass sie ein erstes Eingangssignal in Teilbänder unterteilt; eine Analyse-Filterbank, die mit dem zweiten Eingang gekoppelt und so angeordnet ist, dass sie ein zweites Eingangssignal in Teilbänder zerlegt; zumindest ein adaptives Filterelement, das zur Anwendung unabhängig in jedem Teilband angeordnet ist, wobei das zumindest eine adaptive Filterelement ein adaptives Dekorrelations-Filterelement umfasst; und eine Synthese-Filterbank, die so angeordnet ist, dass sie eine Mehrzahl von wiederhergestellten Teilband-Signalen, die von dem zumindest einem adaptiven Filterelement ausgegeben werden, kombiniert.
-
Das adaptive Dekorrelations-Filter-Element ist weiterhin so angeordnet, dass es eine Richtung der Anpassung des Filterelementes für jedes Teilband für einen ersten Eingang auf der Grundlage einer Phase einer Kreuzkorrelation eines zweiten Eingangs-Teilband-Signals und eines zweiten Teilband-Signals steuert, die von dem adaptiven Dekorrelations-Filter-Element abgegeben werden.
-
Das adaptive Dekorrelations-Filter-Element kann so angeordnet sein, dass es die Anpassung des Filterelementes für jedes Teilband auf der Grundlage von Leistungspegeln eines ersten Eingangs-Teilband-Signals und eines zweiten Eingangs-Teilband-Signals steuert.
-
Das adaptive Dekorrelations-Filter-Element kann weiterhin so angeordnet sein, dass es die Anpassung des Filter-Elementes für jedes Teilband für den ersten Eingang auf der Grundlage eines Verhältnisses eines Leistungspegels eines ersten Teilband-Signals, das von dem adaptiven Dekorrelations-Filter-Element abgegeben wird, zu einem Leistungspegel eines ersten Teilband-Eingangssignals steuert.
-
Das zumindest eine adaptive Filter-Element kann weiterhin ein adaptives Geräusch-Kompensations-Filterelement umfassen.
-
Das adaptive Geräusch-Kompensations-Filterelement kann so angeordnet sein, dass es: die Anpassung des adaptiven Geräusch-Kompensations-Filterelementes für Teilbänder in einem definierten Frequenzbereich stoppt, wenn der Teilband-Leistungseingang an das adaptive Geräusch-Kompensations-Filterelement den Teilband-Leistungsausgang von dem adaptiven Geräusch-Kompensations-Filterelement übersteigt; und die Anpassung des adaptiven Geräusch-Kompensations-Filterelementes für Teilbänder, die nicht in dem definierten Frequenzbereich liegen, auf der Grundlage einer Abschätzung von Anpassungs-Raten in Teilbändern in dem definierten Frequenzbereich stoppt.
-
Das zumindest eine adaptive Filterelement kann weiterhin ein Einzel-Mikrophon-Geräuschunterdrückungs-Element umfassen.
-
Ein dritter Gesichtspunkt ergibt ein Verfahren zur Geräuschunterdrückung, das Folgendes umfasst: Empfangen eines ersten Signals von einem ersten Mikrophon; Empfangen eines zweiten Signals von einem zweiten Mikrophon; Zerlegen der ersten und zweiten Signale in eine Mehrzahl von Teilbändern; und für jedes Teilband, Anwenden eines adaptiven Dekorrelations-Filters in unabhängiger Weise.
-
Der Schritt des Anwendens eines adaptiven Dekorrelations-Filters in unabhängiger Weise umfasst für jeden Anpassungs-Schritt m Folgendes: Berechnen von Abtastproben von abgetrennten Signalen v
0,k(m) und v
1,k(m) entsprechend den ersten und zweiten Signalen in einem Teilband k auf der Grundlage von Schätzwerten von Filtern mit einer Länge M mit Koeffizienten
und
unter Verwendung von:
worin:
ist, und
Aktualisieren der Filterkoeffizienten unter Verwendung von:
worin * Komplex-Konjugiert bedeutet; µ
a,k(m) und µ
b,k(m) Teilband-Schrittgrößen-Funktionen sind und worin:
-
Die Teilband-Schrittgrößen-Funktionen können durch Folgendes gegeben sein:
und:
worin:
ist, und worin ŝ
0,k(m) und ŝ
1,k(m) wiederhergestellte Teilbandsignale umfassen.
-
Das Verfahren kann weiterhin für jedes Teilband das Anwenden eines adaptiven Geräuschkompensations-Filters unabhängig auf Signale umfassen, die von dem adaptiven Dekorrelations-Filter abgegeben werden.
-
Die hier beschriebenen Verfahren können durch Firmware oder Software in maschinenlesbarer Form auf einem Speichermedium ausgeführt werden. Die Software kann für die Ausführung auf einem Parallel-Prozessor oder einem Serien-Prozessor derart geeignet sein, dass die Verfahrensschritte in irgendeiner geeigneten Reihenfolge oder gleichzeitig ausgeführt werden können.
-
Ein vierter Gesichtspunkt ergibt ein oder mehrere fassbare Computer-lesbare Medien, die ausführbare Befehle zur Durchführung von Schritten von einem der hier beschriebenen Verfahren umfassen.
-
Dies bestätigt, dass Firmware und Software wertvolle getrennt handelbare Grundstoffe sind. Dies soll Software umfassen, die auf „dummer“ oder Standard-Hardware abläuft oder diese steuert, um die gewünschten Funktionen auszuführen. Es soll weiterhin Software umfassen, die die Konfiguration von Hardware „beschreibt“ oder definiert, wie zum Beispiel HDL (Hardware-Beschreibungssprache)-Software, wie sie zur Konstruktion von Silizium-Chips oder zur Konfiguration universell programmierbarer Chips verwendet wird, um die gewünschten Funktionen auszuführen.
-
Die bevorzugten Merkmale können in geeigneter Weise kombiniert werden, wie dies für einen Fachmann ersichtlich ist, und Sie können mit irgendwelchen Gesichtspunkten der Erfindung kombiniert werden.
-
Figurenliste
-
Ausführungsformen der Erfindung werden nunmehr in Form eines Beispiels unter Bezugnahme auf die folgenden Zeichnungen beschrieben, in denen:
- 1 ein Blockschaltbild eines adaptiven Dekorrelations-Filter-(ADF-) Signal-Abtrennsystems zeigt;
- 2 ein Blockschaltbild eines verbesserten ADF-Algorithmus zeigt;
- 3 ein Ablaufdiagramm eines Beispiels eines Betriebsverfahrens des in 2 gezeigten Algorithmus zeigt;
- 4 ein Ablaufdiagramm eines Beispiels einer Teilband-Implementation eines ADF zeigt;
- 5 ein Ablaufdiagramm eines Verfahrens zum Aktualisieren der Filter-Koeffizienten mit weiteren Einzelheiten zeigt;
- 6 ein Ablaufdiagramm eines Beispiels eines Verfahrens zur Berechnung einer Teilband-Schrittgrößen-Funktion zeigt;
- 7 eine schematische Darstellung einer Vollband-Implementierung einer adaptiven Geräuschkompensations-(ANC) Anwendung unter Verwendung von zwei Eingängen zeigt;
- 8 eine schematische Darstellung einer Teilband-Implementierung einer ANC-Anwendung unter Verwendung von zwei Eingängen ist;
- 9 ein Ablaufdiagramm eines Beispiels eines ANC-Verfahrens zeigt;
- 10 ein Ablaufdiagramm einer Daten-Wiederverwendung zeigt;
- 11 ein Ablaufdiagramm eines Beispiels eines Steuermechanismus für ANC zeigt;
- 12 ein Blockschaltbild eines Einkanal-NR-Algorithmus zeigt;
- 13 ein Ablaufdiagramm eines Beispiels eines Betriebsverfahrens des in 12 gezeigten Algorithmus ist;
- 14 und 15 Blockschaltbilder von zwei Beispielen von Anordnungen zeigt, die ANC- und NR-Algorithmen integrieren;
- 16 ein Blockschaltbild eine auf zwei Mikrophonen beruhenden NR-Systems zeigt; und
- 17 ein Ablaufdiagramm eines Beispiels eines Betriebsverfahren des Systems nach 16 zeigt.
-
Gleiche Bezugsziffern werden über die gesamten Figuren hinweg zur Bezeichnung ähnlicher Merkmale verwendet.
-
Ausführliche Beschreibung
-
Ausführungsformen der vorliegenden Erfindung werden nachfolgend lediglich als Beispiel beschrieben. Diese Beispiele stellen die besten Möglichkeiten zur praktischen Ausführung der Erfindung dar, die dem Anmelder derzeit bekannt sind, I obwohl dies nicht die einzigen Möglichkeiten sind, wie dies erzielt werden kann. Die Beschreibung gibt die Funktionen des Beispiels und die Folge der Schritte zur Konstruktion und zum Betrieb des Beispiels an. Es können jedoch die gleichen oder äquivalente Funktionen und Folgen in anderen Beispielen durchgeführt werden.
-
Es gibt eine Anzahl von unterschiedlichen Mehr-Mikrophon-Signal-Abtrenn-Algorithmen, die entwickelt wurden. Ein Beispiel ist die adaptive Dekorrelations-Filterung (ADF), die ein adaptiver Filtertyp eines Signal-Abtrenn-Algorithmus auf der Grundlage von Statistiken zweiter Ordnung ist. Der Algorithmus ist so ausgelegt, dass er mit Faltungs-Mischungen arbeitet, was in vielen Fällen realistischer ist, als momentane Mischungen, und zwar aufgrund der Übertragungsverzögerung von der Quelle zum Mikrophon und dem Nachhall in der akustischen Umgebung. Der Algorithmus nimmt weiterhin an, dass die Anzahl der Mikrophone gleich der Anzahl der Quellen ist. Bei einer sorgfältigen Systemauslegung und einer Anpassungssteuerung kann der Algorithmus jedoch mehrere Geräuschquellen in eine einzige gruppieren und arbeitet in annehmbarer Weise gut mit weniger Mikrophonen als Quellen zusammen. Die ADF ist ausführlich in der Veröffentlichung „Multi-channel signal separation by decorrelation‟ von Weinstein, Feder und Oppenheim (IEEE Transactions on Speech and Audio Processing, Band 1, Nr. 4, Seiten 405 bis 413, Oktober 1993) beschrieben, und eine Vereinfachung und eine weitere Diskussion der adaptiven Schrittsteuerung ist in der Veröffentlichung „Adaptive Co-channel speech separation and recognition‟ von Yen und Zhao (IEEE Transactions on Speech and Audio Processing, Band 7, Nr. 2, Seiten 138 bis 151, März 1999) beschrieben.
-
Die ADF wurde auf der Grundlage eines Modells für eine Gleichkanal-Umgebung entwickelt. Bei dieser Umgebung sind die von den Mikrophonen x
0(n) und x
1(n) aufgefangenen Signale Faltungs-Mischungen von Signalen von zwei unabhängigen Schallquellen s
0(n) und s
1(n). Hierin ist n der Zeit-Index in der Vollband-Domäne. Ohne die Allgemeingültigkeit zu verlieren, kann s
0(n) als die Ziel-Quelle für x
0(n) und s
1(n) als die Ziel-Quelle für x
1(n) definiert werden. Für ein vorgegebenes Mikrophon ist die Quelle, die nicht das Ziel ist, die Störquelle. Die Beziehung zwischen der Quelle und den Mikrophon-Signalen kann mathematisch wie folgt modelliert werden:
worin lineare Filter H
10(z) und H
10(z) die relativen akustischen Kreuz-Pfade modellieren. Diese Filter können durch Filter mit finiter Impulsantwort (FIR) mit N Anzapfungen angenähert werden. Die Quellen werden besser von den Mikrophonen, die auf sie gerichtet sind, aufgefangen, wenn:
für alle Frequenzen gilt. Dies ist die erforderliche Bedingung, damit der ADF-Algorithmus ein Permutations-Problem aufgrund der Mehrdeutigkeit auf Ziel-Quellen vermeidet. Dieses Gleichkanal-Modell und der ADF-Algorithmus können beide auf mehrere Mikrophone und Signalquellen erstreckt werden.
-
1 zeigt ein Blockschaltbild des ADF-Signal-Abtrennsystems für zwei Mikrophone, das zwei adaptive Filter 101, 102 verwendet, um die grundlegenden relativen akustischen Kreuz-Pfade von den Signalen x0(n) und x1(n), die von den zwei Mikrophonen empfangen werden, abzuschätzen und zu verfolgen. Unter Verwendung dieser Filter kann das System die Quellen von diesen Faltungs-Mischungen trennen und somit die Quellensignale wiederherstellen. In Abhängigkeit von der Abtastfrequenz, dem Nachhall in der Umgebung und der Trennung der Quellen und Mikrophone erfordern akustische Pfade typischerweise FIR-Filter mit Hunderten oder selbst Tausenden von Abgriffen, um digital moduliert zu werden. Daher können die Abschluss-Längen der adaptiven Filter A(z) und B(z) ziemlich groß sein. Dies wird weiterhin dadurch kompliziert, dass die Audio-Signale üblicherweise stark gefärbt und dynamisch sind und die akustischen Umgebungen in vielen Fällen sich zeitlich ändern. Als Ergebnis kann eine befriedigende Nachführ-Betriebsleistung eine große Menge an Rechenleistung erfordern.
-
2 zeigt ein Blockschaltbild eines verbesserten ADF-Algorithmus, bei dem die Signalabtrennung in der Frequenz- (Teilband-) Domäne implementiert ist. Das Blockschaltbild zeigt zwei Eingangssignale x0(n), x1(n), die von unterschiedlichen Mikrophonen empfangen werden. Wenn sich eines der Mikrophone näher an dem Mund des Benutzers befindet, so umfasst das von diesem Mikrophon (beispielsweise x0(n)) aufgefangene Signal relativ mehr Sprache (beispielsweise s0(n)), während das Signal von dem anderen Mikrophon (beispielsweise x1(n)) relativ mehr Geräusch (beispielsweise s1(n)) umfasst. Daher ist die Sprache die Ziel-Quelle in x0(n) und die Stör-Quelle in x1(n), während das Geräusch in der Ziel-Quelle in x1(n) und die Stör-Quelle in x0(n) ist. Die Betriebsweise des Algorithmus kann unter Bezugnahme auf das in 3 gezeigte Ablaufdiagramm beschrieben werden. Obwohl sich die hier gezeigten und beschriebenen Beispiele auf zwei Mikrophone beziehen, können die beschriebenen Systeme und Verfahren auf mehr als zwei Mikrophone erweitert werden.
-
Der Ausdruck „Sprache“ wird hier bezüglich eines Quellen-Signals zur Bezeichnung des gewünschten Sprachsignals von einem Benutzer verwendet, das beibehalten und am Ausgang wiederhergestellt werden soll. Der Ausdruck „Geräusch“ oder „Störung“ wird hier bezüglich eines Quellen-Signals verwendet, um ein unerwünschtes Konflikt-Signal zu bezeichnen (das von mehrfachen tatsächlichen Quellen stammt), unter Einschluss von Hintergrund-Sprache, was an dem Ausgang unterdrückt oder beseitigt sein soll.
-
Die Eingangssignale x
0(n), x
1(n) werden in Teilband-Signale x
0,k(m), x
1,x(m) zerlegt (Block
301) wobei eine Analyse-Filterbank (AFB)
201 verwendet wird, worin k der Teilband-Index und m der Zeitindex in der Teilband-Domäne ist. Weil die Bandbreite jedes Teilband-Signals lediglich einen Bruchteil der vollen Bandbreite darstellt, können die Teilband-Signale für eine Verarbeitungs-Effizienz abwärts abgetastet oder herunter getaktet werden, ohne Information zu verlieren (d.h. ohne das Nyquist-Abtasttheorem zu verletzen). Ein Beispiel der AFB ist die diskrete FourierTransformation- (DFT-) Analyse-Filterbank, die ein Vollbereichs-Signal in Teilband-Signale mit gleiche Abstände aufweisenden Bandbreiten zerlegt:
worin D der Abwärts-Abtastfaktor, K die DFT-Größe und w(n) das Prototyp-Fenster mit einer Länge W ist, das so ausgelegt ist, dass die vorgesehene Kreuz-Band-Unterdrückung erzielt wird. Dies zeigt lediglich ein Beispiel einer AFB, die verwendet werden kann, und in Abhängigkeit von der Art der AFB können die Teilband-Signale entweder reell oder komplex sein, und die Bandbreite der Teil-Bänder kann entweder gleichförmig oder ungleichförmig sein. Für eine AFB mit ungleichförmigen Teilbändern kann ein unterschiedlicher Abwärts-Abtast-Faktor in jedem Teilband verwendet werden.
-
Nachdem die Eingangssignale (im Block 301) zerlegt wurden, wird ein ADF-Algorithmus unabhängig auf jedes Teilband (Bock 302) angewandt, wobei Teilband-ADF-Filter Ak(z) und Bk(z), 202, 203 verwendet werden. Diese Filter werden durch Abschätzen und Verfolgen der relativen akustischen Kreuz-Pfade von den Mikrophon-Signalen (H01,k(z) beziehungsweise H10,k(z)) mit dem Filter Ak(z)), das die Kopplung von dem zweiten Kanal (Kanal 1) in den ersten Kanal (Kanal 0) ergibt, und dem Filter Bk(z) angepasst, das die Kupplung von dem ersten Kanal (Kanal 0) in den zweiten Kanal (Kanal 1) ergibt. Der Teilband-ADF-Algorithmus wird nachfolgend mit weiteren Einzelheiten beschrieben. Der Ausgang der ADF-Algorithmen umfasst wiederhergestellte Teilband-Signale ŝ0,k(m) , ŝ1,k(m) , und diese getrennten Signale werden dann im Block 303 kombiniert, um die wiederhergestellten Vollbereichs-Signale ŝ0(n) und ŝ1(n) unter Verwendung einer Synthese-Filterbank (SFB) 204 zu erzeugen, die an die AFB 201 angepasst ist.
-
Durch die Verwendung von Teilbändern, wie dies in den 2 und 3 gezeigt ist, umfasst jedes Teilband ein weißeres Eingangssignal, und es kann ein kürzerer Filter-Endteil in jedem Teilband aufgrund der Abwärts-Abtastung verwendet werden. Dies verringert die Rechen-Kompliziertheit und verbessert das Konvergenz-Betriebsverhalten.
-
Die Teilband-Filter Ak(z) und Bk(z) sind FIR-Filter mit einer Länge von M und Koeffizienten:
worin das hochgestellte T die Vektor-Transponierte bezeichnet. Die Teilband-Filterlänge M muss aufgrund der Abwärts-Abtastung lediglich angenähert N/D sein, um eine ähnliche zeitliche Abdeckung wie das Vollband-ADF-Filter mit der Länge N zu erzielen. Es ist zu erkennen, dass die Filterlänge M von N/D verschieden sein kann (beispielsweise länger sein kann).
-
4 zeigt ein Ablaufdiagramm eines Beispiels einer Teilband-Implementierung des ADF. Das Ablaufdiagramm zeigt die Implementierung für ein einziges Teilband, und das Verfahren wird unabhängig für jedes Teilband k durchgeführt. In jedem Anpassungs-Schritt m werden die letzten Abtastproben der getrennten Signale v
0,k(m) und v
1,k(m) auf der Grundlage der derzeitigen Abschätzungen der Filter Ak(z) und Bk(z) berechnet (Block
401), worin
worin die Teilband-Eingangssignal-Vektoren wie folgt definiert sind.
-
Diese berechneten Werte der letzten Abtastproben v
0,k(m) und v
1,k(m) werden dann zur Aktualisierung der Koeffizienten der Filter Ak(z) und B
k(z) (Block
402) unter Verwendung der folgenden Anpassungs-Gleichungen verwendet:
worin * einen komplex-konjugierten Wert bezeichnet, µ
a,k(m) und µ
b,k(m) Teilband-Schrittgrößen-Funktionen (wie sie ausführlicher weiter unten beschrieben werden) sind, und wobei die getrennten Teilband-Signalvektoren wie folgt definiert sind:
-
Die abgetrennten Signale können dann gefiltert werden (Block
403), um Verzerrungen zu kompensieren, wobei das Filter (1-A
k(z)B
k(z))
-1 205 verwendet wird. Der Ausgang des ADF-Algorithmus umfasst wiederhergestellte Teilband-Signale
-
In diesem Beispiel wird der Steuermechanismus unabhängig in jedem Teilband implementiert. In anderen Beispielen kann der Steuermechanismus über die volle Bandbreite oder über eine Anzahl von Teilbändern (beispielsweise eine KreuzBand-Steuerung) implementiert werden.
-
5 zeigt ein Ablaufdiagramm des Verfahrens zur Aktualisierung der Filter-Koeffizienten (beispielsweise Block 402 nach 4) mit weiteren Einzelheiten. Das Verfahren umfasst die Berechnung einer Teilband-Schrittgrößen-Funktion (Block 501) und die nachfolgende Verwendung der berechneten Teilband-Schrittgrößen-Funktion zur Aktualisierung der Koeffizienten (Block 502), beispielsweise unter Verwendung der vorstehend angegebenen Anpassungs-Gleichungen.
-
Die Schrittgrößen-Funktionen µ
a,k(m) und µ
b,k(m) steuern die Rate der Filter-Anpassung und können auch als Anpassungs-Gewinn-Funktion oder als Anpassungs-Gewinn bezeichnet werden. Eine obere Begrenzung der Schrittgröße für die Teilband-Implementierung ist wie folgt:
worin
die Leistung des Teilband-Mikrophon-Signals x
1,k(m) darstellt. Gemäß dieser oberen Begrenzung kann die Schrittgröße wie folgt definiert werden:
-
Dies ergibt einen Leistungs-normalisierten ADF-Algorithmus, dessen Anpassung gegenüber dem Eingangspegel der Mikrophonsignale unempfindlich ist. Diese Schrittgrößen-Funktion ist allgemein für Anwendungen mit stationären Signalen, zeitlich unveränderlich mischenden Kanälen und einer mäßigen Kreuz-Kanal-Störung ausreichend.
-
Für Anwendungen mit dynamischen Signalen, sich zeitlich änderden Kanälen und einer starken Kreuz-Kanal-Störung, wie beispielsweise beim Trennen von Ziel-Sprache von dynamisch störenden Geräuschen mit einem geringen Abstand aufweisenden Mikrophonen kann die Einstellung der Schrittgröße jedoch weiter verfeinert werden, um das Betriebsverhalten zu verbessern. Drei weitere Optimierungen werden nachfolgend beschrieben:
- * Leistungs-Normalisierung
- * Anpassungs-Richtungssteuerung
- * Ziel-Verhältnis-Steuerung.
-
Eine oder mehrere dieser Optimierungen können in Kombination mit dem vorstehend beschriebenen Verfahren verwendet werden, oder es kann alternativ keine dieser Optimierungen verwendet werden.
-
Die Eingangssignale sind zeitlich veränderlich und als Ergebnis sind die Leistungspegel der Eingangssignale
und
ebenfalls zeitlich veränderlich. Eine dynamische Verfolgung oder Nachführung der Leistungspegel in jedem Teilband kann dadurch erzielt werden, dass die Eingangsleistung in jedem Teilband mit einem rekursiven Filter mit einem Abgriff und einem einstellbaren Zeitkoeffizienten oder bewerteten Fenstern mit einer einstellbaren Zeitspanne gemittelt wird. Die resultierenden Eingangs-Leistungsschätzwerte
und
werden anstelle von
und
in der Schrittgrößen-Funktion verwendet. Die Fähigkeit, der Vergrößerung von Eingangsleistungs-Pegeln zu folgen, verringert umgehend eine Instabilität und die Fähigkeit, einer Verringerung der Eingangsleistungs-Pegel innerhalb eines annehmbaren Zeitrahmens zu folgen, vermeidet eine unnötige Überlastung der Anpassung (weil die Schrittgröße verringert wird, wenn die Leistung ansteigt), und dies verbessert die dynamische Nachführ-Fähigkeit des Systems. Wenn jedoch die Quellen-Signale fehlen, ist es wünschenswert, dass die Eingangsleistungs-Schwellenwerte nicht auf den Pegel des Rauschbodens absinken. Dies verhindert die negative Auswirkung auf die Filter-Anpassung während dieser Leerlauf-Perioden. Daher sollte der Zeitkoeffizient oder die bewerteten Fenster so eingestellt werden, dass die Mittelwertbildungs-Periode der Eingangsleistungs-Schwellenwerte bei einer normalen Leistungspegel-Änderung kurz sind, jedoch lang sind, wenn der ankommende Leistungspegel beträchtlich niedriger ist.
-
Eine Anpassungs-Richtungs-Steuerung umfasst die Steuerung der Richtung der Schrittgröße µa,k und µb,k durch die Hinzufügung eines zusätzlichen Ausdruckes in der Gleichung. Dieser Ausdruck hindert das Filter an einem Divergieren unter bestimmten Umständen. Die folgende Beschreibung liefert eine Ableitung des zusätzlichen Ausdruckes oder Terms.
-
Vorhergehende Arbeiten (wie sie in der Veröffentlichung
„Co-channel speech separation based on adaptive decorrelation filtering‟ von K. Yen, Ph.D.-Dissertation, University of Illinois at Urbana-Champaign, 2001 beschrieben wurden) haben gezeigt, dass bei der Vollbandlösung für ein Konvergieren der adaptiven ADF-Filter A(z), B(z) (wie sie in
1 gezeigt sind) in Richtung auf die gewünschten Lösungen der Realteil der Eigenwerte der Korrelations-Matrizen
für i = 0,1 positiv sein muss. Diese Bedingung kann erfüllt werden, wenn die Kreuz-Kanal-Störung der akustischen Umgebung derart ist, dass jede Signalquelle von ihrem Zielmikrophon bei allen Frequenzen besser aufgefangen wird (d.h. die Sprache wird relativ besser von dem ersten Mikrophon als dem zweiten Mikrophon aufgefangen, und das Geräusch wird relativ besser von dem zweiten Mikrophon als von dem ersten Mikrophon aufgefangen, und dies bei allen Frequenzen).
-
Bei vielen Kopf-Hörsprech-Geräte- und Handapparate-Anwendungen kann dies jedoch manchmal aus einer Anzahl von Gründen nicht der Fall sein: Der Abstand zwischen den Mikrophonen ist verglichen mit den Abständen der Mikrophone zu ihren relativen Zielen klein (d.h. der Abstand zwischen dem ersten Mikrophon und dem Mund des Benutzers und der Abstand zwischen dem zweiten Mikrophon und dem Geräuschquellen); die Signale sind von dynamischer Art und können sporadisch sein; und die akustische Umgebung ändert sich mit der Zeit. Alle diese Faktoren bedeuten, dass bei einer Teilband-Implementierung, bei der die Kreuz-Korrelationen komplexe Zahlen sein können, die Eigenwerte der Korrelations-Matrizen
für ein Teilband negative Realteile haben können.
-
Die Eigenwerte der Kreuz-Korrelations-Matrix
stellen die Betriebsarten für die Anpassung des Filters Ak(z) dar:
-
Wenn die Anpassungs-Schrittgröße µ0,k positiv ist, konvergieren die Eigenwerte bei positiven Realteilen zugeordneten Betriebsarten, während die den Eigenwerten mit negativen Realteilen zugeordneten Betriebsarten divergieren. Wenn jedoch µa,k negativ ist, so tritt der entgegengesetzte Fall ein. Die Stabilität des Algorithmus kann daher dadurch verbessert werden, dass ein komplexer Phasen-Ausdruck in µa,k hinzugefügt wird, um die Eigenwerte von Pxv1,k auf den positiven Teil der realen Achse zu „drehen“, derart dass die Betriebsarten nicht divergieren, d.h. die zusätzliche Phase von µa,k und die Phase der Eigenwerte addieren sich zu 0. Die Verfolgung der Eigenwerte von Pxvi,k ist jedoch rechenintensiv, und daher kann eine Näherung verwendet werden, wie dies nachfolgend beschrieben wird.
-
Die Phasen der Eigenwerte von P
xv1,k sind allgemein einander ähnlich und können durch die Phase der Kreuz-Korrelation zwischen x
1,k(m) und v
1,k(m) angenähert werden:
-
Daher ist es anstelle einer Abschätzung von P
xv1,k und der Berechnung ihrer Eigenwerte ausreichend, σ
x1v1,k abzuschätzen und zu verfolgen und die Richtung von µ
a,k(m) (was auch als die Phase von µ
a,k (m) bezeichnet werden kann) auf der Grundlage ihrer Phase
einzustellen.
-
Um die Richtungssteuerung in µ
a,k (m) einzufügen, kann die vorher abgeleitete Gleichung für µ
a,k (m) daher so modifiziert werden, dass sich Folgendes ergibt:
-
Dies verhindert, dass das Filter Ak(z) divergiert und verbessert dessen Konvergenz, wenn die Phasen der Eigenwerte sich von 0 fortbewegen. In ähnlicher Weise kann die Anpassungs-Richtung des Filters Bk(z) dadurch gesteuert werden, dass die Anpassungs-Schrittgröße µ
b,k(m) wie folgt modifiziert wird:
worin
der Schätzwert von
die Kreuz-Korrelation zwischen x
0,k(m) und v
0,k(m) ist.
-
In anderen Beispielen können andere Funktionen verwendet werden, um σ
xlvl.k zu verfolgen und um die Richtung von µ
a,k(m) auf der Grundlage von
einzustellen, wie zum Beispiel
oder
-
Die Ziel-Verhältnis-Steuerungs-Optimierung ergibt einen weiteren zusätzlichen Ausdruck in der Gleichung für die Anpassungs-Schrittgröße, µa,k(m) und µb,k(m), der die Anpassungs-Rate eines Filters in Perioden verringert, in denen die entsprechende Störquelle inaktiv ist, beispielsweise das Geräusch für Ak(z) und Sprache für Bk(z). Der Zweck der adaptiven Filter besteht darin, die relativen akustischen Kreuz-Pfade H01(z) beziehungsweise H10(z) abzuschätzen und zu verfolgen. Wenn es kein Störsignal in einem bestimmten Teilband gibt, so können die von den Mikrophonen aufgefangenen Teilband-Signale keine Kreuzkanal-Störung einschließen, so dass daher irgendeine Anpassung des speziellen Teilband-Filters während einer derartigen Periode zu einer vergrößerten Fehlanpassung des Filters führen kann. Die folgende Beschreibung liefert eine Ableitung des Ziel-Verhältnis-Steuerausdruckes.
-
Das Mikrophon-Signal x
0,k(m) kann als die Summe von zwei Komponenten betrachtet werden, der Ziel-Komponente s
0,k(m) und der Stör-Komponente die durch folgendes gegeben ist:
worin H
01,k der relative akustische Kreuzpfad ist, der die Störquelle (die Geräuschquelle) in x
0,k(m) einkoppelt, wie dies durch das Filter Ak(z) abgeschätzt und verfolgt wird. Das Zielverhältnis in x
0,k(m) kann wie folgt definiert werden:
-
Für adaptive Filter, die zur kontinuierlichen Verfolgung der Veränderlichkeit in der Umgebung ausgelegt sind, bleiben die Filter-Koeffizienten allgemein nicht auf der idealen Lösung, selbst nach der Konvergenz. Stattdessen schwingen sie zufällig in einem Bereich um die ideale Lösung. Der erwartete mittlere quadratische Fehler zwischen dem derzeitigen Filter-Schätzwert und der idealen Lösung oder der Fehlabgleich des adaptiven Filters ist proportional zu sowohl der Anpassungs-Schrittgröße als auch der Leistung des Ziel-Signals. Daher steigt die Fehleinstellung für das Filter Ak(z), M
a,k an, wenn TR in x
0,k(m) ansteigt:
-
Um diesem Effekt entgegenzuwirken und zu kompensieren, kann die adaptive Schrittgröße µ
a,k(m) um einen Faktor von (1-TR
0,k) abgeglichen werden. Dies hat die Wirkung, dass wenn s
1,k(m) inaktiv ist (TR
0,k=1), die Anpassung des Filters Ak(z) angehalten wird, weil es keine Information über H
01,k(z) gibt, an die angepasst werden kann. Wenn andererseits s
0,k(m) inaktiv ist (TR
0,k= 0), so läuft die Anpassung des Filters A
k(z) mit voller Geschwindigkeit weiter, um das Fehlen der nicht in Beziehung stehenden Information (des Zielsignals) auszunutzen. In der Praxis kann, weil das Quellen-Signal s
0,k(m) nicht zur Verfügung steht, das wiederhergestellte Signal ŝ
0,k(m) als eine Näherung verwendet werden. Daher kann die Gleichung für µ
a,k(m) weiterhin wie folgt modifiziert werden:
worin:
die Abschätzung von
ist.
-
In gleicher Weise kann die Anpassungs-Schrittgröße µ
b,k(m) für das Filter Bk(z) weiterhin wie folgt modifiziert werden:
worin:
die Abschätzung von
ist.
-
Die vorstehenden Gleichungen (3a) und (3b) schließen eine „Max“-Funktion ein, damit der zusätzliche Parameter, der auf TR beruht, das Vorzeichen der Schrittgröße und damit die Richtung der Anpassung nicht ändern kann, selbst wenn die Signale stark mit Geräusch behaftet sind.
-
Die Gleichungen (3a) und (3b) zeigen einen möglichen zusätzlichen Ausdruck, der auf TR beruht. In anderen Beispielen können die vorstehenden Gleichungen (1), (2a) oder (2b) durch die Hinzufügung eines anderen Ausdruckes auf der Grundlage von TR modifiziert werden. In weiteren Beispielen kann ein Ausdruck auf der Grundlage von TR, wie er vorstehend gezeigt ist, zu der vorstehenden Gleichung (1) hinzugefügt werden, d.h. ohne die Optimierung, die in den Gleichungen (2a) und (2b) eingeführt wurde.
-
6 zeigt ein Ablaufdiagramm eines Beispiels eines Verfahrens zur Berechnung einer Teilband-Schrittgrößen-Funktion (Block
501 nach
5), das alle drei vorstehend beschriebenen Optimierungen verwendet, obwohl andere Beispiele keine Optimierungen oder irgendeine Anzahl von Optimierungen umfassen können, so dass ein oder mehrere der Verfahrens-Blöcke fortgelassen werden können. Das Verfahren umfasst die Berechnung der Leistungspegel der ersten und zweiten Kanal-Teilband-Eingangssignale
und
(Block
601); die Berechnung der Phase einer Kreuz-Korrelation zwischen dem Teilband-Eingangssignal des zweiten Kanals und dem abgetrennten Teilband-Signal
des zweiten Kanals (Block
602); und die Berechnung des Leistungspegels des wiederhergestellten Teilband-Signals
des ersten Kanals (Block
603). Diese berechneten Werte werden dann zur Berechnung der Teilband-Schrittgrößen-Funktion µ
a,k (Block
604) verwendet, beispielsweise unter Verwendung einer der Gleichungen (1), (2a) und (3a). Das Verfahren kann für jedes Teilband wiederholt werden und es kann parallel für die Teilband-Schrittgrößen-Funktion µ
b,x der anderen Filter ausgeführt werden, beispielsweise unter Verwendung einer der Gleichungen (1), (2b) und (3b) im Block (
604).
-
Die ADF-Stufe, wie sie vorstehend beschrieben und in 2 gezeigt ist, führt eine Signal-Abtrennung durch und erzeugt zwei Ausgangssignale ŝ0(n) und ŝ1(n) aus den zwei Mikrophonen-Signalen x0(n) und x1(n). Wenn die gewünschte (Benutzer-) Sprachquelle relativ näher an dem ersten Mikrophon (Kanal 0) liegt, als alle anderen akustischen Quellen, so wird das abgetrennte Signal ŝ0(n) durch die gewünschte Sprache dominiert, und das abgetrennte Signal ŝ1(n) wird durch andere hiermit im Wettbewerb stehende (Geräusch-) Quellen dominiert. In Abhängigkeit von den Bedingungen kann das SNR in dem abgetrennten Signal ŝ0(n) beispielsweise bis zu 15dB oder herunter bis zu 5dB reichen.
-
Um die Geräusch-Komponente in ŝ0(n) weiter zu verringern, kann eine Nachverarbeitungs-Stufe verwendet werden. Die Nachverarbeitungs-Stufe verarbeitet eine Abschätzung des im Wettbewerb stehenden Geräusch-Signals ŝ1(n) das Geräusch-dominant ist, und subtrahiert den korrelierten Teil des Geräusch-Signal von der Abschätzung des Sprach-Signals ŝ0(n) . Diese Lösung wird als die adaptive Geräusch-Kompensation (ANC) bezeichnet.
-
7 ist eine schematische Darstellung einer Vollband-Implementierung einer ANC-Anwendung unter Verwendung von zwei Eingängen (Mikrophon 0) (d(n)) 701 und Mikrophon 1 (x(n)) 702), worin d(n) das Ziel-Signal t(n) enthält, das durch additives Geräusch n(n) beeinträchtigt ist, und x(n) der Geräusch-Bezugswert ist, von dem für die Zwecke des ANC-Algorithmus angenommen wird, dass er lediglich zu dem additiven Rauschen n(n) korreliert ist, jedoch nicht zu dem Zielsignal t(n) korreliert ist. Wenn jedoch der ANC-Algorithmus in einer Nachverarbeitungs-Stufe für Anwendungen verwendet wird, bei denen der Mikrophon-Abstand wesentlich kleiner als die Abstände von dem Mikrophon zu den Quellen ist, so ist das Bezugssignal x(n) (das der Ausgang ŝ1(n) von dem ADF-Algorithmus ist) eine Mischung von Ziel- und Geräusch-Signalen. Diese Differenz zwischen der Annahme und der Wirklichkeit in bestimmten Anwendungen kann dadurch berücksichtigt werden, dass ein Steuermechanismus verwendet wird, wie er nachfolgend anhand der 11 beschrieben wird.
-
In der in 7 gezeigten Anordnung wird das Bezugssignal durch das adaptive Finite Impulsantwort- (FIR-) Filter G(z) 703 verarbeitet, dessen Koeffizienten so angepasst werden, dass die Leistung des Ausgangssignals e(n) zu einem Minimum gemacht wird. Wenn die Annahme, dass das Bezugssignal x(n) lediglich zu dem additiven Geräusch n(n) korreliert ist und nicht zu dem Ziel-Signal t(n) korreliert ist, zutreffend ist, so konvergiert der Ausgang des adaptiven Filters y(n) auf das additive Geräusch n(n), und der System-Ausgang e(n) konvergiert auf das Zielsignal t(n).
-
Anstelle der Verwendung einer Vollband-Implementierung, wie sie in 7 gezeigt I ist, kann eine Teilband-Implementierung verwendet werden, wie sie in 8 gezeigt ist. Die Verwendung einer Teilband-Implementierung verringert den Rechenaufwand und die Rechenkompliziertheit und verbessert die Konvergenz-Rate. In diesem Beispiel wird ein Teilband-Daten wieder verwendender normalisierter Fehlerquadrat- (SB-DR-NLMS-) Algorithmus verwendet, obwohl auch andere adaptive Filter-Algorithmen alternativ verwendet werden. Die die Daten verwendende Implementierung verbessert das Konvergenz-Betriebsverhalten, obwohl in anderen Beispielen eine alternative Teilband-Implementierung des NLMS-Algorithmus verwendet werden kann.
-
Wie dies weiter oben beschrieben wurde, kann eine AFB 801 zum Zerlegen der Vollband-Signale in Teilbänder verwendet werden. In einem Beispiel kann eine DFT-Analyse-Filterbank verwendet werden, um die Vollband-Signale in K/2 + 1 Teilbänder aufzuteilen, worin K die DFT-Größe ist. Wie dies ebenfalls weiter oben beschrieben wurde, können die Teilband-Signale herunter-abgetastet werden, was die Verarbeitung effizienter macht, ohne dass Information verloren geht. Wenn D der Abwärts-Abtastungs-Faktor ist, so kann die Beziehung zwischen dem Vollband-Zeitindex n und dem Teilband-Domänen-Zeitindex m durch m = n/D angegeben werden.
-
Jedes Teilband-Signal xk(m) wird durch ein adaptives Teilband-Filter Gk(z) 802 modifiziert, und die Koeffizienten von Gk(z) werden unabhängig angepasst, um die Leistung des Fehler- (oder Ausgangs-) Signals ek(m) (den mittleren quadratischen Fehler) in dem entsprechenden Teilband zu einem Minimum zu machen (worin k der Teilband-Index ist). Die Teilband-Fehlersignale ek(m) werden dann durch eine SFB 803 zusammengeführt, um das Vollband-Ausgangssignal e(n) zu gewinnen. Wenn das Geräusch vollständig kompensiert wird, ist das Ausgangssignal e(n) gleich dem Zielsignal t(n). Die Teilband-Signale dk(m), xk(m), yk(m), und ek(m) sind komplexe Signale, und die Teilband-Filter Gk(z) haben komplexe Koeffizienten.
-
Jedes Teilband-Filter G
k(z)
802 kann als ein FIR-Filter mit einer Länge von M
P mit Koeffizienten g̅
k implementiert werden, die durch Folgendes gegeben sind:
auf der Grundlage des NLMS-Algorithmus ist die Anpassungsgleichung für g̅
k wie folgt definiert:
worin das hochgestellte * einen komplex konjugierten Wert darstellt und worin: der Eingangs-Vektor x̅
k(m) als:
definiert ist; das Ausgangssignal (das auch als das Fehlersignal bezeichnet werden kann):
ist; der Ausgang des adaptiven Filters:
ist; und die Anpassungs-Schrittgröße in jedem Teilband ist durch Folgendes gegeben ist:
-
Die Anpassungs-Schrittgröße µ
p,k(m) wird so gewählt, dass der adaptive Algorithmus stabil bleibt. Sie wird weiterhin durch die Leistung des Teilband-Bezugssignals x
k(m) normalisiert,
was unter Verwendung einer einer Anzahl von Verfahren abgeschätzt werden kann, wie zum Beispiel den Mittelwert der letzten M
P Abtastproben:
oder unter Verwendung eines einen Abgriff aufweisenden rekursiven Filters:
worin α≈1/M
P ist.
-
9 zeigt ein Ablaufdiagramm eines Beispiels eines Verfahrens für ANC für ein einziges Teilband, das die Berechnung der letzten Abtastproben des Teilband-Ausgangssignals ek(m) (Block 901) und die Aktualisierung der Koeffizienten des Filters g̅k (Block 902) umfasst, beispielsweise unter Verwendung der vorstehenden Gleichungen (4)-(8).
-
Um die Daten-Wiederbenutzung in den Teilband-NLMS-Algorithmus einzuführen, werden mehrfache Iterationen der Signal-Filterung und der Signal-Anpassung für jede Abtastprobe anstelle einer einzigen Iteration ausgeführt, und zwar wie folgt und wie dies in 10 gezeigt ist:
- * für alle neuen Abtastproben dk(m) und xk(m) wird der Filter-Schätzwert initialisiert:
- * Aus den Iterationen r=1 bis R wird das Ausgangssignal auf der Grundlage des vorhergehenden Filter-Schätzwertes (Block 1001) berechnet, und der Filter-Schätzwert wird auf der Grundlage des neu berechneten Ausgangssignals aktualisiert (Block 1002):
worin die Anpassungs-Schrittgrößen-Funktion nach unten hin geändert werden kann, wenn r ansteigt (für bessere Konvergenz-Ergebnisse). Beispielsweise:
- * Nachdem alle die Iterationen an der speziellen Abtastprobe durchgeführt wurden, werden die Ausgangssignale und Filter-Abschätzungen mit dem Ergebnis von der Iteration R abgeschlossen (Block 1003):
und der Prozess wird dann für die nächste Abtastprobe wiederholt.
-
Die Aktualisierung der Filterblöcke (Blöcke 902 und 1002) kann durchgeführt werden, wie dies in 5 gezeigt ist, indem eine Teilband-Schrittgrößen-Funktion berechnet wird (Block 501, beispielsweise unter Verwendung einer der Gleichungen (8)-(11)) und nachfolgendes Verwenden dieser Schrittgrößen-Funktion zur Aktualisierung der Filter-Koeffizienten (Block 502).
-
Wie dies vorstehend beschrieben wurde, ist das Bezugssignal x(n) (das der Ausgang ŝ1(n) von dem ADF-Algorithmus ist) eine Mischung von Ziel- und Störsignalen. Dies bedeutet, dass sich die Annahme innerhalb der ANC nicht als wahr erweist. Dies kann dadurch berücksichtigt werden, dass ein Steuermechanismus verwendet wird, der die Anpassungs-Schrittgröße µp,k(m) modifiziert, und dieser Steuermechanismus (der als eine Implementierung des Blockes 501 betrachtet werden kann) kann anhand der 11 beschrieben werden.
-
Der Steuermechanismus definiert eine Teilmenge von Teil-Bändern Ω
SP , die diejenigen Teilbänder in dem Frequenzbereich umfasst, in denen der größte Teil der Sprachsignal-Leistung vorliegt. Dies kann beispielsweise zwischen 200 Hz und 1500 Hz sein. Der spezielle Frequenzbereich, der verwendet wird, kann von den verwendeten Mikrophonen abhängen. Innerhalb der Teilbänder in der Teilmenge Ω
SP würde die Leistung des Teilband-Fehlers (oder Ausganges) e
k(m) stärker als die Leistung in dem Teilband-Geräusch-Bezug x
k(m) sein, wenn die Ziel-Sprache in dem vorgegebenen Teilband vorliegt, d.h.
-
Für Teilbänder innerhalb der Teilmenge (k∈Ω
SP, „JA“ im Block
1011) wird eine binäre Entscheidung unabhängig dadurch erreicht, dass die Ausgangs- (oder Fehler-) Signalleistung
und die Geräusch-Bezugsleistung
in dem vorgegebenen Teilband verglichen wird. Wenn
(„JA“ im Block
1102) ist, so wird die Filter-Anpassung angehalten, um eine Verzerrung der Ziel-Sprache zu verhindern (Block
1104). Andernfalls wird die Filter-Anpassung in normaler Weise durchgeführt, was die Berechnung der Schrittgrößen-Funktion (Block
1105), beinhaltet, beispielsweise unter Verwendung der Gleichung (8) oder (9).
-
Für Teilbänder, die sich nicht in der Teilmenge befinden (k∉ΩSP, „NEIN“ im Block 1101) wird eine binäre Entscheidung in Abhängigkeit von den Entscheidungen erreicht, die für die Teilbänder innerhalb der Teilmenge durchgeführt wurden (d.h. auf der Grundlage von Entscheidungen, die im Block 1102 getroffen wurden). Wenn die Anzahl der Teilbänder in der Teilmenge (d.h. k∉ΩSP), bei denen die Filteranpassung angehalten wird, einen voreingestellten Schwellenwert Th erreicht (wie dies im Block 1106 festgestellt wird), wird die Filter-Anpassung in allen Teilbändern, die sich nicht in Teilmenge (k∉ΩSP ) befinden, angehalten (Block 1104), um eine Verzerrung der Ziel-Sprache zu verhindern. Anderenfalls wird die Filter-Anpassung in der normalen Weise fortgesetzt (Block 1105). Der Wert des Schwellenwertes Th (wie er im Block 1106) verwendet wird, ist ein einstellbarer Parameter. Bei diesem Steuermechanismus wird die Anpassung für die Teilbänder, die sich nicht in der Teilmenge befinden (d.h. k∉ΩSP), auf der Grundlage der Ergebnisse für Teilbänder innerhalb der Teilmenge (d.h. k∉ΩSP) angesteuert. Dies berücksichtigt irgendein Fehlen einer Zuverlässigkeit der Leistungsvergleichs-Ergebnisse in diesen Teilbändern.
-
Das Beispiel in 11 zeigt die Anzahl von Teilbändern in der Teilmenge, in denen die Filter-Anpassung angehalten wird was durch dem Parameter A(m) bezeichnet wird, und dieser Parameter wird (im Block 1103) für jedes Teilband (in dem Zeitinterval m) weitergeschaltet, wenn die Bedingungen, die zum Anhalten der Anpassung führen, erfüllt sind (nach einem „JA“ im Block 1102). In anderen Beispielen, kann dies auf andere Weise verfolgt werden, und ein weiteres Beispiel wird nachfolgend beschrieben.
-
Der in
11 gezeigte von vorstehend beschriebene Steuermechanismus kann mathematisch in der nachstehend gezeigten Weise beschrieben werden. Die Anpassungs-Schrittgröße ist wie folgt definiert:
worin für die Teilbänder k ∈ Ω
SP :
und für Teilbänder k ∉ Ω
SP :
ist.
-
Der Schwellenwert Th ist ein einstellbarer Parameter mit einem Wert zwischen 0 und 1. Der Mittelwert von f
k(m) für k
∈ Ω
SP zeigt an, dass das Störsignal gegenüber dem Zielsignal überwiegt und sich daher Umstände ergeben, die für die Anspassung des SB-NLMS-Filters geeignet sind. Die Gleichung (10) schließt einen Leistungs-Normalisierungsfaktor
ein.
-
Die vorstehende Gleichung (10) zeigt nicht die Einstellung der Schrittgröße, wie sie in der Gleichung (9) gezeigt ist und vorstehend beschrieben wurde. In einem weiteren Beispiel unter Verwendung des SB-DR-NLMS-Algorithmus kann die Anpassungs-Schrittgröße wie folgt definiert werden:
worin für die Teilbänder k ∈ Ω
SP :
und für die Teilbänder k ∉ Ω
SP :
ist.
-
Um das Geräusch weiter zu verringern kann auch ein Einkanal-NR-Algorithmus verwendet werden. Einkanal-NR-Algorithmen sind bei der Unterdrückung von stationären Geräusch wirksam, und obwohl sie nicht besonders wirkungsvoll sein können, wenn das SNR niedrig ist (wie dies vorstehend beschrieben wurde), verringern vorstehend beschriebene Signal-Trennung und/oder Nachverarbeitung das Geräusch auf dem Eingangssignal derart, dass das SNR vor dem Eingang an den Einkanal-NR-Algorithmus verbessert wird.
-
12 zeigt ein Blockschaltbild eines Einkanal-NR-Algorithmus, und der Algorithmus ist weiterhin in dem Ablaufdiagramm nach
13 gezeigt. Der Eingang ist ein geräuschbehaftetes Sprachsignal d(n), und der Algorithmus unterscheidet Geräusch von Sprache durch Erforschen der statistischen Unterschiede zwischen diesen, wobei sich das Geräusch typischerweise mit einer wesentlich langsameren Rate ändert, als die Sprache. Die in
12 gezeigte Implementierung ist wiederum eine Teilband-Implementierung, und für jedes Teilband k wird die mittlere Leistung des quasi-stationären Hintergrund-Geräusches verfolgt (Block
1301). Diese mittlere Geräuschleistung wird dann zum Abschätzen des Teilband-SNR und damit zum Entscheiden über einen Verstärkungsfaktor G
NR,k(m), der im Bereich zwischen 0 und 1 liegt, für das vorgegebene Teilband verwendet (Block
1302). Der Algorithmus wendet dann G
NR,k(m) auf das entsprechende Teilband-Signal d
k(m) an (Block
1303). Hierdurch werden modifizierte Teilband-Signale z
k(m) erzeugt, worin:
und die modifizierten Teilband-Signale werden nachfolgend durch eine DFT-Synthese-Filterbank
1201 kombiniert, um das Ausgangssignal z(n) zu erzeugen.
-
Die 14 und 15 zeigen Blockdiagramme von zwei Beispielen von Anordnungen, die die vorstehend beschriebenen ANC- und NR-Algorithmen integrieren. Wie dies in diesen Figuren gezeigt ist, können, wenn die zwei Algorithmen integriert werden, die AFB 1401 (beispielsweise unter Verwendung einer DFT-Analyse) und die SFB 1402 am Anfang und am Ende der Kombination von Modulen angewandt werden, statt am Anfang und Ende jedes Moduls. Das gleiche gilt, wenn einer oder beide von den ANC- und NR-Algorithmen mit dem verstehend beschriebenen ADF-Algorithmus kombiniert werden.
-
Bei der in 14 gezeigten Anordnung versucht der ANC-Algorithmus (unter Verwendung des Filters Gk(z) 1403), die stationäre Geräusch-Komponente in dem Eingang d(n) zu kompensieren, die zu dem Geräuschbezug x(n) korreliert ist. Obwohl die Leistung des stationären Geräusches verringert ist, steigt die relative Änderung des Restgeräusches an. Dieser Effekt wird durch den NR-Algorithmus 1404 weiter verstärkt und deutlich gemacht, so dass ein unnatürlicher Geräusch-Boden erzeugt wird.
-
Es gibt eine Anzahl von unterschiedlichen Techniken, um dies zu mildern, wie zum Beispiel ein Verlangsamen der Anpassungsrate des ANC-Filters (beispielsweise durch die Auswahl einer kleineren Schrittgrößen-Konstante Yp ) oder durch Verringern der Daten-Wiederverwendungs-Reihenfolge R des SB-DR-NLMS-Algorithmus. Eine Alternative hierzu ist die Verwendung der in 15 gezeigten Anordnung.
-
Bei der integrierten Anordnung nach 15 werden, wenn das Hintergrund-Geräusch vorhanden ist und dominiert, die NR-Verstärkungsfaktoren GNR,k(m) (im Element 1504) in Richtung auf 0 abgesenkt, um das Fehlersignal ek(m) (wie dies weiter oben beschrieben wurde) zu dämpfen und damit effektiv die Anpassungsrate des Filters Gk(z) 1503 zu verringern. Dies verringert die relativen Varianzen in dem Rest-Geräusch und steuert somit den „Musik“- oder „Wasserfall‟ Artifakt, der unter Verwendung der in 14 gezeigten Anordnung auftreten kann. Wenn jedoch das stationäre Hintergrund-Geräusch fehlt oder die dynamischen Komponenten, wie zum Beispiel nicht-stationäres Geräusch und Ziel-Sprache, dominierend werden, so steigen die NR-Verstärkungs-Faktoren GNR,k(m) in Richtung auf 1 an, und die Anpassungs-Rate des Filters (Gk(z) kehrt auf einem normalen Wert zurück. Dies hält die NR-Fähigkeit des Systems aufrecht.
-
16 zeigt ein Blockschaltbild eines NR-Systems auf der Grundlage von zwei Mikrophonen, das einen ADF-Algorithmus, ein Nachverarbeitungs-Modul (beispielsweise unter Verwendung von ANC) und einen Einzel-Mikrophon-NR-Algorithmus einschließt. Wie dies in 16 gezeigt ist, werden, wenn die Elemente, die einzeln vorstehend beschrieben wurden, mit anderen Frequenz-Domänen-Modulen kombiniert werden, die AFB 1601 (beispielsweise DFT-Analyse) und SFB 1602 lediglich am Anfang beziehungsweise am Ende aller Module angewandt. Obwohl die Teilband-Signale erneut kombiniert und dann wieder zwischen den Modulen zerlegt werden könnten, kann dies die Verzögerung und die erforderliche Rechenleistung des Systems vergrößern.
-
Die Betriebsweise des Systems ist in dem Ablaufdiagramm nach 17 gezeigt. Das System erfasst Signale x0(n), x1(n) unter Verwendung von zwei Mikrophonen 1603, 1604 (Mic_0 und Mic_1), und diese Signale werden unter Verwendung der AFBs 1601 zerlegt (Block 1701). Ein ADF-Algorithmus wird dann unabhängig auf jedes Teilband (Block 1702) unter Verwendung der Filter Ak(z) und Bk(z) 1605, 1606 angewandt. Die Teilband-Ausgänge von dem ADF-Algorithmus werden gegenüber einer Verzerrung (Block 1703) unter Verwendung der Filter 1607 korrigiert, und die Ausgänge von diesen Filtern werden als Eingänge dem Nachverarbeitungs-Modul (Block 1704) zugeführt, das das Filter Gk(z) 1608 umfasst, das einen ANC-Algorithmus verwendet. Das stationäre Geräusch wird dann unter Verwendung eines Einzel-Mikrophon-NR-Algorithmus 1609 unterdrückt (Block 1705) und die Ausgangs-Teilband-Signale werden dann kombiniert (Block 1706), um ein Gesamtband-Ausgangssignal z(n) zu schaffen. Die einzelnen Verfahrens-Blöcke, die in 17 gezeigt sind, wurden ausführlicher weiter oben beschrieben.
-
In einem Beispiel nach 16 führt der ADF-Algorithmus eine Signal-Trennung durch, und die ADF- und ANC-Algorithmen unterdrücken sowohl stationäres als auch nicht-stationäres Geräusch. Der NR-Algorithmus verbessert die stationäre Geräusch-Unterdrückung.
-
Das in 16 gezeigte System ergibt eine leistungsfähige und robuste NR-Betriebsleistung für stationäre und nicht-stationäre Geräusche mit mäßiger Rechen-Kompliziertheit. Das System weist weiterhin weniger Mikrophone als die Anzahl der Signalquellen auf, d.h. zur Erzielung der Trennung des Hör-Sprechsatz- /Handapparate-Benutzers von allen den anderen gleichzeitigen Störungen werden nur zwei Mikrophone verwendet, anstelle eines Mikrophons für jede im Wettbewerb stehende Quelle.
-
Ein Beispiel einer Anwendung für das in 16 gezeigte System oder irgendein anderes der hier beschrieben Systeme und Verfahren ergibt sich, wenn zwei Mikrophone einen Abstand von ungefähr 2-4 cm haben, beispielsweise in einem Mobiltelefon oder Hör-Sprech-Satz (beispielsweise einem Bluetooth-Hör-Sprech-Satz). Die Algorithmen können beispielsweise in einem Chip implementiert werden, der Bluetooth- und DSP-Fähigkeiten hat, oder in einem DSP-Chip ohne die Bluetooth-Fähigkeit. In einem derartigen Beispiel können die Eingangssignale, wie sie von den zwei Mikrophonen empfangen werden, unterschiedliche Mischungen der gewünschten Benutzer-Sprache und anderer unerwünschter Geräusche sein, und das Vollband-Ausgangssignal umfasst das gewünschte Benutzer-Sprachsignal. Das erste Mikrophon (beispielsweise Mic_0 1603 in 16) kann näher an dem Mund des Benutzers angeordnet sein, als das zweite Mikrophon (z.B. Mic_1 1604).
-
Obwohl die vorstehend beschriebenen Beispiele zwei Mikrophone zeigen, können die Systeme und Verfahren, die hier beschrieben wurden, auf Situationen erweitert werden, in denen es mehr als zwei Mikrophone gibt.
-
Der Fachmann wird erkennen, dass Speicher-Geräte, die zum Speichern von Programmbefehlen verwendet werden, über ein Netzwerk hinweg verteilt sein können. Beispielsweise kann ein entfernt angeordneter Computer ein Beispiel des Prozesses speichern, das als Software beschrieben wurde. Ein örtlicher oder Endgeräte-Computer kann einen Zugriff auf den entfernt angeordneten Computer ausführen und einen Teil oder die gesamte Software herunterladen, um das Programm ablaufen zu lassen. Alternativ kann der örtliche Computer Teile der Software bei Bedarf herunterladen oder einige Software-Befehle an dem örtlichen Endgerät und einige an dem entfernt angeordneten Computer (oder Computer-Netzwerk) ausführen. Der Fachmann wird weiterhin erkennen, dass durch Verwenden konventioneller Techniken, die dem Fachmann bekannt sind, alle oder ein Teil der Software-Befehle von einer dedizierten Schaltung ausgeführt werden können, wie zum Beispiel einem DSP, einer programmierbaren Logik-Anordnung oder dergleichen.
-
Irgendein Bereich oder Geräte-Wert, der hier angegeben ist, kann erweitert oder geändert werden, ohne die gesuchte Wirkung zu verlieren, wie dies für den Fachmann ersichtlich ist.
-
Es sollte verständlich sein, dass der vorstehend beschriebene Nutzen und die Vorteile sich auf eine Ausführungsform oder mehrere Ausführungsformen beziehen können. Die Ausführungsformen sind nicht auf diejenigen beschränkt, die einige oder alle der genannten Probleme lösen, oder diejenigen, die irgendeinen oder alle der genannten Nutzen und Vorteile haben.
-
Irgendeine Bezugnahme auf „einen“ Gegenstand bezieht sich auf einen oder mehrere dieser Gegenstände. Der Ausdruck „umfasst“ wird weiterhin hier so verwendet, dass er die genannten Verfahrens-Blöcke oder -Elemente einschließt, wobei derartige Blöcke oder Elemente keine ausschließliche Liste umfassen, und ein Verfahren oder eine Vorrichtung kann zusätzliche Blöcke oder Elemente enthalten.
-
Die hier beschriebenen Schritte der Verfahren können in irgendeiner geeigneten Reihenfolge oder gleichzeitig ausgeführt werden, wenn dies passend ist. Zusätzlich können einzelne Blöcke aus irgendeinem der Verfahren entfernt werden, ohne von dem Grundgedanken und Schutzumfang des hier beschriebenen Gegenstandes abzuweichen. Gesichtspunkte von irgendeinem der vorstehend beschriebenen Beispiele können mit Gesichtspunkten von irgendwelchen der anderen beschriebenen Beispiele kombiniert werden, um weitere Beispiele zu bilden, ohne die gesuchte Wirkung zu verlieren.
-
Es ist verständlich, dass die vorstehende Beschreibung eines bevorzugten Ausführungsbeispiels lediglich als Beispiel angegeben wurde, und das verschiedene Modifikationen von dem Fachmann durchgeführt werden können. Obwohl verschiedene Ausführungsformen vorstehend mit einem großen Ausmaß an Einzelheiten oder unter Bezugnahme auf eines oder mehrere einzelne Ausführungsbeispiele beschrieben wurden, könnte der Fachmann vielfältige Abänderungen der an dem beschriebenen Ausführungsformen durchführen, ohne von dem Grundgedanken oder Schutzumfang der Erfindung abzuweichen.