DE69033576T2 - Echokompensator - Google Patents
EchokompensatorInfo
- Publication number
- DE69033576T2 DE69033576T2 DE69033576T DE69033576T DE69033576T2 DE 69033576 T2 DE69033576 T2 DE 69033576T2 DE 69033576 T DE69033576 T DE 69033576T DE 69033576 T DE69033576 T DE 69033576T DE 69033576 T2 DE69033576 T2 DE 69033576T2
- Authority
- DE
- Germany
- Prior art keywords
- echo
- modem
- echo canceller
- integer
- training
- 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
Links
- 238000012549 training Methods 0.000 claims abstract description 63
- 230000000737 periodic effect Effects 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 claims description 24
- 108010076504 Protein Sorting Signals Proteins 0.000 abstract 1
- 230000005540 biological transmission Effects 0.000 description 11
- 238000002592 echocardiography Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 230000003111 delayed effect Effects 0.000 description 7
- 239000000872 buffer Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 1
- 240000002834 Paulownia tomentosa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000005311 autocorrelation function Methods 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing 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
- H04B3/237—Reducing 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 using two adaptive filters, e.g. for near end and for end echo cancelling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing 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
- H04B3/238—Reducing 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 using initial training sequence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Primary Cells (AREA)
- Surface Acoustic Wave Elements And Circuit Networks Thereof (AREA)
- Networks Using Active Elements (AREA)
- Complex Calculations (AREA)
Description
- Die Erfindung betrifft Datenkommunikationseinrichtungen oder Modems mit Echokompensation.
- Datenkommunikationseinrichtungen (DCEs) oder Modems sind Vorrichtungen zum Übertragen und Empfangen binärer Daten über einen Kommunikationskanal. Eine Kategorie von DCEs wird bisweilen als Vollduplex-Modems bezeichnet und ist für simultanes Senden und Empfangen geeignet. Wenn der Modem simultan auf einer zweiadrigen Kommunikationsleitung sendet und empfängt (z. B. beim Senden über ein Telefonnetz), ist i. a. ein Echo des gesendeten Signals in dem Signal vorhanden, das von dem Modem auf der Gegenseite empfangen wird. Wenn gesendetes und empfangenes Signal dasselbe Frequenzband belegen, ist es nötig, das Echosignal herauszufiltern, um die Daten, die von dem Modem auf der Gegenseite gesendet werden, zuverlässig erfassen zu können.
- Das Echo hat typischerweise eine Nahecho- und eine Fernechokomponente. Das Nahecho wird durch die endliche Güte von 3-dB-Kopplern in dem lokalen Modem und der diesseitigen Telefonzentrale erzeugt. Das Fernecho wird andererseits hauptsächlich durch 3-dB-Koppler in der Zentrale auf der Gegenseite und in dem Modem auf der Gegenseite erzeugt. Das Fernecho ist gegenüber dem Nahecho zeitlich verzögert. Wenn diese Verzögerung spürbar wird, wird die Echokompensation oft in Nahecho- und Fernechokompensationskomponenten aufgespalten, die ebenfalls einander gegenüber verzögert sind.
- Üblicherweise werden bei Hochgeschwindigkeitsmodems bandbreiteneffiziente Modulationsarten wie Quadraturmodulation verwendet. Bei derartigen Systemen werden die binären Daten zuerst in eine Sequenz von komplexen Signalpunkten (Symbolen) abgebildet, die aus einer Konstellation mit einer endlichen Anzahl von Punkten ausgewählt werden. Das realwertige übertragene Signal enthält Information über diese komplexe Sequenz.
- Vollduplex-Hochgeschwindigkeitsmodems für zweiadrige Anschlüsse, wie der Standardmodem V.32 für das Sprachband, der durch die CCITT spezifiziert ist, sind ausgerüstet mit adaptiver Echokompensation, so dass Echos in dem übertragenen Signal nahezu vollständig ausgelöscht werden. Eine Echokompensation ist üblicherweise als Transversalfilter implementiert, das aus einer Abgriffsverzögerungsleitung und einer Folge von variablen komplexwertigen Abgriffskoeffizienten besteht. Die Eingänge der Abgriffsverzögerungsleitung sind die oben genannten komplexen Signalpunkte. Diese sind mit den Abgriffskoeffizienten geeignet gewichtet, um als Ausgangssignal den Realwert der gewichteten Prüfsumme zu bilden. Dies stellt eine Näherung des empfangenen realen Echosignals dar. Die Echos werden durch Subtraktion dieses abgeschätzten Echosignals von dem realen empfangenen Signal gelöscht.
- Echokompensatoren, die als Transversalfilter mit komplexem Eingang und realem Ausgang implementiert werden, werden oft als Nyquist-Echokompensatoren bezeichnet. Nyquist- Echokompensatoren bestehen oft aus einem Nahecho- und einem Fernechokompensator. Eine Realisierung von Nyquist-Echokompensatoren wird von S. Weinstein in US 4 131 747 (reissue Re 31 253) beschrieben.
- Ein Echokompensator wird üblicherweise in Abwesenheit von einem Signal von der Gegenseite während einer Initialisierungs- oder Trainingsphase vor der Datenübertragung trainiert. Bei vielen Echokompensatoren wird der Transversalfilter unter Verwendung des Algorithmus der kleinsten quadratischen Abweichung (LMS-Algorithmus) trainiert. Bei einem LMS-Algorithmus werden die Abgriffskoeffizienten fortlaufend angepasst, um jegliche Korrelation zwischen komplexen Eingangssymbolen und dem Rest des empfangenen Signals zu beseitigen, die noch nach der Echokompensation zurückbleiben. Die Zeit, die erforderlich ist, um einen Echokompensator auf diese Art genau zu trainieren, kann jedoch sehr lang sein, insbesondere bei Modems, bei denen Echokompensatoren mit langen Transversalfiltern eingesetzt werden.
- In der Vergangenheit wurden schnelle Trainingsverfahren für Echokompensatoren diskutiert, deren Eingang und Ausgang entweder beide real- oder beide komplexwertig sind. Ein Verfahren, das auf der Verwendung einer gewöhnlichen Chirp-Sequenz beruht, wurde von T. Kamitake in IEEE Proc. ICC '84 (S. 360 - 364, Mai 1984, Amsterdam, Holland) in einem Beitrag mit dem Titel "Fast Start-up of an Echo Canceller in a 2-wire Fullduplex Modem" beschrieben. Ein ähnliches Verfahren, das auf der Verwendung einer pseudozufälligen Schieberegistersequenz beruht, wurde danach von V. Kanchan und E. Gibson in IEEE Trans. on ASSP (Bd. ASSP-86, Nr. 7, S. 1008-1010, Juli 1988) in einem Beitrag mit dem Titel "Measurement of Echo Path Response" beschrieben. Diese Verfahren sind auf Nyquist- Echokompensatoren mit komplexen Eingang und realem Ausgang nicht anwendbar.
- In IEEE Proc. of GLOBECOM '87 (S. 1950-1954, Nov. 1987, Tokio, Japan) wurde von J. M. Ciofft in einem Beitrag mit dem Titel "A Fast Echo Canceller Initialization Method for the CCITT V.32 Modem" ein Verfahren für das schnelle simultane Trainieren sowohl des Nahecho- als auch des Fernechokompensators eines Nyquist-Echokompensators vorgeschlagen. Dieses Verfahren basiert auf der diskreten Fourier-Transformation (DFT) und der Verwendung einer realen periodischen Pseudorauschsequenz, dabei wird jedoch ein perfektes Hilbert-Filter (Übertrager) angenommen, was i. a. nicht realisierbar ist.
- Wenn der Echopfad im wesentlichen als lineares Filter angesehen werden kann, so kann ein Transversalfilter das Echosignal effektiv rekonstruieren und im wesentlichen eliminieren. Unter bestimmten Umständen jedoch kann das Fernecho außerdem einen kleinen Beitrag an einer Frequenzverschiebung aufweisen, der auch mit Phasenrollen bezeichnet wird und der die Echokompensation erschwert. Einige aufwendigere Echokompensatoren umfassen auch Phasenrollkompensationsschaltungen, mit denen die Phasenschwankungen in dem Fernecho verfolgt werden können und so ihre negativen Auswirkungen beseitigt werden können. Üblicherweise beinhaltet die Phasenrollkompensationsschaltung einen Phasenregelkreis (phase locked 100p = PLL), um die Phasenrollfrequenz und die Phase während des Trainingsabschnittes festzustellen.
- Ein Aspekt der Erfindung sind die Merkmale nach Anspruch 1.
- Ein weiterer Aspekt der Erfindung sind die Merkmale nach Anspruch 7.
- Bei praktischen Ausführungsformen unseres Modems werden Echokompensatorkoeffizienten direkt abgeschätzt, ohne ein paar tausend Baud Trainingszeit für die iterative Annäherung an die Optimalwerte investieren zu müssen. Außerdem haben wir herausgefunden, dass die hier gelehrten Verfahren für die Berechnung der Echokompensatorkoeffizienten genau und vom Rechenaufwand her effizient im Vergleich zu anderen Verfahren der Berechnung solcher Koeffizienten sind. Zusätzlich kann das Zeitintervall, in dem die Echoantwortdaten für die Berechnungen gesammelt werden müssen, auf ein Intervall reduziert werden, das wesentlich kleiner als die gesamte Echoverzögerung des Kanals ist. Folglich ergeben sich mit den praktischen Ausführungsformen unseres Modems sehr schnelle Echokompensationstrainingszeiten, die sehr viel kürzer sind als dies mit bisherigen Modems möglich ist.
- Wir haben gefunden, dass unsere Modems außerdem den Vorteil der Erzeugung von Echokompensatorkoeffizienten bieten, die ihren Optimalwerten sehr nahe kommen und die zu einem Restecho führen können, das innerhalb eines Intervalls von 2 dB um den Optimalwert liegt. Damit ist ein weiteres Training wie z. B. der Algorithmus der kleinsten quadratischen Abweichung nicht notwendig.
- Die komplexe Transferfunktion eines linearen Systems kann bereits abgeschätzt werden, wenn nur der reale Ausgangswert des Systems vorhanden ist.
- Weitere Merkmale und Vorteile ergeben sich aus der folgenden Beschreibung von bevorzugten Ausführungsformen, wobei Bezug auf die beigefügten Zeichnungen genommen wird.
- Fig. 1 ist ein Blockdiagramm eines Echokompensationsmodems.
- Fig. 2 stellt die Autokorrelationseigenschaften einer komplexen periodischen Trainingssequenz dar, die verwendet wird, um den Echokompensator in Fig. 1 zu trainieren.
- Fig. 3 zeigt das Leistungsspektrum der komplexen periodischen Sequenz mit den Autokorrelationseigenschaften nach Fig. 2.
- Fig. 4 zeigt ein Flussdiagramm für einen Algorithmus zum Bestimmen der Periode der komplexen periodischen Trainingssequenz.
- Fig. 5a bis c zeigen die Echoantwort eines repräsentativen Kanals, über den der Modem nach Fig. 1 kommuniziert.
- Fig. 6 zeigt ein Flussdiagramm eines weiteren Algorithmus zum Bestimmen der Periode der komplexen periodischen Trainingssequenz.
- Fig. 7 zeigt ein Blockdiagramm eines Abschnittes des Echokompensationsmodems nach Fig. 1 mit Einzelheiten der Trainingseinrichtung.
- Fig. 8 zeigt ein Flussdiagramm für einen Algorithmus zum Bestimmen der Phasenrollfrequenz und der Leistung des Fernechos.
- Fig. 9 zeigt ein grobes Blockdiagramm eines Modems, in dem die Erfindung Anwendung findet.
- Bei dem in Fig. 1 gezeigten Echokompensationsmodem 2, das vom Nyquist-Echokompensationstyp sein kann, wird über einen Scrambler/Codierer 6 eine Datenbitfolge auf einer Eingangslei tung 4 empfangen. Durch den Scrambler/Codierer 6 werden die Datenbits verwürfelt, um sicherzustellen, dass jede beliebige Bitfolge gleichwahrscheinlich auftritt wie jede andere, und die Bits werden codiert nach dem Codierungssystem, das verwendet wird, um eine erste Sequenz von komplexen Symbolen zu erzeugen. Durch einen Modulator 8 wird ein Trägersignal 10 mit einer Frequenz fc mit dem Ausgangssignal des Scrambler / Codierers 6 moduliert, so dass man ein digitales Übertragungssignal 12, bestehend aus einer zweiten Sequenz von komplexen Signalen erhält. Als nächstes wird das digitale Übertragungssignal durch ein Übertragungsfilter 14, einen Analog-Digital- Konverter 16 und ein Tiefpass 18 in ein analoges Signal 20 gewandelt, das über einen Kanal 22 an eine nicht gezeigte Gegenstelle gesendet werden kann. Ein 3-dB-Koppler verbindet das analoge Signal 20 mit dem Kanal 22.
- Der 3-dB-Koppler 24 kann auch Signale verarbeiten, die über den Kanal 22 an den Modem 2 von der Gegenstelle gesendet wurden, und sendet sie an einen Empfängerabschnitt des Modems 2 als ein empfangenes Signal 26. Bei einer Vollduplexübertragung über den Kanal 22 beinhaltet das empfangene Signal 26 sowohl ein Nahecho als auch ein Fernecho, möglicherweise mit entsprechendem Phasenrollen. Mit einem Bandpassfilter 28 wird das empfangene Signal 26 verarbeitet, und durch einen Analog- Digital-Konverter 30 wird es in ein reales digitales empfangenes Signal 32 gewandelt. Der Analog-Digital-Konverter 30 erzeugt Abtastwerte zu den Zeiten k·T/M, wobei T das Baudintervall des lokalen Modemsenders ist, M eine ganze Zahl ist, die so gewählt wurde, dass kein Aliasing im empfangenen Signal nach der Abtastung auftritt, und k ein Index für das Abtastintervall ist. (Bei der hier beschriebenen Ausführungsform ist M = 3 gewählt.) Eine Kombinationsvorrichtung 34 verknüpft die Abtastwerte des realen digitalen empfangenen Signals 32 mit den entsprechenden Abtastwerten eines abgeschätzten Echosignals 36, um ein echokompensiertes Signal 38 zu erzeugen. Schließlich wird durch einen Empfänger 40 das echokompensierte Signal 38 verarbeitet, um eine empfangene Datenbitfolge 42 zu erzeugen, die der Bitfolge entspricht, die von der Gegenstelle gesendet wurde.
- Ein Echokompensationsmodul 44 in dem Modem 2 erzeugt das abgeschätzte Echosignal 36. In dem Echokompensationsmodul 44 empfängt eine Verzögerungsleitung 46 das komplexe Übertragungssignal 12 und erzeugt zwei Gruppen von Signalen 48a-b, die zeitlich durch eine Grundverzögerung (bulk delay) voneinander getrennt sind. Die Gruppe 48a entspricht dem Nahechosignal und beinhaltet mehrere komplexe Symbole, von denen alle zeitlich zueinander verzögert sind, so dass sie das Nahechosignal überdecken; dagegen entspricht die Gruppe 48b dem Fernechosignal und beinhaltet mehrere andere komplexe Symbole, die alle zeitlich zueinander verzögert sind, so dass sie das Fernechosignal überdecken. Die Gruppe der verzögerten komplexen Symbole 48a, die kürzeren Verzögerungsintervallen entsprechen, werden durch einen Nahechokompensator 50 verarbeitet, und die Gruppe der verzögerten komplexen Signale 48b, die den längeren Verzögerungsintervallen entsprechen, werden durch einen Fernechokompensator 52 verarbeitet. Sowohl der Nahechokompensator 50 als auch der Fernechokompensator 52 umfassen variable Koeffizienten, die trainiert werden, so dass die Echokompensatoren 502 und 52 Ausgangssignale erzeugen, die genaue Abschätzungen des Nahechos bzw. des Fernechos sind. Ein Addierer 54 verknüpft die Ausgangssignale des Nachechokompensators 50 und des Fernechokompensators 52, um das abgeschätzte Echosignal 36 zu erzeugen.
- Das Echokompensatormodul 44 umfasst außerdem einen Phasenrollkompensator (phase roll compensator = PRC) 56, durch den der Fernechokompensator 52 angesteuert wird. Nach dem Training bewirkt der PRC 56 ein Phasenrollen beim Ausgangssignal des Fernechokompensators 52, wodurch das Phasenrollen des Fernechos in dem empfangenen Signal 26 genähert wird.
- Das Training der variablen Koeffizienten des Echokompensationsmoduls 44 wird durch einen Trainingssignalgenerator 58 und eine Trainingsvorrichtung 60 erzeugt. Beim Training, das vor Datenübertragung oder während einer Unterbrechung der Datenübertragung erfolgen kann, wird durch den Trainingssignalgenerator 58 eine spezielle Echotrainingssequenz erzeugt, die an die Gegenstelle gesendet wird, und die Trainingsvorrichtung 60 überwacht das sich ergebende reale digitale empfangene Signal 32. Die Gegenstelle schweigt während dieser Phase des Echotrainings weiterhin, so dass das sich ergebende reale digitale empfangene Signal 32 im Grunde nur aus Nah- und Fernechos besteht. Aufgrund des überwachten Echosignals werden von der Trainingsvorrichtung 60 die Echokompensatorkoeffizienten berechnet, die die variablen Koeffizienten in dem Nahechokompensator 50, dem Fernechokompensator 52 und dem PRC 56 setzen, so dass der Echokompensator 44 ein abgeschätztes Echosignal 36 erzeugt, das dem überwachten Echo nahe kommt. Bei dem Echokompensationsmodul 44 wird das echokompensierte Signal 38 als ein Fehlersignal verwendet, das anzeigt, wie genau das Echokompensationsmodul 44 das Echo unter Verwendung der durch die Trainingsvorrichtung 60 abgeschätzten Koeffizienten abschätzt. Außerdem kann eine Feinjustierung der Echokompensatorkoeffizienten unter Verwendung des echokompensierten Signals 38 und des allgemein bekannten Algorithmus der kleinsten quadratischen Abweichung (LMS) vorgesehen sein.
- Der Trainingsgenerator 58 erzeugt eine komplexe periodische Sequenz p(n) = pr(n) + jpi(n) mit der Periode 2L und den folgenden Autokorrelationseigenschaften:
- Pr(n) 2L pi(n) = pi(k) · pr((n + k)Mod 2L) = 0 für alle n (3)
- wobei k ein ganzzahliger Verzögerungsindex ist,
- n der Zeitindex ist,
- L die eine Hälfte der Periode der periodischen Sequenz ist,
- 2L die zirkulare Korrelierung der Länge 2L ist,
- A eine positive Realzahl ist,
- ()Mod 2L die für die zirkulare Korrelierung erforderliche Operation modulo 2L bezeichnet.
- Wie angedeutet sind der Real- und der Imaginärteil der Trainingssequenz orthogonal, d. h. die Kreuzkorrelation der Länge 2L von pr(n) und pi(n) ist Null für alle n. Die Autokorrelationseigenschaften des Real- und Imaginärteils von p(n) sind in Fig. 2 dargestellt. Das entsprechende Leistungsspektrum einer solchen Trainingssequenz hat die in Fig. 3 dargestellte Form. Man beachte, dass das Leistungssektrum von pr(n) und pi(n) die 2L-Punkt-diskrete Fouriertransformation der obigen Korrelationen aus Gl. (1) und (2) ist.
- Bei einer Trainingssequenz mit den obigen Eigenschaften werden durch die Trainingsvorrichtung 60 die Echokompensatorkoeffizienten für den Nahecho- und den Fernechokompensator 50 und 52 durch Berechnen der Korrelationen von einer Periode der komplexen Trainingssequenz 12 und dem realen digitalen empfangenen Signal 32 bestimmt. Um sich klarzumachen, dass die berechneten Korrelationen die gewünschten Werte für die Echokompensatorkoeffizienten ergeben, ist es sinnvoll, die mathematischen Grundlagen für den Betrieb des Systems zu rekapitulieren.
- Der Echokanal kann als lineares System mit einer komplexen Impulsantwort c(t) angesehen werden. Wenn die übertragenen Datensymbole mit d(nT) bezeichnet werden, wobei T das Baudzeitintervall und n der Baudintervallindex ist, dann stehen das Ausgangssignal des Systems, das alle T abgetastet wird, y(nT), und das Eingangssignal d(nT) wie folgt in Zusammenhang:
- y(nT) = Re[c(nT) º d(nT)] (4)
- wobei º die lineare Faltung bezeichnet. Bei diesem Beispiel ist y(nT) das reale abgetastete digitale Signal 32. Wenn das empfangene Signal 26 mit einer Rate 3/T abgetastet wird, wie dies der Fall bei der obigen Ausführungsform ist, dann kann das Ausgangssignal y(t) tatsächlich geschrieben werden als y(nT + mT/3), wobei m = 0, 1, 2 ist. Dies kann man einfacher als ym(n) schreiben. Bei gleicher Konvention kann c(nT + mT/3) als cm(n) geschrieben werden, was die Impulsantwort des mit nT + mT/3 abgetasteten Echokanals ist, und Gl. (4) wird zu:
- ym(n) = Re[cm(n) º d(n)] (5)
- Wenn man die komplexe Trainingssequenz p(n) anstelle von d(n) einsetzt, so erhält man:
- ym(n) = Re[cm(n) º p(n)](6)
- Nachdem der Kanal durch die Trainingssequenz p(n) vollständig erregt wurde, ist auch das reale Echo ym(n) periodisch mit einer Periode von 2L, wenn der Kanal zeitinvariant ist, und es folgt für die Korrelation von realem Echo und der Sequenz:
- ym(n) 2L p(n) = Re[cm(n) º p(n)] 2L p(n) (7)
- Wenn man cm(n) und p(n) in ihren Realteil und Imaginärteil separiert, so erhält man:
- ym(n) 2L p(n) = [cmr(n) º pr(n) - cmi(n) º pi(n)] 2L [pi(n) + jpi(n)] (8)
- wobei cmr(n) und cmi(n) Real- bzw. Imaginärteil von cm(n) darstellen und j = -1 gilt. Da Real- und Imaginärteil von dem gewählten p(n) sich bei zirkularer Korrelation der Länge 2L orthogonal verhalten, lassen sich die obigen Gleichungen reduzieren zu:
- ym(n) 2L p(n) = [cmr(n) º [pr(n) 2L pr(n)] - jcmi(n) º [pi(n)] 2L [pi(n)] (9)
- ym(n) 2L p(n) = cmr((n)Mod 2L) + cmr((n - L)Mod 2L) - jcmi((n)Mod 2L) jcmi((n - L)Mod 2L) (10)
- ym(n) 2L p(n) = c*m((n)Mod 2L) + cm((n - L)Mod 2L) (11)
- wobei * die komplexe Konjugation bezeichnet. Wegen der Periodizität muss die Korrelation nur für 0 ≤ n ≤ 2L - 1 betrachtet werden. Aus Gl. (11) folgt, dass die Korrelationsergebnis se für 0 ≤ n ≤ 2L - 1 zwei duplizierte Versionen von cm(n) aufweisen (von denen die erste komplex konjugiert ist), die keine größere Überdeckung als L haben. Daher enthält eine der Versionen genügend Information.
- Im allgemeinen haben die Eigenschaften der Trainingssequenz in Fig. 2 und 3 nach den Gl. (1) bis (3) die folgende Bedeutung. Man beachte, dass es das Ziel ist, die Impulsantwort des Echokanals zu bestimmen, was selbstverständlich theoretisch direkt durch Stimulation des Echokanals mit einem Impuls erfolgen kann. Es gibt jedoch wenigstens ein Problem bei der Verwendung eines Impulses. Seine Energie ist zeitlich zu sehr konzentriert, und die Spitze des Impulses kann das Signal in nicht-lineare Bereiche des Kanals bringen, wohin das Datensignal beim Betrieb der normalen Übertragung gar nicht gelangt. Durch Vereilen der Leistung gleichmäßig über die Zeit, wie es in Fig. 3 dargestellt ist, kann man mehr Energie mit der Trainingssequenz übertragen und somit vollständiger den Kanal erregen, ohne dass das gesendete Signal in die nicht-linearen Betriebsbereiche gelangt. Darüber hinaus kann man bei Verwendung einer Trainingssequenz, deren Autokorrelationsfunktion eine Impulsfolge wie in Fig. 2 ist, noch ohne weiteres und direkt die Impulsantwort des Echokanals bestimmen, indem man einfach die Trainingssequenz mit der Echoantwort gemäß der Trainingssequenz korreliert. Das bedeutet, dass die sich ergebende Funktion, nämlich ym(n) 2L p(n), der Echokanalantwort entspricht, die man erhielte, wenn man den Kanal mit der Impulsfolge der Autokorrelation p(n) erregte. Die Orthogonalität des Real- und Imaginärteils der Trainingssequenz stellt einfach sicher, dass der Real- und der Imaginärteil nicht miteinander wechselwirken, wenn die Real- und Imaginärteile der Koeffizienten abgeschätzt werden.
- Aufgrund der Korrelationseigenschaften in Gl. (1) und (2) ergibt sich bei jeder. Halbperiode der Korrelation in Gl. (9) eine Abschätzung der abgetasteten Echokanalantwort cm(n), wenn die gesamte Überdeckung des Echos kleiner als die halbe Periode L ist. Damit ist verifiziert, dass bei Verwendung der periodischen Sequenz, festgelegt durch die Gl. (1), (2), (3) der Real- und Imaginärteil von cm(n) sich einfach ergibt, indem man die zirkulare Korrelierung von einem 2L langen Segment der Abtastwerte des realen digitalen empfangenen Signals 32 und den Real- und Imaginärteilen einer Periode der periodischen Sequenz p(n) durchführt. Es gibt einen Vorzeichenunterschied zwischen den Imaginärteilen der abgeschätzten und der tatsächlichen Antwort, wenn die Korrelation der ersten Halbperiode verwendet wird. Da das reale digitale empfangene Signal periodisch ist, besteht ein alternativer Weg darin, die Echokompensatorkoeffizienten cm(n) abzuschätzen, indem eine lineare Korrelation der Länge 2L zwischen Real- und Imaginärteilen einer Periode der periodischen Sequenz p(n) und einem 3L langen Segment des realen empfangenen Signal 32 gebildet wird.
- Bei einem Nyquist-Echokompensator mit drei Teilkompensatoren wird die Korrelierung bei jedem ankommenden T/3-Abtastwert wiederholt. Das bedeutet, dass Gl. (9) bei m = 0, 1, 2 wiederholt wird. Damit gibt es drei ankommende Abtastwerte pro Baud, und es ergeben sich drei Teilkompensatorkoeffizienten pro Baudintervall.
- Eine Anzahl von periodischen Sequenzen haben die in G1. (1) bis (3) beschriebenen Eigenschaften. Es ist jedoch wünschenswert, dass die Sequenz ein kleines Spitzen-Mittelwert- Verhältnis (peak-to-RMS ratio) aufweist, damit die Gefahr geringer wird, dass das übertragene Signal bis in nicht-lineare Bereiche vordringt. Eine periodische Sequenz mit den gewünschten Eigenschaften ist eine, bei der sich die Phase ihrer diskreten Fouriertransformierten quadratisch verhält. Solch eine Sequenz ist wie folgt definiert:
- (1) Für 0 ≤ n < L und
- (a) L gerade
- (b) L ungerade
- (2) Für L ≤ n < 2L ist dann die zweite Hälfte der Sequenz das komplex Konjugierte der ersten Hälfte der Sequenz, nämlich:
- pr(n) = pr(n - L) (16)
- pi(n) = -pi(n - L) (17)
- Eine andere Sequenz mit einem etwas höheren Spitzen- Mittelwert- Verhältnis (peak-to-RMS ratio), die aber einfacher in Echtzeit zu berechnen ist, da weniger Cosinus-Werte erforderlich sind, ist
- (1) Für 0 ≤ n < L
- (2) Für L ≤ n < 2L
- pr(n) = pr(n - L) (20)
- pi(n) = -pi(n - L) (21)
- wobei int[(L - 1)/2] die größte ganze Zahl ist, die kleiner oder gleich [(L - 1)/2] ist.
- In dem Modem 2 ist der Algorithmus nach Fig. 4 implementiert, um den Wert von L zu bestimmen. Der Algorithmus legt die Periode fest, die für das Konstruieren der periodischen Sequenz erforderlich ist, so dass die Trainingssequenz verschachtelte, nicht-überlappende Nah- und Fernechos erzeugt, wenn der Kanal vollständig erregt ist. Die Bedeutung hiervon ergibt sich aus Fig. 5a - c.
- Fig. 5a zeigt die Echoantwort des Kanals auf einen Einzelimpuls bei t = 0. Das Nahecho tritt zuerst auf, gefolgt von dem Fernecho, das um die Zeit B verzögert ist. Man beachte, dass die Abdeckung des Nahechos und die Abdeckung des Fernechos kleiner oder gleich N&sub1; bzw. N&sub2; ist. Wenn der Kanal durch die Impulsfolge in Fig. 5b erregt ist, so ergibt sich die Echoantwort in Fig. 5c. Bis zum Auftritt des Fernechos besteht die Echoantwort aus einer Folge von Nahechos, jeweils eines nach jeweils L Baud. Nach B Bauds ist der Kanal vollständig erregt, und die Fernechos beginnen zu erscheinen, ebenfalls durch eine Periode L getrennt. Um die so für die Berechnung erzeugten Nahechos und Fernechos auszunutzen, ist es wünschenswert, dass die Nah- und Fernechos wie in Fig. 5c gezeigt nicht überlappen. Außerdem ist es wünschenswert, dass das gesamte Zeitintervall L, in welchem die zwei Echos auftreten, so kurz wie möglich sind, so dass die Berechnungen nur eine minimale Anzahl von Bauds betreffen. Der Algorithmus nach Fig. 4 wählt das L aus, das diese zwei Bedingungen erfüllt.
- Während des Trainings des Echokompensators, aber vor der Übertragung der speziellen Echotrainingssequenz misst der Modem die Fernechoumlaufverzögerung B, die durch den Kanal 22 erzeugt wird (Schritt 100 in Fig. 4). Die Verzögerung B ist gleich der Länge der Zeit, die von dem Fernecho benötigt wird, um zurückzukehren, nachdem das Trainingssignal übermittelt worden ist. Ein derartiges Verfahren zum Bestimmen der Fernechoverzögerung ist in dem CCITT-V.32-Standard beschrieben.
- Man beachte, das N&sub1; und N&sub2; normalerweise bei der Konstruktion des Modems festgelegt werden. Im allgemeinen werden sie empirisch festgelegt, indem die typischen Eigenschaften von Kanälen untersucht werden. Vorzugsweise sollten N&sub1; und N&sub2; so gewählt werden, dass sie Obergrenzen für die Dauer der entsprechenden Echos darstellen, die erwartet werden.
- Nachdem der Modem 2 die Fernechoverzögerung B gemessen hat, berechnet er eine Variable k, die wie folgt definiert ist:
- k = int[(B - N&sub1;) / (N&sub1; + N&sub2;)] (Schritt 110)
- wobei int[x] die größte ganze Zahl kleiner oder gleich x bedeutet.
- Als nächstes testet der Modem 2 k, um festzustellen, ob es größer als Null ist (Schritt 115). Wenn k größer als Null ist, berechnet der Modem zwei zusätzliche Variablen p&sub1; und p&sub2;, die wie folgt definiert sind:
- p&sub1; = (B + N&sub2;)/(k + 1) (Schritt 120)
- p&sub1; = (B - N&sub1;)/k (Schritt 130)
- Dann wird in Schritt 140 durch den Modem 2 festgestellt, ob eine ganze Zahl im Bereich R existiert, der wie folgt definiert ist:
- p&sub1; ≤ R ≤ p&sub2;
- Wenn es eine ganze Zahl in dem Bereich R gibt, setzt der Modem 2 L gleich der kleinsten ganzen Zahl in dem Bereich (Schritt 150). Das heißt dass für den Fall, dass p&sub1; eine ganze Zahl ist, L = p&sub1; gilt; anderenfalls gilt L = int[p&sub1; + 1]. Der Modem verzweigt dann zu Schritt 160, wo f berechnet wird, das wie folgt definiert ist:
- f = B - kL
- Die Variable f zeigt die Position des Fernechos innerhalb der Periode L an. Das Fernecho befindet sich zwischen f und f + N&sub2; - 1. Unter Verwendung dieser Information weist der Modem 2 die Korrelationsberechnungen für jeden Baud in dem Intervall der Länge L der entsprechenden Komponente des Echos zu.
- Wenn in Schritt 140 keine ganze Zahl im Bereich R gefunden wird, verzweigt der Modem 2 zu Schritt 170, wo k um Eins dekrementiert wird, und kehrt dann zu Schritt 120 zurück. Die Schritte 120 bis 140 werden wiederholt, bis sich in dem Bereich R eine ganze Zahl befindet.
- Wenn in Schritt 115 k nicht größer als Null ist, dann prüft der Modem 2, ob k gleich Null ist (Schritt 116). Wenn k gleich Null ist, setzt der Modem 2 L gleich B + N&sub2; und verzweigt zu Schritt 160, um f zu berechnen. Wenn jedoch k kleiner als Null ist, dann setzt der Modem 2 L gleich N&sub1; + N&sub2;, setzt f gleich N&sub1; (Schritt 118) und verlässt dann den Algorithmus (Schritt 119).
- Der Algorithmus liefert ein L, das in dem folgenden Intervall
- N&sub1; + N&sub2; ≤ L ≤ 2(N&sub1; + N&sub2;) - 1
- für praktisch jeden Wert von N&sub1;, N&sub2; und B liegt.
- Bei Implementierung des Algorithmus mit begrenzter Genauigkeit kann der gewählte Wert für L falsch sein oder nicht dme optimalen Wert entsprechen. Wenn L falsch ist, können sich das Nahecho und das Fernecho überlappen. Wenn dagegen der Wert nicht der optimale ist, ist die Periode, die sich ergibt, nicht die kürzestmögliche Periode. Diese Fehler sind auf Rundungsfehler zurückzuführen. Die kritischen Schritte des Algo rithmus sind in Schritt 146 enthalten, wo der Bereich R nach ganzen Zahlen durchsucht wird, und in Schritt 110, wo der Anfangswert von k berechnet wird. Um Probleme aufgrund von Rundungsfehlern zu vermeiden, kann der Algorithmus wie in Fig. 6 gezeigt modifiziert werden.
- Die Schritte 200 und 215 entsprechen den Schritten 100 bzw. 115 in Fig. 4. Der Schritt 210 ist etwas anders als der Schritt 110, nämlich gilt k = int [(B - N&sub1;)/(N&sub1; + N&sub2;) + δ&sub0;], wobei δ&sub0; eine kleine Korrekturzahl ist. Wenn in Schritt 215 k größer als Null ist, berechnet der Modem 2 p&sub1; (Schritt 220) und p&sub2; (Schritt 230), die anders als oben definiert sind:
- p&sub1; = (B + N&sub2;) / (k + 1) + δ&sub1;, (Schritt 220)
- p&sub1; = (B - N&sub1;) / k + δ&sub1;, (Schritt 230)
- wobei δ&sub1; eine kleine Korrekturzahl ist.
- Dann wird in Schritt 240 durch den Modem 2 bestimmt, ob eine ganze Zahl in dem Bereich R existiert, der oben definiert wurde, nämlich
- p&sub1; ≤ R ≤ p&sub2;
- Für diesen Test wird p&sub1; jedoch als ganze Zahl behandelt, wenn der gebrochene Teil kleiner als ein Schwellenwert δ&sub2; ist.
- Wenn es eine ganze Zahl in dem Bereich R gibt, so wird durch den Modem 2 wie oben L gleich der kleinsten ganzen Zahl in dem Bereich gesetzt (Schritt 250). Das heißt dass, wenn p&sub1; eine ganze Zahl ist, L = p&sub1; gilt, sonst gilt L = int[p&sub1;] + 1. Der Modem verzweigt zu Schritt 260, wo f berechnet wird, wie es oben definiert wurde, nämlich:
- f = B - kL.
- Schließlich wird durch den Modem 2 bestimmt, ob N&sub1; ≤ f ≤ L - N&sub2; (Schritt 280). Wenn dies der Fall ist, endet der Algorithmus (Schritt 219).
- Wenn keine ganze Zahl in dem Bereich existiert (Schritt 240) oder f nicht in dem definierten Intervall liegt (Schritt 280), verzweigt der Modem 2 zu Schritt 270, wo k um Eins dekrementiert wird. Dann verzweigt er zurück zu Schritt 215, um die Schritte zu wiederholen, bis ein L gefunden wird, das die Bedingungen des Algorithmus erfüllt.
- Wenn in Schritt 215 k nicht größer als Null ist, verzweigt der Modem 2 zu Schritt 216, der Schritt 116 des Algorithmus in Fig. 4 entspricht. Tatsächlich ist die Sequenz nach der Verzweigung zu Schritt 216 die gleiche wie die in Fig. 4. Das bedeutet, dass der Modem 2 die Schritte 217 und 218 implementiert, die dieselben wie die Schritte 117 bzw. 118 in Fig. 4 sind.
- Die Korrektorzahlen δ&sub0; und δ&sub1; und der Schwellenwert δ&sub2; hängen von der Wortlänge und dem Rundungsverfahren bei den Berechnungen ab. Vorzugsweise sollte die Wortlänge bei den Berechnungen lang genug sein. Wenn zum Beispiel eine 16-Bit- Festpunktarithmetik verwendet wird, sind "double-precision"- Berechnungen von Vorteil. In diesem Fall haben Experimente gezeigt, dass für δ&sub0; = 2&supmin;¹&sup5;, δ&sub1; = 2&supmin;¹&sup4; und δ&sub2; = 2&supmin;¹² der Algorithmus dann ein korrektes L berechnet und Schritt 280 entfallen kann.
- Die Anfangswerte der Koeffizienten der Nah- und Fernechokompensatoren werden wie folgt berechnet. Die erforderliche Halbperiode L der speziellen Trainingssequenz wird auf der Grundlage des Wertes von B wie oben beschrieben berechnet. Die Trainingsvorrichtung 60 berechnet dann in Echtzeit die erforderliche komplexe Trainingssequenz entsprechend dem Wert von L. Die berechnete komplexe Trainingssequenz wird dann durch den Sender für wenigstens k' + 4 Halbperioden oder (k' + 4)L Baud übermittelt, wobei k' = k, wenn k ≥ 0, oder k' = 0 sonst, und k ergibt sich während der Bestimmung von L. Nachdem wenigstens k' + 1 Halbperioden oder (k' + 1)L Baud der Trai ningssequenz übermittelt wurden, speichert die Trainingsvorrichtung 60 die realen empfangenen digitalen Signalabtastwerte 32 in 3 Puffern 70, 72 und 74 ab, die in Fig. 7 gezeigt sind, die T- beabstandete Verzögerungsleitungen sind, die jeweils wenigstens 2L Abtastwerte lang sind. Weitere 2L Baud später, nachdem jeder Puffer 2L Abtastwerte empfangen hat und während der Sender mit dem Senden der periodischen Sequenz fortfährt, beginnt die Trainingsvorrichtung 60 unter Verwendung der Korrelatorvorrichtungen 76a bis f, die Korrelationen der Eingangsabtastwerte mit dem Real- und Imaginärteil von einer Periode der periodischen Trainingssequenz durchzuführen. Die Korrelationen können entweder zirkulare Korrelationen sein, wenn die gleichen Abtastwerte in dem 2L Puffern 70, 72 und 74 verwendet werden, oder sie können lineare Korrelationen sein, wenn first-in-first-out-Puffer (FIFO) verwendet werden, die 3 neue Abtastwerte pro Baud empfangen. Die realen Koeffizienten ergeben sich direkt aus den Korrelationsergebnissen, während der Imaginärteil der Koeffizienten gleich den Korrelationsergebnissen multipliziert mit (-1)k' ist. Unter der Annahme, dass drei komplexe Koeffizienten vorliegen, einer für jeden Teilkompensator, die pro Baud berechnet werden, so wird eine zeitliche Periode von N&sub1; Bauds verwendet werden, um alle Koeffizienten des Nahechokompensators 50 zu berechnen (s. Fig. 1). Die Koeffizienten des Fernechokompensators 52 werden auf die gleiche Art berechnet wie die Koeffizienten des Nahechokompensators. Die Koeffizienten des Fernechokompensators 52 können in N&sub2; Baud berechnet werden.
- Der Modem verwendet die berechneten Fernechokompensatorkoeffizienten, um die variablen Koeffizienten des PRC 56 zu setzen. Der PRC 56 kann auf digitale Phasenregelung (PLL) zurückgreifen, wie sie in US 4 813 073 mit dem Titel "Echo Cancellation" vom 14. März 1989 beschrieben ist. Um den PLL in dem PRC 56 zu trainieren ist es notwendig, die Phasenrollfrequenz genau abzuschätzen und die Fernecholeistung zu messen. Der Modem 2 implementiert den Algorithmus, der in Fig. 8 dargestellt ist, um diese beiden Eigenschaften zu berechnen.
- Unter der Annahme, dass die Frequenz des Fernechophasenrollens ωp radian/s beträgt, wird das Fernecho mit exp[jωpt] moduliert. Das zum Zeitpunkt T&sub1; empfangene Fernecho hat eine Phasendrehung von ωpT&sub1; radian in Bezug auf das Fernecho ohne Phasenrollen. Wenn die Frequenz ωp relativ niedrig ist, so dass in einem 2L langen Segment alle empfangenen Signalabtastwerte in etwa dieselbe Phasendrehung haben, dann gilt in etwa immer noch die Korrelationseigenschaft zwischen der Trainingssequenz und dem empfangenen Signal, die oben beschrieben wurde. Ein abgeschätzter Fernechokompensatorkoeffizient unter Verwendung des Signals zum Zeitpunkt T&sub1; gleicht dem Koeffizienten, der ohne Phasenrollen abgeschätzt wurde, multipliziert mit exp[jωpT&sub1;]. Ähnlich wird derselbe Echokompensatorkoeffizient, der zu einem späteren Zeitpunkt T&sub2; abgeschätzt wird, mit exp[jωpT&sub2;] multipliziert. Damit kann die Phasenrollfrequenz ωp abgeschätzt werden, indem die Winkeldifferenz Φ = (T&sub2; - T&sub1;)ωp zwischen diesen zwei Fernechokompensatorkoeffizienten durch die Zeitdifferenz T&sub2; - T&sub1; dividiert wird. Das Abschätzungsverfahren wird unten beschrieben.
- Zuerst berechnet der Modem 2 wenigstens zwei Sätze von Fernechokompensatorkoeffizienten unter Verwendung der Korrelationstechnik von oben (Schritt 300). Ein erster Satz von Koeffizienten wird entsprechend der Zeit T&sub1; berechnet, und ein zweiter Satz von Koeffizienten wird entsprechend der Zeit T&sub2; berechnet, die D Baud nach T&sub1; folgt. In der Praxis ist es bequem, D = L zu wählen, auch wenn D eine andere positive ganze Zahl sein kann. Dann wird in Schritt 310 durch den Modem 2 die abgeschätzte Phasendifferenz zwischen den zwei Sätzen der berechneten Fernechokompensatorkoeffizienten berechnet.
- Eine Art zum Bestimmen der abgeschätzten Phasendifferenz besteht im Berechnen des Sinus der Phasendifferenz Φm, n zwischen jedem der entsprechenden Koeffizienten in den zwei Sätzen der berechneten Fernechokompensatorkoeffizienten.
- Der Ausdruck sin Φm, n hängt mit den berechneten Koeffizienten auf folgende Art zusammen:
- Dies lässt sich näherungsweise ausdrücken durch
- wobei cm, r(n) und cm, i(n) Real- und Imaginärteil von cm(n), m = 0, 1 bzw. 2 ist, cm(n) die Größe von cm(n) ist und angenommen wird, dass die Größe der zwei berechneten Koeffizienten gleich ist.
- Wenn der Absolutwert des Winkels Φm, n klein ist, z. B. kleiner als 20 Grad, dann gilt
- Φm, n sin Φm, n
- Theoretisch sollte der Winkel zwischen irgendeinem Paar von Fernechokoeffizienten derselbe sein. Jedoch können Rauschen und andere Störungen die Gültigkeit dieser Beziehung einschränken. Um Rauscheffekte oder Störungen zu reduzieren und die Genauigkeit der Abschätzung der Phasenrollfrequenz zu verbessern, kann daher der abgeschätzte Winkel über alle Paare der Fernechokoeffizienten gemittelt werden. Das bedeutet, dass in Schritt 310 der Modem 2 folgende Rechnung ausführt:
- AVG(Φ) = Σn,mαm,nΦm,n
- wobei Σn,mαm,n 1 gilt, um sicherzustellen, dass AVG(Φ) eine unvoreingenommene Abschätzung des Winkels ist.
- Um einen optimalen Wichtungsfaktor am,n zu erhalten, wird vorzugsweise am,n gleich
- gesetzt. Nachdem dies erfolgt ist, beachte man, dass AVG(Φ) gleich
- ist.
- Es kann von Vorteil sein, den mittleren Winkel durch Berechnen der gerade genannten Gleichung zu bestimmen und dann über alle bestimmten Winkel zu mitteln. Der Grund dafür ist der, dass der erstere Ansatz nur eine Division enthält, während der letztere Ansatz viele Divisionen enthält. Da Divisionen eine zeitaufwendige und ineffiziente Prozedur bei kommerziell erhältlichen digitalen Signalprozessoren bedeuten, sollte man die Anzahl der Divisionen minimieren.
- Nach der Berechnung der abgeschätzten Phasendifferenz berechnet der Modem 2 eine Abschätzung der mittleren Phasenrollfrequenz durch Dividieren von AVG(Φ) durch DT = T&sub2; - T&sub1; (Schritt 320).
- Schließlich bestimmt in Schritt 330 der Modem 2 die Leistung des Fernechos durch die Berechnung der folgenden Beziehung:
- P = Σic (i)d(n - i) = ² = ² Σi c (i) ²
- wobei die Überstreichung die Mittelung des Ensembles bedeutet und d(n) das Datensymbol ist, das übertragen wird. Der Wert von Pf wird dann für die optimale Skalierung der PLL- Koeffizienten in dem PRC 56 verwendet.
- Der Modem kann durch eine multiple Prozessorarchitektur implementiert werden, wie es in Fig. 9 dargestellt ist. Das bedeutet, dass es einen allgemeinen Host-Prozessor gibt, der die Gesamtsteuerung und Datenverschiebungsaufgaben übernimmt, ein Signalprozessorelement 64, das die Funktionen des Senders und der Echokompensation einschließlich der Implementierung des oben beschriebenen Algorithmus übernimmt, und ein weiteres Signalprozessorelement 66, das die Funktion des Empfängers 40 übernimmt. Ein Modem mit diesem allgemeinen Aufbau ist in EP A 0 154 251 beschrieben.
Claims (12)
1. Modem für das Übertragen von Signalen an eine und das
Empfangen von Signalen von einer Gegenstelle über einen Kanal
(22), wobei das empfangene Signal ein Nahecho und ein Fernecho
beinhaltet, die durch eine Verzögerung voneinander getrennt
sind,
dadurch gekennzeichnet, dass
der Modem einen Echokompensator (44), einen
Trainingsgenerator (60) umfasst, der so ausgelegt ist, dass er im Betrieb
eine periodische Trainingssequenz mit einem
Symbolzeitintervall T zum Trainieren des Echokompensators erzeugt, wobei die
periodische Sequenz eine Periode hat, die gleich einem
ganzzahligen Vielfachen einer Variablen L ist, das Nahecho eine
Überdeckung von etwa N&sub1;T und das Fernecho eine Überdeckung von
etwa N&sub2;T hat, wobei N&sub1; und N&sub1;&sub2; ganze Zahlen sind, und das
Nahecho und das Fernecho durch eine Verzögerung BT voneinander
getrennt sind, und ein Rechenelement so ausgelegt ist, dass es
im Betrieb den Wert der Variablen L bestimmt, indem: eine
ganze Zahl K gewählt wird, die nicht größer als (B - N&sub1;)/(N&sub1; + N&sub2;)
ist, und L gleich einer ganzen Zahl in dem Intervall R gesetzt
wird, das im wesentlichen wie folgt definiert ist: [(B + N&sub2;)/(K
+ 1)] ≤ R ≤ [(B - N&sub1;)/K].
2. Modem nach Anspruch 1, dadurch gekennzeichnet, dass die
ganze Zahl K die größte ganze Zahl ist, die nicht größer als
(B - N&sub1;)/(N&sub1; + N&sub2;) ist.
3. Modem nach Anspruch 1 oder 2, dadurch gekennzeichnet,
dass als L die kleinste ganze Zahl in dem Intervall R gewählt
wird.
4. Modem nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, dass die Periode 2L beträgt.
5. Modem nach einem der vorangehenden Ansprüche, bei dem
ein Fernecho ein Phasenrollen aufweisen kann, dadurch
gekenn
zeichnet, dass das Echokompensationsmodul (44) so angepasst
ist, dass es durch Spezifizieren einer Abschätzung der
Phasenrollfrequenz und durch Verwenden der berechneten Korrelationen
zum Bestimmen eines Satzes von variablen Koeffizienten in dem
Echokompensator gesteuert wird, und dass der Modem außerdem
ein Rechenelement umfasst, das so angepasst ist, dass es im
Betrieb:
die Phasendifferenz zwischen einem ersten Satz und einem
zweiten Satz von Echokompensatorkoeffizienten berechnet, wobei
beide Sätze durch die Trainingsschaltung erzeugt wurden und
der erste Satz von Echokompensatorkoeffizienten einem
Zeitpunkt T&sub1; und der zweite Satz von Echokompensatorkoeffizienten
einem Zeitpunkt T&sub2; entspricht, und
die berechnete Phasendifferenz durch die Zeitdifferenz T&sub2; -
T&sub1; dividiert, um eine Abschätzung der Phasenrollfrequenz zu
erhalten.
6. Modem nach Anspruch 5, dadurch gekennzeichnet, dass das
Rechenelement so ausgelegt ist, dass es die berechnete
Phasendifferenz als gewichtetes Mittel der Phasendifferenzen
zwischen entsprechenden Elementen des ersten und des zweiten
Satzes der Echokompensatorkoeffizienten berechnet.
7. Verfahren zum Berechnen eine Periode für das Erzeugen
einer periodischen Trainingssequenz eines Echokompensators,
wobei die Trainingssequenz in einen Kanal eingespeist wird und
zu einem entsprechenden Echosignal führt, das ein Nahecho, das
eine Überdeckung von etwa N&sub1;T hat, und ein Fernecho umfasst,
das eine Überdeckung von etwa N&sub2;T hat, wobei N&sub1; und N&sub2; ganze
Zahlen sind und T das Symbolzeitintervall der Trainingssequenz
ist, und das Nahecho und das Fernecho durch eine Verzögerung
BT voneinander getrennt sind, wobei das Verfahren
gekennzeichnet ist durch die Schritte:
Wählen einer ganzen Zahl K, die nicht größer als (B -
N&sub1;) / (N&sub1; + N&sub2;) ist, und
Setzen der Periode gleich einem ganzzahligen Vielfachen
einer ganzen Zahl L in einem Intervall R, das im wesentlichen
wie folgt definiert ist: [(B + N&sub2;) / (K + 1)] ≤ R ≤ [(B - N&sub1;)/K].
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass
die ganze Zahl K die größte ganze Zahl ist, die nicht größer
als (B - N&sub1;) / (N&sub1; + N&sub2;) ist.
9. Verfahren nach Anspruch 7 oder 8, dadurch
gekennzeichnet, dass als L die kleinste ganze Zahl in dem Intervall R
gewählt wird.
10. Verfahren nach einem der Ansprüche 7, 8 oder 9, dadurch
gekennzeichnet, dass die Periode 2L beträgt.
11. Verfahren nach einem der Ansprüche 7, 8, 9, oder 10,
bei dem das Fernecho ein Phasenrollen aufweisen kann, dadurch
gekennzeichnet, dass der Betrieb des Echokompensators
gesteuert wird durch Spezifizieren einer Abschätzung der
Phasenrollfrequenz und durch Verwenden der berechneten Korrelationen zum
Bestimmen der Echokompensatorkoeffizienten gesteuert wird, und
dass das Verfahren außerdem die Schritte umfasst:
Berechnen der Phasendifferenz zwischen einem ersten Satz
und einem zweiten Satz von Echokompensatorkoeffizienten, wobei
beide Sätze durch die Trainingsmodulschaltung erzeugt wurden,
wobei der erste Satz von Echokompensatorkoeffizienten einem
Zeitpunkt T&sub1; und der zweite Satz von
Echokompensatorkoeffizienten einem Zeitpunkt T&sub2; entspricht, und
Dividieren der berechneten Phasendifferenz durch die
Zeitdifferenz T&sub2; - T&sub1;, um eine Abschätzung der Phasenrollfrequenz
zu erhalten.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
dass die berechnete Phasendifferenz ein gewichtetes Mittel der
Phasendifferenzen zwischen entsprechenden Elementen des ersten
und des zweiten Satzes der Echokompensatorkoeffizienten ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/333,992 US4987569A (en) | 1989-04-05 | 1989-04-05 | Fast training echo canceller |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69033576D1 DE69033576D1 (de) | 2000-08-10 |
DE69033576T2 true DE69033576T2 (de) | 2001-03-08 |
Family
ID=23305091
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69033576T Expired - Fee Related DE69033576T2 (de) | 1989-04-05 | 1990-04-05 | Echokompensator |
DE69024085T Expired - Fee Related DE69024085T2 (de) | 1989-04-05 | 1990-04-05 | Echokompensator |
DE69033577T Expired - Fee Related DE69033577T2 (de) | 1989-04-05 | 1990-04-05 | Echokompensator |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69024085T Expired - Fee Related DE69024085T2 (de) | 1989-04-05 | 1990-04-05 | Echokompensator |
DE69033577T Expired - Fee Related DE69033577T2 (de) | 1989-04-05 | 1990-04-05 | Echokompensator |
Country Status (7)
Country | Link |
---|---|
US (1) | US4987569A (de) |
EP (3) | EP0391715B1 (de) |
JP (1) | JPH02288622A (de) |
AT (1) | ATE131675T1 (de) |
CA (1) | CA2013797C (de) |
DE (3) | DE69033576T2 (de) |
HK (1) | HK1000482A1 (de) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02280422A (ja) * | 1989-04-20 | 1990-11-16 | Nec Corp | 音声会議装置用エコーキャンセラのトレーニング方法 |
DE68924261T2 (de) * | 1989-06-22 | 1996-03-21 | Ibm | Echokompensationseinrichtung mit Anpassung der Echokompensationskoeffizienten während der Vollduplexübertragung. |
JP3158414B2 (ja) * | 1990-06-25 | 2001-04-23 | 日本電気株式会社 | エコーキャンセラ |
US5500875A (en) * | 1990-12-12 | 1996-03-19 | Signal Processing Associates Pty Limited | QAM encoding |
US5189664A (en) * | 1991-02-19 | 1993-02-23 | Silicon Systems, Inc. | Listener echo cancellation |
US5153875A (en) * | 1991-03-25 | 1992-10-06 | Level One Communications, Inc. | Adaptive balancing network |
US5214637A (en) * | 1991-04-15 | 1993-05-25 | Codex Corporation | High speed two wire modem |
JP3013613B2 (ja) * | 1992-06-29 | 2000-02-28 | ヤマハ株式会社 | データ送受信装置 |
US5546459A (en) * | 1993-11-01 | 1996-08-13 | Qualcomm Incorporated | Variable block size adaptation algorithm for noise-robust acoustic echo cancellation |
WO1995031052A1 (fr) * | 1994-05-06 | 1995-11-16 | Ntt Mobile Communications Network Inc. | Compensateur d'echos et procede d'estimation de la trajectoire de l'echo |
WO1995031051A1 (fr) * | 1994-05-07 | 1995-11-16 | Ntt Mobile Communications Network Inc. | Compensateur d'echo et son procede d'apprentissage |
FI97836C (fi) * | 1994-10-31 | 1997-02-25 | Nokia Telecommunications Oy | Menetelmä tietoliikenneyhteyden muodostamiseksi |
US5761638A (en) * | 1995-03-17 | 1998-06-02 | Us West Inc | Telephone network apparatus and method using echo delay and attenuation |
US5757849A (en) * | 1995-03-30 | 1998-05-26 | Lucent Technologies Inc. | Timing recovery in a network-synchronized modem |
US5790594A (en) * | 1995-07-28 | 1998-08-04 | Motorola, Inc. | High speed modem and method for expedited timing recovery |
US5675644A (en) * | 1995-09-26 | 1997-10-07 | Qualcomm Incorporated | Method and apparatus for canceling echo accounting for delay variations |
US5812537A (en) * | 1995-09-29 | 1998-09-22 | Paradyne Corporation | Echo canceling method and apparatus for data over cellular |
US5828657A (en) * | 1995-09-29 | 1998-10-27 | Paradyne Corporation | Half-duplex echo canceler training using a pilot signal |
US5870429A (en) * | 1996-06-17 | 1999-02-09 | Motorola, Inc. | Apparatus method, and software modem for utilizing envelope delay distortion characteristics to determine a symbol rate and a carrier frequency for data transfer |
US6111949A (en) * | 1996-09-04 | 2000-08-29 | Teltrend, Inc. | Method of rapid automatic hybrid balancing |
US5974137A (en) * | 1996-09-04 | 1999-10-26 | Teltrend, Inc. | AGC amplifier for two-wire line conditioner |
US5963638A (en) | 1996-09-04 | 1999-10-05 | Teltrend, Inc. | Adjustable hybrid having improved biasing configuration |
US5953412A (en) * | 1996-09-04 | 1999-09-14 | Teltrend, Inc. | Method and apparatus for controlling line conditioner equalizer |
US5790658A (en) * | 1996-10-28 | 1998-08-04 | Advanced Micro Devices, Inc. | High performance echo canceller for high speed modem |
US6078645A (en) * | 1997-02-20 | 2000-06-20 | Lucent Technologies Inc. | Apparatus and method for monitoring full duplex data communications |
US5909426A (en) * | 1997-03-31 | 1999-06-01 | Rockwell Science Center, Inc. | Orthogonal LMS algorithms for fast line echo canceler training |
US6181791B1 (en) * | 1998-01-06 | 2001-01-30 | Stmicroelectronics, Inc. | Apparatus and method for reducing local interference in subscriber loop communication system |
US6317419B1 (en) * | 1998-06-10 | 2001-11-13 | Conexant Systems, Inc. | Method and apparatus for training an echo canceler in a PCM modem context |
US6978015B1 (en) | 1999-11-11 | 2005-12-20 | Tokyo Electron Limited | Method and apparatus for cooperative diagnosis of impairments and mitigation of disturbers in communication systems |
US6834109B1 (en) * | 1999-11-11 | 2004-12-21 | Tokyo Electron Limited | Method and apparatus for mitigation of disturbers in communication systems |
US6870901B1 (en) | 1999-11-11 | 2005-03-22 | Tokyo Electron Limited | Design and architecture of an impairment diagnosis system for use in communications systems |
US7864692B1 (en) | 1999-11-11 | 2011-01-04 | Tokyo Electron Limited | Method and apparatus for the prediction and optimization in impaired communication systems |
US6970560B1 (en) | 1999-11-11 | 2005-11-29 | Tokyo Electron Limited | Method and apparatus for impairment diagnosis in communication systems |
US6970415B1 (en) | 1999-11-11 | 2005-11-29 | Tokyo Electron Limited | Method and apparatus for characterization of disturbers in communication systems |
US7369516B1 (en) * | 2000-02-21 | 2008-05-06 | Abraham Fisher | Adaptive echo canceling |
US7672447B1 (en) | 2000-06-01 | 2010-03-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Frequency domain echo canceller |
US7593511B2 (en) * | 2001-11-19 | 2009-09-22 | Alcatel Lucent | Method for training line drivers in a communication system |
US7046798B2 (en) * | 2002-09-03 | 2006-05-16 | Paradyne Corporation | System and method for subliminal time domain duplexing |
KR100467026B1 (ko) * | 2002-12-20 | 2005-01-24 | 삼성전자주식회사 | 하드웨어의 구성을 단순화시킨 에코 제거기를 갖는 비대칭통신 시스템과 에코 제거기의 필터 계수를 다운 로드하는방법 |
KR101060585B1 (ko) * | 2003-07-19 | 2011-08-31 | 주식회사 쏠리테크 | 반향 제거 장치를 갖는 무선 중계기 및 반향 신호 제거 방법 |
US20050195892A1 (en) * | 2004-03-05 | 2005-09-08 | Texas Instruments Incorporated | Training and updating for multiple input-output wireline communications |
US7619964B2 (en) * | 2004-07-08 | 2009-11-17 | Nokia Corporation | High doppler channel estimation for OFD multiple antenna systems |
US8565416B2 (en) * | 2006-03-17 | 2013-10-22 | Cisco Technology, Inc. | Cache-based echo canceller |
US8126161B2 (en) * | 2006-11-02 | 2012-02-28 | Hitachi, Ltd. | Acoustic echo canceller system |
US8396206B2 (en) * | 2007-02-15 | 2013-03-12 | Infineon Technologies Ag | Multi-channel communication device and methods for reducing echoes by inserting a training sequence under a spectral mask |
US8213597B2 (en) * | 2007-02-15 | 2012-07-03 | Infineon Technologies Ag | Audio communication device and methods for reducing echoes by inserting a training sequence under a spectral mask |
CN101350798B (zh) * | 2008-08-29 | 2010-06-16 | 北京创毅视讯科技有限公司 | 回波消除装置和方法、及包含回波消除装置的收发设备 |
US8135058B2 (en) * | 2008-10-10 | 2012-03-13 | Csr Technology Inc. | Adaptive known signal canceller |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4126770A (en) * | 1975-11-07 | 1978-11-21 | Kokusai Denshin Denwa Kabushiki Kaisha | Echo canceller |
FR2337465A1 (fr) * | 1975-12-30 | 1977-07-29 | Ibm France | Procede et dispositif pour determiner les valeurs initiales des coefficients d'un egaliseur transversal complexe |
USRE31253E (en) * | 1976-09-07 | 1983-05-24 | Bell Telephone Laboratories, Incorporated | Echo cancellation in two-wire, two-way data transmission systems |
EP0270706B1 (de) * | 1982-06-14 | 1993-03-24 | Telecommunications Radioelectriques Et Telephoniques T.R.T. | Verfahren zum Vermindern der Konvergenzzeit eines Echokompensators |
FR2528643A1 (fr) * | 1982-06-14 | 1983-12-16 | Trt Telecom Radio Electr | Procede destine a reduire le temps de convergence d'un annuleur d'echo et dispositif utilise pour mettre en oeuvre ce procede |
FR2540314A1 (fr) * | 1983-01-31 | 1984-08-03 | Trt Telecom Radio Electr | Procede d'initialisation des coefficients de filtres dans un dispositif d'annulation d'echos proche et lointain et dispositif de mise en oeuvre de ce procede |
FR2541837A1 (fr) * | 1983-02-25 | 1984-08-31 | Trt Telecom Radio Electr | Procede de reduction du temps de convergence d'un annuleur d'echo et dispositif pour mettre en oeuvre ce procede |
US4594479A (en) * | 1983-08-18 | 1986-06-10 | At&T Information Systems Inc. Bell Telephone Laboratories, Inc. | Fast start-up of adaptive echo canceler or echo measurement device |
US4682358A (en) * | 1984-12-04 | 1987-07-21 | American Telephone And Telegraph Company | Echo canceller |
US4760596A (en) * | 1986-02-25 | 1988-07-26 | Gte Laboratories Incorporated | Adaptive echo cancellation and equalization system signal processor and method therefor |
US4813073A (en) * | 1987-07-02 | 1989-03-14 | Codex Corporation | Echo cancellation |
-
1989
- 1989-04-05 US US07/333,992 patent/US4987569A/en not_active Expired - Lifetime
-
1990
- 1990-03-27 JP JP2078600A patent/JPH02288622A/ja active Pending
- 1990-04-04 CA CA002013797A patent/CA2013797C/en not_active Expired - Fee Related
- 1990-04-05 DE DE69033576T patent/DE69033576T2/de not_active Expired - Fee Related
- 1990-04-05 DE DE69024085T patent/DE69024085T2/de not_active Expired - Fee Related
- 1990-04-05 EP EP90303667A patent/EP0391715B1/de not_active Expired - Lifetime
- 1990-04-05 EP EP94114580A patent/EP0630119B1/de not_active Expired - Lifetime
- 1990-04-05 DE DE69033577T patent/DE69033577T2/de not_active Expired - Fee Related
- 1990-04-05 AT AT90303667T patent/ATE131675T1/de active
- 1990-04-05 EP EP94114547A patent/EP0632601B1/de not_active Expired - Lifetime
-
1997
- 1997-10-29 HK HK97102050A patent/HK1000482A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69033577D1 (de) | 2000-08-10 |
DE69024085T2 (de) | 1996-07-25 |
US4987569A (en) | 1991-01-22 |
EP0630119A3 (de) | 1995-03-08 |
EP0632601A2 (de) | 1995-01-04 |
EP0391715A2 (de) | 1990-10-10 |
CA2013797C (en) | 1998-01-20 |
HK1000482A1 (en) | 1998-03-27 |
EP0632601B1 (de) | 2000-07-05 |
EP0391715A3 (de) | 1993-01-13 |
EP0630119B1 (de) | 2000-07-05 |
EP0630119A2 (de) | 1994-12-21 |
DE69033576D1 (de) | 2000-08-10 |
EP0632601A3 (de) | 1995-03-08 |
CA2013797A1 (en) | 1990-10-05 |
DE69024085D1 (de) | 1996-01-25 |
ATE131675T1 (de) | 1995-12-15 |
JPH02288622A (ja) | 1990-11-28 |
EP0391715B1 (de) | 1995-12-13 |
DE69033577T2 (de) | 2001-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69033576T2 (de) | Echokompensator | |
DE68924261T2 (de) | Echokompensationseinrichtung mit Anpassung der Echokompensationskoeffizienten während der Vollduplexübertragung. | |
DE69533375T2 (de) | Echokompensator und Echopfadschätzungsverfahren | |
DE3018238C2 (de) | Adaptiver Echoausgleicher | |
DE69019197T2 (de) | Echokompensator mit FIR und IIR Filtern für Kompensation von Echos mit langem Ausschwingen. | |
DE2740123C2 (de) | Echoauslöschanordnung für eine Digitaldatenübertragungsanlage | |
DE69632975T2 (de) | Taktrückgewinnung in einem netzwerksynchronisierten Modem | |
DE69310240T2 (de) | Verfahren und Anordnung zur adaptiven digitalen Löschung des in Fernsprechverbindungen mit zeitvarianten Eigenschaften erzeugten Echos | |
DE3687114T2 (de) | Datenuebertragungssystem. | |
DE3604849C2 (de) | Vorrichtung und Verfahren zur Auslöschung von Kreuzpolarisationsstörungen | |
DE69909497T2 (de) | Taktrückgewinnung für ein hochratiges digitales kommunikationssystem beruhehnd auf adaptiven entzerrerimpulsantworteigenschaften | |
DE69928561T2 (de) | Messung der nichtlinearen verzerrung in sendern | |
DE69429137T2 (de) | Unterdrückung von nahem Übersprechen | |
DE2700354C2 (de) | Empfänger für Nachrichtenübertragungssysteme | |
DE2214398C3 (de) | Verfahren und Anordnung zur schnellen Gewinnung der Anfangskonvergenz der Verstärkungseinstellungen bei einem Transversalentzerrer | |
DE68917608T2 (de) | Mehrpunkt-Modem-System mit schneller Synchronisierung. | |
DE3872966T2 (de) | Echokompensation. | |
DE69330729T2 (de) | Verfahren zur Symbolratenanpassung in einem Kommunikationsnetz | |
DE2653965B2 (de) | Echounterdrückungsanordnung für eine Digitaldatenubertragungsanlage | |
DE2740141A1 (de) | Gemeinsame adaptive echounterdrueckungs- und entzerrervorrichtung fuer eine zweidraht-vollduplex-datenuebertragungsanordnung | |
DE69906548T2 (de) | DSL-Übertragungsystem mit Fernnebensprechkompensation | |
DE2727242B2 (de) | Schaltungsanordnung für simultane Zweiwegdatenübertragung über Zweidrahtverbindungen | |
DE68911318T2 (de) | Datenmodemempfänger. | |
DE69803837T2 (de) | Kombinierter paralleler anpassbarer entzerrer/echounterdrücker | |
DE2734941C2 (de) | Echoauslöscheinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: SCHUMACHER & WILLSAU, PATENTANWALTSSOZIETAET, 80335 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |