Patent Publication Number: US-6983030-B2

Title: Approach for processing data received from a communications channel in finite precision arithmetic applications

Description:
RELATED APPLICATIONS 
     This application claims priority from U.S. Provisional Patent Application No. 60/173,785, entitled “METHOD AND APPARATUS FOR EQUALIZATION AND CROSSTALK MITIGATION IN A COMMUNICATION SYSTEM,” filed Dec. 30, 1999 by Efstratios Skafidas and Shane Michael Tonissen, and U.S. Provisional Patent Application No. 60/173,778, entitled “METHOD AND APPARATUS FOR EQUALIZATION IN A COMMUNICATIONS RECEIVER USING FINITE PRECISION ARITHMETIC,” filed Dec. 30, 1999 by A. Storm, Shane Michael Tonissen and Efstratios Skafidas, the contents of both which are incorporated herein by reference in their entirety for all purposes. This application is related to copending U.S. patent application Ser. No. 09/516,715, entitled “KALMAN FILTER BASED EQUALIZATION FOR DIGITAL MULTICARRIER COMMUNICATIONS SYSTEMS,” filed Mar. 1, 2000, by Shane Michael Tonissen, Efstratios Skafidas and Andrew Logothetis. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to digital communications systems, and more specifically, to an approach for processing data received from a communications channel in finite precision arithmetic applications. 
     BACKGROUND OF THE INVENTION 
     There is a continuing need for higher performance digital data communications systems. Perhaps nowhere is this need more evident than on the worldwide packet data communications network now commonly referred to as the “Internet.” On the Internet, the “richness” of content is constantly increasing, requiring an ever-increasing amount of bandwidth to provide Internet content to users. As a result of this increased demand for bandwidth, significant efforts have been made to develop new types of high-speed digital data communications systems. For example, optical fiber based networks are being built in many large metropolitan areas and undersea to connect continents. As another example, new wireless protocols are being developed to provide Internet content to many different types of small, portable devices. 
     One of the significant drawbacks of deploying many of these new types of high-speed digital data communications systems is the high cost and amount of time required to develop and build out the new infrastructure required by the systems. Because of these high costs, many new high-speed digital data communications systems are initially deployed only in densely populated areas, where the cost of building out the new infrastructure can be quickly recovered. Less populated areas must often wait to receive the new communications systems and some rural areas never receive the new systems where it is not cost effective to build the infrastructure. 
     For several reasons, significant efforts are being made to utilize conventional twisted pair telephone lines to provide high-speed digital data transmission. First, a significant amount of twisted pair telephone line infrastructure already exists in many countries. Thus, using conventional twisted pair telephone lines avoids the cost of building expensive new infrastructure. Second, conventional twisted pair telephone lines extend into customers&#39; homes and businesses, avoiding the so-called “last mile” problem. As a result of recent development efforts in this area, several new communications protocols, such as ADSL, G.Lite and VDSL, have been developed for providing high-speed digital transmission over conventional twisted pair telephone lines. 
     Despite the advantages to using conventional twisted pair telephone lines to provide high-speed digital communications, there are some problems with this approach. First, conventional twisted pair telephone lines cause signal attenuation per unit length that increases rapidly with frequency. A moderate length twisted pair line, for example around fifteen thousand feet, may cause only a few decibels (dB) of attenuation in the voice band, for which the line was originally designed, but many tens of dB of attenuation at higher transmission frequencies, for example around 1.1 MHz for ADSL. This results in a transfer function with a wide dynamic range, making channel equalization more difficult. The transfer function is further complicated by bridge taps and impedance mismatches between line sections that cause reflections and echoes at the receiver. Furthermore, filtering performed at the transmitter and receiver also increases the complexity of the transfer function. 
     The standards for ADSL and G.Lite specify Discrete Multitone (DMT) modulation. DMT is also under consideration for use in VDSL systems. DMT modulation generally involves transmitting digital data on a number of carriers simultaneously. Modulation and demodulation are performed using a Fast Fourier Transform (FFT). A cyclic prefix is introduced to ensure separation between successive DMT symbols and eliminate inter-symbol interference (ISI). In practice, the cyclic prefix is necessarily quite short, generally much shorter than the impulse response of the communications channel. This often results in significant ISI being present in the received data. Large amounts of ISI cause a large reduction in the available communications bandwidth. This is especially true for long twisted pair telephone lines likely to be encountered in ADSL and VDSL communications systems. The effect of this ISI is to reduce the SNR in each bin of the FFT demodulator employed in a DMT system. 
     Standard equalizers used in digital communication systems, such as adaptive LMS and RLS equalizers, are generally inappropriate for DMT systems since they are not designed to eliminate ISI. The current state of the art in equalizer design has the objective of shortening the overall channel plus equalizer impulse response so that the overall response is shorter than the cyclic prefix length. Various attempts to meet this requirement have been made. See for example,  Optimal Filtering,  by B. D. O. Anderson and J. B. Moore, Prentice-Hall, 1979; and  A Multicarrier Primer , by J. M. Cioffi. Determining equalizer coefficients is generally a computationally inefficient process and can be quite sensitive to noise, which limits the practical application of these techniques. 
     In addition to the equalization problem, twisted pair lines suffer from various forms of interference. Up to fifty twisted pairs are conventionally grouped together in binders. As a result, a signal on one pair can cause interference on other pairs in the same binder. This interference is called crosstalk and results in a reduced signal-to-noise ratio (SNR) at the receiver. Current approaches to mitigate crosstalk require access to the signal transmitted on the interfering line. This makes current approaches useful only in a central office environment, where the signals on all pairs in a binder are available. Thus, none of the existing crosstalk mitigation approaches are suitable when only the received signal is available. 
     Another problem is that conventional approaches for processing data received from a communications channel consider only the noise on the communications channel, leading to sub-optimal results. There is generally no consideration given to the frequency domain response of the equalizer and hence, there is no guarantee against SNR loss due to roundoff error in finite precision arithmetic. In addition to roundoff error in the equalizer, there is also roundoff error in the fast Fourier transform (FFT) used in DMT receivers. Prior channel equalization approaches do not take this source of noise into account. Where 16-bit fixed-point arithmetic is used in the FFT, the roundoff error in the FFT can be quite significant, and must be taken into account if overall SNR is to be maintained. 
     Based on the foregoing, there is a need for an approach for processing data received from a communications channel in finite precision arithmetic applications that does not suffer from the limitations of conventional approaches. 
     SUMMARY OF THE INVENTION 
     An approach for processing data received from a communications channel in finite precision arithmetic applications generally involves equalizing received data in the time domain prior to demodulation using finite impulse response (FIR) filtering. FIR coefficients used in FIR filtering are selected to minimize SNR degradation attributable to ISI and roundoff errors due to finite precision arithmetic, thereby maximizing channel capacity. The approach considers the communications channel noise attributable to crosstalk, white noise and analog to digital converter quantization noise, ISI attributable to failure of the equalizer coefficients to completely eliminate ISI, round off noise due to the use of finite precision arithmetic in the equalizer and roundoff noise due to the use of finite precision arithmetic in the FFT algorithm. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which: 
         FIG. 1  is a block diagram of a conventional digital data communications arrangement; 
         FIG. 2  is a block diagram of an arrangement for processing data received from a communications channel according to an embodiment of the invention; 
         FIG. 3  is a flow diagram of an approach for processing data received from a communications channel according to an embodiment of the invention; and 
         FIG. 4  is a block diagram of a computer system on which embodiments of the invention may be implemented. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of the invention. However, it will be apparent that the invention may be practiced without these specific details. In some instances, well-known structures and devices are depicted in block diagram form in order to avoid unnecessarily obscuring the invention. 
     Various aspects and features of the approach described herein for processing data received from a communications channel are described in more detail in the following sections: (1) overview; (2) FIR filtering; (3) theoretical background of FIR filter coefficient estimation; (4) FIR filter coefficient estimation; and (4) implementation mechanisms. 
     1. Overview 
     An approach for processing data received from a communications channel in finite precision arithmetic applications generally involves equalizing received data in the time domain prior to demodulation using finite impulse response (FIR) filtering. It has been found that the noise contributions due to ISI, equalizer roundoff error, and FFT roundoff error can be modeled as white noise sources at the equalizer output. It follows that the shape of the equalizer frequency response is important, since if the equalizer response reduces the channel noise at a particular frequency to below that of the other noise sources, then the SNR in that tone or tones will be degraded. It has been observed that using the so-called optimal shortening filters, the ISI may be almost eliminated, however the equalizer can have a frequency response with a wide dynamic range resulting in SNR degradation due to roundoff noise. The approach described herein ensures this degradation is eliminated or at least minimized by including the equalizer frequency response in the optimization process. The result is a superior equalizer for use in communication receivers employing multi-carrier modulation. FIR coefficients used in the FIR filtering are selected to minimize SNR degradation attributable to ISI and roundoff errors due to finite precision arithmetic, thereby maximizing channel capacity. The approach described herein considers the communications channel noise attributable to crosstalk, white noise and analog to digital converter quantization noise, ISI attributable to failure of the equalizer coefficients to completely eliminate ISI, round off noise due to the use of finite precision arithmetic in the equalizer and roundoff noise due to the use of finite precision arithmetic in the FFT algorithm. 
       FIG. 1  is a block diagram of a conventional communications system arrangement  100 . Arrangement  100  includes a transmitter  102  communicatively coupled to a receiver  104  via a communications channel  106 . Communications channel  106  may be any type of medium or mechanism for providing data from transmitter  102  to receiver  104 . For purposes of explanation only, various embodiments of the invention are described herein in the context of communications channel  106  as a landline, such as one or more conventional twisted pair telephone lines. 
     Transmitter  102  receives digital source data  108 , e.g., a digital stream, that is modulated by a modulator  110  to generate a sampled data signal s(n), where n is the sample number, and the sampling rate is given by F s . The sampled data signal s(n) is converted to an analog signal s(t) by an digital to analog converter  112 . The analog signal s(t) is processed by a transmit filter  114  to remove unwanted components from the analog signal s(t). The analog signal s(t) is then amplified by a line driver  116  and transmitted onto communications channel  106 . It should be noted that the transmitted analog signal s(t) is not strictly a continuous time representation of the sampled data signal s(n) since transmit filter  114  modifies the signal, but is represented as such herein for the purposes of explanation. The transmitted analog signal s(t) passes through communications channel  106 , which has an impulse response of h(t) and corresponding transfer function H(f). The output of communications channel  106  x(t) is the convolution of the transmitted analog signal s(t) and the channel impulse response h(t), given by
 
 x ( t )= s ( t )* h ( t )  (1)
 
     The signal received by receiver  104  y(t) is the sum of the output of communications channel  106  x(t) and an additive noise signal w(t), given by
 
 y ( t )= x ( t )+ w ( t )  (2)
 
where the additive noise signal w(t) consists of any form of interference introduced by communications channel  106 , for example crosstalk, and an additive white Gaussian noise component.
 
     A differential amplifier  118  processes the received signal y(t) to generate an amplified signal y(t). The amplified signal y(t) is then processed by one or more receive filters  120  to remove undesired components and generate a filtered signal y(t). The filtered signal y(t) is sampled by analog-to-digital converter  122  to generate a digital signal y(n) which at this point is still modulated. It should be pointed out that y(n) is not strictly a sampled version of y(t) due to the processing of receive filters  120  which modify the signal, but is represented as such herein for the purposes of explanation. 
     An equalizer  124  processes digital signal y(n) in the time domain to remove ISI and recover the transmitted modulated data z(n). A demodulator  126  processes the modulated data z(n), e.g., via an FFT, to generate recovered source data  128 , which ideally very closely approximates source data  108 . 
       FIG. 2  is a block diagram of a receiver  200  for processing received data y(t)  202  from communications channel  106  according to an embodiment of the invention. As with the conventional arrangement  100  of  FIG. 1 , received data y(t)  202 , obtained from communications channel  106 , is the sum of the output of communications channel  106  x(t) and an additive noise signal w(t). The received data y(t)  202  is processed by a differential amplifier  204 , one or more receive filters  206  and an analog-to-digital converter  208  to produce a sampled signal y(n), where n is the sample number. 
     The sampled signal y(n) is provided to an equalizer  210  that produces an estimate z(n) of the sampled communications channel  106  input signal that is provided to a demodulator  216 . Demodulator  216  recovers an estimate of the original source data  108  in the form of recovered source data  218 . 
     According to one embodiment of the invention, equalizer  210  includes a finite impulse response (FIR) filter  212  and an FIR coefficient estimator  214 . FIR filter  212  processes the sampled signal y(n) to produce the estimate z(n) of the sampled communications channel  106  input signal. FIR coefficient estimator  214  determines the coefficients required by FIR filter  212 . According to one embodiment of the invention, the coefficients for FIR filter  212  are selected such that ISI is eliminated, while any potential SNR loss due to finite precision arithmetic is minimized. 
       FIG. 3  is a flow diagram  300  that illustrates an approach for processing data received from a communications channel according to an embodiment of the invention. After starting in step  302 , in step  304 , received data y(t) is received from communications channel  106 . In step  306 , the received data y(t) is processed by differential amplifier  204  to generate amplified data y(t). In step  308 , the amplified data is processed by the one or more receive filters  206  to generate filtered data y(t). 
     In step  310 , the filtered data y(t) is sampled by analog-to-digital converter  208  to generate an sampled signal y(n). In step  312 , the sampled signal y(n) is processed by FIR filter  212 , which generates an estimate z(n) of the sampled communications channel  106  input signal. In step  314 , the estimate z(n) of the sampled communications channel  106  input signal is provided to a demodulator  216  that recovers an estimate of the original source data  108  in the form of recovered source data  218 . The process is complete in step  316 . 
     2. FIR Filtering 
     As previously described herein, equalization is performed using FIR filter  212 . The number of taps p+1 in FIR filter  212  is generally chosen based upon the requirements of a particular application. According to one embodiment of the invention, at least sixteen taps are used to ensure adequate equalizer results, particularly for longer loops. The samples of the input signal to FIR filter  212  are denoted by y(n), where n is the sample number. FIR filter  212  filters the sampled signal y(n) to form the filtered signal z(n) provided to demodulator  216 , such that 
               z   ⁡     (   n   )       =       ∑     i   =   0     p     ⁢       φ   ⁡     (   i   )       ⁢     y   ⁡     (     n   -   i     )                   (   3   )             
 
where {φ(i), i=0, . . . , p} is the set of FIR filter coefficients, and φ(0)=1 by definition.
 
The FIR filter equation (3) is the standard form of an FIR filter.
 
3. Theoretical Background of FIR Filter Coefficient Estimation
 
     FIR filter coefficient estimator  214  estimates the set of FIR coefficients, denoted by {φ(i): i=0, . . . , p}, for use in FIR filter  212 . Using the approach described herein in this application, the coefficients are determined such that the number of bits per DMT symbol is maximized for the given channel conditions. This is achieved by determining coefficients that minimize SNR degradation attributable to ISI and roundoff errors due to finite precision arithmetic. The optimal equalizer coefficients are given by 
               φ   opt     =     arg   ⁢           ⁢       max   φ     ⁢     B   ⁡     (   φ   )                   (   4   )             
 
where B(φ) is the number of bits per DMT symbol when communications channel is equalized by an equalizer with coefficients φ. In principle, the optimization is performed over all possible equalizers φ of order less than or equal to some maximum order P max . In practice, the set of equalizers over which the search is performed must be restricted to a subset of all equalizers to make the optimization computationally feasible. For a given equalizer, the number of bits per symbol is given by 
               B   ⁡     (   φ   )       =       ∑     k   =   0       N   -   1       ⁢     min   ⁡     (       b   max     ,     floor   ⁢           ⁢     (       min   ⁡     (         b   k     ⁡     (   φ   )       ,     b   min       )         b   min       )     ⁢       b   k     ⁡     (   φ   )           )                 (   5   )             
 
where N is the number of tones in a DMT symbol, and b k  is the theoretical number of bits in tone k for a particular equalizer φ and is given by 
                 b   k     ⁡     (   φ   )       =     floor   ⁢           ⁢     (       log   2     ⁡     (     1   +         SNR   k     ⁡     (   φ   )       Γ       )       )               (   6   )             
 
with the floor function restricting the number of bits to integer values. The summation in (5) further restricts the number of bits per tone to lie between some minimum and maximum values b min  and b max  respectively. For example, in an ADSL application b min =2 and b max =15. The value of Γ is determined by the required margin for a specified bit error probability and additional noise margin. The ADSL standard specifies a bit error probability of 1×10 −7 , requiring a margin Γ=9.8 dB, with an additional 6 dB noise margin. Hence in (6), the value of Γ=10 (15.8/10) =38.0 for an ADSL implementation. Equation (6) further indicates that the number of bits in tone k depends on SNR k (φ), the SNR in tone k for a given equalizer φ, given by 
                 SNR   k     ⁡     (   φ   )       =         S   k     ⁢            H   k          2     ⁢            Φ   k          2         (                Φ   k          2     ⁢     N   k       -       N   ISI     ⁡     (   φ   )       +     N   FFT     -     N   EQ       )               (   7   )             
 
with received signal power in tone k given by S k |H k | 2 , the magnitude of the equalizer frequency response in tone k given by |Φ k |, with 
               Φ   k     =       ∑     i   =   0     p     ⁢       φ   ⁡     (   l   )       ⁢     exp   ⁡     (         -   j     ⁢           ⁢   2   ⁢           ⁢   π   ⁢           ⁢   kl     M     )                   (   8   )             
 
where M=2N is twice the number of tones. It is also possible to compute Φ k  using the FFT, which is more efficient when p becomes large.
 
     The equation for SNR k (φ) given in (7) includes all of the noise sources present at the equalizer outputs. The first component is the channel noise referred to the equalizer output, given by |Φ k | 2 N k . This is the only component considered in prior approaches, such as those described in  Optimum Finite-Length equalization for Multicarrier Transceivers , by N. Al-Dhahir and J. M. Cioffi, IEEE Transactions on Communications, Pages 56-63, January 1996. The second component, which depends on the equalizer choice φ, is the ISI noise given by N ISI (φ). The ISI is modeled as a white noise source at the equalizer output. Although this is only an approximation, sufficient accuracy can be achieved by application of a suitable bound. The bound is obtained by computing the energy in the overall communications channel plus equalizer impulse response that falls outside the cyclic prefix samples. 
     The other additional noise terms considered are N FFT  and N EQ  corresponding to noise due to roundoff errors caused by finite precision arithmetic in the FFT (used for DMT demodulation) and equalizer respectively. Since most high-speed digital communication systems employ fixed-point processors with as little as 16-bit precision, these additional noise terms can become significant. The penalty for ignoring them, as has been the case in all previous equalizer designs, has been to suffer a SNR degradation, and hence a reduction in achievable bit rate. The discussion in  Digital Signal Processing , by A. V. Oppenheim and R. W. Schafer, Prentice-Hall International, 1975, describes how noise power can be computed both for FIR filters (the equalizer) and various FFT implementations. Specific examples for these computations are provided hereinafter. 
     As stated, the optimization in (4) should be performed over all possible equalizers φ. However, it is generally not possible to obtain a computationally efficient procedure for achieving this, so an alternative procedure is described that limits the search space. The approach described herein is based on several observations regarding equation (7):
         a. There is an upperbound for the SNR, which occurs when |Φ k | 2 N k &gt;&gt;N ISI (φ)+N FFT +N EQ . That is, when the term due to the noise at the receiver input dominates all other noise sources. The upperbound on SNR k  is then given by 
               max   ⁡     (     SNR   k     )       =         S   k     ⁢            H   k          2         N   k               (   9   )             
    which is simply the SNR at the input to the receiver. Hence the equalizer cannot improve the SNR in any tone, but inappropriate choice of φ can lead to SNR degradation. Hence the equalizer must be designed to keep the contribution from the additional noise sources less than the contribution of the noise on the communications channel.   b. The ISI noise, N ISI (φ), must be made as small as possible in order to avoid any possibility of SNR degradation. This can be achieved by designing the equalizer to shorten the overall impulse response of channel plus equalizer.   c. The equalizer frequency response is critical in preventing SNR degradation, since if |Φ k | 2  becomes small in any tone k, particularly if N k  is also small, it is quite likely |Φ k | 2 N k  can be less than the contribution from N FFT  and N EQ , even if N ISI (φ) is negligible. This is because the noise components due to roundoff error tend to be relatively constant and independent of the equalizer response. Hence if the equalizer attenuates the signal in any given tone, the roundoff errors can become significant in that tone, eventually leading to SNR degradation. This problem is avoided by determining equalizer coefficients that minimize the attenuation. This, in turn, is achieved by minimizing the variation in the equalizer frequency response.       

     As a result of these observations, an alternative optimization has been defined to reduce the search space, with the optimization in (4) then performed over the subset of equalizers determined from the first optimization. This second optimization is set up as follows: First, let 
         (     h   t     )       t   =   0       λ   -   1         
 
