[go: up one dir, main page]

DE2713478C2 - - Google Patents

Info

Publication number
DE2713478C2
DE2713478C2 DE2713478A DE2713478A DE2713478C2 DE 2713478 C2 DE2713478 C2 DE 2713478C2 DE 2713478 A DE2713478 A DE 2713478A DE 2713478 A DE2713478 A DE 2713478A DE 2713478 C2 DE2713478 C2 DE 2713478C2
Authority
DE
Germany
Prior art keywords
stored
signal
digital
value
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
Application number
DE2713478A
Other languages
English (en)
Other versions
DE2713478A1 (de
Inventor
Otakar Anthony Bethesda Md. Us Horna
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.)
Comsat Corp
Original Assignee
Comsat Corp
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 Comsat Corp filed Critical Comsat Corp
Publication of DE2713478A1 publication Critical patent/DE2713478A1/de
Application granted granted Critical
Publication of DE2713478C2 publication Critical patent/DE2713478C2/de
Granted 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Description

Die Erfindung bezieht sich auf einen Echokompensator gemäß dem Oberbegriff des Anspruchs 1 (DE-OS 23 34 546).
Der Aufsatz "Analysis of an adaptive impulse response echo canceller" von S. J. Campanella, H. G. Suyderhoud, M. Onufry in "CONSAT Technical Review", Band 2, Nr. 1, Frühjahr 1972, S. 1 bis 38, offenbart einen Echokompensator, bei dem die Kompensation digital durchgeführt wird. Mit der digitalen Kompensation werden die Schwierigkeiten beseitigt, die sich bei analogen Echokompensatoren ergeben, wie sie in einem Aufsatz von M. J. Sondhi: "An Adaptive Echo Canceller" im "Bell System Technical Journal", Band 46, Nr. 3, März 1967, S. 497 bis 511 beschrieben sind. Diese analog arbeitenden Echokompensatoren enthalten eine Verzögerungsleitung, die ein Abbild eines Echosignals erzeugt, das vom empfangenen Signal subtrahiert wird. Analoge Verzögerungsleitungen sind schwierig aufzubauen, wenn Umlaufverzögerungen von mehreren zehn Millisekunden vorhanden sind.
Obwohl das grundlegende Konzept des oben erwähnten digitalen Echokompensators sinnvoll ist, läßt er sich nur mit großem Aufwand realisieren. Maßgebend dafür ist hauptsächlich der breite dynamische Bereich der Sprache und die große Umlaufverzögerung 2t zwischen der Gabelschaltung und dem Echokompensator. Für annehmbare Ergebnisse bei verschiedenen Signalpegeln muß die Sprache abgetastet, quantisiert und mit einer Genauigkeit von 11 bis 12 Bits verarbeitet werden. Die Echoverzögerung 2t kann in einigen Telephonnetzen bis zu 50 Millisekunden lang sein. Mit einer Abtastfolge von 8 kHz muß der digitale Echokopensator daher in der Lage sein 1k- bis 2k-Bytes zu speichern und diese Bytes parallel bei einer Taktfolge von mehr als 3 MHz zu verarbeiten. Daraus ergibt sich, daß der digitale Echokompensator fast zwei Größenanordnungen komplizierter (und kostspieliger) als die hochentwickelsten Echosperren ist. Echosperren sind elektromechanische oder elektronische sprachbetätigte Schalter, die den Echoweg gemäß der Richtung des Signals in dem Vierdrahtabschnitt unterbrechen.
Echosperren können jedoch hauptsächlich unter den folgenden ungünstigen Bedingungen eine ausreichende Qualtität für die Zweiwegübertragung nicht herbeiführen:
  • a) Wenn beide Teilnehmer gleichzeitig zu sprechen versuchen, d. h. während der sogenannten Doppelsprechperiode.
  • b) wenn zwischen den beiden miteinander verbundenen Fernsprechapparaten ein wesentlicher Unterschied in dem ausgesendeten Signalpegel besteht, vorausgesetzt, daß sonstige Verluste in der Schaltung gering sind,
  • c) wenn die Echodämpfung geringer als 9 dB ist.
Mit zunehmender Umlaufverzögerung steigern diese Voraussetzungen ihre nachteiligen Wirkungen, nicht nur wegen der langen Ausbreitungszeit zwischen den miteinander verkehrenden Teilnehmern, sondern auch weil über die Umlaufverzögerung zwei Telefonnetze miteinander verbunden sind, die nach unterschiedlichen Normen aufgebaut und betrieben werden, wobei die durchschnittliche Echodämpfung μ HL und die Standardabweichung von dieser Dämpfung s HL unterschiedliche, gewöhnlich ungünstigere Werte als die Netze in den U.S.A. haben.
Die DE-OS 23 34 546 beschreibt einen gattungsgemäßen, digital arbeitenden, adaptiven Echokompensator, bei dem jeder abgetastete Signalwert feinstufig mit 12 Bits quantisiert wird. Die Abtastwert gelangen in ein Verzweigungsnetzwerk in Form eines Schieberegisters, das die Abtastwerte in Zeitmultiplex ausgibt. Durch das Verzweigungsnetzwerk werden Systeme mit untereinander linear uanbhängigen Impulsantworten nachgebildet. Die Ausgangssignale des Schieberegisters werden im Zeitmultiplex über ein Einstellglied geführt, das über ein Integrierglied von einem Multiplizierer gesteuert wird. Durch den Multiplizierer wird das jeweilige Ausgangssignal mit einem Bewertungsfaktor und dem Restechosignal multipliziert. Die Multiplikation des Restechosignals mit dem Bewertungsfaktor wird dabei vor der Multiplikation mit dem jeweiligen Ausgangssignal ausgeführt. Für die Erzeugung des Bewertungsfaktors ist eine Steuereinrichtung vorgesehen, der das Summensignal der quadrierten Ausgangssignale des Verzweigungsnetzwerks und das Restechosignal jeweils im Zweier-Exponenten-Code zugeführt werden. In der Steuereinrichtung werden die Multiplikationen auf Additionen und die Divisionen auf Subtraktionen der als jeweils eine gerundete Zweierpotenz dargestellten Werte zurückgeführt. Die Ausgangssignale des Einstellgliedes werden als simuliertes Echosignal in subtrahierendem Sinn den Signalen der abgehenden Richtung des Vierdrahtweges zugesetzt.
Es ist ferner ein Analog-Digital-Umwandler bekannt, der eine logarithmische Kompressionscharakteristik hat. Auf diese Weise stehen für die Analogsignale mit niedrigen Amplitudenwerten mehr Quantisierungspegel als für Analogsignale mit größeren Amplituden zur Verfügung. Mit dieser Maßnahme sollen Quantisierungsverzerrungen bei kleineren Signalamplituden vermindert werden. Dadurch wird bei der Übertragung pulsmodulierter Signale der Störabstand verbessert (US-PS 39 05 028).
Neben der vorstehend erläuterten logarithmischen Kompression pulsmudulierter Signale vor der Übertragung ist die logarithmische Expansion am empfängerseitigen Ende der Übertragungsstrecke mit einem Digital/Analog-Umwandler bekannt, der eine logarithmische Kennlinie aufweist (US-PS 38 77 026).
Der Erfindung liegt die Aufgabe zugrunde, einen Echokompensator der im Oberbegriff des Anspruchs 1 beschriebenen Gattung derart weiterzuentwickeln, daß bei unterschiedlichen Signalpegeln und in einem breiten dynamischen Bereich der Eingangssignale sowie bei großen Echoverzögerungen eine hohe Genauigkeit der Echokompensation mit möglichst geringem Aufwand bei wirtschaftlicher Herstellbarkeit erreichbar ist.
Die Aufgabe wird erfindungsgemäß durch die im kennzeichnenden Teil des Anspruchs 1 beschriebenen Maßnahmen gelöst. Mit den Maßnahmen des Anspruchs 1 läßt sich der konstruktive Aufbau eines Echokompensators, der die Vorteile des digitalen Konzepts aufweist, so weit vereinfachen, daß er zumindest genau so wirtschaftlich gefertigt werden kann wie bekannte Echosperren.
Vorteilhafte Ausgestaltungen oder Weiterbildungen der im Anspruch 1 angegebenen Maßnahmen sind in den Ansprüchen 2 bis 8 gekennzeichnet.
Mit den in den Ansprüchen 1 bis 8 beschriebenen Maßnahmen lassen sich folgende Vorteile erzielen:
  • a) Das Signal in den Empfangs- und Sendewegen wird analog verarbeitet, um die Wahl des internen digitalen Codes des Kompensators nicht einzuschränken.
  • b) Die Abtastwerte der Sprache und der Impulsantwort werden in einem pseudologarithmischen Format codiert, um Speicherplatz einzusparen. Ein Analog-Digital-Wandler wird für die unmittelbare Umwandlung in einen nichtlinearen Code verwendet.
  • c) Die Multiplikation im Faltungsprozessor wird durch Addition der Logarithmen (Basis 2) der Sprach- und der Impulsantwort-Abtastwerte ausgeführt.
  • d) Im Kreuzkorrelationsprozessor wird die Impulsantwort durch Multiplitkation mit einer Konstanten statt durch Addition eines Inkrements auf den neuesten Stand gebracht. Dieser schnell konvergierende Algorithmus vereinfacht die Konstruktion des Fehlerdetektors und macht den Kompensator für "Phasen-Rollen" und schwieriges "Doppelsprechen" weniger empfindlich.
  • e) Die Rückkopplungsschleife des Kreuzkorrelators ist durch nichtlineare Dämpfung und durch die Anpassung der Empfindlichkeit des Fehlerdetektors an veränderliche Signalbedingungen stabilisiert.
  • f) Das Restechosignal wird durch einen ständig adaptiv arbeitenden Mittenschwellenwertbegrenzer mit einer Verminderung der Verzerrung unter den feststellbaren Pegel beseitigt.
  • g) Das schwierige Problem des Übersprechens vom Digitalen ins Analoge wird durch die Teilung jedes Faltungszyklusses in analoge und digitale Perioden gelöst.
Insbesondere werden die Sprach-Abtastwerte x₁ in einem quasilogarithmischen Format codiert. Eine siebenstellige A-Gesetz-Codierung (A-law-encoding) ist gewählt. Eine Beschreibung der A-Gesetz-Codierung ist auf den Seiten 579 bis 583 der "Transmissions Systems for Communications", vierte Ausgabe, veröffentlicht von "Bell Telephone Laboratories, Inc", Februar 1970 enthalten. Dieses digitale Format ergibt ein angemessenes Nutz-Störsignal-Verhältnis (besser als 30 dB) in einem dynamischen Bereich von 40 dB und erspart ungefähr 35% des X-Register-Umfangs im Vergleich zu einem 11-Bit linearen Code, der zur Erreichung des gleichen Nutz-Störsignal-Verhältnisses notwendig ist. Das H-Register-Wort wird ebenfalls in einem quasi-logarithmischen Format mit einem 3-Bit Exponenten und einer 4-Bit Mantisse gespeichert. Zusammen mit dem Vorzeichenbit ist das h i -Wort 8 Bits lang, was eine Reduzierung der Größe des H-Registers um 27% bedeutet. Die größte Einsparung an Bauelementen läßt sich jedoch durch die Konstruktion des Multiplizierers erzielen. Weil sowohl die x i -Wörter als auch die h i -Wörter im logarithmischen Format vorliegen, wird die Multiplikation x i · h i als Addition von log₂(x₁) + log₂(h i ) ausgeführt. Der große Parallel-Multiplizierer für 11-Bit mal 11-Bit, der gewöhnlich in digitalen Echokomponenten benutzt wird, läßt sich auf diese Weise durch einen Addierer ersetzen. Neue Algorithmen werden für die Berechnung eines durchschnittlichen oder Pseudo-Effektivwerts der Sprachabtastwerte x i verwendet, die im X-Register gespeichert werden. In einer Ausführungsform wird ein Durchschnittswert berechnet. An Stelle einer Addition alle Absolutwerte der gespeicherten Abtastwerte x i in jeder Abtastperiode wird jedoch der älteste Abtastwert subtrahiert und danach wird ein neuer Abtastwert |x i + n + 1| benutzt, um den vorhandenen Inhalt des Speichers für die Durchschnittswerte auf den neuesten Stand zu bringen. Auf diese Weise wird die Zahl der Additionen in jeder Abtastperiode vermindert, wodurch die Verwendung relativ einfacher Schaltungen ermöglicht wird. Als Alternative wird ein Pseudo-Effektivwert erzeugt, indem nur die Absolutwerte der Abtastwerte |x i + j |, die größer als eine bestimmte Schwelle sind, zu dem Inhalt eines Speichers für Pseudo-Effektivwerte addiert werden. Auf diese Weise wird die Zahl der Bits im Effektivwert-Prozessor vermindert. Der 16-Bit Parallel-Addierer-Akkumulator, der üblicherweise für diese Aufgabe in digitalen Echokompensatoren verwendet wird, kann durch einen einfachen Addierer und Überlaufzähler ersetzt werden.
Eine analoge Subtraktion eines simulierten (d. h. berechneten) Echos wird im Rückweg benutzt. Ebenso werden analoge Komparatoren für die sh-Korrektur an Stelle von digitalen Schaltungen verwendet. Mit preiswerten Operationsverstärkern und Komparatoren in Form von integrierten Schaltungen vereinfacht diese Technik nicht nur die Schaltung durch die Beseitigung eines Analog-Digital-Wandlers und eines Digital-Analog-Wandlers im Kompensator, sondern sie verhindert auch das Quantisierungsrauschen und Verzerrungen im Rücklaufsignalweg. Das digitale Signal wird nur im Inneren des Echokompensationsprozessors verwendet und braucht daher nicht mit verschiedenen Sprachkanalnormen, wie z. B. dem A-Gesetz (A-law) übereinzustimmen, das von C. C. I. R. genormt ist, während eine andere Kompandierungstechnik, das sogenannte µ-Gesetzt (µ-law) von dem Bell-System gewählt wurde.
Die Leistungsfähigkeit des Echokompensators kann durch die Verwendung eines sogenannten adaptiven Mittenschwellenwertbegrenzers im Rückweg weitgehend verbessert werden. Durch die Verwendung des adaptiven Mittenschwellenwertbegrenzers und einer Vor- und Nachanhebungstechnik kann die vom Mittenschwellenwertbegrenzer hervorgerufene Verzerrung weitgehend vermindert werden. Eine einfache hybride Analog-Digital-Schaltung ermöglicht die automatische Anpassung des Begrenzungspegels auf den optimalen Wert gemäß dem echoerzeugenden Signalpegel.
Weitere Einzelheiten, Merkmale und Vorteile ergeben sich aus der folgenden Beschreibung eines zeichnerisch dargestellten Ausführungsbeispiels. Es zeigt
Fig. 1 einen Systemschaltplan eines digitalen Echokompensators nach dem gegenwärtigen Stand der Technik,
Fig. 2 einen Systemschaltplan eines logarithmischen Echokompensators gemäß der Erfindung,
Fig. 3 ein Blockschaltbild eines in dem System gemäß Fig. 2 benutzten Faltungsprozessors,
Fig. 4 ein Blockschaltbild eines Durchschnittswertprozessors, der in einem Kreuzkorrelator einer Ausführungsform des in Fig. 2 dargestellten Systems benutzt werden kann,
Fig. 5 und 6 graphische Darstellung der Näherungen y + x² und z = , die in einem digitalen Effektivwertprozessor nach einer alternativen Ausführungsform der Erfindung benutzt werden,
Fig. 7 ein Blockschaltbild eines digitalen Effektivwertprozessors, der ein Teil des Kreuzkorrelators bildet, der in der alternativen Ausführungsform des in Fig. 2 dargestellten Systems verwendet wird.
Gemäß Fig. 1, die den gegenwärtigen Stand der Technik der Hardware-Realisierung von digitalen Echokompensatoren zeigt, wird das ankommende Telephonsignal X(t) in einem geschalteten Dynamikpresser-Verstärker 101 verstärkt, um den Signalpegel anzupassen und das System vor Überlastung zu schützen. Das Ausgangssignal des Verstärkers 101 wird einerseits über einen Sperrverstärker 102 dem Eingang einer eine Vierdraht- mit einer Zweidrahtleitung verbindenden Gabelschaltung 103 und andererseits dem Eingang einer Abtast- und Halteschaltung 104 zugeführt. Das Ausgangssignal der Abtast- und Halteschaltung 104 X(iT) wird von einem Analog-Digitalwandler 105 in einen 11-Bit digitalen Code umgewandelt.
Der 11-Bit Code enthält ein Vorzeichenbit und 10 Bits der Amplitude. Die 11-Bit-Umwandlung ist notwendig, um den dynamischen Bereich von 40 dB das Eingangstelephonsignals mit einem annehmbaren Nutz-Quantisierungsstörsignal-Verhältnis zu überstreichen. Der digitale Abtastwert X n + 1 wird in einem Multiplexer 106 umgeschaltet und anschließend in einem X-Register 107 zurückbehalten. Das X-Register muß zur Speicherung von n × 11 Bits in der Lage sein, wobei n eine Funktion der erwarteten Verzögerung der Telephonschaltung und der Abtastfrequenz der Abtast- und Halteschaltung 104 ist. Gewöhnlich liegt die Zahl n im Bereich 100 < n < 500 für eine Abtastfolge von 8 kHz (125 µs). Wie in dem oben erwähnten Aufsatz von S. J. Campanella et al. erklärt wurde, muß jeder 11-Bit Abtastwert mit einem der h-Koeffizienten multipliziert werden, die im H-Register 108 während jeder Abtastperiode gespeichert werden. Deshalb muß ein Parallelmultiplizierer verwendet werden, der in der Lage ist 11-Bit mal 11-Bit zu multiplizieren.
Die Produkte h · x i + j werden mit dem richtigen Vorzeichen in einem Akkumulator 110 addiert, der eine Kapazität von wenigstens 20 · [1 + log₂ n] Bits haben muß. Die Summe der Produkte wird anschließend durch n dividiert; und ein weiteres 11-Bit Wort, das den vorausberechneten Echoabtastwert darstellt, wird in einem Register 111 gespeichert. Der Multiplizierer 109 und der Akkumulator 110 bilden den Faltungsprozessor des digitalen Echokompensators. Das Echosignal wird in der Abtast- und Halteschaltung 112 ebenfalls abgetastet, die mit einem Ausgang der, eine Vierdraht- in eine Zweidrahtleitung umwandelnden, Gabelschaltung 103 verbunden ist. Das von der Abtast- und Halteschaltung 112 abgetastete Echosignal wird in einem Analog-Digital-Wandler 113 in einen digitalen 11-Bit Code umgeformt. Dieser 11-Bit Code wird in einer Subtrahierschaltung 114 von dem vorausberechneten Echoabtastwert des Registers 111 subtrahiert. Die Differenz ε i wird von einem Digital-Analog-Wandler 115 in ein analoges Signal E (t) umgeformt, um die Rückleitung mit einem analogen Sprachsignal zu betreiben.
Durch digitale Kreuzkorrelationstechniken wird der Inhalt des H-Registers ständig auf den neuesten Stand gebracht. Die Absolutwerte des digitalen Signals vom Analog-Digital-Wandler 105 werden über den Multiplexer 106 zu dem Inhalt des Akkumulators 116 addiert, der eine Kapazität von 10 · [1 + log₂ n] Bits haben muß. Diese Summe wird in einer Dividierschaltung 117 durch n dividiert. Dieser Durchschnittswert der n Abtastwerte des Signals X(t) wird in einem Speicher 118 von 10 Bit gespeichert. Jeder Abtastwert im X-Register 107 wird in einem digitalen Komparator 119 mit dem im Speicher 118 enthaltenen Durchschnittswert verglichen. Mit diesem Vorgang wird ein binäres Korrektursignal Φ i bestimmt. Dieses Signal steuert das ständige auf den neuesten Stand-Bringen des Inhalts des H-Registers 108, indem in einer Addier/Subtrahierschaltung 120 ein Signal Δ h von 3 Bit zu verschiedenen Koeffizienten h i addiert oder von diesen subtrahiert wird. Das Δ h-Signal wird in einem digitalen Komparator 121 von 11 Bit erzeugt, der das Ausgangssignal der Subtrahierschaltung 114 empfängt.
Die Theorie der Arbeitsweise des digitalen Echokompensators wird im folgenden erläutert. Das H-Register 108 speichert n Abtastwerte h i der Einheitsechoimpulsantwort in digitaler Form. Das X-Register 107 speichert n neue Sprachabtastwerte x i + j des Analog-Digital-Wandlers 105. Während der j-sten Abtastperiode wird die j-ste Schätzung des Echos r j in dem Faltungsprozessor berechnet:
Dieser Schätzwert wird von dem echten Echo y j abgezogen. Am Ausgang der Subtrahierschaltung 114 ergibt sich ein Fehlersignal, d. h. ein Restecho:
ε j = y j - r j (2)
Das Restecho ε j wird erfaßt und nichtlinear in Q j ) quantisiert. Ein Korrekturwert Δ h i, j wird für jeden Abtastwert h j durch Verwendung eines modifizierten Widrow-Hoff-Algorithmus der kleinsten mittleren Quadrate (LMS) berechnet:
wobei
Φ i + j = 0 für |x i + j | < X j
Φ i + j = 1 für |x i + j | < X j
ist.
Sg (x i + j ) ist das Vorzeichen von x i + j · X j ist eine dem Effektivwert der n neuesten Sprachsignalabtastwerte proportionale Größe:
Der Korrekturwert Δ h i, j wird mit dem richtigen Vorzeichen zu jedem entsprechenden Abtastwert h i hinzuaddiert, so daß sein neuer Wert:
h i ′ = h i · Δ h i, j (5)
ist.
Diese auf den neuesten Stand gebrachten Werte von h i ′ werden zur Berechnung der nächsten (j + 1)ten Schätzung r j + 1 für eine neue Reihe von x i + j + 1 Sprachabtastwerten benutzt. Der neue Fehlerwert ε j + 1 wird anschließend zur Berechnung einer anderen Reihe von Korrekturwerten Δ h i, j + 1 verwendet. Durch die Verwendung dieses einfachen, sich gegenseitig beeinflussenden Korrelationsverfahrens wird die Impulsantwort im H-Register 108 aufgebaut und kontinuierlich auf den neuesten Stand gebracht, wenn Änderungen auftreten.
Campanella et al, und Widrow haben gezeigt, daß dieser Algorithmus konvergent ist, d. h. ε j → 0 nach dem Verfahren der steilsten Abnahme, und sie haben das Stabilitätskriterium dieses Verfahrens abgeleitet. Unter ungünstigsten Bedingungen, d. h. wenn die Echodämpfung der "Gabelschaltung" < 5dB ist, muß der digitale Echokompensator das ankommende Echosignal y j um mehr als 26 dB dämpfen, um die erforderliche Dämpfung m RL 30 dB zu erreichen. Dies bedeutet, daß der relative Wert des Fehlersignals gemäß Gleichung (2) wie folgt sein muß:
Sowohl die h i als die x i + j Abtastwerte müssen daher mit einer Genauigkeit von 6 Bits quantisiert werden. Der dynamische Bereich der Sprache ist jedoch ungefähr 40 dB, und der Amplitudenbereich der Impulsantwort ist der gleiche wie der mögliche Bereich der Echodämpfung, d. h. < 24 dB. Um die erforderliche Echodämpfung im gesamten dynamischen Bereich zu erzielen, muß daher die Quantisierung der Sprachabtastwerte x i + j 12 Bits betragen. Die Quantisierung der Impulstastwerte h i muß wenigstens 9 Bits umfassen.
Die Verzögerung im Vierdrahtabschnitt zwischen der Gabelschaltung und dem Echokompensator liegt üblicherweise im Bereich von 0 < t E 16 ms. Die Impulsantwort kann deshalb um so viel wie 2t E = 32 ms verzögert werden. Für Telephongespräche muß eine Abtastperiode von T s 125 µs verwendet werden. Um den möglichen Bereich der Verzögerung zu überdecken, müssen wenigstens n Abtastwerte in den H- und X-Registern gespeichert werden, wobei
d. h. der Speicherbedarf ist 256 × (12 + 9) = 5376 Bits.
Um den Echoschätzwert r j nach Gleichung (1) zu berechnen, müssen 256 Multiplikationen und 256 Additionen dieser Produkte während jeder Abtastperiode T s = 125 µs ausgeführt werden. Dies erfordert eine parallele Verarbeitung im Multiplizierer, der (mit dem Speicher) den größten Teil der Hardware und damit der Kosten des digitalen Echokompensators ausmacht.
Bei der vorliegenden Erfindung wurden folgende Schritte zur Verminderung der Kompliziertheit der Hardware unternommen:
  • a) Sowohl im Empfangs- als auch im Sendeweg werden die Signale analog verarbeitet. Deshalb ist die Wahl eines internen digitalen Codes für den Echokompensator nicht durch irgendwelche Normen für Nachrichtenübertragungsnetze beschränkt.
  • b) Die Sprachabtastwerte x i + j sind in einem dreizehnsegmentigen pseudologarithmischen Format von 7 Bits (A-Gesetz) codiert, mit dem das gleiche minimale Auflösungsvermögen und der dynamische Bereich wie bei einem linearen Code mit 11 Bits erzielt wird. Die Abtastwerte der Impulsantwort h i sind in einem ähnlichen elfsegmentigen Format durch 8 Bits codiert, das einem linearen Code mit 10 Bits äquivalent ist. Diese Codierung spart mehr als 28% des Speicherraums ein.
  • c) Mit den Abtastwerten x i + j und h i in einem logarithmischen Format wird die Multiplikation von x i + j · h i im Faltungsprozessor (siehe Gleichung 1) als Addition der Logarithmen x i + j und h i ausgeführt. Auf diese Weise wird die gesamte Multiplikation mit zwei Addieren für je 4 Bits, mit einem Nur-Lesespeicher von 512 Bits und mit einem Multiplexer durchgeführt. Diese vermindert die Anzahl von Komponenten des Faltungsprozessors auf weniger als ein Zehntel.
  • d) Der logarithmische Code erlaubt die einfache Ausführung eines neuen, schnellen, adaptiven Kreuzkorrelations-Algorithmus. Die vorhandenen Abtastwerte der Impulsantwort h i werden durch Multiplikation mit einer Konstanten < 1 oder < 1 auf den neuesten Stand gebracht. Dies steht im Gegensatz zu dem, was früher durch die Addition von Δ h i, j gemäß Gleichung (5) getan wurde, d. h der Ausführung des Widrow-Hoff-Algorithmus. Die Aufbauzeit für die Impulsantwort im H-Register ist somit weniger vom Absolutwert der Abtastwerte |h i | abhängig als bei allen anderen Algorithmen.
  • e) Durch die schnelle Konvergenz ist die vorliegende Lösung gegen das sogenannte "Phasen-Rollen" im Echoweg weniger empfindlich als Echokompensatoren, die verwickeltere und "aufwendige" Kreuzkorrelations-Algorithmen verwenden. Die Arbeitsweise läßt sich sogar mit denjenigen Vorrichtungen vergleichen, die die sogenannte doppelte Faltung anwenden.
  • f) Die schnelle Aufbauzeit für h i vereinfacht auch den Aufbau des Detektors für das Doppelsprechen, weil eine teilweise verzerrte Impulsantwort h i in wenigen Millisekunden korrigiert werden kann, d. h. in der kürzesten Periode des "Einfachsprechens". Das bestätigende "ja" reicht gewöhnlich aus, um die verzerrte Impulsantwort voll zu regenerieren.
  • g) In einer Ausführungsform wird ein neuer Algorithmus für die Berechnung des Durchschnittswerts der Sprachabtastwerte x i verwendet, die im X-Register gespeichert sind.
  • h) In einer alternativen Ausführungsform wird der Pseudo-Effektivwert X j der gespeicherten Sprachabtastwerte in einfacher Weise durch die Zählung der Anzahl von Überträgen eines Akkumulators für 4 Bits mit einem Übertragungsausgang berechnet.
  • i) der Wert X j wird auch als Bezugsspannung für den adaptiven Mittenschwellenwertbegrenzer benutzt, der weiterhin das Restechosignal ε j unter den Rauschpegel des Systems vermindert.
  • j) X j wird auch als Bezugswert im Fehlerdetektor benutzt, um seine Empfindlichkeit einzustellen. Dies und eine nichtlineare "Dämpfung" durch eine digitale "indifferente Zone" haben es ermöglicht, die Verstärkung im Korrelationsrückkopplungskreis unter Beibehaltung der größtmöglichen Einfachheit der Schaltung zu erhöhen.
  • k) Schließlich wurde eine Studie durchgeführt, um festzulegen, welche Vorgänge wirkungsvoller digital oder analog abgewickelt werden können. Die Verfahren wurden entsprechend ausgewählt. Ein solches "hybrides" System ist immer für das Übersprechen zwischen dem digitalen Teil, dessen Impulse Amplituden von mehreren Volt haben, und dem analogen Teil empfindlich, der Signale im Millivolt-Bereich führt. Das Abtastintervall T s = 125 µs wird im Zeitvielfach ausgenutzt; alle digitalen Arbeitsabläufe werden beispielsweise in den ersten 100 µs ausgeführt. Anschließend wird der Taktgeber angehalten und innerhalb der verbleibenden 25 µs findet die ganze Analogverarbeitung statt. Auf diese Weise ist es beiden Teilen des Systems möglich, ohne Störung und ohne sorgfältige Abschirmung zu arbeiten.
