(51) Int Cl.: H04B 3/23 (2006.01)



Similar documents
TEPZZ_768 7_B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION. (51) Int Cl.: H04M 19/04 ( )

(51) Int Cl.: B29C 41/20 ( ) F21S 4/00 ( ) H05K 3/28 ( )

(51) Int Cl.: G05F 3/26 ( ) G05F 3/24 ( )

(51) Int Cl.: C08K 5/523 ( ) C08K 5/521 ( ) C08K 5/52 ( ) C08G 64/00 ( )

(51) Int Cl.: H04N 7/16 ( )

(51) Int Cl.: G06F 1/00 ( )

(51) Int Cl.: H04M 3/50 ( )

(51) Int Cl.: G06F 13/38 ( ) G06F 1/16 ( )

*EP B1* EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: H04L 9/24 ( ) G06Q 10/00 ( )

(51) Int Cl.: H04W 4/14 ( )

(51) Int Cl.: H04L 9/32 ( ) H04B 7/00 ( ) A61N 1/37 ( )

(51) Int Cl.: H04L 12/00 ( )

(51) Int Cl.: H04L 29/06 ( ) G06F 9/445 ( ) G06F 13/00 ( )

(51) Int Cl.: G06F 21/00 ( ) H04L 29/06 ( )

(51) Int Cl.: H04L 12/56 ( )

(51) Int Cl.: H04L 12/24 ( )

(51) Int Cl.: H04L 29/06 ( ) H04M 3/56 ( ) H04M 3/44 ( ) H04L 12/18 ( )

TEPZZ 5Z _9_B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: G10L 15/26 ( )

(51) Int Cl.: G06F 11/20 ( )

(51) Int Cl.: G10L 19/00 ( ) H04L 1/20 ( )

(51) Int Cl.: H04L 12/26 ( ) H04L 12/24 ( )

(51) Int Cl.: H04L 12/24 ( )

(51) Int Cl.: H04L 12/10 ( ) H04L 12/40 ( )

(51) Int Cl.: H05K 1/02 ( )

(51) Int Cl. 7 : G03G 15/00

(51) Int Cl.: H04L 29/06 ( )

(51) Int Cl.: H04L 29/06 ( ) H04L 12/26 ( ) H04M 3/22 ( ) H04M 7/00 ( )

(51) Int Cl.: G08B 21/02 ( ) H04M 11/04 ( )

(51) Int Cl.: H04L 29/06 ( ) H04L 29/12 ( )

(51) Int Cl.: H04L 12/58 ( )

(51) Int Cl.: G08G 1/14 ( ) G07B 15/02 ( ) G10L 15/28 ( )

EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA. (51) Int. Cl.: H04L 12/24 ( )

(51) Int Cl.: H04L 29/06 ( )

(51) Int Cl.: H04L 29/12 ( )

(51) Int Cl.: G01S 7/52 ( )

TEPZZ_ 8_69B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

*EP B1* EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: H04L 29/06 ( ) H04L 12/22 ( )

TEPZZ_9 6Z46B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION. (51) Int Cl.:

(51) Int Cl.: G06F 1/00 ( )

TEPZZ_57 7_9B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(56) References cited:

The Advantialer and Its Advantages

(51) Int Cl.: G06F 13/42 ( )

(56) References cited:

(51) Int Cl.: G04B 19/08 ( )

(51) Int Cl.: H04L 12/26 ( )

(51) Int Cl.: G06F 17/00 ( ) G06F 11/20 ( )

(51) Int Cl.: H04N 1/19 ( ) H04N 3/15 ( ) H04N 9/04 ( )

(51) Int Cl.: H04L 12/46 ( ) H04L 29/14 ( ) H04L 29/12 ( )

(51) Int Cl.: G01S 15/89 ( ) G01S 7/521 ( ) G01S 7/52 ( )

(51) Int Cl.: H04L 9/32 ( )

TEPZZ_965577B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION. (51) Int Cl.: H04M 3/523 ( )

(51) Int Cl.: H04L 29/06 ( ) H04M 15/00 ( )

(51) Int Cl.: H04L 29/06 ( ) H04Q 7/24 ( ) H04L 12/66 ( )

(51) Int Cl.: G06F 11/14 ( ) G06F 12/08 ( )

(51) Int Cl.: H04L 29/06 ( )

(51) Int Cl.: B61K 9/12 ( )

(51) Int Cl.: H05K 1/02 ( )

(51) Int Cl.: H04M 3/51 ( )

EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl. 7 : G06F 11/22

TEPZZ 4_888 B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION. (51) Int Cl.: H04W 12/00 ( )

(51) Int Cl.: H04L 12/56 ( ) H04L 12/28 ( ) H04M 7/00 ( )

(51) Int Cl.: H04L 9/32 ( ) G09C 1/00 ( ) G06F 21/33 ( ) H04L 29/06 ( )

(51) Int Cl.: G06F 17/30 ( )

(51) Int Cl.: B62M 7/12 ( ) B62M 23/02 ( )

(51) Int Cl.: H04B 7/26 ( )

(51) Int Cl.: G01C 21/36 ( )

(51) Int Cl.: G06F 17/30 ( )

(51) Int Cl.: G06Q 10/00 ( )

EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: H04Q 11/04 ( ) H04L 12/64 ( )

(51) Int Cl.: G06F 21/24 ( )

TEPZZ 858 ZB_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

EUROPEAN PATENT SPECIFICATION. (51) intci.e: H04L9/06, H04L9/08. (56) References cited: DE-A US-A

(51) Int Cl.: H04L 12/58 ( )

EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

Jouve, 18, rue Saint-Denis, PARIS

(51) Int Cl.: G06F 9/46 ( ) H04L 12/56 ( )

(51) Int Cl.: G06F 11/14 ( )

(51) Int Cl.: H04L 12/24 ( ) G06F 9/445 ( )

EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl. 7 : H04B 7/185, H04B 1/40. (56) References cited: WO-A-00/03494

(51) Int Cl.: G06F 12/14 ( ) G06F 17/00 ( ) H04M 1/66 ( ) G06F 1/00 ( )

(51) Int Cl.: H04L 29/06 ( )

design guide nightlife flair

(51) Int Cl.: B65H 9/16 ( ) B65H 5/02 ( )

(51) Int Cl.: H04N 7/15 ( ) H04N 7/18 ( )

Invention of a Dental Appraisal

(51) Int Cl.: G06Q 20/00 ( ) G06F 21/00 ( )

Europaisches Patentamt European Patent Office Office europeen des brevets (11) EP B2

(51) Int Cl.: G06F 11/14 ( ) G06F 17/30 ( )

(51) Int Cl.: H04W 8/16 ( ) H04L 29/12 ( ) H04W 8/18 ( )

TEPZZ _ 6594B_T EP B1 (19) (11) EP B1 (12) EUROPEAN PATENT SPECIFICATION

(51) Int Cl.: B29C 44/06 ( )

(51) Int Cl.: H04N 5/225 ( )

Inada Katsuta, Ibaraki (JP) Inventor: Kawakami, Kanji ( ) References cited: 18-5, Inada DE-B US - A

Transcription:

(19) (11) EP 0 983 638 B1 (12) EUROPEAN PATENT SPECIFICATION (4) Date of publication and mention of the grant of the patent: 21.03.12 Bulletin 12/12 (21) Application number: 989232.7 (22) Date of filing: 31.03.1998 (1) Int Cl.: H04B 3/23 (06.01) (86) International application number: PCT/US1998/0060 (87) International publication number: WO 1998/04460 (08..1998 Gazette 1998/) (4) ORTHOGONAL LMS ALGORITHMS FOR FAST LINE ECHO CANCELER TRAINING ORTHOGONALER LMS-ALGORITHMUS MIT SCHNELLEM LEISTUNGSECHOUNTERDRÜCKERTRAINING ALGORITHMES A ERREUR QUADRATIQUE MINIMALE ORTHOGONAUX POUR L EXPERIMENTATION DE SUPPRESSEURS RAPIDES DES ECHOS DE LIGNE (84) Designated Contracting States: DE FR GB () Priority: 31.03.1997 US 828482 (43) Date of publication of application: 08.03.00 Bulletin 00/ (73) Proprietor: Conexant Systems, Inc. Newport Beach, CA 92660 (US) (72) Inventors: LIAU, Thomas, C. Hacienda Heights, CA 9174 (US) TSAI, Wei, K. Irvine, CA 92612 (US) (74) Representative: Legg, Cyrus James Grahame et al ABEL & IMRAY Red Lion Street London WC1R 4PQ (GB) (6) References cited: US-A- 4 621 173 US-A- 4 621 173 US-A- 4 78 44 US-A- 4 88 737 US-A- 4 987 69 EP 0 983 638 B1 Note: Within nine months of the publication of the mention of the grant of the European patent in the European Patent Bulletin, any person may give notice to the European Patent Office of opposition to that patent, in accordance with the Implementing Regulations. Notice of opposition shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention). Printed by Jouve, 7001 PARIS (FR)

Description 2 [0001] The present invention relates to an algorithm for training an echo canceler used in voice band modems, and in particular an echo canceler employing a variation of the Least Mean Squares (LMS) algorithm during a training sequence. [0002] Standard telephone lines are used for digital transmissions. A modem (modulator/demodulator) is used to transmit digital data by converting bit-serial digital quantities into analog signals which are transmitted over the telephone lines. The transmitting portion of the modem modulates the digital data into a sine wave carrier signal having a frequency within the voice transmission band. The receiving portion of the modem receives the analog signals and demodulates them back into digital data. U.S. Patent No. 4,977,91, entitled "Dual Mode LMS Nonlinear Data Echo Canceler," to Walter Y. Chen and Richard A. Haddad and Richard D. Gitlin, Jeremiah F. Hayes, and Stephen B. Weinstein, Data Communication Principles 607 et seq. (1992) provide a detailed description of modem communication via the telephone channel. [0003] A full duplex modem transmits and receives using the same bandwidth in a two-wire (bilateral) telephone channel used for both voice and data transmission. When signals are transmitted over the telephone channel an echo is generated which is added to the transmitted signal. Thus, the signal received at the receiving end includes not only the originally transmitted signal, but echo components. [0004] The echo occurs as a result of a hybrid coupler ("hybrid") converting a four-wire loop to a two-wire loop within the telephone network. These conversion from four-wire to two wire creates an echo in the transmitted data signal which arises as a result of an impedance mismatch. This impedance mismatch causes a portion of the data signal generated by the transmitter of the near end modem to return to the receiver of the near end modem. The near end echo is comprised of two components. The first component of the near end echo arises when a hybrid converts the two-wire transmitter and two-wire receiver, a total of four wires, to the two-wire local loop of the telephone network. The second component of the near end echo results when a hybrid converts the two-wire local loop to the four-wire loop of the telephone network. [000] The far end echo is also comprised of two components. The first component of the near end echo arises when a hybrid converts the four-wire network to a two-wire local loop. The second component arises when a hybrid converts the two-wire local loop to the four-wire connection within the receiving modem, the two-wire receiver and two-wire transmitter. This far end echo is less significant than the near end echo. [0006] It is the role of an echo canceler to remove or minimize the echo component from the signal received at the near end modem receiver. The signal received by the modem receiver can be modeled as follows: 3 [0007] Where y n is the data signal received by the receiver. It is comprised of r n, which is the actual signal transmitted from a remote modem or source, and z n, which is the actual echo component of the received signal. The echo canceler estimates z n to obtain z n and then subtracts this value from the received signal y n to get the an estimate of the received signal, r n, which has the estimated echo removed. Below is an equation showing the estimated received signal with the estimated echo subtracted: 4 0 [0008] In a conventional echo canceler, the modem initiates a training sequence when the carrier signal is received, prior to receiving data or going into a data mode. During this training sequence, the echo canceler estimates the impulse response of the echo path by modeling the transmission channel as an adaptive digital filter, such as an FIR filter. Such adaptive FIR filters are known in the art to cancel echos, and described in Data Communications, supra, at 619-624. This calculated echo impulse response is then used to calculate an estimated echo. During the data mode when the modem is receiving data signals, the echo canceler within the modem receives data from the data transmitter of the modem. The echo canceler performs an operation on the transmitted data signal with the estimated echo channel impulse response signal to obtain an estimated echo signal, which is then subtracted from the data received from a remote modem as discussed above. [0009] Two commonly used methods to estimate the echo path impulse response are the LMS and Recursive Least Squares (RLS) algorithms. The LMS algorithm adjusts the calculated values to minimize the error between the actual echo signal (z n ) at time n and the estimated echo signal (z n ). The RLS algorithm converges about times faster than the LMS algorithm. However, the LMS algorithm is preferred over the RLS algorithm because the LMS algorithm has 2

significantly less computational complexity. For instance, setting N as the number of data taps or length of the data sequence to sound the echo channel, the RLS algorithm requires N 2 computational steps, whereas the LMS method only requires N computations. One attempt to reduce computational complexity has been the use of Fast Kalman algorithms that have computational complexities of 7-8N. Although the Fast Kalman method may converge quickly, it is problematic because it exhibits high sensitivity to roundoff and other errors. [00] US 4,621,173 discloses a method and apparatus according to the preambles of the independent claims. [0011] According to an aspect of the present invention there is provided a method for estimating the echo impulse response. The method comprises transmitting with a transmitter a data sequence of length N to sound an echo channel. The echo z n returns as a result of such sounding. The method further comprises selecting data samples d n such that a data vector h n which is comprised of the data samples d n produces a data matrix which is diagonal to the Nth iteration, receiving with an echo canceler the data samples d n and the echo z n and calculating with the echo canceler the echo impulse response x n using at least means square algorithm and the data vector h n of data samples d n and the sound echo z n. The echo canceler (26) estimates the echo impulse response x n either in accordance with the following equation: wherein the echo impulse response x n is calculated out to N iterations or in accordance the with the following equation: 2 wherein 3 4 wherein k = ceiling (n/n) and wherein the echo impulse response x n is calculated in more than N iterations. [0012] According to another aspect of the present invention there is provided a modem, including a receiver, means arranged to generate a data sequence of data samples d n such that a data vector h n comprised of the data samples d n produces a data matrix that is diagonal and a transmitter. The transmitter includes means arranged to transmit a data sequence of length N to sound an echo channel and means arranged to receive and transmit the generated data sequence d n. The modem further includes an echo canceler. The echo canceler includes means arranged to receive an echo z n resulting from the sounding of the echo channel, means arranged to receive the data sequence d n from the transmitter means arranged to apply an LMS algorithm to calculate the echo impulse response x n based on the sequence of data d n and the sounded echo z n, during data transmission, means for using the estimated echo impulse response x n to estimate the echo z n, means arranged to estimate a signal transmitted from a remote source r n by removing the estimated echo z n from the signal transmitted from the remote source and means arranged to communicate to the receiver the estimated transmitted signal r n. The means for calculating the echo impulse response x n is arranged to calculate the echo impulse response x n either in accordance with the following equation: 0 wherein the echo impulse response x n is calculated out to N iterations or in accordance with the following equation: 3