be the communications channel impulse response, or an estimate of this, and let (1, φ 1 , . . . , φ p ) be the vector of equalizer coefficients. The equalized impulse response is 
       H   =       ∑     K   =   0     P     ⁢       p   k     ⁢       h     t   =   k       .             
 
impulse response shortening may be achieved by choosing φ=( 1 , . . . , φ p ) to minimize the cost function 
                 C   ⁡     (   φ   )       =         ∑     t   =     q   +   1         λ   -   1       ⁢            g   t          2       =     r   +     2   ⁢     φ   ′     ⁢   f     +       φ   ′     ⁢   F   ⁢           ⁢   φ           ⁢     
     ⁢   where           (   10   )               r   =       ∑     t   =     g   +   1         λ   -   1       ⁢     h   t   2               (   11   )                 f   i     =       ∑     t   =     q   +   1         λ   -   1       ⁢       h   t     ⁢     h     t   -   i                   (   12   )                 F   ij     =       ∑     t   =     q   +   1         λ   -   1       ⁢       h     t   -   i       ⁢     h     t   -   j                   (   13   )             
 
are calculated for 1≦ij≦p and where it is understood that h t =0 if t&lt;0. This cost function is simply the energy in the equalized response g t  that falls outside the target length q, where q is usually chosen to be equal to the cyclic prefix length v, but can be chosen to be shorter if desired. Optimizing C(φ) yields an equalizer that minimizes ISI, but that can yield an arbitrary equalizer frequency response, potentially giving rise to SNR degradation in some tones.
 
     At this point it is noted that it is assumed the origin for the impulse response h has been chosen so that h O  is the first non-zero sample of the response. If this is not the case, then the origin of the impulse response should be moved accordingly, otherwise performance is adversely affected. Shifting the origin is a straightforward process that can be implemented in a variety of ways, for example, by finding the set of q+1 samples of the response that contain the greatest energy. 
     An additional term for the cost function is then derived to ensure the variation in the equalizer frequency response is minimized. To express the range of the equalizer frequency response, first let Φ k =φ t  exp(−j2πkt/M) be the equalizer response at tone k for 0≦k≦N−1, with M=2N, and N being the number of tones (256 for an ADSL downstream implementation). In practice, the SNR is often too low for data transmission in a number of tones, so it is unnecessarily restrictive to minimize the variation over all tones. Instead, the variation is minimized over a set of tones T. A suitable set of tones may be defined a-priori if it is known that a number of tones will not be used, for example because of an FDM filter separating upstream and downstream transmissions. The range of Φ k  over a set of tones T may be expressed by the simple variance formula 
                 R   ⁡     (   φ   )       =         ∑     k   ∈   T       ⁢              Φ   k     -     Φ   _            2       =         ∑     k   ∈   T       ⁢            Φ   k          2       -          T        ⁢            Φ   _          2             ⁢     
     ⁢       where   ⁢           ⁢     Φ   _       =       1        T          ⁢       ∑     k   ∈   T       ⁢       Φ   k     .                   (   14   )             
 