Trotz all dieser Vereinfachungen dämpft der digitale Echokompensator gemäß der vorliegenden Erfindung das Echosignal mit ≈ 22 dB ohne den Mittenschwellenwertbegrenzer. Mit dem Mittenschwellenwertbegrenzer läßt sich eine zusätzliche Dämpfung von < 8 dB erreichen, d. h.
(siehe Gleichung (6) zum Vergleich). Die Konvergenzzeit von ε j ist immer kürzer als 250 ms. Diese Eigenschaften sind teilweise über den dynamischen Bereich von < 28 dB und unter einem "Phasen-Rollen" von sechs Radianten pro Sekunde invariant.
Der Echokompensator gemäß der vorliegenden Erfindung ist in Fig. 2 dargestellt und bedeutet eine bemerkenswerte Einsparung in bezug auf Hardware, während zugleich die Vorteile des digitalen Echokompensators erhalten bleiben. Das ankommende Sprachsignal wird über einen Verstärker 201 mit einem geschalteten Dynamikpresser geleitet, der starke Signale dämpft, die in dem Verarbeitungskreis des Echokompensators eine Überlastung verursachen können. Der Sperrverstärker 202 gewährleistet die einseitige Richtung des Signals, wie vorstehend beschrieben.
Das ankommende Signal wird in einer Abtast- und Halteschaltung 203 abgetastet. Das Vorzeichen des Signals Sg(x i ) wird abgeführt; und der Absolutwert |x(iT)| des Signals wird unmittelbar in einem besonderen Analog-Digital-Wandler 204 in ein kompandiertes A-Gesetz-Signal mit einem Exponenten von 3 Bits und einer Mantisse von 3 Bits umgewandelt in Übereinstimmung mit einer dreizehnsegmentigen A-Gesetz-Kurve. Das A-Gesetz-Format hat den Vorteil, daß es sehr einfach in einen Logarithmus der Basis 2 und in ein lineares Format mit 11 Bits umgewandelt werden kann. Der gesamte digitalisierte Abtastwert x i wird im Multiplexer 205 in Zeitbündelung verarbeitet und anschließend in sieben parallel verbundenen Schieberegistern 206 für n Bits gespeichert. Diese Schieberegister bilden das X-Register. Die Länge n des Schieberegisters muß 200 n 250 Bits lang sein, wobei der genaue Wert von n eine Funktion der erwarteten Verzögerung 2 t E in der Telephonschaltung ist.
Wie bei dem digitalen Echokompensator der in Fig. 1 gezeigt ist, werden die letzten Abtastwerte benutzt, um den Inhalt des Durchschnittswerts oder Pseudo-Effektivwerts, der im Prozessor 207 gespeichert ist, auf den neuesten Stand zu bringen. Der Inhalt des Registers 206 wird mit dem im Prozessor 207 gespeicherten Wert in einem digitalen Komparator 208 verglichen, der ein Steuersignal Φ j erzeugt, um die Addier/Subtrahierschaltung 208 in dem Korrekturverfahren für die Impulsfunktion zu steuern. Dieses Verfahren wird später genauer beschrieben. Der im Prozessor 207 gespeicherte Wert wird auch in einem Digital-Analog-Wandler 210 in eine Bezugsspannung umgewandelt, die dazu verwendet wird, um den adaptiven analogen Mittenschwellenwertbegrenzer 211 und den analogen Komparator 212 voreinzustellen. Ein Bandfilter 213 und eine Schaltung 214 zur Vorverzerrung sind am Eingang des Mittenschwellenwertbegrenzers 211 in Reihe geschaltet, während eine Schaltung 215 zur Nachentzerrung mit dem Ausgang des adaptiven Mittenschwellenwertbegrenzers 211 verbunden ist. Das Bandfilter 213, die Schaltung zur Vorverzerrung 214 und die Schaltung zur Nachentzerrung 215 vermindern die harmonische Verzerrung, die vom Mittenschwellenwertbegrenzer hervorgerufen wird, und bewirken eine Linearisierung der Frequenzcharakteristik des Rückwegs auf einen vorgeschriebenen Wert.
Die jeweils im X-Register 206 und dem H-Register 216 gespeicherten Abtastwerte x i und h i werden in einen logarithmischen Multiplizierer 217 eingegeben. Um die nach dem A-Gesetz codierten Werte von x i und h i unmittelbar ohne weitere lineare A-Gesetz-Umwandlung verwenden zu können wird die Multiplikation entsprechend den drei möglichen Zuständen des Exponenten, die null oder nicht null sein können, auf drei verschiedene Arten durchgeführt. Wenn beide Exponenten null sind, werden die Mantissen unmittelbar in einem Multiplizierer miteinander multipliziert. Falls beide Exponenten null sind, findet die Addition der Exponenten e und Mantissen m in zwei Addierern statt und das Ausgangsresultat des Mantissen-Addierers wird im Multiplizierer mit 2 e multipliziert. Wenn ein Exponent null und der andere nicht null ist, werden beide Mantissen im Multiplizierer unmittelbar miteinander multipliziert. Die Mantisse, deren Exponent null ist, wird dabei zu dem Teilprodukt am Ausgang des Multiplizierers hinzuaddiert. Dieser ziemlich komplizierte Algorithmus, der genauer unter Bezug auf Fig. 3 erläutert wird, ermöglicht eine Realisierung des Multiplizierers mit einer minimalen Anzahl von kommerziell erhältlichen standardisierten integrierten Schaltkreisen. Das vom logarithmischen Multiplizierer 217 gelieferte Ergebnis h i × x i + j wird dann zum Inhalt eines Akkumulators 218 mit 20 Bits hinzuaddiert oder von diesem subtrahiert. Der Multiplizierer und der Akkumulator bilden zusammen den Faltungsprozessor für die Berechnung eines Schätzwerts des Echos. Elf Bits mit den höchsten Stellenwerten einschließlich des Vorzeichenbit werden dann in einem Digital-Analog-Wandler 219 in eine analoge Spannung umgewandelt, die in einem Differenzverstärker 220 vom Echosignal an der Ausgangsabzweigung der eine Vierdrahtleitung mit einer Zweidrahtleitung verbindenden Gabelschaltung 221 subtrahiert wird.
Die analoge Differenzspannung des Differenzverstärkers 220 wird durch die Abtast- und Halteschaltung 222 abgetastet. Diese Differenzspannung wird mit der Bezugsspannung V REF in einer Gruppe von analogen Komparatoren 230 verglichen. Nach dem Zustand des analogen Komparators und in Abhängigkeit vom Vorzeichen Sg(x i ) des entsprechenden Abtastwerts x i wird das Vorzeichen Sg H) und das Korrektursignal Δ H bestimmt. Dieses digitale Signal wird dann der Addier/Subtrahierschaltung 209 zugeführt, wo der Wert Δ H gemäß dem Vorzeichen Sg H) zu der Mantisse der im H-Register 216 gespeicherten Werte h i hinzuaddiert oder davon abgezogen wird. Weil das H-Register 216 um 1 Bit länger (n + 1) als das X-Register 206 ist, verschiebt sich die relative Lage der x i Abtastwerte und der h i Werte nach jedem Abtastzyklus, wenn der "älteste" Abtastwert x i durch den neuen Abtastwert x i + n + 1 ersetzt wird. Dies ist für die Berechnung des nächsten Echoschätzwerts notwendig, der dem Differenzverstärker 220 durch den Digital/Analog-Wandler 219 zugeführt wird. Diese zusätzliche Registerstufe gibt auch die notwendige Zeit vor, um die gespeicherte Impulsantwort zu korrigieren, bevor sie in den Faltungsprozessor eintritt.
Der Faltungsprozessor wird ausführlicher mit Bezug auf die Fig. 3 der Zeichnung beschrieben. Während jeder Abtastperiode T s = 125 µs berechnet der Faltungsprozessor die j-ste Echoschätzung r j , für die gemäß Gleichung (1) folgendes gilt:
Dies bedeutet, daß er n Produkte P i = h i · x i + j der jeweils in den X- und H-Register 206 und 216 gespeicherten Abtastwerte akkumuliert und am Ende des Zyklus den Wert r j im Register 301 speichert, das den Digital-Analog-Wandler 302, wie in Fig. 3 gezeigt, speist. Der analoge Wert r j wird dann vom Echosignal y j subtrahiert (siehe Fig. 2). Weil beide Abtastwerte im Format des A-Gesetzes vorliegen, ist für die Exponenten null: e x = e h = 0 ihr Absolutwert wie folgt:
|x| = m x × 2 × q x = 2 × m x (12)
|h| = m h × 2 × q h = 2 × m h
wobei q x und q h Maßstabsfaktoren für die Digital-Analog-Umwandlung (Quantisierungsschritte) sind, die als q x = q h = 1 gewählt werden können, um die folgenden Überlegungen zu vereinfachen. Für e x < 0 und e h < 0 wird der Abtastwert
|x| = 2 e (1 + m x ) (13) |h| = 2e (1 + m h ) worin die Mantissen definitionsgemäß m x , m h < 1 sind. Es gibt daher vier mögliche Kombinationen von Abtastformaten, die in der Multiplizierer des Faltungsprozessors eintreten. Vier verschiedene Algorithmen werden zur Bildung des Produkts P i = x i + j · h i benutzt. Wenn e x = e h = 0 und die Zahlen |x| und |h| nur drei Bits breit sind [siehe Gleichung (12)], dann ist das Produkt: |P i | = 2² × m x × m h (14) Das Produkt |P i | am Ausgang des Multiplizierers 303 kann mit einer Suchtabelle erzeugt werden, d. h. mit einem 4 × 2⁶ = 256-Bit-Nur-Lesespeicher, der preiswert und leicht verfügbar ist. Wenn entweder e x = 0, e h 1, oder e x 1, e h = 0 ist, dann ist das Produkt |P i | für den letzteren Fall: |P i | = 2et = 2 e + 1(m h - + m x · m h ) (15) In diesem Fall wird auch das Teilprodukt m x × m n aus dem Nur-Lesespeicher-Multiplizierer 303 ausgelesen und zu der Mantisse addiert, die den Exponenten null hat. Genauer gesagt, wird das Teilprodukt aus dem Multiplizierer 303 über den Multiplexer 304 unter Steuerung des Dekoders 305 zum Addierer 306 hin ausgelesen. Zusätzlich wird die Mantisse, die den Exponenten null hat, über den Multiplexer 304 unter Kontrolle des Dekoders 305 zum Addierer 306 übertragen, um das Produkt |P i | zu bilden. Die Summe m h + m x · m h ist nur 5 Bit groß und eine einfache 4-Bit-Addiererschaltung in mittlerer Integrationsdichte kann für diesen Vorgang benutzt werden. Wenn sowohl e x 1 als auch e h 1 sind, dann wird das Produkt |P i | wie folgt berechnet: log₂ |P i | = e x + log₂ (1 + m) + e h + log₂ (1 + m) (16) (siehe Gleichung (13) zum Vergleich). Für 0 m x , m h < 1 ergeben sich angenäherte Ausdrücke: log₂ (1 + m) = m (17) 2 m = 1 + m (18) Die Gleichung (16) kann wie folgt vereinfacht werden: log₂ |P i | = e x + e h + m x + m h = E i + M i , (19) worin der Exponent E i der gesamte Teil der Summe der Gleichung (19) ist, d. h. E i = (e x + e h + m x + m h ); und die Mantisse M i ist der Rest der Gleichung (19) oder M i = e x + e h + m x + m h - E i . Das Produkt |P i | ist dann: |P i | = antilog₂ (E i + M i ) = 2E · (1 + M i + e M ), (20) worin ε M eine Korrektur darstellt, die eine Funktion von m x und m h ist, d. h. ε M = f (m x , m h ). Es gilt immer, daß e M < 2-3 und deshalb kleiner als die Bits mit der niedrigsten Wertigkeit von m x und m h ist. Die Gleichungen (19) und (2) können mit Hilfe von zwei Addierern erfüllt werden, ein Addierer 307 für den Exponenten und ein Addierer 306 für die Mantisse. Die Muiltiplikation des Produkts der Mantissen 2E, wobei E i eine ganze Zahl E i ε {2, . . ., 14} [siehe Gleichungen (14), (15), und (19)] ist, entspricht der Verschiebung der Teilprodukte um E i binäre Stellen vor der Eingabe in den Akkumulator 308. Dies kann mit Hilfe eines Nur-Lesespeichers oder, wie schematisch in Fig. 3 gezeigt, mit einer statischen Verschiebeeinrichtung 309 erreicht werden. Die statische Verschiebeeinrichtung 309 wird mit einer Verschiebesteuerung 310 beeinflußt, die ihrerseits auf die Summe der Exponenten anspricht, wie sie im Dekoder 311 dekodiert wird. Um die Beschreibung der Fig. 3 zu vervollständigen, sei ausgeführt, daß ein NOR-Glied 312 die Vorzeichenbits Sg (x) und Sg (h) erhält und die Addier/Subtrahierbetriebsweise des Akkumulators 308 steuert. Es gibt zwei hauptsächliche Gründe für die Verwendung dieses anscheinend komplizierten Mulitplikationsschemas: a) Geschwindigkeit: Unter allen Bedingungen wird die Multiplikation durch das Auslesen des Nur-Lesespeichers 301 und durch eine einzige Addition ausgeführt, so daß der ganze Vorgang des Multiplizierens x i + j · h i und des Addierens des Produkts in den Akkumulator 308 in einer Taktperiode T c ablaufen kann, selbst wenn Transistor-Transistor-Logik und die längsten Speicherregister mit n + 512 Bits benutzt werden, d. h., wenn T c = 200 ns.b) Einfachheit: Der ganze Multiplizierer besteht aus einem kleinen Nur-Lesespeicher für den Multiplizierer 303, zwei Addierern 306 und 307 und einigen wenigen Gattern, weil alle oben erwähnten Algorithmen relativ leicht mit Hardware realisiert werden können, d. h. der Dekoder 305 muß lediglich feststellen, ob die Exponenten e = 0 oder e 1 etc. sind.Unter nochmaligem Bezug auf die Fig. 2 wird der Kreuzkorrelator genauer beschrieben. Der Kreuzkorrelator-Algorithmus wurde bereits erläutert. Gemäß Gleichung (3) werden die h i -Abtastwerte durch Addition von Δ h i, j [siehe Gleichung (5)] korrigiert, wenn und nur wenn die folgenden Bedingungen erfüllt sind: a) Die Fehlerspannung ε j ist größer als ein bestimmtes Vielfaches des grundlegenden Quantisierungsschritts.b) Der entsprechende Abtastwert |x i + j | ist größer als X j , das dem Effektivwert der Abtastwerte proportional ist, die im X-Register gespeichert sind i + j Funktion).c) Es gibt verschiedene andere interne und/oder externe Bedingungen, die den Korrekturvorgang verhindern. (Die wichtigste ist die "Doppelsprechbedingung", wenn sowohl das Echo Y j und ein Sendesprachsignal im Echoweg vorhanden sind).Jeder h i -Abtastwert wird ebenfalls in ein A-Gesetz Format von 8 Bits codiert und im H-Register 216 als Sg(h i ) + e h + m h gespeichert, wobei das Bit mit dem höchsten Stellenwert das Vorzeichen Sg(h i ) ist, gefolgt von einem Exponenten von 3 Bits, der eine ganze Zahl e h ε {0, . . ., 6} ist, von einer Mantisse 0 < m h < 1 mit 4 Bit. Das Bit mit dem niedrigsten Stellenwert, d. h. das vierte Bit von m h , nämlich 2-4, gelaugt nicht in den Faltungsprozessor, da es nur im Kreuzkorrelationsverfahren benutzt wird, wie es im folgenden beschrieben wird. Wenn e h = 0, d. h. im linearen Segment des A-Gesetz-Codes, ist die Korrelationsformel die gleiche wie sie durch Gleichung (5) gegeben ist, d. h. der Widrow-Hoff-Algorithmus der kleinsten mittleren Quadrate: h i ′ = h i · Δ h i, j = Sg(h i ) · m h · Δ h i, j (21) [siehe Gleichung (12)]. Wenn e h 1 und h i, j « 1, dann ist das Verfahren der Addition von Δ h i, j gemäß Gleichung (17) ungefähr äquivalent zu: e h + m h + Δ h i, j = e h + log₂ (1 + m h ) + log₂ (1 + Δ h j, j ) (22) Die rechte Seite der Gleichung (22) ist gemäß Gleichung (13): log₂ |h i | + log₂ (1 + Δ h i, j ) = log₂ |h i ′| (23) Der korrigierte Abtastwert h i ′ ist deshalb der Numerus der Gleichung (23), d. h.: h i ′ = h i (1 + Δ h i, j ) (24) Der Abtastwert wird deshalb durch einen Multiplizierer mit < 1 oder < 1 gemäß dem Vorzeichen von Δ h i, j multipliziert. Die Zeitkonstante t CR ist daher unabhängig von der Amplitude von h i und beträgt: τ CR = 5 × 2b-3T s , (25) wobei b m die Anzahl der Bits der Mantisse und T s die Abtastperiode ist, d. h. T s = 125 µs. Für eine Mantisse von 4 Bits ist τ CR = 1,25 ms. Damit ist τ CR mehr als eine Größenordnung kürzer als die Zeitkonstante eines ähnlichen Kreuzkorrelators, der den Widrow-Hoff-Algorithmus verwendet. Das gleiche trifft auf die Konvergenzzeit τ CN zu, d. h. der Zeit, zu der die Steigerung der Echodämpfung (ERLE) in der Schaltung einen Punkt von 1 dB unter dem eingeschwungenen Wert von "ERLE" erreicht. Diese Zeit ist eine Funktion der Echodämpfung des Stromkreises, der Statistik und der Amplitude des Signals usw. und kann nur durch das Experiment bestimmt werden. Dieser sehr schnelle Algorithmus ermöglicht eine wesentliche Vereinfachung des Kreuzkorrelators: a) Nur zwei Quantisierungspegel werden für das Fehlersignal ε j benutzt: Q ε j ε {+ 2-4, 0, -2-4} (26)b) Die Korrektur Δ h i, j hat deshalb nur einen festen Wert: Δ h i, j = 2-4, der dem Bit mit dem niedrigsten Stellenwert der Mantisse m h äquivalent ist.c) Die Bezugsspannung des Fehlerabfühlers, die dem Komparator 212 zugeführt wird, hängt von X j ab. Der Detektor ist weniger empfindlich in Gegenwart von Empfangseingangssignalen mit höherem Pegel und umgekehrt. Daher bleibt die Echodämpfung (< 23 dB) ziemlich unabhängig von den Pegeln der Empfangseingangssignale der Sprache über einen dynamischen Bereich von mehr als 23 dB. Bei weißem Rauschen, das eine andere Amplitudenverteilung hat die Sprache, ist der Bereich nur 21 dB.d) Wie oben beschrieben, wird die Korrektur Δ h i, j zu dem Bit von h i mit dem niedrigsten Stellenwert, d. h. zum vierten Mantissenbit hinzuaddiert, das nicht in den Multiplizierer des Faltungsprozessors eintritt. Dies entspricht der Stabilisierung mit einer "indifferenten (toten) Zone" von Regelsystemen mit nichtlinearer Rückkopplung. Diese Technik hält zusammen mit der in c) beschriebenen den Rückkopplungskreis der Echolöschanordnung stabil, selbst wenn die innere Verstärkung, d. h. die Rückflußdämpfung der "Gabelschaltung", sich um mehr als 24 dB verändert.e) Die richtige Arbeitsweise des digitalen Echokompensators bei hoher Rückflußdämpfung und Empfangseingangssignalen mit niedrigem Pegel wird durch die hohen Scheitel ermöglicht, die im Sprachsignal enthalten sind. Sie haben eine um < 15 dB höhere Amplitude als der Effektivwert während einer Silbenperiode T SP = 125 ms und können deshalb den Fehlerabfühler des Kreuzkorrelators wirksam machen, selbst wenn die innere Verstärkung der Rückkopplungsschleife niedrig ist.Wie oben beschrieben [siehe Gleichung (3)], hängen die Arbeitsweisen des analogen Komparators 212, der Addier/Subtrahierschaltung 209 und des Mittenschwellenwertgrenzers 211 von einer Größe X j ab, die dem Durchschnittswert oder Pseudo-Effektivwert der Sprachabtastwerte proportional ist, die im X-Register gespeichert sind: wobei q R eine Proportionalitätskonstante ist. Weil keine der vorstehend erwähnten Funktionen von X AVR oder X j eine höhere Genauigkeit benötigt, werden drei einfache Näherungen zur Berechnung von X j benutzt. Der Durchschnittswert X AVR kann in einem Durchschnittswertprozessor berechnet werden, der in Fig. 4 gezeigt ist. Entsprechend dem Algorithmus, der von diesem Prozessor verkörpert wird, wird der neueste Abtastwert |X i + n + 1| zum Inhalt des AVR-Registers 401 addiert, und der "älteste" Abtastwert wird subtrahiert. Beide Abtastwerte werden zuerst in einem linearen Wandler 402 für das A-Gesetz umgewandelt und zeitweilig jeweils in den Schieberegistern 403 und 404 gespeichert. Dann addiert die arithmetische Einheit 405 in einer kontinuierlichen seriellen Operation den Wert |X i + n + 1| zum Inhalt des AVR-Registers 401 und subtrahiert davon den Wert |X i |. Der Wandler 402 formt ebenso jeden Abtastwert |X i + 1| bis |X i + n + 1| in ein lineares Format um. Dann werden die Abtastwerte in einem digitalen Komparator 406 (entsprechend dem Komparator 208) mit dem im AVR-Register 401 gespeicherten Durchschnittswert X AVR verglichen. Wenn der Abtastwert größer als X AVR im Register 401 ist, dann gibt das Signal Φ j den Korrekturvorgang frei. d. h. Die Addition oder Subtraktion der Korrektur Δ H zum oder vom vorhandenen Wert h i . Der neue Wert wird anschließend im H-Register 216 gespeichert. Der Durchschnittswert X AVR im AVR-Register 401 wird auch in einem Digital-Analog-Wandler 407 (entsprechend dem Wandler 210) in eine Bezugsspannung V REF für den analogen Komparator 212 und den adaptiven Mittenschwellenwertbegrenzer 211 umgewandelt. In der alternativen Ausführungsform kann der Pseudo-Effektivwert X i [siehe Gleichung (27)] berechnet werden. Statt des Quadrierens, oder Addition und des Ziehens der Quadratwurzel werden Näherungen und ein neuer Algorithmus verwendet. Für die Parabel i + j kann eine lineare Näherung mit drei Abschnitten, wie in Fig. 5 dargestellt, verwendet werden, d. h. wobei: Φ (X i + j ) = 0 für |X i + j | < X₀ und Φ (X i + j ) = a|X i + j | - b (29) für andere Fälle ist. Hierbei sind a und b Konstanten. Eine ähnliche Näherung mit zwei Segmenten kann für die Quadratwurzelfunktion, wie in Fig. 6 gezeigt, verwendet werden. Die gesamte Schaltung für die Erzeugung von X j , Φ j und der Bezugsspannung V REF ist in Fig. 7 gezeigt. Nur der Exponent e x und 3 Bits und die beiden Bits (M₂, M₁) mit aufeinanderfolgend höheren Stellenwerten der Mantisse m x des (nach dem A-Gesetz codierten) Abtastwerts x i + j gelangen jeweils in den Dekoder 601 und in ein statisches Schieberegister 602. Dieses digitale Signal wird gemäß den Gleichungen (12) und (13) in ein lineares Format von 8 Bits umgewandelt, d. h. durch Verschieben von (1 + m x ) um e x binäre Stellen mit dem statischen Schieberegister 602, das schematisch durch die Schalter S₁ + S₂ dargestellt ist. Von diesem Format mit 8 Bits werden nur die vier mit dem höchsten Stellenwert dem Akkumulator 603 mit 4 Bits hinzugefügt; auf diese Weise wird die Funktion Φ (X i + j ) gemäß Gleichung (28) erzeugt. Die Anzahl der Überläufe (C out ) des Akkumulators wird mit einem Binärzähler 604 ermittelt, dessen Zahl von Stufen entsprechend der Zahl n der im X-Register 206 gespeicherten Bits gewählt ist. Auf diese Weise wird die näherungsweise Summe der n-Abtastwerte und auch die Division durch n gebildet [siehe Gleichung (27)]. Am Ende des Faltungszyklus sind die acht Bits mit dem höchsten Stellenwerten von X j in einem statischen Speicher 605 enthalten. Dieses gespeicherte Signal speist den Überlauf/Unterlauf-Detektor 606, der den Kreuzkorrelator während eines starken Signals, das andere statistische Eigenschaften als Sprache (z. B. Burst-Rauschen) hat, sowie dann sperrt, wenn das gespeicherte Signal unter dem Schwellenwert y₀ (siehe Fig. 6) ist. Es wird auch in die Bezugsspannung V REF durch einen Digital-Analog-Wandler 607 (entsprechend dem Wandler 208) umgewandelt. Im folgenden Faltungszyklus wird jeder Abtastwert x i + j , der in den Pseudo-Effektiv-Prozessor gelangt, mit dem gespeicherten Wert X j in einem digitalen Komparator 608 von 8 Bits (entsprechend dem Komparator (208) verglichen. Auf diese Weise wird die Kreuzkorrelationsfunktion Φ j erzeugt [Gleichung (15)]. Die drei Sperrsignale Φ m , y₀ und der Überlauf werden in einem UND-Glied 609 zu dem Signal Φ j vereinigt, das den Addierer 209 für Δ h i, j steuert.

Claims (8)

1. Echokompensator für Zweidraht-Vierdraht-Übergänge (221) aufweisende Telefonschaltungen, die über große Entfernungen verlaufen, mit Speichern (X-Register 206) für eine feste Anzahl jeweils aktualisierter Abtastwerte eines empfangenen Signals und mit Speichern (H-Register 216) für eine feste Anzahl von geschätzten, digitalen Koeffizienten der Impulsantwort sowie mit einer die digitalen Abtastwerte und die digitalen Koeffizienten verarbeitenden Faltungseinrichtung (217, 218) zur Erzeugung eines angenäherten Echosignals, das in einer Subtrahierschaltung (220) vom realen Echosignal substrahiert wird, wodurch ein Differenzecho erzeugt wird, das einem Restecho entspricht, das einer Kreuzkorrelationseinrichtung (212) zugeführt wird, zu der auch die gespeicherten Abtastwerte gelangen und die Korrekturwerte H, Sg ( Δ H)) zur Aktualisierung der gespeicherten Koeffizienten erzeugt, wobei zur digitalen Signalverarbeitung eine Codierung vorgesehen ist, mit deren Hilfe an sich notwendige Multiplikationen und Divisionen durch Additionen bzw. Subtraktionen vorgenommen werden, dadurch gekennzeichnet, daß die gespeicherten Abtastwerte (x₁, . . ., x₂, . . ., x n ) und die gespeicherten Koeffizienten (h₁, . . ., h i , . . . h n) in einem logarithmischen Format mit Vorzeichen, Mantisse und Exponent codiert sind, daß die Faltungseinrichtung (217, 218) Anordnungen zur Multiplikation der Abtastwerte mit den Koeffzienten in Form einer Addition der entsprechenden Logarithmen aufweist, daß die den Produkten von Abtastwerten und Koeffizienten entsprechenden logarithmischen Summen in einem Akkumulator (218; 308) gespeichert werden, dessen Inhalt von einem Digital/Analog-Wandler (219; 302) in ein analoges Signal umgewandelt wird, das als angenähertes Echosignal der Subtrahierschaltung (220) und in der Kreuzkorrelationseinrichtung einem Vergleicher (212) zugeführt wird, der weiterhin von einem Bezugswert (V REF ) beaufschlagt ist und ein quantisiertes Signal H) für die Korrektur der Mantissen der gespeicherten Koeffizienten erzeugt und daß von einer Recheneinrichtung (207) zur Erzeugung des Durchschnittswertes (X AVR ) der gespeicherten Abtastwerte mit der zur Multiplikation der Koeffizienten eine Addition des Logarithmus des gespeicherten Koeffizienten und des Logarithmus von Eins plus oder minus dem vom Vergleicher (212) ausgehenden quantisierten Signal erzeugt wird.
2. Echokompensator nach Anspruch 1, dadurch gekennzeichnet, daß die Faltungseinrichtung (218, 217) besteht aus
einem ersten Multiplizierer (303) zur Multiplikation der Mantissen der gespeicherten Abtastwerte und der gespeicherten Koeffizienten für die Erzeugung eines Teilprodukts, das das Produkt ist, das im Akkumulator (308) gespeichert wird, wenn der Exponent der gespeicherten Abtastwerte und der Exponent der gespeicherten Koeffizienten beide null sind,
einem ersten Addierer (306) für die Addition der Mantisse mit dem Exponenten null zu dem vom ersten Multiplizierer (303) erzeugten Teilprodukt, wenn der eine oder der andere, aber nicht beide der Exponenten der gespeicherten Abtastwerte und der gespeicherten Koeffizienten null sind, wobei am Ausgang des ersten Addierers (306) das Produkt gebildet wird, das im Akkumulator (308) gespeichert wird,
einem zweiten Addierer (307) für die Addition der Exponenten der gespeicherten Abtastwerte und der gespeicherten Koeffizienten, wenn beide Exponenten nicht null sind, und
einem zweiten Multiplizierer (309), der auf das Ausgangssiganl des zweiten Addierers (307) zur Multiplikation des Teilprodukts mit einer vom Ausgangssignal des zweiten Addierers (307) abhängigen Funktion anspricht, wobei das Ausgangssignal des zweiten Multiplizierers (309) das Produkt bildet, das im Akkumulator (308) gespeichert wird (Fig. 3).
3. Echokompensator nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein Digital-Analog-Wandler (210) an die Recheneinrichtung (207) zur Erzeugung des Durchschnittswertes (X AVR ) angeschlossen ist, durch den der digitale Wert des Durchschnittswertes (X AVR ) in eine analoge Spannung umgewandelt wird, die dem Vergleicher (212) zugeführt wird (Fig. 2).
4. Echokompensator nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Recheneinrichtung (207) zur Erzeugung des Durchschnittswertes ein Durchschnittswertregister (401), ein erstes und ein zweites Schieberegister (403, 404) zur Speicherung jeweils des neuesten Abtastwertes (|x i + n + 1|) und des ältesten Abtastwertes (|x i |) und eine Additions-Subtraktions-Einrichtung (405) aufweist, die an das Durchschnittswertregister (401) und das erste und zweite Schieberegister (403, 404) zum Addieren des neuesten Werts (|x i + n + 1|) und Subtrahieren des ältesten Werts (|x i |) vom Inhalt des Durchschnittswertregisters (401) und zur Speicherung des Ergebnisses in diesem angeschlossen ist (Fig. 4).
5. Echokompensator nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Kreuzkorrelationseinrichtung besteht aus
dem Vergleicher (212) zum Vergleich des von der Subtrahierschaltung (220) abgegebenen Signals mit dem Bezugswert (V REF ) zur Erzeugung eines quantisierten Signals H) gemäß der Mantisse für eine Korrektur des gespeicherten Koeffizienten (h i ),
einer Einrichtung (603, 604, 605) zur Erzeugung eines Pseudo-Effektivwerts (X RMS ) der gespeicherten Abtastwerte und aus von dieser Einrichtung (603, 604, 605) gesteuerten weiteren Einrichtungen (608, 606, 609) zur Multiplikation des gespeicherten Koeffizienten (h i ) mit einem Faktor durch Addition des Logarithmus des gespeicherten Koeffizienten und des Logarithmus des von dem Vergleicher (212) abgegebenen Signals plus oder minus Eins (Fig. 2, 7).
6. Echokompensator nach Anspruch 5, dadurch gekennzeichnet, daß an die Einrichtung (603, 604, 605) zur Erzeugung des Pseudo-Effektivwertes (X RMS ) ein Digital-Analog-Wandler (607) angeschlossen ist, mit dem der digitale Pseudo-Effektivwert (X RMS ) in eine analoge Spannung umgewandelt wird, die dem Vergleicher (212) als Bezugswert zugeführt wird (Fig. 7).
7. Echokompensator nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß an den Ausgang der Subtrahierschaltung (220) ein analoger Mittenschwellenwertbegrenzer (211) angeschlossen ist, der eine veränderbare Einstellung aufweist, die von der analogen Spannung des Digital-Analog-Wandlers (210) gesteuert ist (Fig. 2).
8. Echokompensator nach einem der Ansprüche 5 bis 7, gekennzeichnet durch ein Pseudo-Effektivwert-Register (605), einen Akkumulator (603) zur Addition und Speicherung eines jeden Abtastwerts (|X i + j |), der zu jeder j-ten Abtastperiode einen vorherbestimmten Wert übersteigt, und durch Zähleinrichtungen (604) zur Zählung der Überläufe des Akkumulators (603), wobei der Inhalt der Zähleinrichtungen (604) in dem Pseudo-Effektivwert-Register (605) am Ende jeder Abtastperiode gespeichert wird (Fig. 7).
DE19772713478 1976-06-11 1977-03-26 Logarithmischer echokompensator Granted DE2713478A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/694,878 US4064379A (en) 1976-06-11 1976-06-11 Logarithmic echo canceller