wherein 2 3 4 0 wherein K = ceiling (n/n); and wherein the echo impulse response x n is calculated in more than N iterations. [0013] It is an object of the present invention to estimate a discrete echo channel impulse response using an algorithm having the low computational complexity of an LMS, algorithm and the superior convergence properties of RLS algorithms. [0014] During a training sequence prior to dual mode transmission, the transmitter generates a data sequence of length N including data samples d( n ). This data sequence is selected such that a data matrix formed from data vectors comprised of the generated data samples d (n) produces a data matrix diagonal to the Nth iteration. Also during this training sequence, the transmitter generates a signal to sound the echo channel which returns to the modem as echo z (n). [00] Based on these values, the selected data sequence generated by the transmitter d (n) and the sounded echos z( n ), the echo canceler implements a normalized LMS algorithm based on the under-determined approach to estimate the discrete echo channel impulse response x (n). In the normalized LMS, the algorithm runs for N iterations. This echo impulse response has convergence properties similar to RLS, yet realizes this convergence with significantly less computational complexity than that used by the RLS algorithm. In a further embodiment, iterations can be performed beyond N. In such case, error correction terms can be added to the equation for estimating the echo impulse response. By going beyond N iterations to estimate the echo impulse response, the normalized algorithm can match exactly the superior convergence rate of RLS for calculating the echo impulse response. [0016] Preferred embodiments of the present invention will now be described by way of example only and with reference to the accompanying drawings, in which: Figure 1 schematically illustrates the channel model for line echos in a telephone network; Figure 2 schematically illustrates an echo canceler within a modem; Figure 3 provides a convergence performance comparison for the OLMS, SOLMS, RLMS, and simplified LMS algorithms; and Figure 4 provides a convergence performance comparison of the RLS, OLMS, and SOLMS algorithms. [0017] Figure 1 shows a model of how modems are linked with a telephone network channel 12 and used for the transmission of digital data. Two modems, a near end modem 16 and a far end modem 68, are connected to the telephone network. The near end modem 16 includes a transmitter and receiver 24 and the far end modem 68 also includes a transmitter 72 and receiver 76. The transmitter 72 of the far end modem 68 communicate digital data over the channel 12 to the receiver 24 of the near end modem 16. Similarly, the transmitter of the near end modem 16 transmits data over the channel 12 to the receiver 76 of the far end modem 68. [0018] In the near end modem 16, a transmitting two-wire pair 28 is connected to transmitter and a receiving twowire pair 32 is connected to the receiver 24. The transmitting two-wire pair 28 and receiving two-wire pair 32 (comprising a total of four wires) are converted by a hybrid 24 into a single analog two-wire pair 48, which forms a local loop of the telephone network and transmits in both directions at the same time. [0019] At hybrid 44, an impedance mismatch is formed due to design and hardware limitations. Due to this impedance mismatch, a portion of the signal passing through the transmitting two-wire pair 28 travels back through the receiving two-wire pair 32 as an echo. This echo is part of what is known as the near end echo. Path 36 illustrates how a fraction of the transmitted signal from transmitter returns to the receiver 24. [00] With reference to Figure 1, a hybrid 2 converts the two-wire near end local loop 48 to a four-wire network loop 6. This conversion further adds to the near end echo received by receiver 24. [0021] A far end echo arises as a result of two conversions. The first component of the far end echo arises as a result of hybrid 60 converting the four-wire network 6 of the telephone network to the two-wire local loop 64. The second component arises as a result of hybrid 96 converting the two-wire local loop 64 to the four-wires made up of the twowire transmitting pair 84 and two-wire receiving pair 80. [0022] In the far end modem 42, the same echo situation occurs. The hybrid conversions at hybrids 96 and 60 contribute to the near end echo for the far end modem 42, and the conversions at hybrids 44, 2 contribute to the far end echo for 4

the far end modem 42. However, the echos received at the far end modem 42 are different than those echos received at the near end modem 16. [0023] Figure 2 shows preferred embodiments of how an echo canceler 26 may be employed in a modem. The echo canceler 26 may be comprised of a known adaptive FIR filter, such as those described in Data Communications, supra, at 619-624, for estimating the discrete time echo channel impulse response, referred to herein as x n. The echo canceler 26 may be implemented as a microprocessor operating under stored program control or in dedicated logic circuits or in some combination thereof. Figure 2 shows the echo canceler 26 within the near end modem 16. The echo canceler 26 is coupled to receive data transmitted from the transmitter and the data received by the modem via the receiving two wire pair 32. [0024] After the modem connects to the telephone line, it initiates a training sequence before it receives data from a remote location. The echo canceler 26 estimates the echo channel impulse response (x n ) using two known variables, the input or data transmitted from the transmitter, referred to as d n, and the echo z n generated when the echo channel is sounded during the training sequence. [002] An equation for estimating the echo z n at time n based on the data d n from the transmitter and the echo impulse response x n is modeled as follows: 2 [0026] As discussed, during the training sequence, the echo canceler 26 knows z n and d n. ν n represents noise. During the approximation of the echo, the noise ν n is assumed to have zero means, i.e., averages out to zero. Based on these known variables, the echo canceler estimates the echo channel impulse response, x n. To estimate x n, the discrete time equation is rewritten in matrix form to solve the linear equation, such that: where 3 4 [0027] The variable N is the length of the data sequence used to sound the echo channel and the number of iterations performed by the algorithm. Each data vector h (n) is comprised of a set of data samples generated by the transmitter. In preferred embodiments each h (n) data vector would include N data samples. For instance, if N=, then the h (n) data vectors may have the following format: 0 etc. [0028] It is a feature of the preferred embodiment to carefully select the data d n used in the linear equation by particularly

selecting the data matrix H n and then employing an LMS algorithm to estimate the data echo impulse responses x n. In preferred embodiments, the data vector h (n) is selected such that it would produce a data matrix H N H N T that is full rank and generates a data correlation matrix that is diagonal at the Nth iteration. [0029] To obtain H N H N T that is full rank and generates a data correlation matrix that is diagonal to the Nth iteration, the data sequence h (n) can be selected using a Constant Amplitude Zero Autocorrelation (CAZAC) sequence. Other methods for selecting the data sequences such that H N H N T is diagonal may also be used. [00] In a preferred embodiment the data values can be selected using polyphase codes with a periodic autocorrelation function that is zero everywhere except at a single maximum per period. If the data vector has length N, then the data values d k can be selected using the following equations. [0031] First select a value M, which is a prime number relative to N, i. e., not divisible by N. If N is even, then the data samples d k in the data vector h (n) used during the training sequence can be calculated with the following equation involving complex numbers: [0032] If N is odd, then the data samples d k in the data vector h (n) used during the training sequence can be calculated with the following equation involving complex numbers: 2 [0033] These data samples d k may be calculated by a processor and inputted to the transmitter for further transmittal to the echo canceler 26. Alternatively, these calculated data samples d k may be stored in a look-up table in a memory. [0034] When this carefully selected data sequence is applied to the under-determined system algorithm, the update equation for estimating the echo impulse response (x n ) reduces down to: 3 [003] The component 4 0 represents the adaptation or error component used by the echo canceler. [0036] The echo impulse channel estimates generated using this method and data selection technique will minimize mean square errors between the calculated echo and estimated echo, wherein each subsequent iteration converges toward a better approximation. Moreover, using the normalized LMS algorithm with the carefully selected data matrix results in the same rapid convergence properties of the RLS method up to the first N iterations. Still further, this normalized LMS algorithm accomplishes such results with the computational complexity of an LMS algorithm as opposed to the far more computationally complex RLS method. The above algorithm is also known as the simplified orthogonal least means squares algorithm ("SOLMS") [0037] After the training sequence, the modem enters data mode and begins receiving data. As discussed, the data received is referred to as y n. The data signal can be represented as: [0038] The goal is to estimate r n or the received signal. The estimated echo, z n, is determined in accordance with: 6

[0039] The echo canceler 26 uses the transmitted data from the transmitter (d n ), selected in the manner discussed above, and the echo channel impulse response, x n, estimated during the training sequence, to estimate the echo z n. The estimated echo is then subtracted from the data signal received from the far end modem 68 (y n ) to estimate what the far end modem 68 transmitted (r n ), or 2 [00] Assuming the echo channel is not time varying, in full duplex data transmission mode, there should be almost no change in the value of the echo impulse response calculated during the training sequence. In preferred embodiments, the echo canceler 26 will continue approximating the echo impulse response x n during the data transmission mode using a standard LMS algorithm. Although the standard LMS algorithm is slower to converge, this is not problematic because time varying changes in the echo channel during data transmission mode are relatively gradual. Accordingly, any changes in the echo channel during data transmission mode may be tracked using the standard LMS algorithm. [0041] In alternative embodiments, the echo impulse response x n may be calculated out to a number of iterations greater than N. In preferred embodiments, an additional times N iterations have been performed, when N = 60. However, other values for N and multiples thereof for performing iterations may also be selected. For those iterations beyond N, an error value is used to calculate the echo impulse response x n. This new algorithm incorporating the error term is referred to as the orthogonal LMS algorithm ("OLMS"), which calculates the echo impulse response as follows: where 3 and k = ceiling (n/n). [0042] Note that the calculation for (err 1 - err 2 ) reduces to: 4 0 [0043] This equation including the error correction terms matches exactly the computations performed by the RLS algorithm. Moreover, the use of the error terms is averaging the received data and, thus, averages out the noise v n. When there is no noise, the SOLMS algorithm closely approximates the OLMS algorithm. However, when there is noise, the OLMS provides a better approximation of the echo impulse response because the OLMS system averages out the noise. The reason for this is that the SOLMS and OLMS algorithms produce the same result for the first N iterations. The OLMS algorithm, however, goes beyond N iterations, adding the error terms to better approximate the echo impulse response and average out the noise. [0044] This OLMS algorithm using the errors within the equation matches exactly the computation performed by the RLS algorithm and, thus, possesses the same superior convergence rate of the RLS algorithm. Moreover, the OLMS 7

2 algorithm has only a slightly higher computational complexity than the normalized LMS algorithm, and far less complexity than the RLS algorithm. After obtaining the estimated echo impulse path response using the OLMS algorithm, in data mode the echo canceler 26 would remove the estimated echo z n and calculate the transmitted signal r n as discussed above. [004] When implemented, the OLMS and SOLMS algorithms can run with N = 60. If the OLMS algorithm is used, an additional N iterations can be performed, adding up to a total of 0 (6 x 0) iterations. This is more effective than the typical implementation using the standard LMS algorithm which often uses 00 iterations (N = 00) during the training sequence. Setting N = 0 for the OLMS and SOLMS algorithms is usually sufficient to converge the echo impulse response such that the MMSE is reached. In alternative embodiments N can be set at any other sufficient value to minimize errors in calculating the echo impulse response. For example, in the embodiment illustrated in Figs. 3 and 4, N is set at 16. [0046] In alternative embodiments, instead of performing a predetermined number of iterations, the training sequence will continue to perform iterations until the echo impulse response x n appropriately converges. This means that at a particular iteration the value x n - x n-l reaches a low enough threshold such that the estimation of the echo impulse response has sufficiently converged. [0047] Figure 3 illustrates the convergence results for the OLMS, SOLMS, RLS, and standard LMS algorithms, wherein the length of the data sequence used to sound the echo channel was set to N = 16. The number of iterations performed was plotted versus the error 2 = (x - x n ) T (x - x n ). As illustrated, both the OLMS and SOLMS algorithms feature rapid convergence speed, matching that of the RLS algorithm, and exhibited superior convergence to the traditional LMS method. In fact, as shown in Figure 3, in 0 iterations, the LMS algorithm approached the convergence achieved by the SOLMS and OLMS in approximately 0 iterations. [0048] Figure 4 provides further detail of the results of Figure 3 for the first 24 iterations. As can be seen, the OLMS and SOLMS converged almost as rapidly as the RLMS. In fact, the OLMS and SOLMS approximated the convergence of RLMS after only 17 or so iterations. Claims 3 1. A method for estimating the echo impulse response, comprising: transmitting with a transmitter () a data sequence of length N to sound an echo channel (36); wherein said echo z n returns as a result of such sounding; selecting data samples d n such that a data vector h n which is comprised of the data samples d n produces a data matrix which is diagonal to the Nth iteration; receiving with an echo canceler (26) the data samples d n and the echo z n ; and calculating with the echo canceler (26) the echo impulse response x n using at least means square algorithm and the data vector h n of data samples d n and the sound echo Zn; CHARACTERISED IN THAT: the echo canceler (26) estimates the echo impulse response x n either in accordance with the following equation: 4 wherein the echo impulse response x n is calculated out to N iterations; or in accordance the with the following equation: 0 wherein 8

wherein k = ceiling (n/n); and wherein the echo impulse response x n is calculated in more than N iterations. 2. A method according to Claim 1, wherein N = 0. 3. A method according to Claim 1, wherein the echo canceler (26) estimates the echo impulse response x n with the following equation: wherein 2 wherein k = ceiling (n/n); and wherein the echo impulse response is calculated out to a multiple of N iterations. 4. A method according to Claim 1, wherein the echo canceller (26) estimates the echo impulse response x n with the following equation: 3 wherein 4 wherein k = ceiling (n/n); and wherein the echo impulse response is calculated for 6 times N iterations.. A method according to any preceding claim, wherein the data sequence d n is generated using a constant amplitude zero autocorrelation sequence. 0 6. A method according to Claim 1 or 2, wherein the echo impulse response is calculated in N iterations. 7. A method according to Claim 1 or 2 wherein the echo impulse response is calculated at some number of iterations greater than N. 8. A method according to any preceding claim, wherein ifn is even, further comprising: setting a value M which is a relative prime number to N; calculating the data samples d k in accordance with the following equation; 9

transmitting to the echo canceler (26) the calculated data sequence comprised of calculated data samples d k. 9. A method according to any of Claims 1 to 7, wherein if N is odd, further comprising: setting a value M which is a relative prime number to N; and calculating the data samples d k in accordance with the following equation; transmitting to the echo canceler (26) the calculated data sequence comprised of data samples d k. 2. A method according to any preceding claim, further comprising: calculating the echo impulse response x n during a training sequence; during a data transmission mode, receiving with a receiver (24) data y n from a remote transmitter (72), wherein said received data y n includes an echo z n, such that: y n = r n + z n, wherein r n is the actual data transmitted from the remote transmitter (72); using the echo impulse response x n calculated with the echo canceler (26) to estimate the echo z n ; removing from the received data y n the estimated echo z n to estimate the signal transmitted from the remote transmitter (72) r n = y n - z n ; and communicating to the receiver (24) the estimate of the received data r n. 11. A method according to Claim, wherein the estimated echo z n is calculated by the echo canceler (26) as follows: 3 12. A modem, including: (a) a receiver (24) (b) means arranged to generate a data sequence of data samples d n such that a data vector h n comprised of the data samples d n produces a data matrix that is diagonal; (c) a transmitter (), including 4 i. means arranged to transmit a data sequence of length N to sound an echo channel; and ii. means arranged to receive and transmit the generated data sequence d n ; (d) an echo canceler (26), including: 0 i. means arranged to receive an echo z n resulting from the sounding of the echo channel; ii. means arranged to receive the data sequence d n from the transmitter (), iii. means arranged to apply an LMS algorithm to calculate the echo impulse response x n based on the sequence of data d n and the sounded echo z n ; iv. during data transmission, means for using the estimated echo impulse response x n to estimate the echo z n ; v. means arranged to estimate a signal transmitted from a remote source r n by removing the estimated echo z n from the signal transmitted from the remote source (68); and vi. means (32) arranged to communicate to the receiver (24) the estimated transmitted signal r n ;

CHARACTERISED BY: the means (26) for calculating the echo impulse response x n being arranged to calculate the echo impulse response x n either in accordance with the following equation: wherein the echo impulse response x n is calculated out to N iterations; or in accordance with the following equation: wherein 2 wherein K = ceiling (n/n); and wherein the echo impulse response x n is calculated in more than N iterations. Patentansprüche 1. Verfahren zum Schätzen der Echoimpulsantwort, das umfasst: 3 Senden mit einem Sender () einer Datenfolge der Länge N, um einen Echokanal (36) zu beschallen; wobei das Echo z 0 im Ergebnis einer derartigen Beschallung zurückkehrt; Auswählen der Datenabtastwerte d n, so dass ein Datenvektor h n, der die Datenabtastwerte d n umfasst, eine Datenmatrix erzeugt, die bis zur N-ten Iteration diagonal ist; Empfangen mit einer Echoaufhebungseinrichtung (26) der Datenabtastwerte d n und des Echos z n ; und Berechnen mit der Echoaufhebungseinrichtung (26) der Echoimpulsantwort x n unter Verwendung des Algorithmus der kleinsten mittleren Quadrate und des Datenvektors h n der Datenabtastwerte d n und des Schallechos z n ; dadurch gekennzeichnet, dass: die Echoaufhebungseinrichtung (26) die Echoimpulsantwort x n entweder in Übereinstimmung mit der folgenden 4 Gleichung 0 wobei die Echoimpulsantwort x n aus N Iterationen berechnet wird, oder in Übereinstimmung mit der folgenden Gleichung 11

wobei wobei k = ceiling(n/n) gilt; und wobei die Echoimpulsantwort x n in mehr als N Iterationen berechnet wird, schätzt. 2. Verfahren nach Anspruch 1, wobei N = 0 gilt. 3. Verfahren nach Anspruch 1, wobei die Echoaufhebungseinrichtung (26) die Echoimpulsantwort x n mit der folgenden Gleichung schätzt: wobei 2 3 wobei k = ceiling(n/n) gilt; und wobei die Echoimpulsantwort aus einem Vielfachen von N Iterationen berechnet wird. 4. Verfahren nach Anspruch 1, wobei die Echoaufhebungseinrichtung (26) die Echoimpulsantwort x n mit der folgenden Gleichung schätzt: wobei 4 0 wobei k = ceiling(n/n) gilt; und wobei die Echoimpulsantwort für 6 mal N Iterationen berechnet wird.. Verfahren nach einem vorhergehenden Anspruch, wobei die Datenfolge d n unter Verwendung einer konstanten Autokorrelationsfolge mit Amplitude null erzeugt wird. 6. Verfahren nach Anspruch 1 oder 2, wobei die Echoimpulsantwort in N Iterationen berechnet wird. 7. Verfahren nach Anspruch 1 oder 2, wobei die Echoimpulsantwort in irgendeiner Anzahl von Iterationen, die größer als N ist, berechnet wird. 12

8. Verfahren nach einem vorhergehenden Anspruch, das, falls N geradzahlig ist, ferner umfasst: Setzen eines Wertes M, der eine relative Primzahl von N ist; Berechnen der Datenabtastwerte d k in Übereinstimmung mit der folgenden Gleichung; Senden der berechneten Datenfolge, die aus den berechneten Datenabtastwerten d k besteht, an die Echoaufhebungseinrichtung (26). 9. Verfahren nach einem der Ansprüche 1 bis 7, das, falls N ungeradzahlig ist, ferner umfasst: Setzen eines Wertes M, der eine relative Primzahl von N ist; und Berechnen der Datenabtastwerte d k in Übereinstimmung mit der folgenden Gleichung; 2 Senden der berechneten Datenfolge, die aus den berechneten Datenabtastwerten d k besteht, an die Echoaufhebungseinrichtung (26).. Verfahren nach einem vorhergehenden Anspruch, das ferner umfasst: 3 Berechnen der Echoimpulsantwort x n während einer Trainingsfolge; während einer Datenübertragungsbetriebsart Empfangen mit einem Empfänger (24) der Daten y n von einem entfernten Sender (72), wobei die empfangenen Daten y n ein Echo z n enthalten, so dass y n = r n + z n gilt, wobei r n die tatsächlich von dem entfernten Sender (72) gesendeten Daten sind; Verwenden der mit der Echoaufhebungseinrichtung (26) berechneten Echoimpulsantwort x n, um das Echo z n zu schätzen; Entfernen des geschätzten Echos z n aus den empfangenen Daten y n, um das von dem entfernten Sender (72) gesendete Signal r n = y n - z n zu schätzen; und Übertragen der Schätzung der empfangenen Daten r n zu dem Empfänger (24). 11. Verfahren nach Anspruch, wobei das geschätzte Echo z n durch die Echoaufhebungseinrichtung (26) wie folgt berechnet wird: 4 12. Modem, das enthält: 0 (a) einen Empfänger (24); (b) Mittel, die beschaffen sind, um eine Datenfolge der Datenabtastwerte d n zu erzeugen, so dass ein Datenvektor h n, der die Datenabtastwerte d n umfasst, eine Datenmatrix erzeugt, die diagonal ist; (c) einen Sender (), der enthält i. Mittel, die beschaffen sind, um eine Datenfolge der Länge N zu senden, um einen Echokanal zu beschallen; und ii. Mittel, die beschaffen sind, um die erzeugte Datenfolge d n zu empfangen und zu senden; (d) eine Echoaufhebungseinrichtung (26), die enthält: 13

i. Mittel, die beschaffen sind, um ein Echo z n zu empfangen, das sich aus dem Beschallen des Echokanals ergibt; ii. Mittel, die beschaffen sind, um die Datenfolge d n von dem Sender () zu empfangen; iii. Mittel, die beschaffen sind, um einen LMS-Algorithmus anzuwenden, um die Echoimpulsantwort x n basierend auf der Folge der Daten d n und des erschallten Echos z n zu berechnen; iv. während der Datenübertragung Mittel zum Verwenden der geschätzten Echoimpulsantwort x n, um das Echo z n zu schätzen; v. Mittel, die beschaffen sind, um ein von einer entfernten Quelle r n gesendetes Signal durch das Entfernen des geschätzten Echos z n aus dem von der entfernten Quelle (68) gesendeten Signal zu schätzen; und vi. Mittel (32), die beschaffen sind, um das geschätzte gesendete Signal r n an den Empfänger (24) zu übertragen; gekennzeichnet durch:die Mittel (26) zum Berechnen der Echoimpulsantwort x n, die beschaffen sind, um die Echoimpulsantwort x n entweder in Übereinstimmung mit der folgenden Gleichung wobei die Echoimpulsantwort x n aus N Iterationen berechnet wird, oderin Übereinstimmung mit der folgenden Gleichung 2 wobei 3 wobei K = ceiling(n/n) gilt; undwobei die Echoimpulsantwort x n in mehr als N Iterationen berechnet wird, zu berechnen. Revendications 4 0 1. Procédé d estimation d une réponse impulsionnelle d écho, comprenant les étapes consistant à : émettre, à l aide d un émetteur (), une séquence de données de longueur N de façon à sonder un canal d écho (36) ; dans lequel ledit écho z n provoque, en résultat d un tel sondage, les étapes consistant à : sélectionner des échantillons de données d n de telle sorte qu un vecteur de données h n qui est composé des échantillons de données d n, produise une matrice de données qui est diagonale jusqu à la n-ième itération ; recevoir, à l aide d un dispositif (26) de suppression d écho, les échantillons de données d n et l écho z n ; et calculer, à l aide du dispositif (26) de suppression d écho, la réponse impulsionnelle d écho x n en utilisant un algorithme des moindres carrés moyens et le vecteur de données h n des échantillons de données d n et l écho de sondage z n ; caractérisé en ce que : le dispositif (26) de suppression d écho estime la réponse impulsionnelle d écho x n : soit selon l équation suivante : 14

dans laquelle la réponse impulsionnelle d écho x n est calculée sur N itérations ; soit selon l équation suivante : dans laquelle : dans laquelle k = entier immédiatement supérieur (n/n) ; et dans laquelle la réponse impulsionnelle d écho x n est calculée sur plus de N itérations. 2. Procédé selon la revendication 1, dans lequel N = 0. 2 3. Procédé selon la revendication 1, dans lequel le dispositif (26) de suppression d écho estime la réponse impulsionnelle d écho x n avec l équation suivante : dans laquelle : 3 dans laquelle k = entier immédiatement supérieur (n/n) ; et dans laquelle la réponse impulsionnelle d écho est calculée sur un multiple de N itérations. 4. Procédé selon la revendication 1, dans lequel le dispositif (26) de suppression d écho estime la réponse impulsionnelle d écho x n avec l équation suivante : 4 0 dans laquelle : dans laquelle k = entier immédiatement supérieur (n/n) ; et dans laquelle la réponse impulsionnelle d écho est calculée sur 6 fois N itérations.

. Procédé selon l une quelconque des revendications précédentes, dans lequel la séquence de données d n est générée en utilisant une séquence d autocorrélation zéro à amplitude constante. 6. Procédé selon la revendication 1 ou 1a revendication 2, dans lequel la réponse impulsionnelle d écho est calculée sur N itérations. 7. Procédé selon la revendication 1 ou la revendication 2, dans lequel la réponse impulsionnelle d écho est calculée sur un certain nombre d itérations supérieur à N. 8. Procédé selon l une quelconque des revendications précédentes, comprenant en outre les étapes, si N est pair, consistant à : fixer une valeur M qui est un nombre premier relatif par rapport à N ; calculer les échantillons de données d k selon l équation suivante : 2 émettre vers le dispositif (26) de suppression d écho la séquence de données calculées qui se compose des échantillons de données calculés d k. 9. Procédé selon l une quelconque des revendications 1 à 7, comprenant en outre, si N est impair, les étapes consistant à: fixer une valeur M qui est un nombre premier relatif par rapport à N ; et calculer les échantillons de données d k selon l équation suivante ; 3 émettre vers le dispositif (26) de suppression d écho la séquence de données calculées qui se compose des échantillons de données d k.. Procédé selon l une quelconque des revendications précédentes, comprenant en outre les étapes consistant à : 4 calculer la réponse impulsionnelle d écho x n au cours d une séquence d apprentissage ; au cours d un mode d émission de données, recevoir, à l aide d un récepteur (24), des données y n en provenance d un émetteur distant (72), lesdites données y n reçues comprenant un écho z n, de telle sorte que : y n = r n + z n, dans laquelle r n sont les données réelles émises par l émetteur distant (72) ; utiliser la réponse impulsionnelle d écho x n calculée à l aide du dispositif (26) de suppression d écho de façon à estimer l écho z n ; supprimer des données y n reçues, l écho z n estimé de façon à estimer le signal émis par l émetteur distant (72) r n = y n - z n ; et communiquer au récepteur (24) l estimation des données reçues r n. 0 11. Procédé selon la revendication, dans lequel l écho z n estimé est calculé par le dispositif (26) de suppression d écho de la façon suivante : 12. Modem, comprenant : (a) un récepteur (24) ; 16

(b) des moyens agencés de façon à générer une séquence de données d échantillons de données d n de telle sorte qu un vecteur de données h n qui est composé des échantillons de données d n, produise une matrice de données qui est diagonale ; (c) un émetteur (), qui comprend : i. des moyens agencés de façon à émettre une séquence de données de longueur N de façon à sonder un canal d écho ; et ii. des moyens agencés de façon à recevoir et à émettre la séquence de données générées d n ; (d) un dispositif (26) de suppression d écho qui comprend : i. des moyens agencés de façon à recevoir un écho z n en résultat du sondage du canal d écho ; ii. des moyens agencés de façon à recevoir la séquence de données d n en provenance de l émetteur () ; iii. des moyens agencés de façon à appliquer un algorithme LMS afin de calculer la réponse impulsionnelle d écho x n sur la base de la séquence de données d n et de l écho sondé z n ; iv. pendant l émission de données, des moyens destinés à utiliser la réponse inpulsionnelle d écho x n estimée de façon à estimer l écho z n ; v. des moyens agencés de façon à estimer un signal émis par une source distante r n en supprimant l écho z n estimé du signal émis par la source distante (68) ; et vi. des moyens (32) agencés de façon à communiquer au récepteur (24) le signal émis estimé r n ; caractérisé par le fait que: les moyens (26) destinés à calculer la réponse impulsionnelle d écho x n sont agencés de façon à calculer la réponse impulsionnelle d écho x n soit selon l équation suivante : 2 dans laquelle la réponse impulsionnelle d écho x n est calculée sur N itérations; soit selon l équation suivants : 3 dans laquelle : dans laquelle k = entier immédiatement supérieur (n/n) ; et dans laquelle la réponse impulsionnelle d écho x n est calculée sur plus de N itérations. 4 0 17

18

19

REFERENCES CITED IN THE DESCRIPTION This list of references cited by the applicant is for the reader s convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard. Patent documents cited in the description US 497791 A [0002] US 4621173 A [00] Non-patent literature cited in the description RICHARD D. GITLIN ; JEREMIAH F. HAYES ; STEPHEN B. WEINSTEIN. Data Communication Principles, 1992, 607 [0002] Data Communications, 619-624 [0008] [0023] 21