and |T| is the number of tones in the set T.
 
     Before combining this with C(φ) to obtain a new cost function, it is preferable to express R as a quadratic function of φ: 
                 ∑     k   ∈   T       ⁢            Φ   k          2       =       ∑     k   ∈   T       ⁢       ∑     n   =   0     p     ⁢       ∑     m   =   0     p     ⁢       φ   n     ⁢     φ   m     ⁢   exp   ⁢           ⁢     (       -   j     ⁢           ⁢   2   ⁢   π   ⁢           ⁢       k   ⁡     (     n   -   m     )       /   M       )                     (   15   )                       ⁢     =       ∑     n   =   0     p     ⁢       ∑     m   =   0     p     ⁢       φ   n     ⁢     φ   m     ⁢       ∑     k   ∈   T       ⁢     exp   ⁢           ⁢     (       -   j     ⁢           ⁢   2   ⁢   π   ⁢           ⁢       k   ⁡     (     n   -   m     )       /   M       )                         (   16   )                        Φ   _          2     =       1          T        2       ⁢       ∑     k   ∈   T       ⁢       ∑     l   ∈   T       ⁢       ∑     n   =   0     p     ⁢       ∑     m   =   0     p     ⁢       φ   n     ⁢     φ   m     ⁢     exp   ⁡     (       -   j     ⁢           ⁢   2   ⁢   π   ⁢           ⁢       (     kn   -   lm     )     /   M       )                           (   17   )                       ⁢       =       1          T        2       ⁢       ∑     n   =   0     p     ⁢       ∑     m   =   0     p     ⁢       φ   n     ⁢     φ   m     ⁢       ∑     k   ∈   T       ⁢       ∑     l   ∈   T       ⁢     exp   ⁡     (       -   j     ⁢           ⁢   2   ⁢   π   ⁢           ⁢       (     kn   -   lm     )     /   M       )                     ⁢     
     ⁢     so   ⁢           ⁢   that               (   18   )                       R   ⁡     (   φ   )       =       ⁢       ∑     n   =   0     p     ⁢       ∑     m   =   0     p     ⁢       φ   n     ⁢     φ   m     (         ∑     k   ∈   T       ⁢     exp   ⁡     (       -   j     ⁢           ⁢   2   ⁢   π   ⁢           ⁢       k   ⁡     (     n   -   m     )       /   M       )         -                           ⁢       1        T          ⁢       ∑     k   ∈   T       ⁢       ∑     l   ∈   T       ⁢     exp   ⁡     (       -   j     ⁢           ⁢   2   ⁢   π   ⁢           ⁢       (     kn   -   lm     )     /   M       )             )                 (   19   )                       ⁢     =       ∑     n   =   0     p     ⁢       ∑     m   =   0     p     ⁢       φ   n     ⁢       φ   m     ⁡     (         ∑     k   ∈   T       ⁢     cos   ⁢           ⁢     (     2   ⁢   π   ⁢           ⁢       k   ⁡     (     n   -   m     )       /   M       )         -     
     ⁢           ⁢       1        T          ⁢       ∑     k   ∈   T       ⁢       ∑     l   ∈   T       ⁢     cos   ⁡     (     2   ⁢       π   ⁡     (     kn   -     l   ⁢           ⁢   m       )       /   M       )               )                       (   20   )                       ⁢     =       ∑     n   =   1     p     ⁢       ∑     m   =   1     p     ⁢       φ   n     ⁢       φ   m     ⁡     (         ∑     k   ∈   T       ⁢     cos   ⁢           ⁢     (     2   ⁢   π   ⁢           ⁢       k   ⁡     (     n   -   m     )       /   M       )         -     
     ⁢           ⁢       1        T          ⁢       ∑     k   ∈   T       ⁢       ∑     l   ∈   T       ⁢     cos   ⁡     (     2   ⁢       π   ⁡     (     kn   -     l   ⁢           ⁢   m       )       /   M       )               )                       (   21   )                       ⁢     =       φ   ′     ⁢   A   ⁢           ⁢   φ               (   22   )             
 
where the elements of matrix A are the bracketed terms in the above expression. When T is a contiguous range of tones, T={k:a≦k≦b}, the summations may be evaluated via the relation 
                   ∑     k   =   a     b     ⁢     cos   ⁢           ⁢     (     2   ⁢   π   ⁢           ⁢     kt   /   M       )         =               sin   ⁡     (     2   ⁢   π   ⁢           ⁢     (     b   +     1   /   2       )     ⁢     t   /   M       )       -               sin   ⁢           ⁢     (     2   ⁢   π   ⁢           ⁢     (     a   -     1   /   2       )     ⁢     t   /   M       )               2   ⁢   sin   ⁢           ⁢     (     π   ⁢           ⁢     t   /   M       )           ⁢     
     ⁢         if   ⁢           ⁢   t     ≠   0     ,             (   23   )                   ∑     k   =   a     b     ⁢     cos   ⁢           ⁢     (     2   ⁢   π   ⁢           ⁢     kt   /   M       )         =       b   -   a   +     1   ⁢           ⁢   if   ⁢           ⁢   t       =   0.             (   24   )             
 
The two cost functions are combined to obtain: 
                     D   ⁡     (   φ   )       =       C   ⁡     (   φ   )       +     μ   ⁢           ⁢       rR   ⁡     (   φ   )       /   M                     =     r   +     2   ⁢     φ   ′     ⁢   f     +       φ   ′     ⁢   F   ⁢           ⁢   φ     +       (     ⁣     μ   ⁢           ⁢     r   /   M         )     ⁢     φ   ′     ⁢   A   ⁢           ⁢   φ                     (   25   )             
 
which is minimized by choosing
 
φ=−( F +(μ r/M ) A ) −1   f   (27)
 
     The number μ is a weighting factor that is chosen by the user to allow variation in the importance of the dynamic range penalty term (μr/M)φ′Aφ. Generally μ is kept small, e.g. less than 0.5. Choosing a large value for μ (e.g.10 or more) gives small dynamic range with poor impulse response shortening. It is seen that the optimal equalizer in (27) depends on both the weighting factor μ and the equalizer order p. If the optimization in (27) is performed for a range of both μ and p, the resulting equalizers φ(μ, p) form a reduced set of equalizers over which the original optimization in (4) is then performed by direct substitution. 
     One special case of interest in when the set of tones T consists of the entire range 0≦k≦N−1, and the matrix A reduces to the identity. In this case, the additional penalty term reduces to adding a constant to the diagonal of F, and becomes computationally trivial. 
     The following section describes a practical approach for obtaining the equalizer φ. In practice it may be found that one particular choice of μ and p provides good performance over a wide range of channels likely to be encountered in practice. In such a case, it is only necessary to perform the optimization in (27) once, with the resulting used in the FIR equalizer without need to perform the optimization in (4). 
     4. FIR Filter Coefficient Estimation 
     According to one embodiment of the invention, the FIR filter coefficients used by FIR filter  212  are determined as follows:
         a. Estimate the channel frequency response H k  in each tone. This is carried out during part of an initialization and training sequence, where a known symbol sequence is transmitted on a repeated basis. H k  is estimated as follows:
           (i) Let 
         (     d   k     )       k   =   0       M   -   1         
 
be the repeatedly transmitted Hermitian symmetrised symbol block (prior to modulation). In an ADSL system, one of the C_REVERB sequences can be used to estimate the downstream channel transfer function. Let S k =|d k | 2  for k=0 . . . N−1 be the transmitted signal power in tone k. Here N is the number of tones, and M is the number of samples in the FFT used for modulation and demodulation. In general, S k  will be constant for a training sequence.
   (ii) Let y n , n=0, 1, 2 . . . L be the sequence of received signal blocks, prior to demodulation. Each block y n  is a vector of length M, consisting of the M received samples corresponding to the n th  transmitted training symbol, and L is the total number of training symbols on which the transfer function is to be estimated. The demodulated signal corresponding to this block is given by
 
 Y   n   =FFT ( y   n )  (28)
   (iii) Discard Y 0  to avoid end effects, and calculate the average received symbol 
               Y   _     =       1   L     ⁢       ∑     n   =   1     L     ⁢     Y   n                 (   29   )             
   and the average magnitude squared for each tone 
                 Z   _     k     =       1   L     ⁢       ∑     n   =   1     L     ⁢            Y   nk          2                 (   30   )             
   These can both be computed via appropriate recursive formulae to avoid overflow problems.   (iv) Finally, compute the estimate of the channel transfer function according to 
               H   k     =         Y   _     k       d   k               (   31   )             
               for 1≦k≦N−1 and N+1≦k≦M−1, with H 0 =H N =0 since no data is transmitted at DC or Nyquist frequency. An alternative approximation is to interpolate values for H 0  and H N  from the adjacent values of the transfer function to avoid discontinuities.   
               
           b. Compute the estimated channel impulse response, given by
 
 h=Re ( IFFT ( H ))  (32)
   c. Compute an estimate of the noise power in each tone k, given by
 
 N   k   =Z   k   −|Y   k | 2   (33)
    for 0≦k≦N−1. The theoretical SNR can then be calculated as 
               SNR   k     =         S   k     ⁢            H   k          2         N   k               (   34   )             
    and as described earlier, this forms an upperbound for the achievable SNR in tone k.   d. Select a range of values for the equalizer order p, and the equalizer frequency response weighting factor μ. These ranges are chosen such that a sensible range of potential equalizers is determined for which the bits per symbol can be optimized. In practice it may be sufficient to choose just one value for p, and one value for μ that represent a reasonable compromise for all likely channels.   e. Commencing with the first pair of values for μ and p, compute f i  and F ij  as given in (12) and (13).   f. Compute the equalizer frequency response penalty matrix A using the equations (19) to (24).   g. Solve the matrix equation 
                 (     F   +         μ   ⁢           ⁢   r     M     ⁢   A       )     ⁢   φ     =     -   f             (   35   )             
    or the equivalent inverse formula in (27). According to one embodiment of the invention, the above equation is solved using a Cholesky decomposition to ensure robustness, as the inverse formula can lead to instability due to the possibility of inverting a near-singular matrix. The resulting equalizer φ(μ,p) minimizes the cost function D(φ) in (25) for the particular choice of μ and p.   h. Repeat the preceeding steps to obtain an optimal equalizer φ(μ,p) for each value of μ and p in the selected ranges. The equalizer to be used is then chosen as the equalizer which maximize the number of bits per DMT symbol, B(φ). It should be noted that for successive values of p, only f p  and the last row of F,F pj  needs to be computed. The remaining values remain the same.   i. For each pair of values μ and p, compute the equalizer frequency response at each tone according to (8), or using the FFT with φ padded with zeros to be of length M.   j. Let 
       S   =       1   N     ⁢       ∑     K   =   0       N   -   1       ⁢     S   k             
 
be the mean signal power, and compute m=r+φ′f, where r is given in (11) and f is given in (12). Now compute 
                 N   ISI     ⁡     (   φ   )       =           2   ⁢   mS       M   ⁡     (     λ   -   q   -   1     )         ⁢     (         ∑     t   =     v   +   1         M   -   1       ⁢   t     -   v     )       =     2   ⁢     Sm   /     M   .                   (   36   )             
 
This is an estimate of the residual intersymbol interference at the output of the equalized channel.
   k. Compute estimates for the FFT and equalizer noise powers. These are dependent on the exact implementation of the finite precision arithmetic, with the following values derived for the special case where 16-bit fixed-point (integer) arithmetic is used. For M=512 point FFTs, and no intermediate scaling in the FFT, a suitable expression for N FFT  is 
               N   FFT     =     M   12             (   37   )             
    while for an equalizer with p+1 taps, the first of which is set to 1, with 16 bit fixed point (integer) arithmetic a suitable expression for N EQ  is 
               N   EQ     =     p   12             (   38   )             
    where it is noted that in general the equalizer noise is insignificant compared to the FFT noise, and rounding has been used as opposed to truncation. It is assumed appropriate normalization has been used throughout to compute the transfer functions and noise powers.   l. Compute the SNR in each tone k according to (7), compute the number of bits on each tone according to (6), and finally, compute the number of bits per DMT\symbol B(φ) according to (5).   m. From the set of possible equalizers φ(μ,p), choose the equalizer φ for which B(φ) is maximized. If more than one equalizer yields the same performance, the equalizer with lower order p is chosen.       

     The equalizer resulting from the foregoing approach for estimating the FIR coefficients provides a DMT system for which the number of bits per DMT symbol is maximized, having taken account of all possible sources of additional noise in the system. Most notably, additional noise due to finite precision arithmetic has been taken into account, ensuring minimization of SNR loss due to finite precision arithmetic. 
     9. Implementation Mechanisms 
     The approach described in this document for processing data received from a communications channel may be implemented in a receiver, such as receiver  200 , or may be implemented into a stand-alone mechanism. The functionality of the elements depicted in  FIG. 2  may be implemented separately or in various combinations, depending upon the requirements of a particular application, and the invention is not limited to any particular implementation. Furthermore, the approach described herein for processing data received from communications channel  106  may be implemented in computer software, in hardware circuitry, or as a combination of computer software and hardware circuitry. Accordingly the invention is not limited to a particular implementation. 
       FIG. 4  is a block diagram that illustrates a computer system  400  upon which an embodiment of the invention may be implemented. Computer system  400  includes a bus  402  or other communication mechanism for communicating information, and a processor  404  coupled with bus  402  for processing information. Computer system  400  also includes a main memory  406 , such as a random access memory (RAM) or other dynamic storage device, coupled to bus  402  for storing information and instructions to be executed by processor  404 . Main memory  406  also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor  404 . Computer system  400  further includes a read only memory (ROM)  408  or other static storage device coupled to bus  402  for storing static information and instructions for processor  404 . A storage device  410 , such as a magnetic disk or optical disk, is provided and coupled to bus  402  for storing information and instructions. 
     Computer system  400  may be coupled via bus  402  to a display  412 , such as a cathode ray tube (CRT), for displaying information to a computer user. An input device  414 , including alphanumeric and other keys, is coupled to bus  402  for communicating information and command selections to processor  404 . Another type of user input device is cursor control  416 , such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor  404  and for controlling cursor movement on display  412 . This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. 
     The invention is related to the use of computer system  400  for processing data received from a communications channel in finite precision arithmetic applications. According to one embodiment of the invention, processing data received from a communications channel in finite precision arithmetic applications is provided by computer system  400  in response to processor  404  executing one or more sequences of one or more instructions contained in main memory  406 . Such instructions may be read into main memory  406  from another computer-readable medium, such as storage device  410 . Execution of the sequences of instructions contained in main memory  406  causes processor  404  to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory  406 . In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software. 
     The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor  404  for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device  410 . Volatile media includes dynamic memory, such as main memory  406 . Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus  402 . Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. 
     Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. 
     Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor  404  for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system  400  can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to bus  402  can receive the data carried in the infrared signal and place the data on bus  402 . Bus  402  carries the data to main memory  406 , from which processor  404  retrieves and executes the instructions. The instructions received by main memory  406  may optionally be stored on storage device  410  either before or after execution by processor  404 . 
     Computer system  400  also includes a communication interface  418  coupled to bus  402 . Communication interface  418  provides a two-way data communication coupling to a network link  420  that is connected to a local network  422 . For example, communication interface  418  may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface  418  may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface  418  sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. 
     Network link  420  typically provides data communication through one or more networks to other data devices. For example, network link  420  may provide a connection through local network  422  to a host computer  424  or to data equipment operated by an Internet Service Provider (ISP)  426 . ISP  426  in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the “Internet”  428 . Local network  422  and Internet  428  both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link  420  and through communication interface  418 , which carry the digital data to and from computer system  400 , are exemplary forms of carrier waves transporting the information. 
     Computer system  400  can send messages and receive data, including program code, through the network(s), network link  420  and communication interface  418 . In the Internet example, a server  430  might transmit a requested code for an application program through Internet  428 , ISP  426 , local network  422  and communication interface  418 . In accordance with the invention, one such downloaded application provides for the processing of data received from a communications channel in finite precision arithmetic applications as described herein. 
     The received code may be executed by processor  404  as it is received, and/or stored in storage device  410 , or other non-volatile storage for later execution. In this manner, computer system  400  may obtain application code in the form of a carrier wave. 
     The approach described herein for processing data received from a communications channel in finite precision arithmetic applications provides significant advantages over prior approaches. The approach describe herein enables the equalizer coefficients to be determined such that ISI is eliminated, while minimizing any potential SNR loss attributable to the use of finite precision arithmetic. Specifically, the number of bits per DMT symbol is maximized, while taking into account of all possible sources of additional noise in the system. In addition, the approach is efficient and robust, ensuring that the equalizer is suitable for use in real-time systems that employ high sample rates. 
     In the foregoing specification, particular embodiments have been described. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.