Publications (2)

Publication Number Publication Date
DE2713478A1 DE2713478A1 (de) 1977-12-29
DE2713478C2 true DE2713478C2 (de) 1988-08-11

Family

ID=24790628

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772713478 Granted DE2713478A1 (de) 1976-06-11 1977-03-26 Logarithmischer echokompensator

Country Status (10)

Country Link
US (1) US4064379A (de)
JP (1) JPS52153315A (de)
AU (1) AU498268B2 (de)
BR (1) BR7702093A (de)
CA (1) CA1081380A (de)
DE (1) DE2713478A1 (de)
FR (1) FR2354666A1 (de)
GB (2) GB1563743A (de)
IT (1) IT1082391B (de)
SE (1) SE418037B (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4113997A (en) * 1977-07-12 1978-09-12 Communications Satellite, Corporation Analog to digital signal of logarithmic format converter and analog to pseudo-rms value converter and echo canceller utilizing same
FR2451676A1 (fr) * 1979-03-12 1980-10-10 Soumagne Joel Detecteur d'echo notamment pour systeme de communication a interpolation de parole
US4283770A (en) * 1979-10-09 1981-08-11 Tellabs, Inc. Signal processor for digital echo canceller
JPS6046899B2 (ja) * 1980-09-26 1985-10-18 日本電気株式会社 反響消去装置
FR2496364A1 (fr) * 1980-12-17 1982-06-18 Trt Telecom Radio Electr Annuleur d'echo pour transmission telephonique par voies numeriques mettant en oeuvre une loi de codage pseudo-logarithmique
JPS57140040A (en) * 1981-02-24 1982-08-30 Nec Corp Echo canceller
US4602133A (en) * 1982-07-23 1986-07-22 Gte Lenkurt Incorporated Adaptive echo cancelling system and method utilizing linear code spacing
JPS5961233A (ja) * 1982-09-29 1984-04-07 Nec Corp 適応型反響消去装置
JPS59151546A (ja) * 1983-02-18 1984-08-30 Nec Corp 適応形反響消去装置
US4542265A (en) * 1983-05-20 1985-09-17 Gte Lenkurt Incorporated Echo canceller dynamic range extension
FR2564667B1 (fr) * 1984-05-15 1986-09-19 Trt Telecom Radio Electr Dispositif de commande d'un annuleur d'echo et d'un ecreteur de centre
US4628157A (en) * 1984-09-07 1986-12-09 At&T Bell Laboratories Bidirectional adaptive voice frequency repeater
US4584441A (en) * 1984-09-07 1986-04-22 At&T Bell Laboratories Bidirectional adaptive voice frequency repeater
NZ214905A (en) * 1985-01-29 1988-09-29 British Telecomm Noise cancellation by adaptive filter compensates for timing variations
US4811342A (en) * 1985-11-12 1989-03-07 Racal Data Communications Inc. High speed analog echo canceller
GB8625282D0 (en) * 1986-10-22 1986-11-26 British Telecomm Detecting faults in transmission lines
AU608822B2 (en) * 1987-06-29 1991-04-18 Digital Equipment Corporation Bus transmitter having controlled trapezoidal slew rate
JPH0195609A (ja) * 1987-10-08 1989-04-13 Oki Electric Ind Co Ltd 全二重モデム
US4866647A (en) * 1988-02-04 1989-09-12 American Telephone And Telegraph Company Continuously variable digital delay circuit
JPH01132832U (de) * 1988-02-29 1989-09-08
US4977591A (en) * 1989-11-17 1990-12-11 Nynex Corporation Dual mode LMS nonlinear data echo canceller
US5157653A (en) * 1990-08-03 1992-10-20 Coherent Communications Systems Corp. Residual echo elimination with proportionate noise injection
US5477535A (en) * 1991-11-04 1995-12-19 Nokia Telecommunications Oy Method of preventing a divergence of an adaptive echo canceller in a noisy signal environment
US5357609A (en) * 1992-03-25 1994-10-18 One Touch Systems, Inc. Site controller with echo suppression
DE4236272A1 (de) * 1992-10-27 1994-04-28 Siemens Ag Echokompensationsvorrichtung und 4/2-Drahtschnittstelle mit einer solchen Echokompensationsvorrichtung
JPH06232957A (ja) * 1993-01-29 1994-08-19 Toshiba Corp 音声通信装置
US6028929A (en) * 1997-11-14 2000-02-22 Tellabs Operations, Inc. Echo canceller employing dual-H architecture having improved non-linear echo path detection
US6424635B1 (en) * 1998-11-10 2002-07-23 Nortel Networks Limited Adaptive nonlinear processor for echo cancellation
US6693967B1 (en) * 2000-03-16 2004-02-17 Agere Systems Inc. Detecting encoding and encoding conversion for modem connections
US7065207B2 (en) * 2003-09-11 2006-06-20 Freescale Semiconductor, Inc. Controlling attenuation during echo suppression
DE102013202140A1 (de) * 2013-02-08 2014-08-14 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers
CN109831733B (zh) * 2019-02-26 2020-11-24 北京百度网讯科技有限公司 音频播放性能的测试方法、装置、设备和存储介质
WO2021041741A1 (en) * 2019-08-30 2021-03-04 Dolby Laboratories Licensing Corporation Pre-conditioning audio for machine perception

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2334546C2 (de) * 1973-07-06 1982-05-27 Siemens AG, 1000 Berlin und 8000 München Echokompensator
US3905028A (en) * 1973-08-02 1975-09-09 North Electric Co Direct digital logarithmic encoder
US3877026A (en) * 1973-10-01 1975-04-08 North Electric Co Direct digital logarithmic decoder
US3894200A (en) * 1973-10-10 1975-07-08 Communications Satellite Corp Adaptive echo canceller with digital center clipping

Also Published As

Publication number Publication date
DE2713478A1 (de) 1977-12-29
GB1563743A (en) 1980-03-26
CA1081380A (en) 1980-07-08
FR2354666B1 (de) 1984-06-08
IT1082391B (it) 1985-05-21
JPS52153315A (en) 1977-12-20
FR2354666A1 (fr) 1978-01-06
SE7706422L (sv) 1977-12-11
SE418037B (sv) 1981-04-27
AU2388177A (en) 1978-10-05
US4064379A (en) 1977-12-20
AU498268B2 (en) 1979-02-22
JPS6251010B2 (de) 1987-10-28
GB1563742A (en) 1980-03-26
BR7702093A (pt) 1978-02-28

Similar Documents

Publication Publication Date Title
DE2713478C2 (de)
DE69427770T2 (de) Verfahren zur bestimmung der echolage in einem echokompensator
DE69221949T2 (de) Verfahren und Einrichtung zur Echokompensation in einem digitalen Fernmeldesystem
DE68919807T2 (de) Vollduplex-digitaler Lautfernsprecher.
DE69310240T2 (de) Verfahren und Anordnung zur adaptiven digitalen Löschung des in Fernsprechverbindungen mit zeitvarianten Eigenschaften erzeugten Echos
DE69622537T2 (de) Echokompensator mit kalman-filter zur optimalen adaption
DE69700593T2 (de) Verfahren und anordnung zur durchführung von echokompensation in einem übertragungsnetzwerk unter verwendung eines gemischten adaptiven balancefilters nach dem verfahren des kleinsten quadratischen fehlers
DE19538996C2 (de) Vorrichtung und Verfahren zum Schätzen von Filterkoeffizienten
DE2259242C2 (de)
DE19757337C1 (de) Echokompensatoranordnung
DE69607487T2 (de) Erhöhung der auflösung von festpunkt-digitalfiltern
DE3329779C2 (de) Verfahren und Schaltungsanordnung zur Herstellung von Konferenzverbindungen in einem Vermittlungssystem
DE19639703C2 (de) Verfahren und Anordnung zur Echokompensation
DE3145419C2 (de)
DE2920575C2 (de) Digital-Fernmeldesystem mit mindestens einem Vierdrahtleitungsabschnitt
DE19639702C2 (de) Verfahren und Anordnung zur Begrenzung des Restechos
DE1957637C3 (de) Echounterdrücker
DE3115884C2 (de)
DE3877279T2 (de) Digitale recheneinrichtung fuer eine anlage zur datenuebertragung im 2b1q-code oder aehnlichem.
EP0092035B1 (de) Verfahren und Schaltungsanordnung zur Durchführung des Verfahrens zur adaptiven Echolöschung in Endgeräten für Duplex-Datenübertragung über Zweidrahtleitungen
DE3040241A1 (de) Schaltungsanordnung zur messung der daempfung einer uebertragungsstrecke
DE19848608B4 (de) Vorrichtung zur Vermeidung einer akustischen Rückkopplung
DE69326670T2 (de) Pegelsteuerung eines digitalen Sprachsignals in einem Fernsprechsystem
DE3013239C2 (de) Einstellbares Dämpfungsglied für eine digitale Fernmelde-, insbesondere Fernsprechvermittlungsanlage
DE69232634T2 (de) Verfahren und Vorrichtung zur Kontrolle der Koeffizienten eines adaptiven Filters

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee