DE19882141B4 - Adaptive Doppelfilter-Echolöschung - Google Patents

Adaptive Doppelfilter-Echolöschung Download PDF

Info

Publication number
DE19882141B4
DE19882141B4 DE19882141T DE19882141T DE19882141B4 DE 19882141 B4 DE19882141 B4 DE 19882141B4 DE 19882141 T DE19882141 T DE 19882141T DE 19882141 T DE19882141 T DE 19882141T DE 19882141 B4 DE19882141 B4 DE 19882141B4
Authority
DE
Germany
Prior art keywords
multipliers
data
coupled
filter
echo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19882141T
Other languages
English (en)
Other versions
DE19882141T1 (de
Inventor
Stefan HÅKANSSON
Claes Hammar
Tönu TRUMP
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of DE19882141T1 publication Critical patent/DE19882141T1/de
Application granted granted Critical
Publication of DE19882141B4 publication Critical patent/DE19882141B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Abstract

Gerät für den Einsatz zum Verarbeiten adaptiver Filterecholöschinformation, enthaltend:
einen Abtastspeicher (120) zum Speichern mehrerer Eingangssignalabtastwerte;
mehrere Multiplizierer (102, 106), derart, daß mindestens einer der mehreren Multiplizierer mit einem Ausgang des Abtastspeichers (120) gekoppelt ist;
mehrere Addierer (104, 108), derart, daß ein Ausgang jedes der mehreren Multiplizierer (102, 106) mit mindestens einem der mehreren Addierer (104, 108) gekoppelt ist; und
mehrere temporäre Speichereinrichtungen (112, 114, 116, 118), derart, daß ein Eingang und ein Ausgang jeder der mehreren temporären Speichereinrichtungen (112, 114, 116, 118) selektiv mit mindestens einem der mehreren Multiplizierer (102, 106) und der mehreren Addierer (104, 108) gekoppelt ist.

Description

  • Die vorliegende Erfindung betrifft allgemein das Feld der Telekommunikation und insbesondere ein Echolöschen in Telefoniesystemen.
  • In EP 0505 884 A2 ist eine arithmetische Schaltung beschrieben, enthaltend ein erstes Datenbusmittel mit einer Vielzahl von Signalleitungen zum Transferieren von Daten, eine Speichervorrichtung, enthaltend eine Vielzahl von Speicherzellen, zum Speichern von Daten, wobei die Speichervorrichtung Daten von einer Speicherzelle ausgibt, die gemäß einer zugeführten Adresse ausgewählt ist, ferner eine Arithmetikeinheit mit einem ersten Eingangsanschluss zum Empfangen von Daten der ersten Datenbusvorrichtung und einem zweiten Eingangsanschluss zum Empfangen von Daten von der ausgewählten Speicherzelle, wobei die Arithmetikeinheit eine Berechnung anhand der Daten von der Speicherzelle und der Daten von der ersten Datenbusvorrichtung ausführt, und wobei die Arithmethikeinheit einen Ausgangsanschluss aufweist, der mit der Speichervorrichtung zum Ausgeben des Berechnungsergebnisses gekoppelt ist, sowie eine Datenpfadvorrichtung mit einer Vielzahl von Signalleitungen zum Transferieren von Daten von der ausgewählten Speicherzelle.
  • In WO 86/02181 A1 ist ein Datenprozessor beschrieben, mit der Fähigkeit zum wiederholten Multiplizieren zweier Eingangsoperanden zum selektiven Akkumulieren des sich ergebenden Produkts mit einem dritten Eingangsoperand innerhalb eines einzigen Taktzykluses des Betriebsablaufs. Das sich ergebende akkumulierte Produkt kann verwendet werden in der Form eines oder zweier multiplizierter Eingangsoperanden für einen unmittelbar nachfolgenden Taktzyklusbetriebes unter Anwendung eines Rückkopplungspfads, der zwischen einem Ausgang und einem Eingang des Multiplizierers/Akkumulators gekoppelt ist. Der Datenprozessor nützt eine Vielzahl von Eingangsspeicherregistern, die mittels einem Datenbus geteilt werden, der mit einem externen Speicher gekoppelt ist, sowie durch einen Datenprozessor, um hierdurch die Datenverarbeitungszeit zu reduzieren.
  • Allgemein ist ein "Echo" ein Phänomen, das in einem Telefoniesystem immer dann auftreten kann, wenn ein Teil der Energie eines übertragenen Sprachsignals zu einem Sender rückreflektiert wird. Diese Reflexionen werden durch Impedanzfehlabstimmungen in analogen Abschnitten des Telefonienetzes ausgelöst. Es können viele unterschiedliche Quellen für Echo vorliegen, beispielsweise eine Hybridschaltung, die eine 4-Drahtleitung zu einer 2-Drahtleitung in einer Teilnehmerschnittstelle eines öffentlichen Fernsprechwählnetzes (PSTN, Public Switched Telephone Network) umsetzt, oder ein akustisches Nebensprechen in einem Mobilfunktelefon. Das Vorliegen von Echo zusammen mit einer wesentlichen Verzögerung (beispielsweise gemäß einer physikalischen Distanz oder einer Verarbeitungsverzögerung) kann die Qualität der verarbeiteten Sprachsignale erheblich verschlechtern.
  • Ein Echolöscher ist eine Einrichtung, die allgemein in Telefoniesystemen eingesetzt wird, um Echos in einem Ferndistanzverkehr zu unterdrücken oder zu entfernen.
  • Beispielsweise werden in einem zellularen öffentlichen, beweglichen Landfunknetz (PLMN, cellular Public Land Mobile Network) Echolöscher in Funkvermittlungsstellen (MSC, Mobile Services Switching Center) eingesetzt, um Echos im Sprachverkehr zu unterdrücken oder zu entfernen. Echolöscher werden auch in Mobilfunktelefonen und "Freihand"-Telefonausrüstungsgegenständen zum Kompensieren akustischer Echos eingesetzt. Eine allgemeine Beschreibung einer existierenden Echolöschtechnik läßt sich in der Veröffentlichung finden, die den Titel trägt: "A Double-Talk Detector Based an Coherence", Gänsler et al., Signalverarbeitungsgruppe, Abtlg. für Elektrotechnik und Informatik, Universität Lund, Schweden.
  • Die 1 zeigt ein vereinfachtes Blockschaltbild eines üblichen Echolöschers 10. Die Hauptkomponente eines derartigen Echolöschers ist ein adaptives Filter mit endlichen Impulsantwort (FIR) 12. Unter Steuerung eines Adaptionsalgorithmus (z. B., in Software ausgeführt) modelliert der Filter 12 die Impulsantwort des Echopfads. Typischerweise wird das Filter 12 unter Einsatz eines Algorithmus mit minimalem Fehlerquadrat LMS (Least Mean Squares) adaptiert. Ein nichtlinearer Prozessor NLP 14 wird zum Entfernen des Restechos eingesetzt, das nach der linearen Verarbeitung des Eingangssignals verbleiben kann.
  • Die Signale im Zusammenhang mit einem Telefonanruf sind ihrer Natur nach nicht stationär. Demnach enthält der Echolöscher 10 üblicherweise einen Doppelsprechdetektor DTD (double-talk detector) 16, der zum Steuern und Sperren des Adaptionsprozesses dann eingesetzt wird, wenn das Verhältnis von Echosignal zu "Nah-Ende"-Signal einen solchen Wert aufweist, daß sich keine zusätzliche Verbesserung der Echopfadschätzung durch weiteres Adaptieren des Filters 12 erzielen läßt. Um jedoch in der Lage zu sein, Variationen in dem Echopfad zu folgen, ist es nicht möglich, die Adaption zu oft zu sperren, und unter diesen Bedingungen tritt eine gewisse Verschlechterung der Echopfadschätzung dann auf, wenn sich das Signal zu Rauschverhältnis verschlechtert. Der durch 18 bezeichnete Block stellt die Echoquelle in dem Telefoniesystem dar, die das "gewünschte" Signal y(t) als Funktion des "Fern-Ende"-Signals x(t) und des "Nah-Ende"-Signals v(t) erzeugt.
  • Eine Doppelfilterstruktur, die vorgeschlagen wurde, um das Problem der Verschlechterung hanzuhaben, ist in dem Artikel beschrieben, der den Titel trägt: "Echo Canceller with Two Echo Models", von Kazuo Ochiai et al., IEEE Transactions an Communications, Vol. COM-25, Nr. 6, Juni 1977. Wie allgemein in der 2 gezeigt, nützt die in diesem Artikel beschriebene Technik ein festes Filter 20 zum Echolöschen und ein adaptives Filter 22 für die Echopfadschätzung. Läßt sich durch das adaptive Filter 22 eine Echopfadschätzung erhalten, die gut genug ist, so werden die Koeffizienten des adaptiven Filters in das feste Filter 20 kopiert. Demnach lassen sich diese besseren Koeffizienten für die Löschung dann einsetzen, wenn sich die Echopfadschätzung verschlechtert.
  • Eine Verbesserung der Steuerstrategie für die Doppelfilterstruktur, die oben beschrieben ist, ist in den nach "common law" bzw. an Johnny Karlsen et al. übertragenen schwedischen Patent Nr. 9503640-6 offenbart, mit dem Titel "Adaptives Doppelfilter-Echolöschungsverfahren". Gemäß dem hier beschriebenen Verfahren werden beide Filter für das Echolöschen eingesetzt, und die Filterkoeffizienten lassen sich in beide Richtungen übertragen. Dieses Patent beschreibt bestimmte Bedingungen, die zum Entscheiden der Tatsache eingesetzt werden, welche der beiden Filterausgangsgrößen ea oder ef als die Ausgangsgröße des Echolöschers einzusetzen sind, sowie der Tatsache, wann die Koeffizienten von einem Filter zu dem anderen zu übertragen sind. Diese Entscheidungen basiseren auf Vergleichsvorgängen der Energie und der Korrelationsschätzungen für die betroffenen Signale, und demnach sind die eingesetzten Algorithmen in hohem Maße datenabhängig.
  • Die meisten existierenden Echolöscher nützen einen allgemein einsetzbaren digitalen Signalprozessor DSP (digital signal processor) als zentrales Berechnungselement. Eine typische, Vielzweck-DSP-Architektur, die für den Zweck der Echolöschung eingesetzt wurde, ist in 3 gezeigt. Beispielsweise ist unter Bezug auf die 3 zu erkennen, daß eine für das Echolöschen eingesetzte DSP-Einheit 30 zwei Datenspeicherabschnitte 32 und 34 und zugeordnete Datenbusse 32a und 34a enthält, sowie eine Adreßberechnungseinheit AAU (address arithmetic unit) 36, einen Multipliziererabschnitt 38 und ein Rechenwert ALU (arithmetic logic unit) 40 sowie eine Schiebeeinheit bzw. ein Register 42.
  • Weiterhin war es möglich, einen Echolöscher aus Berechnungsblöcken zusammenzufügen, die den Funktionsblöcken in dem adaptiven Algorithmus zugeordnet sind, wie er in dem Ochiai et al. Artikel (2) beschrieben ist. Da jedoch die hierin beschriebene Filteradaptionstechnik auf einem Einsatz eines momentanten Fehlersignals e(t) basiert, das zum ersten Mal lediglich nach dem Durchführen des Filterungsprozesses zur Verfügung steht, sind die Operationsschritte in Zuordnung zu den Funktionsblöcken bei dem Ochiai-Algorithmus ohnehin in serieller Weise durchzuführen, und es lassen sich keine merklichen Wirkungsgrade erzielen. Weiterhin verbessert sich aufgrund des erheblichen Umfangs der zum Erzielen derartiger Funktionen erforderlichen Hardware der sich insgesamt ergebende Leistungsumfang eines Echolöschers nicht signifikant.
  • Ein Problem tritt auf, wenn "lange" Filter (beispielsweise N = 512 oder mehr) für die adaptive Echolöschung eingesetzt werden, da eine relativ große Zahl von Berechnungen durchzuführen sind. In diesem Fall ist es sehr wichtig, die Prozessorarchitektur zum Abbilden der Funktionen des eingesetzten Algorithmus zu optimieren. Gleichzeitig ist es auch wichtig, den Umfang der eingesetzten Hardware-Ressourcen innerhalb vernünftiger Grenzen zu halten.
  • Eine Universal-DSP-Einheit, die zum Echolöschen eingesetzt wird (beispielsweise die DSP-Einheit 30 in 3) weist lediglich zwei Datenbusse (beispielsweise 32a, 34a) auf. Demnach kann eine derartige DSP-Einheit lediglich maximal zwei Speicherzugriffe pro Taktzyklus durchführen (beispielsweise einen Zugriff auf jeden der Speicherabschnitte 32 und 34). Demnach bestand ein Datentransferengpaß, der den Rechenwirkungsgrad der DSP-Einheit signifikant abgesenkt hat.
  • Beispielsweise läßt sich die LMS-Aktualisierungsgleichung für einen durch eine derartige DSP-Einheit durchgeführten Algorithmus wie folgt ausdrücken: hn(t + 1) = hn(t) + α(t)xn(t) (1)mit α(t) = μe(t), wenn ein Basis-LMS-Wert eingesetzt wird, oder.
    Figure 00090001
    wenn ein normierter LMS-Wert eingesetzt wird. Jedenfalls ist α(t) ein konstanter Multiplizierwert während jedem Abtastintervall. In der obigen Gleichung (1) ist x(t) der n-ten Signalabsatzwert im Zeitpunkt t, hn(t) ist der n-ten adaptive Filterkoeffizient im Zeitpunkt t, e(t) ist das Fehlersignal und μ ist eine kleine Konstante, die die Abtastschrittweite darstellt.
  • Bei den meisten Signalprozessoren läßt sich der Multiplizierwert α(t) in einem Multiplizierregister speichern und hierin solange halten, bis sämtliche Filterkoeffizienten aktualisiert sind. Anschließend erfordert die LMS-Aktualisierungsgleichung (Gleichung (1)) zwei Lesebetriebsschritte von den Speicherabschnitten und einen Schreibbetriebsschritt zu dem Koeffizientenspeicherabschnitt. Diese Betriebsschritte lassen sich nicht über die beiden Datenbusse während einem einzigen Taktzyklus erzielen, und demnach sind zwei Taktzyklen für den Ablauf einer Aktualisierung für jeden Wert von N erforderlich. Allgemein ist N anhand der Länge der Impulsantwort des betroffenen Echopfads bestimmt. Ein Wert von 512 für N wird recht allgemein für typische Echolöschanwendungen eingesetzt. Jedoch kann N einen Wert so hoch wie einige Tausend für akustische Echolöschanwendungen annehmen.
  • Der Filterprozeß für das Eingangssignal in einem FIR-Filter läßt sich wie folgt darstellen:
    Figure 00100001
    so daß offensichtlich ein Taktzyklus pro Wert von N zum Berechnen eines Ausgangsabtastwertes y(t) erforderlich ist. Da die früher beschriebene Doppelfiltertechnik zwei FIR-Filter einsetzt, ergibt sich, daß zwei Taktzyklen pro Wert von N zum Berechnen der zugeordneten beiden Ausgangsabtastwerte erforderlich wären.
  • Koeffizienten der zwei FIR-Filter werden von einem zum anderen gemäß Entscheidungen kopiert, die durch einen signalabhängigen Steueralgorithmus getroffen werden. Ist es wünschenswert, die FIR-Filterung innerhalb eines einzigen Taktzyklus pro Wert von N durchzuführen, wie oben angenommen, so sollten die Koeffizienten für beide Filter in einem Speicherabschnitt abgelegt sein, und die Signalabtastwerte x(t) sollten in dem anderen Speicherabschnitt abgelegt sein. Diese Anordnung impliziert, daß der Koeffizientenkopierbetrieb lediglich zwei Zyklen pro Wert von N erfordern würde, da das Kopieren eines Filterkoeffizienten lediglich zwei Zugriffe auf denselben Speicherabschnitt erfordern würde.
  • Demnach wird die Spitzenkomplexität des vollständigen Filterabschnitts für die Doppelfiltervorgehensweise, die oben beschrieben ist, zu einem Wert von 6*N für die Universal-DSP-Einheit gemessen. In anderen Worten ausgedrückt, würde die Universal-DSP-Einheit 6*N Zyklen zum Abschließen der Filterberechnungsschritte erfordern. Jedoch ist dieses Niveau an Komplexität für die großen Werte von N, die in Echolöschanwendungen erforderlich sind, relativ hoch, wodurch lediglich eine relativ niedrige (wenn überhaupt) Verarbeitungskapazität für den Steuerabschnitt des Algorithmus unter anderen erforderlichen Echolöschfunktionen verbleibt.
  • Demnach besteht ein technisches Problem der vorliegenden Erfindung in der Minimierung der Rechenzeit in einem digitalen Signalverarbeitungsgerät, der für das Echolöschen eingesetzt wird.
  • Gemäß der vorliegenden Erfindung wird dieses technische Problem gelöst durch ein Gerät für den Einsatz zum Verarbeiten adaptiver Filterecholöschinformation mit den Merkmalen des Patentanspruchs 1.
  • Gemäß der vorliegenden Erfindung gelingt eine Minimierung der Datenübertragungsengpässe in einem digitalen Signalverarbeitungsprozessor, der für das Echolöschen eingesetzt wird.
  • Gemäß der vorliegenden Erfindung gelingt zudem eine Maximierung der Geschwindigkeit der Aktualisierung mit minimalem Fehlerquadrat, des Filterungsprozesses und der Koeffizientenkopier-Berechnungsschritte in einem digitalen Signalverarbeitungsprozessor, der für das Echolöschen eingesetzt wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Ein vollständigers Verständnis des Verfahrens und Geräts der vorliegenden Erfindung ergibt sich unter Bezug auf die folgende detaillierte Beschreibung im Zusammenhang mit der beiliegenden Zeichnung; es zeigen:
  • 1 ein vereinfachtes schematisches Blockschaltbild eines üblichen Echolöschers;
  • 2 ein vereinfachtes schematisches Blockschaltbild eines existierenden Doppelfilter-Echolöschers;
  • 3 ein Blockschaltbild für eine typische Architektur eines digitalen Universalsignalprozessors, der für die Echolöschung eingesetzt wurde; und
  • 4 ein Blockschaltbild eines digitalen Doppelfilter-Signalprozessors für den Einsatz bei der Echolöschung, der so strukturiert ist, daß er in Übereinstimmung mit einer bevorzugten Ausführungsform der vorliegenden Erfindung funktioniert.
  • DETAILLIERTE BESCHREIBUNG DER ZEICHNUNGEN
  • Die bevorzugten Ausführungsformen der vorliegenden Erfindung lassen sich am besten unter Bezug auf die 1 bis 4 der Zeichnungen verstehen, und gleiche Bezugszeichen werden für gleiche oder zugeordnete Teile in den zahlreichen Zeichnungen benützt.
  • Die 4 zeigt ein Blockschaltbild einer Doppelfilter-DSP Einheit für den Einsatz bei einer Echolöschung, die so strukturiert ist, daß sie in Übereinstimmung mit einer bevorzugten Ausführungsform der vorliegenden Erfindung funktioniert. Bei dieser Ausführungsform, die sich beispielsweise durch eine anwendungsspezifische integrierte Schaltung ASIC realisieren läßt, enthält die Doppelfilter-DSP-Einheit 100, drei Basisrecheneinheiten: ein Paar von Multiplizier/Addiereinheiten (102/104 und 106/108); und ein B-Bit ALU/Schieberegister (barrel shifter) 110. Bevorzugt stimmen die jeweiligen physikalischen und elektrischen Eigenschaften des Paars der Multiplizierer/Addiereinheiten überein (innerhalb erwarteter Toleranzen). Sämtliche dieser Recheneinheiten sind miteinander zum Verarbeiten und zeitweisen Speichern von Berechnungsergebnissen gekoppelt, durch eine Gruppe von vier B-Bit Akkumulatoren 112, 114, 116 und 118. Vorzugsweise werden vier Akkumulatoren für diese Ausführungsform eingesetzt, jedoch kann jede geeignete Zahl von Akkumulatoren eingesetzt werden, die größer als zwei ist. Weiterhin ist ein Abtastspeicher 120 enthalten, mit N-Wortspeicherstellen zum Speichern der Eingangssignalabtastwerte. Die Eingangsabtastwerte werden durch den Ausdruck x(t) dargestellt, wie in der oben beschriebenen LMS-Aktualisierungsgleichung (Gleichung 3) gezeigt. Es ist zu erwähnen, daß obgleich die in 4 gezeigte Verarbeitungsprozedur vorzugsweise mit einer DSP-Einheit implementiert ist, nicht beabsichtigt wird, die Erfindung hierauf zu beschränken. Beispielsweise läßt sich die in 4 gezeigte Architektur durch jedes geeignete Verarbeitungsgerät implementieren, das geeignet die in bezug auf die 4 dargestellten Funktionen durchführen kann.
  • Der Abtastspeicher 120 ist mit den Eingängen der Multiplizierer 102 und 106 über ein Register 122 verbunden. Ein Paar von Ausrichteinheiten 124 und 126 ist mit den jeweiligen Ausgängen der Multiplizierer 102 und 106 so verbunden, daß sich eines der jeweiligen Multiplikationsergebnisse ein Bit nach links für Ausrichtungszwecke verschieben läßt, wenn dies gewünscht ist. Ein jeweiliges Paar von Speicherregistern (128, 130 und 132, 134) ist mit jedem Multiplizierer 102 und 106 über jeweilige Paare von Eingangs/Ausgangsregistern (129, 131 und 133, 135) verbunden. Die Speicherregister (128, 130, 132 und 134) sind mit den Datenspeichern (136 und 138) mittels Datenbussen für den Datentransfer hierzwischen verbunden. Obgleich die beiden Datenspeicher 136 und 138 außerhalb des DSP-Kerns gemäß der in 4 dargestellten Ausführungsform angeordnet sind, liegt es im Rahmen des Schutzbereichs der Erfindung, die Datenspeicher in dem DSP-Kern anzuordnen. Ein Register msr0 (140) ist mit der B-Bit ALU-Einheit 110 verbunden, und es wird zum Anzeigen der Tatsache verwendet, um wieviele Bit-Positionen die ALU-Einheit verschieben sollte, sofern spezifiziert.
  • Betriebsgemäß werden die zu verarbeitenden Eingangssignalabtastwerte (z. B., N Worte) in einem Abtastspeicher 120 gespeichert. Alle anderen Datenvariablen werden in den Datenspeichern 136 und 138 gespeichert. Während jedem Abtastintervall wird der älteste Eingangssignalabtastwert in dem Abtastspeicher 120 durch den momentanen erfaßten Abtastwert ersetzt. Vorzugsweise wird ein zirkularer Nachinkrementier-Adressiermodus für den Zugriff auf den Abtastspeicher eingesetzt.
  • Alle Bits in den Speicherregistern (128, 130, 132, 134) lassen sich aus beiden Datenspeichern 136 und 138 laden oder in diese speichern. Die Datenbusse zum Verbinden der Speicherregister und der Datenspeicher sind b Bit breit, mit b als Zahl der Bits, die zum adäquaten Darstellen der Signalabtastwerte und Filterkoeffizienten erforderlich ist. Gemäß dieser Ausführungsform sind die Akkumulatoren 112, 114, 116, 118 und die ALU-Einheit 110 so entworfen, daß eine B ≥ 2b + log2N Bit-Darstellung der betroffenen Variablen ermöglicht wird. Diese Wahl für B Bit geht davon aus, daß der eingesetzte Prozessor mit einer Festkommaarithmetik betrieben wird. Sind Gleitkomma-Recheneinheiten einzusetzen, so bestimmt eine natürliche Wahl in der Anwendung von b = B. Jedoch lassen sich für diese beispielhafte Ausführungsform (4), die vorzugsweise mit Festkommaimplementierung realisiert ist, die Werte b = 16 und B = 40 anwenden.
  • Für diese Ausführungsform liegen grundlegend drei Betriebsvorgänge vor, die durch die in 4 gezeigte Doppelfilter-Echolösch-DSP-Einheit implementiert sind: (1) Koeffizientenaktualisierung; (2) Filtern; und (3) Koeffizientenkopieren. Vorzugsweise sind die Koeffizienten beider Filter gleich zwischen den beiden Datenspeichern 136 und 138 aufgeteilt. Beispielsweise lassen sich die ungeradzahlig indizierten Koeffizienten des adaptiven Filters in dem ersten Datenspeicher 136 speichern, und die geradzahlig indizierten Koeffizienten des adaptiven Filters lassen sich in dem zweiten Datenspeicher 138 speichern, oder umgekehrt. Für dieses Beispiel wären die geradzahlig indizierten fixierten Filterkoeffizienten in dem ersten Datenspeicher 136 zu speichern und die ungeradzahlig indizierten festen Filterkoeffizienten wären im zweiten Datenspeicher 138 zu speichern. Die Eingangssignalabtastwerte xn werden in dem Abtastspeicher 120 gespeichert.
  • Damit die DSP-Einheit die Koeffizientenaktualisierungs-Betriebsschritte durchführt, läßt sich vor dem Initiieren der Aktualisierungsschleife der konstante Muliplizierwert α(t) von einem Datenspeicher (z. B., 136) wiedergewinnen und beispielsweise in dem mx0 Register 128 speichern. Weiterhin läßt sich der erste Koeffizient h0(t) von diesem Datenspeicher wiedergewinnen und in einem der Akkumulatoren speichern (z. B., ma0 oder 112). Anschließend kann während dem ersten Zyklus der Koeffizientenaktualisierungsschleife der zweite Koeffizient von dem zweiten Datenspeicher (z. B., 138) gelesen und in einem anderen Akkumulatoren (z. B., mal oder 114) gespeichert werden. Während demselben Zyklus multipliziert der Multiplizierer 102 den ersten Datenabtastwert von dem Abtastspeicher 120 mit der Konstante α(t) von dem mx0 Register 128. Der B-Bit Addierer 104 addiert das Produkt der Multiplikation mit dem ersten Koeffizienten von dem Akkumulatoren ma0 (112), und er speichert das Ergebnis in demselben Akkumulatoren.
  • Während dem zweiten Zyklus der Koeffizientenaktualisierungsschleife wird der dritte Koeffizient von dem ersten Datenspeicher 136 gelesen und in einem Akkumulatoren gespeichert (z. B., ma2 oder 116). Weiterhin multipliziert während demselben Zyklus der Multiplizierer 102 den zweiten Datenabtastwert von dem Abtastspeicher 120 mit der Konstante α(t) von dem Register mx0. Der B-Bit-Addierer 104 addiert das Produkt der Multiplikation zu dem zweiten Koeffizienten von dem Akkumulatoren mal (114), und er speichert das Ergebnis in demselben Akkumulator.
  • Während dem dritten Zyklus der Koeffizientenaktualisierungsschleife wird der vierte Koeffizient von dem zweiten Datenspeicher (138) gelesen und in einem Akkumulatoren (z. B., ma3 oder 118) gespeichert. Weiterhin multipliziert während demselben Zyklus der Multiplizierer 102 den dritten Datenabtastwert von dem Abtastspeicher 120 mit der Konstante α(t) von dem Register mx0. Der B-Bit-Addierer 104 addiert das Produkt der Multiplikation zu dem dritten Koeffizienten von dem Akkumulatoren ma2 (116), und er speichert das Ergebnis in demselben Akkumulator. Zusätzlich wird während dieses Zyklus der erste aktualisierte Koeffizient von dem Akkumulatoren ma0 (112) bei der Ursprungsstelle des ersten Koeffizienten in dem ersten Datenspeicher (136) gespeichert. Die oben beschriebenen Betriebsschritte werden anschließend solange wiederholt, bis sämtliche Filterkoeffizienten in den Datenspeichern aktualisiert sind.
  • Damit die DSP-Einheit den Filterbetrieb durchführt, werden während eines Taktzyklus ein fixierter Filterkoeffizient und der zugeordnete adaptive Filterkoeffizient von den jeweiligen Datenspeicherstellen gelesen und beispielsweise in den mx0 und mx1-Registern gespeichert. Gleichzeitig werden die zuvor gespeicherten fixierten und adaptiven Filterkoeffizienten von den mx0 und mx1 Registern gelesen und durch die jeweiligen Multiplizierer 102 und 106 mit dem jeweiligen Signalabtastwert von dem Abtastspeicher 120 multipliziert. Die jeweiligen Ergebnisse werden gespeichert und in zwei der Akkumulatoren (z. B., ma0 und mal) akkumuliert.
  • Demnach lassen sich gemäß der vorliegenden Erfindung aufgrund der Tatsache, daß die jeweiligen Koeffizienten des fixierten und adaptiven Filters in den unterschiedlichen Datenspeichern gespeichert sind, diese Koeffizienten – einer pro Zeitpunkt – kopieren, ohne daß irgendwelche zusätzliche Verzögerungen auftreten. Ferner lassen sich alle grundlegenden Betriebsschritte für einen adaptiven Doppelfilter-Echolösch-Algorithmus, d. h. LMS-Koeffizientenaktualisierung, Berechnung eines Ausgangssignals für die beiden Filter und Kopieren der Koeffizienten, innerhalb eines Taktzyklus pro Abtastwert unter Einsatz der in 4 gezeigten DSP-Architektur erzielen. Als solches beträgt die Berechnungskomplexität der in 4 gezeigten DSP-Architektur lediglich 3*N, im Gegensatz zu der Berechnungskomplexität von 6*N für bestehende Universal-Echolösch-DSP-Einheiten.
  • Insbesondere wird durch den Einsatz des Paars der Multiplizierer/Addierkombinationen, wie in 4 gezeigt, auch eine Plattform bereitgestellt, für eine wirksamere Berechnung der Energie- und Korrelationsschätzwerte, die zum Steuern der Doppelfilterbetriebsschritte und zum Durchführen der erforderlichen Vergleiche eingesetzt werden. Weiterhin läßt sich – betrachtet vom Standpunkt eines Wirkungsgrads – die B-Bit ALU-Einheit 110 zum Verarbeiten anderer Echolöschfunktionen einsetzen, wie beispielsweise den in 1 gezeigten NLP- und DTD-Funktionen. Ferner ermöglicht der Einsatz mehrerer (z. B., von vier) Akkumulatoren das Bereitstellen eines erheblichen Umfangs an Berechnungsflexibilität beim Speichern der Zwischenergebnisse der Berechnungsbetriebsabläufe, wodurch die Zahl der auf die Datenspeicher durchgeführten Zugriffe signifikant verringert ist.
  • Obgleich eine bevorzugte Ausführungsform des Verfahrens und Geräts der vorliegenden Erfindung in der beiliegenden Zeichnung dargestellt und in der vorangehenden detaillierten Beschreibung beschrieben ist, ist zu erkennen, daß die Erfindung nicht auf die offenbarte Ausführungsform beschränkt ist, sondern zahlreiche Umordnungen, Modifikationen und Substitutionen möglich sind, ohne von dem Sinngehalt der Erfindung abzuweichen, wie er in den folgenden Patentansprüchen herausgestellt und definiert ist.

Claims (13)

  1. Gerät für den Einsatz zum Verarbeiten adaptiver Filterecholöschinformation, enthaltend: einen Abtastspeicher (120) zum Speichern mehrerer Eingangssignalabtastwerte; mehrere Multiplizierer (102, 106), derart, daß mindestens einer der mehreren Multiplizierer mit einem Ausgang des Abtastspeichers (120) gekoppelt ist; mehrere Addierer (104, 108), derart, daß ein Ausgang jedes der mehreren Multiplizierer (102, 106) mit mindestens einem der mehreren Addierer (104, 108) gekoppelt ist; und mehrere temporäre Speichereinrichtungen (112, 114, 116, 118), derart, daß ein Eingang und ein Ausgang jeder der mehreren temporären Speichereinrichtungen (112, 114, 116, 118) selektiv mit mindestens einem der mehreren Multiplizierer (102, 106) und der mehreren Addierer (104, 108) gekoppelt ist.
  2. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß es ferner mehrere Datenspeichereinrichtungen enthält, derart, daß jede der mehreren Datenspeichereinrichtungen mit einem Eingang mindestens eines der mehreren Multiplizierer (102, 108) gekoppelt ist.
  3. Gerät nach Anspruch 2, dadurch gekennzeichnet, daß jede der mehreren Datenspeichereinrichtungen mit mindestens einer der mehreren temporären Speichereinrichtungen (112, 114, 116, 118) gekoppelt ist.
  4. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß das Gerät einen digitalen Signalprozessor (100) enthält.
  5. Gerät nach Anspruch 4, dadurch gekennzeichnet, daß es ferner mehrere Datenspeichereinrichtungen enthält, die in einem Kern des digitalen Signalprozessors (100) angeordnet sind.
  6. Gerät nach Anspruch 4, dadurch gekennzeichnet, daß es ferner mehrere Datenspeichereinrichtungen (136, 138) enthält, die außerhalb eines Kerns des digitalen Signalprozessors (100) angeordnet sind.
  7. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß jede der mehreren temporären Speichereinrichtungen (112, 114, 116, 118) einen Akkumulator enthält.
  8. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß es ferner ein Rechenwerk (110) enthält, derart, daß ein Eingang und ein Ausgang des Rechenwerks mit mindestens einem der mehreren temporären Speichereinrichtungen, der mehreren Multiplizierer und der mehreren Addierer gekoppelt ist.
  9. Gerät nach Anspruch 8, dadurch gekennzeichnet, daß es ferner ein Schieberegister (140) enthält.
  10. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die mehreren Multiplizierer (102, 108) zwei Multiplizierer enthalten.
  11. Gerät nach Anspruch 10, dadurch gekennzeichnet, daß die mehreren Addierer (104, 108) zwei Addierer enthalten.
  12. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die mehreren temporären Speichereinrichtungen (112, 114, 116, 118) vier Akkumulatoreinrichtungen enthalten.
  13. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die mehreren Eingangssignal-Abtastwerte N-Eingangssignal-Abtastwerte enthalten.
DE19882141T 1997-02-28 1998-02-26 Adaptive Doppelfilter-Echolöschung Expired - Fee Related DE19882141B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/810,601 US5933797A (en) 1997-02-28 1997-02-28 Adaptive dual filter echo cancellation
US08/810,601 1997-02-28
PCT/SE1998/000349 WO1998038582A1 (en) 1997-02-28 1998-02-26 Adaptive dual filter echo cancellation

Publications (2)

Publication Number Publication Date
DE19882141T1 DE19882141T1 (de) 2000-01-13
DE19882141B4 true DE19882141B4 (de) 2009-01-02

Family

ID=25204205

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19882141T Expired - Fee Related DE19882141B4 (de) 1997-02-28 1998-02-26 Adaptive Doppelfilter-Echolöschung

Country Status (8)

Country Link
US (1) US5933797A (de)
JP (1) JP4445041B2 (de)
CN (1) CN1126049C (de)
AU (1) AU6642498A (de)
DE (1) DE19882141B4 (de)
GB (1) GB2341067B (de)
MY (1) MY122103A (de)
WO (1) WO1998038582A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2758677B1 (fr) * 1997-01-21 1999-04-02 Matra Communication Procede d'annulation d'echo et annuleur d'echo mettant en oeuvre un tel procede
US6279020B1 (en) * 1997-12-23 2001-08-21 U.S. Philips Corporation Programmable circuit for realizing a digital filter
US6571268B1 (en) 1998-10-06 2003-05-27 Texas Instruments Incorporated Multiplier accumulator circuits
EP0992885B1 (de) * 1998-10-06 2005-12-28 Texas Instruments Incorporated Multiplizier-Akkumulatorschaltungen
US6687373B1 (en) 1999-08-24 2004-02-03 Nortel Networks Limited Heusristics for optimum beta factor and filter order determination in echo canceler systems
US6557022B1 (en) * 2000-02-26 2003-04-29 Qualcomm, Incorporated Digital signal processor with coupled multiply-accumulate units
US6725360B1 (en) * 2000-03-31 2004-04-20 Intel Corporation Selectively processing different size data in multiplier and ALU paths in parallel
US6714956B1 (en) * 2000-07-24 2004-03-30 Via Technologies, Inc. Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
US7068780B1 (en) * 2000-08-30 2006-06-27 Conexant, Inc. Hybrid echo canceller
US7346012B2 (en) 2002-12-13 2008-03-18 Tioga Technologies Ltd. Transceiver with accelerated echo canceller convergence
US20040193668A1 (en) * 2003-03-31 2004-09-30 Patrick Devaney Virtual double width accumulators for vector processing
US7716712B2 (en) * 2003-06-18 2010-05-11 General Instrument Corporation Narrowband interference and identification and digital processing for cable television return path performance enhancement
US20060224652A1 (en) * 2005-04-05 2006-10-05 Nokia Corporation Instruction set processor enhancement for computing a fast fourier transform
GB2439988A (en) * 2005-06-01 2008-01-16 Tecteon Plc Subband coefficient adaptor for adaptive filter
US8078659B2 (en) * 2005-10-31 2011-12-13 Telefonaktiebolaget L M Ericsson (Publ) Reduction of digital filter delay
US9185233B2 (en) * 2010-05-25 2015-11-10 Intel Deutschland Gmbh Audio communication device and method using fixed echo cancellation filter coefficients
DE102012220488A1 (de) * 2012-11-09 2014-05-15 Robert Bosch Gmbh Teilnehmerstation für ein Bussystem und Verfahren zur Verbesserung der Empfangsqualität von Nachrichten bei einer Teilnehmerstation eines Bussystems
WO2023272631A1 (zh) 2021-06-30 2023-01-05 深圳市汇顶科技股份有限公司 音频信号的降噪方法、音频信号处理装置及电子设备
CN113194378B (zh) * 2021-06-30 2021-11-26 深圳市汇顶科技股份有限公司 音频信号的降噪方法、音频信号处理装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986002181A1 (en) * 1984-09-28 1986-04-10 Motorola, Inc. A digital signal processor for single cycle multiply/accumulation
EP0505884A2 (de) * 1991-03-29 1992-09-30 Hitachi, Ltd. Arithmetische Schaltung für adaptive Filter und Echoauslöscher

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8901247A (nl) * 1989-05-19 1990-12-17 Philips Nv Adaptief tijddiscreet transversaal filter.
US5388092A (en) * 1989-06-27 1995-02-07 Nec Corporation Echo canceller for two-wire full duplex digital data transmission
JPH0344218A (ja) * 1989-07-12 1991-02-26 Fujitsu Ltd 適応形エコーキャンセラ
JPH03159423A (ja) * 1989-11-17 1991-07-09 Fujitsu Ltd エコーキャンセラにおけるダブルトーク検出方式
US5001661A (en) * 1990-01-23 1991-03-19 Motorola, Inc. Data processor with combined adaptive LMS and general multiplication functions
JP2518433B2 (ja) * 1990-01-24 1996-07-24 日本電気株式会社 ダブルト―ク検出回路
JP3135902B2 (ja) * 1990-05-11 2001-02-19 株式会社日立製作所 自動等化器及び半導体集積回路
EP0466997A1 (de) * 1990-07-18 1992-01-22 International Business Machines Corporation Verbesserte digitale Signal-Verarbeitungsarchitektur
US5278872A (en) * 1991-05-28 1994-01-11 North American Philips Corporation System and circuit architecture for echo cancellation and a television receiver comprising same
JP2792311B2 (ja) * 1992-01-31 1998-09-03 日本電気株式会社 多チャンネルエコー除去方法および装置
US5396517A (en) * 1993-03-04 1995-03-07 Adtran Transversal filter useable in echo canceler, decision feedback equalizer applications for minimizing non-linear distortion in signals conveyed over full duplex two-wire communication link
US5381357A (en) * 1993-05-28 1995-01-10 Grumman Corporation Complex adaptive fir filter
JPH07288493A (ja) * 1994-04-18 1995-10-31 Fujitsu Ltd ダブルトーク検出装置
US5652903A (en) * 1994-11-01 1997-07-29 Motorola, Inc. DSP co-processor for use on an integrated circuit that performs multiple communication tasks
US5631957A (en) * 1995-03-09 1997-05-20 National Semiconductor Corporation Band-energy near-end echo reducer for tonal signalling detectors
US5745396A (en) * 1995-04-28 1998-04-28 Lucent Technologies Inc. Pipelined adaptive IIR filter
US5721782A (en) * 1996-03-25 1998-02-24 Motorola, Inc. Partitioned echo canceler utilizing decimation echo location

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986002181A1 (en) * 1984-09-28 1986-04-10 Motorola, Inc. A digital signal processor for single cycle multiply/accumulation
EP0505884A2 (de) * 1991-03-29 1992-09-30 Hitachi, Ltd. Arithmetische Schaltung für adaptive Filter und Echoauslöscher

Also Published As

Publication number Publication date
JP2001513293A (ja) 2001-08-28
DE19882141T1 (de) 2000-01-13
CN1249829A (zh) 2000-04-05
GB9920266D0 (en) 1999-10-27
AU6642498A (en) 1998-09-18
MY122103A (en) 2006-03-31
JP4445041B2 (ja) 2010-04-07
CN1126049C (zh) 2003-10-29
GB2341067B (en) 2001-11-07
US5933797A (en) 1999-08-03
GB2341067A (en) 2000-03-01
WO1998038582A1 (en) 1998-09-03

Similar Documents

Publication Publication Date Title
DE19882141B4 (de) Adaptive Doppelfilter-Echolöschung
DE69535116T2 (de) Echokompensator und Echopfadschätzungsverfahren
DE69732917T2 (de) Gegensprech und echopfadveränderungsdetektion in einem telefonsystem
DE69631086T2 (de) Teilbandechokompensationsverfahren unter Verwendung eines Projektionsalgorithmus
CA2118654C (en) Method of identifying an unknown system with a band-splitting adaptive filter and a device thereof
DE60010030T2 (de) Echounterdrückungsvorrichtung
AU704540B2 (en) An acoustical echo canceller with sub-band filtering
DE69734932T2 (de) Schätzung der verzögerung auf einem echopfad
DE2713478C2 (de)
EP0930726B1 (de) Verfahren zur Echounterdrückung mit adaptiven FIR-Filtern
DE69836240T2 (de) Echounterdrückung unter Verwendung von Vordergrund- und Hintergrundfiltern
DE69636570T2 (de) Echokompensation und -unterdrückung
DE2727242B2 (de) Schaltungsanordnung für simultane Zweiwegdatenübertragung über Zweidrahtverbindungen
DE19714322A1 (de) Echokompensationsvorrichtung
Yasukawa et al. An acoustic echo canceller using subband sampling and decorrelation methods
DE19956088A1 (de) Einseiten-Unterband-Filter
CH651980A5 (de) Verfahren und vorrichtung zur verarbeitung von abtastwerten eines ankommenden signals.
Naylor et al. Subband adaptive filtering for acoustic echo control using allpass polyphase IIR filterbanks
DE60126105T2 (de) Adaptives frequency domain filter mit partitionierten blöcken
DE69631708T2 (de) Einrichtung zur Echounterdrückung
EP0855806B1 (de) Echosperre für ein Spracheingabe Dialogsystem
DE60132900T2 (de) Echolöschverfahren und einrichtung für eine multiplexleitung
DE69633454T2 (de) Adaptives echounterdrückungsverfahren
EP0776118B1 (de) Verfahren zur Echokompensation
EP1230744A1 (de) Vorrichtung und verfahren zur echokompensation bei gleichlage-übertragungsverfahren im duplex-betrieb über eine zweidrahtleitung

Legal Events

Date Code Title Description
8180 Miscellaneous part 1

Free format text: DER ANMELDER IST ZU AENDERN IN: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL), STOCKHOLM, SE

8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: H04L 2503

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee