FREQUENCY DOMAIN ECHO CANCELLER

Abstract: An echo canceller reduces an echo signal produced when the transmitted signal leaks back into the receiver via a hybrid. The echo canceller estimates the echo signal from the transmitted signal, and then subtracting the estimated echo signal from the received signal. In practice, the echo path channel in a DMT-modem is much longer than the cyclic prefix, and therefore, the received echo signal will be subjected to both ISI (inter-symbol-interference) and ICI (inter-carrier-interference). A traditional echo canceller, designed for a xDSL-modem, uses either a time domain adaptive FIR-filter or a combined echo canceller implemented in both time and frequency domain. A matrix-based adaptive echo canceller is implemented in the frequency domain. Various example embodiments are disclosed.

Description: FREQUENCY DOMAIN ECHO CANCELLER FIELD OF THE INVENTION The invention relates to digital communication systems. One application of the invention is systems that use multicarrier modulation methods, such as DMT (Discrete Multitone ) where DSL (Digital Subscriber Lines) twisted pair subscriber lines are employed for high speed data transmission. Another application of the invention is OFDM (Orthogonal Frequency Division Multiplexing) based systems. BACKGROUND AND SUMMARY OF THE INVENTION Referring to Fig. 1, a DSL modem consists of a transmitter 12 and a receiver 14 connected to the subscriber line's twisted-pair 18 (telephone line) via a so- called hybrid circuit 16. The hybrid 16 is a two-to-four wire interface that connects the twisted-pair subscriber line 18 to the four- ire modem (two-wire transmitter and two-wire receiver). An ideal hybrid is exactly matched to the impedance of the subscriber line and transports the transmitter signal only to the subscriber line and the received signal only to the receiver. A problem with matched hybrids (non-adaptive) is that different subscriber lines have different impedances, and temperature variations make the impedances slowly time- varying. Consequently, the hybrid cannot be exactly matched to the impedance of the subscriber line, and the transmitted signal "leaks" back into the receiver through the hybrid creating an echo signal as shown in Fig. 1. From the receiver's point of view, the echo signal acts like a powerful noise source reducing the signal-to-noise ratio (SNR) and therefore reduces the performance of the receiver. An echo canceller may be used to reduce the influence of the echo in the received signal. The main purpose of the echo canceller is to reduce the echo signal produced when the transmitted signal "leaks" back into the receiver via the hybrid. The echo canceller works by first estimating the echo signal from the transmitted signal, and then subtracting the estimated echo signal from the received signal. In order to estimate the echo signal, the echo canceller must model the echo path channel. Generally speaking, the echo canceller performs a "system estimation," where the system to be estimated is the echo path channel. Due to the slowly time-varying nature of the echo path channel, the echo canceller must continuously, but infrequently, update the echo path channel estimation. This update is typically accomplished with an adaptive finite impulse response (FIR) filter to continuously track the slowly time- arying echo path channel. The echo canceller operates in two different modes: the training mode and the echo cancellation mode. In the training mode, the far-end transmitter is forced to be silent while the near-end modem transmits a training sequence in order to estimate the echo path channel. The estimation of the echo path channel may be accomplished using a fast training algorithm followed by an adaptive algorithm such as the LMS-algorithm. After the echo canceller finishes the training mode, it jumps into the echo cancellation mode where the echo canceller performs echo cancellation, i.e. it subtracts the echo signal from the received signal. Discrete Multi-tone (DMT) modulation is one form of multicarrier modulation that is attractive because of its ability to utilize, and be implemented by, efficient digital signal processing techniques. The basic idea of DMT modulation is to partition the communication channel into orthogonal and memoryless subchannels using the digital signal processing technique known as the Fast Fourier Transform and the Inverse Fast Fourier Transform (FFT/IFFT). Data transmitted tlirough one subchannel is independent of other subchannels under some orthogonal conditions that will be described later. DMT also allows for efficient and flexible allocation of power and bits to each subchannel. The DMT modulated signal can be described as a composition of N/2 independent carriers, where each carrier has equal bandwidth and a center frequency , where i = 1... N/2. For example, ADSL uses 255 carriers (subchannels) downstream and 31 carriers upstream. Each one of the carriers is a Quadrature Amplitude Modulated (QAM) signal with an assigned amplitude and phase. The assigned values for the amplitude and the phase are determined by a signal constellation containing a set of complex values. During start-up, the DMT-system measures the signal-to-noise ratio in each subchannel and assigns different numbers of bits to each subchannel (carrier) to maximize performance. This process is known as adaptive bitloading. A subchannel with low signal-to-noise (SNR) is assigned a small number of bits or no bits, and a subchannel with high SNR is assigned many bits. This technique is robust in a typical Digital Subscriber Line scenario where the line conditions are unknown and slowly time-varying. A DMT signal that is filtered through a physical channel will be subjected to inter-symbol-interference (ISI) because all practical physical channels have a memory. (The impulse response of the channel is non-zero for more than one point in time). This impairment of the physical channel causes the transmitted DMT symbols to interfere with each other (ISI). Furthermore, the transitions between the DMT symbol cause transients in the received signal. These transients cause interference between the carriers in the same DMT symbol. This type of interference is known as inter-channel interference (IC3), where the "channel" refers to the subchannel. The ISI and ICI imply that the received subchannels do not remain orthogonal (independent) to each other, and therefore, the received data will be corrupted. The received echo signal, like the received data signal, will also be affected by the ISI and ICI, because all practical physical echo path channels have memory. Thus, the echo from one carrier will leak into every other carrier within the same DMT symbol and the next transmitted DMT symbol. One way to circumvent, or at least reduce, the ISI and ICI in a DMT-based system is to add a cyclic prefix (guard time) to the beginning of each transmitted DMT symbol. The cyclic prefix (CP) is a mechanism to make the subchannels independent of each other, or in other words, memory-less. A cyclic prefix of L samples means that the last L samples of the N samples long time domain symbol is copied to the beginning of the time domain symbol. Thus, the total length of the prefixed time domain symbol is L + N samples. Figure 3 illustrates the cyclic prefixing. If the length of the cyclic prefix is greater than the length of the channel memory, then all ISI and all transients causing ICI will be contained within the cyclic prefix. The receiver can then remove all ISI and ICI by simply discarding the cyclic prefix. This means that the channel will only affect the amplitude and the phase of each transmitted carrier, and different subchannels will remain independent (no ISI or ICI). Unfortunately, increasing the length of the cyclic prefix reduces the data rate. For example, suppose that one time domain symbol is TV samples long, and the length of the cyclic prefix is L samples. The data rate is reduced by a factor of N/(N+L). In a practical DMT-system the echo path channel is much longer than the cyclic prefix, and therefore, the received echo signal is subjected to both ISI and ICI. Hence, the part of the echo signal that corresponds to both ISI and ICI must be estimated and subtracted as well. The present invention provides an echo canceller that takes into account intersyrnbol interference and interchannel interference when estimating an echo signal to be removed from a received signal. The echo canceller calculates the received echo signal completely in the frequency domain, which is particularly beneficial in a DMT type system because the transmitted data is already available in the frequency domain. Accordingly, the echo estimate is determined using a frequency domain model of an echo path channel that includes the effects of interference like ISI and ICI. In a first example embodiment, the frequency domain model of the echo path channel is determined using a first matrix of coefficients and a second matrix of coefficients. The first matrix is combined with a current transmitted symbol, and the second matrix is combined with a previously transmitted symbol. The sum of these two combinations is used to estimate the echo signal. The coefficients of the first matrix represent how an echo from a currently transmitted frequency domain signal affects a received signal. The coefficients of the second matrix represent how an echo from a previously transmitted domain symbol affects the received symbol. The coefficients of the first and second matrices are adjusted using a difference between the received signal and the estimated signal. In a second example embodiment, the current transmitted symbol and the previously transmitted symbol are partitioned into real and imaginary parts before being combined with matrices as described in the first example embodiment. This operation reduces the computational complexity by a factor of two compared to the first example embodiment. In a third example embodiment, the currently transmitted symbol is combined with a first column vector. The previously transmitted symbol is multiplied with a complex exponential term, in order to compensate for the cyclic prefix, and then subtracted from the current transmitted symbol. The resulting signal is combined with a matrix. The vector and matrix combinations are summed and used to estimate the echo signal to be removed from the received symbol. This third example embodiment reduces the computational complexity approximately by a factor of two compared to the first example embodiment. In a fourth example embodiment, the operations described in the second and third example embodiments are combined resulting in a reduction of computational complexity approximately by a factor of four compared to the first example embodiment. In a fifth example embodiment, when the transmitter of a transceiver has a lower sampling rate than its receiver, the received echo signal is interpolated at the receiver. The interpolation may also be- combined with the operations described in the second example embodiment to reduce the computational complexity by a factor of four compared to the first example embodiment. In a sixth example embodiment, when the transmitter has a higher rate than the receiver, the echo signal is decimated at the receiver. The decimation may also be combined with the operations described in the second example embodiment to reduce the computational complexity by a factor of four compared to the first example embodiment. In a seventh example embodiment, when the transmitted symbols are not aligned in time with the received symbols or frames, an asynchronous echo canceller may be used. The asynchronous echo canceller may be combined with any of the previously- described example embodiments. In a DMT type modem, because all of the data is already available in the frequency domain, there is no need to do any additional Fourier transform or inverse Fourier transform operations, except for the asynchronous echo canceller embodiment which requires one extra IDFT. Moreover, some of the coefficients in the matrices may be very small and ignored, further reducing the computational complexity and memory required. BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and other objects, features, and advantages of the invention will be apparent from the following description of preferred, non-limiting example embodiments, as well as illustrated in the accompanying drawings. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Fig. 1 illustrates a symmetric-rate DMT transceiver where the hybrid is unmatched to the subscriber line; Fig. 2 illustrates cyclic prefixing; Fig. 3 shows a symmetric-rate DMT transceiver with an echo canceller; Fig. 4 shows a symmetric-rate DMT transceiver with one example embodiment of a frequency domain echo canceller; Fig. 5 shows a flowchart of procedures performed by the echo canceller in Fig. 4; Fig. 6 shows a symmetric-rate DMT transceiver with another example embodiment of a domain echo canceller; Fig. 7 shows a flowchart of procedures performed by the echo canceller of Fig. 6; Fig. 8 shows another example embodiment of the invention as applied to asymmetric data rate transceiving situations; Fig. 9 shows a symmetric-rate DMT transceiver with another example eπibodiment of the invention as applied to asynchronous data transceiving situations; and Figs. 10 and 11 show the learning curve of the echo canceller of Fig. 6 implemented in a DMT-based, symmetric-rate DSL transceiver, using a simple lowpass model of the echo path channel. DETAILED DESCRIPTION OF THE DRAWINGS In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular embodiments, protocols, data structures, and techniques, in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, systems, and devices are omitted so as not to obscure the description of the present invention with unnecessary detail. Moreover, individual function blocks are shown in some of the figures. Those skilled in the art will appreciate that the functions may be implemented using individual hardware circuits, using software functioriing in conjunction with a suitably programmed digital microprocessor or general purpose computer, using an Application Specific Integrated Circuit (ASIC), and/or using one or more Digital signal Processors (DSPs). A discrete multi-tone modem 20 in which the present invention may be employed is illustrated in Fig. 3. The DMT modem includes a DMT transmitter 22 and a DMT receiver 26 coupled to the subscriber line via a hybrid 24. Serial input data are grouped into blocks, converted into parallel form, and encoded by an encoder 28. Each one of N/2 active subchannels contains a number of bits allocated to that subchannel. Each block of bits is mapped into a two-dimensional signal constellation point (i.e., a complex number). The output from the encoder 28 is N/2 complex numbers (i.e., subsyrnbols), one for each block of bits. The N/2 complex subsymbols constitute a DMT symbol in the frequency domain and are extended to Hermitian symmetry (i.e., conjugate symmetry) before being input to block 30, which calculates the inverse discrete Fourier transform (IDFT). Due to the Hermitian symmetry property, the N-IDFT output is a sequence consisting of TV real samples. The output sequence consists of the superposing of the N/2 modulated orthogonal carriers. The parallel N-IDFT output is converted to a serial stream by a parallel-to-serial converter 32. The digital modulated data stream is cyclically prefixed in the Add CP block 34, converted to analog form by digital-to-analog converter 36, filtered at the transmit filter 38, and passed to the hybrid 24 for transmission over the subscriber line. At the receiver end, the received analog signal from the hybrid 24 is filtered in receive filter 40, converted to digital form in the analog to digital converter 42, and stripped of the cyclic prefix in the Remove CP block 44. The resulting digital signals are converted to parallel format in the serial-to-parallel converter 46. The parallel digital signals are demodulated in the N-DFT block 48. The frequency domain echo canceller 50 estimates the echo caused by the reflected signals from the DMT transmitter 22, and those echo signal estimates are removed from the demodulated signal at block 52. The remaining frequency domain signal is equalized, decoded, and converted back to a serial form by decoder 54. The remaining description will focus on the frequency domain echo canceller 50. To understand the mathematical foundation for the echo canceller of the present invention, a mathematical expression of the received echo signal in the frequency domain is derived as a function of the transmitted frequency domain signal and the echo path channel. A significant feature of the invention echo canceller is that the received echo signal is cancelled completely in the frequency domain. This is particularly beneficial in a DMT transceiver where the transmitted data is already available in the frequency domain. There is no need to do any extra DFT or IDFT calculations except for the later- described asynchronous echo cancellation embodiment which requires only one extra IDFT. As explained above, the received echo signal includes ISI and ICI because of the long impulse response of the echo path channel. In order to estimate the received echo signal, a frequency domain model of the echo path channel should include the effects of the ISI and the ICI. The following notations are introduced: X,. = [X,.(θ),X 1 (l),..., 1 .(N-l)f (1) X ; denotes the ith transmitted frequency domain symbol containing the N transmitted frequency subsymbols X t (k) ,where subscript i denotes the DMT symbol number and k denotes the frequency sample number. Note that the vector Xi is Hermitian symmetric in order to obtain a real- valued sequence after the IDFT. The Hermitian symmetry of the vector Xi is defined as X i (k) = X * (N-k), for k = N/2 + l, N/2 + 2,...,N-l, (2) where * denotes complex conjugate. Furthermore, the DC term Xi(0) and the Nyquist term Xi (N/2) must both be real- alued. Note that X ι is the transceiver's own transmitted signal that generates the echo signal Y;. The vector Y i = [Y i {θ), Y i (\),...,Y i {N- l)} τ (3) denotes the Ith received frequency domain (Hermitian symmetric) echo symbol contaiiiing the received frequency subsymbols Yi(k). Only the received echo signal is considered, and the far-end data signal is ignored. Thus, the scenario emulates the echo canceller training mode where the far-end modem is silent. The -point IDFT of X ; can be expressed by s, = QX„ (4) where Q is the IDFT matrix defined by r η I ; — nk [Ql ,k = ~e N , for rc = 0, l,..., N - l and = 0, l,..., N - l. (5) Defining Q φ as a matrix containing the last L rows of Q, i.e. for n == 0, 1, ... L -1 results in the following: The transmitted, prefixed time domain symbol Xi is written as: The sequence consisting of the i -i:th and z.th prefixed time domain DMT- symbol can be written as: - cp LxN NxN X Q«x. (8) LxN - cp X. = NxN where Θ M denotes a matrix with L rows and N columns consisting of zero-valued elements. The length of the echo path channel is assumed to be M samples long, and the impulse response of the echo path channel is denoted with the convolution matrix, G, which is of size (2N+2L) x (2N+2L). g{ ) o 0 . 0 . 0 0 s(ι) g {o) ■■ 0 . 0 . 0 0 G g(M -l) g(M - 2) .. g(p) ' 0 . 0 0 (9) 0 g(M -\) .. g ® • 0 . 0 0 0 0 .. 0 . • 'g(M - l) . . g(ι) *(( The received time domain echo signal equals In the receiver, only the t:th DMT-symbol is of interest. It contains both ISI and ICI. The cyclic prefix (CP) is discarded, and the received vector y is multiplied with the DFT matrix R of size (NxN), defined as With tot defined as R /0 , = [θ NX(N±L) ΦNXL R], the received z:th frequency domain DMT-symbol (vector of size Nxl) is obtained as: X Y,. = R to ,GQ to ,X = AX = [A p p re re v vA current J (12) X; This can also be written as current - Λ -ι, (13) where the following matrices of size (NxN) are defined: A„ p„re„v = (14) "0,0 '0,1 Ό,JV-I '1,0 '1,1 (15) -JV-1,0 'W-l./V-l Thus, the ^.t received frequency echo sample in the z.th symbol can be wntten as Λ ι jr H (nι) (16) From equation (16), the first term c^X^k) describes the direct echo from N-l the carrier number k in the symbol number z. The second term ^c k>m X l (m) describes =0 m≠k JV-l the ICI from symbol number i. The third term ^p k m X i (m) describes the combined ICI and ISI from the previously transmitted symbol number z ' -l. If the cyclic prefix was longer than the echo channel memory, then only the first term would be non-zero, and there would not be ISI or ICI terms because the matrix Aam t will only have non-zero values at the main diagonal (upper left corner to the lower right corner), and the matrix A prs would contain only zeros. Hence, the matrix A prw describes how the echo from the previously transmitted frequency domain symbol leaks into or distorts the received symbol. The matrix A ama describes how the echo from the currently transmitted frequency domain symbol leaks into or distorts the received symbol. Accordingly, the two matrices A rs; and Aament model how ISI and ICI will affect the echo signal completely in the frequency domain. By determining the coefficients for the matrices A p J and Acwent, the echo in the frequency domain will be known and can then be subtracted from the received signal. The coefficients of the unknown matrices A w and Acmmt can be adaptively identified in order to estimate the received echo signal. Matrices A pκa and A cmm can also be calculated from equation (12) by estimating the echo path channel impulse response (matrix G). Fig. 4 shows a transceiver using Discrete Multitone (DMT) as a modulation scheme with a first, non-limiting, example embodiment of a matrix-based frequency domain echo canceller (MBAEC) structure. There are two complex matrices i and W; , numbered 62 and 64, respectively. Each matrix has a size of (N x N), where TV is the size of the IDFT and DFT. The received echo signal is estimated in the frequency domain by multiplying the matrix Hi with the currently transmitted frequency domain symbol (an N x 1 vector), Xi, output by the encoder, and multiplying the matrix W∑ with the previously transmitted frequency domain symbol (an TVx 1 vector), X;.?, ou tput from delay 60. The two products HfXjand WϊXn are added together, i.e., Y, = H,X, + W,X i,-l (17) where H, 0,0 H, 0,1 H O.W-t H 1,0 H 1,1 Η, (18) HV-1,0 H W-kΛf-l and w n 0, n 0 w r 0,1 r 0,/V-l w ^ 1,1 . = (19) w Λ,M,0 '' N-X.N-l Thus, the /kth estimated frequency echo sample in the ith symbol is The hat symbol of Ϋ k (k) indicates that it is an estimation of the received echo signal The estimated echo signal is subtracted from the received frequency domain symbol, and the resulting error vector E; = Y i - i is used by an adaptive algorithm, e.g., Least Mean Square (IMS), to adjust the matrix elements of Η{ and W;. In regular operation, (after training) the error signal is also the desired data signal. Adjusting H; and Wj with the LMS-algorithm yields: H I . +1 = H 1 . + .E 1 .(x;) r (21) where E ; = Y ( . - Ϋ,. = [E,- (o), E,. (l), ... E i (N - l)] r is the z ' :th received frequency domain error vector and is the step size of the IMS algorithm. One can prove that the LMS algorithm will adapt the coefficients of H z to an estimate of A ourrent and the coefficients of ; to an estimate of A prev . Most of the coefficients of the matrices H∑ and ; are complex-valued. Hence, all arithmetic computations are complex additions, subtractions, and multiplications. Some of the coefficients (elements) in A 0UITent and A prev will be almost zero and can therefore be neglected to reduce the computational complexity in equations (21) and (22). This will also reduce the amount of memory. In fact, Acurrent and Aprev may often be band matrices meaning that mainly the strong diagonal (left to right) and some of the upper and lower diagonals have non-zero values. The number of diagonals to be taken into account depends on the echo path channel (ISI and ICI) and the desired level of echo cancellation. The operation of an echo canceller in accordance with the first, non-limiting, example embodiment and illustrated in Fig. 4 is now described in conjunction with the MBAEC routine (block 70) shown in flowchart format in Fig. 5. A signal to be transmitted Xi is detected in the frequency domain (block 72). That signal is multiplied by matrix H∑ 62 and the previously transmitted frequency domain signal Xi-;i is multiplied by matrix Wi (block 74). The matrix products are summed together, i.e., HiXi + WiXi-i, t> estimate the current echo Y,. (block 76). The estimated echo Y,. is subtracted from the actually received symbol Yi to determine an error Ei (block 78). The coefficient values of the H and W matrices are then adjusted for the next signal period i + 1 with the detected error Ei using for example the IMS algorithm (block 78). When the transmitted time domain signal is real valued, e.g., in the case of DMT, it is possible to avoid the use of complex arithmetic. In order to obtain a real- valued, time domain signal, the frequency data must be Hermitian symmetric, and the DC and Nyquist terms must both be real-valued. In a second, non-limiting, example embodiment of the present invention, a real-valued implementation of the MBAEC reduces computational complexity by a factor of two compared to the general case described above. A real-valued vector is introduced as where the vectors X reali and X . ffla(r . are defined as X real = [X(0), Xreal, ,(1), ∞ /, i(2),..., Xreat , i(N / 2 - 1), JK(N / 2)f (24) and ^im agj ~ [Ximag , i(l), Ximag, i(2),..., Ximag , i(N / 2 — 1)J (25) In equations (24) and (25), X rea ι,i(n) = Re{X(n)} and Ximag (n) = {Xi(ή)} are defined. Furthermore, X(0) is the DC term, and X(NI2) is the Νyquist term of X ( .. The vector X. contains exactly the same information as the vector X,. defined in equation (1), but in a slightly different order. The matrices Q cos and Q sin are defined for k = 0, 1, ..., N/2 - 1 and « = 0,1,...,N-1 as < 2->π„ I «-cos ln,ι ■ cos kn for k = 0,1,..., N/2 (26) N N 2 . (2π [QsinL= — si (k + \)n\, for k = 0,l,...,N/2-2 (27) N Furthermore, the matrix Q is defined as Equation (4) may be rewritten = OX, (29) Qcp is further defined as a matrix containing the last L rows of Q , i.e. for n = 0, 1, ... L - 1 we have l Q , * = | Q J Ji-I+n,, (30) The transmitted prefixed time domain symbol x ( may now be written as As in equation (8), the sequence of the z ' -T :th and z:th prefixed time domain DMT symbols can be written as With G defined in equation (9), the received time domain signal may be written as In the receiver, we are only interested in the z:th DMT symbol which contains both ISI and ICI. The cyclic prefix is discarded, the received vector y is multiplied with the matrix R to/ defined as R, uD NX(N+L) ΦNXL R] (34) where R = [Q cos - Q sin I (35) The received z ' :th frequency domain data vector is now expressed as X Y, = R /o ,GQ, 0 ,X = AX A A i-l L prev current (36) X; where we have defined reat.i Y, = (37) and X e l = O), Y t, i(l), Yre l, i(2),..., Ye l , i(N I 2 - 1), Yi(N I 2)f (38) m αg .i "" L-^'""» ' ' ' (!)> Yi ag, i(2),..., Yima , i(N I 2 — 1) J (39) Comparing equations (36) and (12), in equation (36) we have to perform 2N 2 real-valued multiplications, and in equation (12), we need to perform 2N x (N/2) complex-valued multiplications. Since one complex-valued multiplication requires four real-valued multiplications, the total number of real-valued multiplications is reduced by a factor of two in equation (36) compared to equation (12). A ti ird, non-limiting, example embodiment of an MBAEC is shown in Fig. 6. The H∑ matrix of size (TV x TV) is replaced by a vector Vi 94 of size (TV 1). A matrix also includes single column or row vectors, although the term vector is used here to distinguish from the Nx TV matrix of the embodiments described above. Furthermore, the matrix W∑ is replaced by another matrix Z∑ 96 of size (Nx N). In this example embodiment, the previously transmitted frequency domain symbol Xi-i is multiplied in multiplier 90 by a complex exponential term to compensate for the cyclic prefix, which has a length of L samples, i.e., e J2πLklN . The product output from multiplier 90 is subtracted from Xi, and the difference is multiplied by matrix Zi 96. The vector and matrix products are summed in summer 98 to estimate the echo. The following equations describe the algorithm: γ l =v / . χ , +z / (x, -x H ) l . (40) where X i is the z:th transmitted frequency domain symbol, (TV 1) vector, defined above. Y. is the z:th estimated echo signal in frequency domain, (TV x 1) vector. V∑- and Z is frequency domain vector and matrix of size (TVx 1) and (TV TV). Adjusting column vector V; and matrix Z∑ with the LMS algorithm yields: V /+1 = V, + ,IE, . (X;) Γ (42) where E∑ = Y∑- - Y. is the z:th received frequency domain error, (TV x ϊ) vector, μ is the stepsize of the IMS algorithm, and • denotes element-by-element vector multiplication. Example procedures for the operation of the third example embodiment MBAEC shown in Fig. 6 are now described in conjunction with the routine 100 shown in flowchart form in Fig. 7. The signal to be transmitted X∑- is detected in the frequency domain (block 120). That signal is multiplied by the column vector Yi. The previously transmitted signal Xi-i is multiplied by a cyclic prefix compensating complex factor, which in this example embodiment is e j2πLklN . That product is subtracted from the current signal to be transmitted Xi, and the difference is multiplied by the (TVx TV) matrix Z∑ (block 104). The products N. • X i and Z,(X ( . -X M ) are summed to estimate the echo Y. (block 106). The estimated echo Y. is subtracted from the actually received symbol Y∑ to detemiine an error E∑- (block 108). The coefficients of the column vector V∑- and the matrix Z∑ are adjusted with the current error E∑- using the LMS algorithm (block 110). As a fourth example, non-limiting embodiment, the operations described in the second and third example embodiments may be combined. Specifically, the real and imaginary parts of the current and prior symbols are determined and used to simplify the column vector V,. and the matrix multiplication with matrix Z . in accordance with equations (23)-(39) set forth above. As a result, the computational complexity for performing the necessary data manipulations is reduced appropriately by a factor of four compared to the first example embodiment. In a DMT application, the vectors X∑- , Y; , Ϋ. , and E∑- all have Hermitian symmetry. This property can be used to reduce the number of computations needed by only calculating the first N/2 + 1 coefficients of the vectors. Furthermore, the matrices V∑ and Z∑- need only be calculated and stored for the first TV/2 + 1 rows. Moreover, the computational complexity may be further reduced by partitioning the vectors X. , X._ x , Y. , and E t into real and imaginary parts in accordance with equations (23) -(39). An MBAEC may be used in an asymmetric transceiver, such as an ADSL transceiver, with the modifications now described. When the modem's transmitter has a lower sampling rate than its receiver, the echo signal is interpolated at the receiver (a fifth, non-Hmiting, example embodiment). When the modem's transmitter has a hi er sampling rate than the receiver, the echo signal will be decimated at the receiver (a sixth, non- limiting, example embodiment). For an interpolated MBAEC, assume the size of the IDFT in the transmitter is N and the size of the DFT in the receiver is q ~ N, where q = 8 in ADSL . Thus, the received symbol contains q times more samples than the transmitted symbol. The received echo is therefore interpolated q times in the receiver. As one example interpolated asymmetric MBAEC, equation (40) is modified as follows: Ϋ, = V,. • Xre Pi + Z, (X, - X M ), (44) where .2π j — Lk [ M ] A = [X M ] i β ^ ,fbr * = 0,...,N-l (45) Xi is the z:th transmitted frequency domain symbol, (TV x 1) vector. Xrepi is equal to the vector X∑- replicated q times, forming a block vector of contiguous vectors. For example, if q = 4 then is Xrepi = [ X∑' τ XXXX XX] T . Ϋ,. is the z ' th estimated echo signal in frequency domain, (qNx 1) vector. V∑- and Z∑- is frequency domain vector and matrix of size (qNx 1) and (qNx TV). Adjusting V- and Z∑ with the proposed IMS-algorithm yields: V M = V, + /*E / . (Xrς P ) r (46) Z, 1 = Z i + / iE i (x; -X;. 1 ) r (47) where E∑ = Y∑ - Y,. is the z:th received frequency domain error, μ is the stepsize of the IMS algorithm, and denotes element -by -element vector multiplication. Hence, the only differences from equation (40) are the replication of X∑- a d the size of the matrices and the vectors. Some of the coefficients in the vectors and in the matrices will be small and can be neglected to reduce the computational complexity and the required memory. In addition, the computational complexity in the interpolated MBAEC may be further reduced by partitioning the vectors X { , X rep. , X M , Y t , and E. into real and imaginary parts in accordance with equations (23)- (39). For a decimated MBAΕC, assume the size of the IDFT in the transmitter is qN and the size of the DFT in the receiver is N, where q = 8 in ADSL. Thus, the transmitted symbol contains q times more samples than the received symbol. This means that the received echo will be decimated q times in the receiver. Equation (40) is modified as follows. Ϋ, Z i {X i -X,._, ), (48) where [xj^ fx , * ' ,forfc = 0,...,N-l (49) Xi is the z:th transmitted frequency domain symbol, (TV x ϊ) vector. Decimate {(V∑ X∑- ),q} means that the vector V∑- X∑- is decimated q times in the frequency domain. In other words the frequency domain vector V∑- X∑ is blocked into q contiguous vectors of TV points each. These smaller vectors are then added together forming one vector of size (Nxl). Ϋ ( . is the i:th estimated echo signal in frequency domain, (TV 1) vector. V∑ and Z∑ is frequency domain vector and matrix of size (qNx 1) and (Nx q N). Adjusting V∑- and Z∑ with the proposed IMS-algorithm yields: V,. +1 = V,. + ,Ere Λ .(x;) T (50) where E∑- = Y∑ - Y ( . is the z ' :th received frequency domain error, Erepi is of size (qNxϊ) and is equal to the vector E∑- replicated q times, forming a block vector of q contiguous vectors, μ is the stepsize of the LMS algorithm, and denotes element -by-element vector multiplication. Again, the only differences to equation (40) are the decimation of V∑- X∑ , the replication E∑-, and the size of the matrices and the vectors. Some of the coefficients in the vectors and in the matrices will be very small and can be neglected to reduce the computational complexity and the required memory. An asymmetric MBAEC routine (block 120) is now described in Fig. 8. A decision is made in block 122 whether the modem transmitter sampling rate is less than the sampling rate at the modem transceiver. If so, the symbol to be transmitted is interpolated at the modem receiver, e.g., at the analog-to-digital converter, and the estimated echo Y t is calculated using the following equation: Y^ .Xr^. + Z^. -xJ (52) (block 128). If the modem transmitter sampling rate is greater than that for the modem receiver, the symbol to be transmitted is decimated at the receiver, e.g., at the analog-to- digital converter, and the estimated echo Y ( is calculated in accordance with the following formula: Ϋ,. = Decimate{(V, • X t ),g}+Z l (x i - X i _ 1 ) (53) For both the interpolation and decimation cases, the estimated echo Y, is subtracted from the received signal Y ; . to determine the error E ( . (block 132). The coefficients of the column vector N. and the matrix Z ( . are adjusted with the error E,. using for example the IMS algorithm (block 134). A seventh, non-limiting, example embodiment of an echo canceller in accordance with the present invention may be used in an asynchronous transceiver, such as an ADSL transceiver at the Central Office, with the modifications now described. In an asynchronous transceiver, the transmitted and received frames or symbols are not aligned in time. Hence, there is a time offset between the transmitter and receiver symbols. In this seventh embodiment, the echo canceller is de-coupled from the receiver. Nevertheless, asynchronous MBAEC may be applied to any one of the previously- described embodiments with a small modification. Instead of removing the echo in the frequency domain, the estimated echo signal is first transformed to the time domain by an IDFT operation, and then removed in the time domain sample-by-sample. The asynchronous MBAEC is illustrated in Fig 9. The estimated echo signal Ϋ. output from MBAEC is transformed into the time domain by an N - IDFT block 140 to produce an estimated echo in the time domain j>. which is then removed in the time domain sample- by-sample from the received echo y i . The time domain difference or error e ( . is transformed into the complex domain in the N - DFT block which is located after the summation stage rather than before it as shown in Figs. 4 and 6. In addition, the computational complexity in the decimated MBAEC ma be further reduced by partitioning the vectors X. , ,._, , Y t , and E i into real and imaginary parts in accordance with equations (23) -(39). The proposed matrix-based adaptive echo canceller (MBAEC) has been implemented and simulated in different DMT-based transceivers such as a symmetric-rate DSL transceiver, an ADSL central office end transceiver, and an ADSL Subscriber end transceiver. Figs. 10 and 11 show the learning curve of the matrix-based adaptive echo canceller (MBAEC), implemented in a DMT-based Symmetric-rate DSL transceiver, using a simple lowpass model of the echo path channel. The learning curve illustrates how the mean-square-error, MSE, is reduced during adaptation with the LMS-algorithm. The simulation results indicate that the present invention is reliable, accurate and performs according to theoretical expectations. The matrix-based adaptive echo canceller is well-suited to follow slow channel fluctuations during transmission because the transmitted signal is used to adapt matrix coefficients. An echo canceller in accordance with the present invention is particularly efficient in a DMT system employing FDM (Frequency Division Multiplexing) because echo cancellation is only needed for a few carriers which leads to less computational complexity. Moreover, because the needed data are already available in the frequency domain, so there is no need to do any extra DFT or IDFT operations to implement the MBAEC, except for the asynchronous MBAEC, which requires one extra IDFT. Furthermore, some of the coefficients in the matrices and in the vectors will be zero or quite small, and therefore, can be ignored, which means that the computational complexity of and the required memory for the echo canceller will be reduced. While the present invention has been described with respect to a particular embodiment, those skilled in the art will recognize that the present invention is not limited to the specific embodiments described and illustrated herein. Different formats, embodiments, and adaptations besides those shown and described as well as many modifications, variations, and equivalent arrangements may also be used to implement the invention. Therefore, while the present invention has been described in relation to its preferred embodiments, it is to be understood that this disclosure is only illustrative and exemplary of the present invention and is merely for the purposes of providing a full and enabling disclosure of the invention. Accordingly, it is intended that the invention be limited only by the scope of the claims appended hereto.

Claims: WHAT IS CLAIMED IS: 1. An echo canceller for use in a transceiver configured to cancel a received echo signal completely in the frequency domain. 2. The echo canceller in claim 1, comprising: a first matrix of coefficients, and a second matrix of coefficients, wherein a combination of a product of the first matrix and a transmitted symbol and a product of the second matrix and a previously transmitted symbol is used to estimate an echo signal. 3. The echo canceller in claim 2, wherein transmitted signals corresponding to the transmitted symbol and the previously-transmitted symbol are real-valued, and wherein the transmitted symbol and the previously-transmitted symbol are divided into real and imaginary parts before being combined with the respective matrix to reduce computational complexity. 4. The echo canceller in claim 2, wherein the coefficients of the first matrix represent how an echo from a currently transmitted frequency domain signal affects a received signal. 5. The echo canceller in claim 4, wherein the coefficients of the second matrix represent how an echo from a previously transmitted frequency domain signal affects the received signal. 6. The echo canceller in claim 2, wherein the coefficients of the first matrix and the second matrix are adapted using a difference between the received signal and the estimated echo signal. 7. The echo canceller in claim 6, wherein the coefficients are adapted using a least mean squares algorithm. 8. The echo canceller in claim 2, wherein the estimated echo signal is removed from the received signal. 9. The echo canceller in claim 1, wherein the transceiver is a discrete multitone (DMT) transceiver. 10. The echo canceller in claim 2, wherein the first and second matrices are N x N matrices, where N is a number of symbol samples. 11. The echo canceller in claim 1, wherein a vector corresponding to a transmitted frequency domain symbol, a vector corresponding to a received frequency domain signal, and a vector corresponding to an estimate of the echo symbol are all Hermitian symmetric. 12. The echo canceller in claim 1, comprising: a first vector of coefficients, and a second matrix of coefficients, wherein a combination of a product of the first vector and a transmitted symbol and a product of the second matrix and a compensated, previously-transmitted symbol is used to estimate an echo signal. 13. The echo canceller in claim 12, wherein the transmitted symbol and the previously-transmitted symbol are divided into real and imaginary parts before being combined respectively with the first vector and the first matrix to reduce computational complexity. 14. The echo canceller in claim 12, wherein a compensation factor used to compensate the previously-transmitted signal is a complex exponential term. 15. The echo canceller in claim 14, wherein the transceiver is a discrete multitone (DMT) transceiver and the compensation factor compensates for a cyclic prefix associated with the previously-transmitted signal. 16. The echo canceller in claim 1, wherein when a transmitter of the transceiver has a lower sampling rate than a receiver of the transceiver, the echo signal is interpolated at the receiver. 17. The echo canceller in claim 1, wherein when a transmitter of the transceiver has a higher sampling rate than a receiver of the transceiver, the echo signal is decimated at the receiver. 18. The echo canceller in claim 1, including circuitry configured to determine an estimate of the echo in the received signal using a frequency domain model of an echo path channel that includes effects of interference and to subtract the echo estimate from the received signal. 19. The echo canceller in claim 18, wherein the echo canceller is used in a discrete multitone (DMT) type transceiver and the interference includes intersymbol interference and inter-carrier interference. 20. The echo canceller in claim 18, wherein the frequency domain model includes a first set of values that models how an echo from a currently transmitted frequency domain symbol distorts the received signal and a second set of values that models how an echo from a previously transmitted frequency domain symbol distorts the received signal. 21. The echo canceller in claim 20, wherein the first set of values is a first complex matrix and the second set of values is a second complex matrix. 22. The echo canceller in claim 20, wherein the first set of values is a column vector and the second set of values is a matrix. 23. The echo canceller in claim 22, wherein the matrix is combined with a difference between the currently transmitted symbol and a product of the previously ■ transmitted symbol and a compensating factor. 24. The echo canceller in claim 20, wherein the transmitted symbol and the previously transmitted symbol are divided into real and imaginary parts before being combined with the first and second sets of values, respectively. 25. The echo canceller in claim 18, wherein when a transmitter of the transceiver has a lower sampling rate than a receiver of the transceiver, the echo signal is interpolated at the , receiver. 26. The echo canceller in claim 18, wherein when a transmitter of the transceiver has a higher sampling rate than a receiver of the transceiver, the echo signal is decimated at the receiver. 27. The echo canceller in claim 18, wherein the transceiver is an asynchronous transceiver where transmitted and received frames or symbols are not aligned in time, and wherein the echo estimate is transformed into the time domain and then removed in the time domain from the received signal. 28. An echo canceller for use in an asynchronous transceiver configured to cancel an echo signal, comprising: a first matrix of coefficients; a second matrix of coefficients; wherein a combination of a producfof the first matrix and a currently-transmitted symbol and a product of the second matrix and a previously-transmitted symbol is used to estimate an echo signal, and wherein the estimate of the echo signal is transformed to the time domain and then removed from a received signal in the time domain. 29. An echo canceller in claim 28, wherein the previously-transmitted symbol is a compensated, previously transmitted symbol. 30. A method for reducing an echo at a transceiver comprising: (a) combining in the frequency domain a currently transmitted signal with a first set of values resulting in a first combination; (b) combining in the frequency domain a previously transmitted symbol with a second set of values resulting in a second combination; (c) combining the first and second combinations in the frequency domain to estimate the echo; and (d) using the estimated echo to reduce the echo in a signal received at the transceiver. 31. The method in claim 30, further comprising: determining a difference between the received signal and the estimated echo, and adjusting the first and second set of values using the difference. 32. The method in claim 30, wherein the first set of values corresponds to a first matrix of coefficients and the second set of values corresponds to a second matrix of coefficients. 33. The method in claim 30, wherein the first set of values corresponds to a column vector of coefficients and the second set of values corresponds to a matrix of coefficients. 34. The method in claim 33, wherein the combining step (b) includes: multiplying the previously transmitted symbol by a compensation factor to produce a product; subtracting the product from the currently transmitted symbol; and combining a result of the subtracting with the matrix. 35. The method in claim 30, wherein when a transmitter of the transceiver has a lower sampling rate than a receiver of the transceiver, the method further comprising: interpolating the echo signal. 36. The method in claim 30, wherein when a transmitter of the transceiver has a higher sampling rate than a receiver of the transceiver, the method further comprising: decimating the echo signal. 37. The method in claim 30, wherein a vector corresponding to a transmitted frequency domain symbol, a vector corresponding to a received frequency domain signal, a vector corresponding to an estimate of the echo symbol are Hermitian symmetric. 38. The method in claim 30, further comprising: dividing the currently transmitted symbol and the previously-transmitted symbol into real and imaginary parts before the combining steps (a) and (b), respectively, to reduce computational complexity. 39. The method according to claim 30, wherein the transceiver is an asynchronous transceiver, the method further comprising: transforming the estimated echo into the time domain, and removing the time domain, estimated echo signal from the received signal on a sample-by-sample basis.

Inventors: FERTNER ANTONI, FRENGER PAAL, LINDQVIST FREDRIK, FERTNER, ANTONI, FRENGER, PAAL, LINDQVIST, FREDRIK
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Application year: 2001
Main classification: H04B3
IPC codes: H04B3