# Patent

## Title
Spectrally constrained impulse shortening filter for a discrete multi-tone receiver

## Abstract

A channel in a multiple carrier communication system is equalized by computing a target spectral response, shortening the impulse response of the channel so that a significant part of an energy of the impulse response is confined to a region that is shorter than a target length and filtering the signal based on the target spectral response.

## Background
This application is a continuation of U.S. Ser. No. 10/608,329, filed Jun. 27, 2003, now U.S. Pat. No. 7,254,178, which is a continuation of U.S. Ser. No. 09/054,468, filed Apr. 3, 1998, now U.S. Pat. No. 6,631,175.


BACKGROUND
The invention relates to time-domain equalization in a discrete multi-tone (DMT) receiver.
Conventional single carrier modulation techniques translate data bits for transmission through a communication channel by varying the amplitude and/or phase of a single sinusoidal carrier. By contrast, DMT, which is also referred to as Orthogonal Frequency Division Multiplexing (OFDM) or Multicarrier Modulation (MCM), employs a large number of sinusoidal subcarriers, e.g., 128 or 256 subcarriers. The available bandwidth of the communication channel is divided into subchannels and each subchannel communicates a part of the data. A DMT system may employ quadrature amplitude modulation (QAM) for each of the subcarriers.
OFDM-based systems transmit blocks of information bits. The time required to transmit one such block is called the symbol period. The time domain waveform that corresponds to one such block of bits is called a symbol.
Intersymbol interference (ISI) arises from the characteristics of practical communication channels and limits the rate at which information can be transmitted through them. Specifically, communication channels typically have an Effective Discrete-Time Impulse Response (EDIR) that is greater than one sample time in length, which causes ISI. ISI is a well-known phenomenon in single-carrier communication systems and there are many techniques for reducing it. The process of such ISI reduction is called equalization. ISI is discussed, for example, in Proakis, Digital Communications, McGraw Hill, 2nd Edition, 1989.
Equalization in OFDM-based systems is achieved by a two stage process. First, at the transmitter, an end-portion of each symbol is affixed to the beginning of the symbol to form what is called a Cyclic Prefix (CP). A cyclic prefix that is greater than the EDIR of the channel prevents one symbol from interfering with another. Furthermore, it also facilitates a simple method of neutralizing the time-domain spread of each symbol forced by the channel. This is achieved by the use of a simple frequency domain process in the receiver which requires one multiplication operation for each used subcarrier of the OFDM system.
The use of a Cyclic Prefix to reduce ISI is discussed, for example, in: Cimini, “Analysis and Simulation of a Digital Mobile Channel using Orthogonal Frequency Division Multiplexing,” IEEE Transactions on communications, pp 665-675 July 1985; Chow, “A Discrete Multi-Tone Transceiver System for HDSL applications,” IEEE Journal on Selected Areas of Communications, 9(6):895-908, August 1991; “DMT Group VDSL PMD Draft Standard Proposal,” Technical Report, T1E1.4/96-329R2, ANSI 1997.
Another problem arising in conventional DMT systems is noise bleeding, which is the phenomenon of noise in one frequency band interfering with a signal whose subcarrier is in another frequency band. Noise bleeding is caused, in general, by the Discrete Fourier Transform (DFT) operation at the receiver. Noise bleeding is discussed in, for example, Worthen et. al., “Simulation of VDSL Test Loops,” Technical Report T1E1.4/97-288, ANSI 1997.
In a perfectly synchronized DMT system, the signal in one frequency band does not interfere with a signal whose subcarrier is in another frequency band. However, noise from one band may interfere with other less noisy bands and render them unusable. Techniques for dealing with noise-bleeding include wavelet-based solutions. However, wavelet-based solutions are, in general, computationally intensive.
SUMMARY
The invention provides a spectrally constrained impulse shortening filter (SCISF) for use, for example, in DMT systems. The SCISF serves two primary functions.
First, the SCISF reduces intersymbol interference (ISI) by reducing the length of the effective discrete-time impulse response (EDIR) of the communication channel. Conventional impulse shortening filters may have deep nulls in their frequency response. By contrast, the SCISF has a filter characteristic that is essentially free from undesired nulls that may attenuate or completely eliminate certain subcarriers.
Second, the SCISF reduces noise bleeding between subchannels by attenuating noisy channels in a manner that does not reduce the signal to noise ratio (SNR) in these channels, but reduces the noise power that may appear in the sidelobes of adjacent subchannels. The SCISF accomplishes these functions by applying a frequency constraint to the signal based on a target spectral response.
In one general aspect, the invention features equalizing a channel in a multiple carrier communication system. The system includes a spectrally constrained impulse shortening filter. Received noise power spectral density is measured. A target spectral response is computed based on the measured noise power. A frequency response for the spectrally constrained impulse shortening filter is selected based on the target spectral response. The communication signal is filtered with the spectrally constrained impulse shortening filter.
Embodiments may include one or more of the following features. The noise power spectral density may be measured at the output of the discrete Fourier transform. The spectrally constrained impulse shortening filter may be a time domain digital filter.
In another aspect, the invention features equalizing a channel in a multiple carrier communication system. The channel has an impulse response and is configured to receive a signal having a cyclic prefix. A target spectral response is computed. The impulse response of the channel is shortened so that a significant part of the energy of the impulse response is confined to a region that is shorter than a target length, and the signal is filtered based on the target spectral response.
The target length may be a length of the cyclic prefix. The target spectral response may be computed from measured noise power density, which may be measured at the output of a discrete Fourier transform. For example, the target spectral response may be the inverse of the measured noise power spectral density. The filtering step may be performed with a filter having a frequency response selected to match the target spectral response. The shortening of the impulse response and/or the filtering may be performed by a time domain digital filter.
In another general aspect, the invention features selecting an impulse response for a spectrally constrained impulse shortening filter in a multiple carrier communication system. Received noise power spectral density is measured. A cost function is computed using the noise power. The cost function is dependent on the impulse response. The dimensionality of a space over which the cost function is defined is reduced and the cost function is minimized. The noise power spectral density may be measured at the output of a discrete Fourier transform. The cost function may be used to compute coefficients for the spectrally constrained impulse shortening filter.
In another general aspect, the invention features a spectrally constrained impulse shortening filter for a multiple carrier communication system. The system includes a channel that has an impulse response. A digital filter structure receives the signal and apply a frequency characteristic to the signal. The frequency characteristic is determined by filter coefficients. Filter coefficients are selected to shorten the impulse response of the channel so that a significant part of the energy of the impulse response is confined to a region that is shorter than a target length and to apply a frequency characteristic to the signal based on a target spectral response. The selected filter coefficients are input to the taps of the filter.
In another general aspect, the invention features a receiver for receiving a multiple carrier signal from a communication channel having an impulse response. An analog-to-digital converter receives the signal from the communication channel. A spectrally constrained impulse shortening filter receives the signal from the analog-to-digital converter and shortens the impulse response of the channel so that a significant part of an energy of the impulse response is confined to a region that is shorter than a target length. The filter also applies a frequency characteristic to the signal based on a target spectral response. A discrete Fourier transform receives the output of the spectrally constrained impulse shortening filter and a decoder receives outputs of the discrete Fourier transform.
In another aspect, the invention features a modem in which an encoder receives digital data and outputs a constellation of complex values. An inverse discrete Fourier transform receives the constellation from the encoder. A digital-to-analog converter is connected to the inverse discrete Fourier transform and outputs a signal to a communication channel. An analog-to-digital converter receives the signal from the communication channel. A spectrally constrained impulse shortening filter shortens an impulse response of the channel so that a significant part of an energy of the impulse response is confined to a region that is shorter than a target length. The signal is filtered based on a target spectral response. A discrete Fourier transform connected to the filter and a decoder is connected to the discrete Fourier transform and outputs digital data.
In another aspect, the invention features software for causing a processor in a communication system to perform the following operations: measure received noise power spectral density; and compute a target spectral response based on the measured noise power. The software may also include instructions for causing a processor to compute filter coefficients based on the target spectral response.
In another aspect, the invention features software for causing a processor in a communication system to measure received noise power spectral density. A cost function is computed using the noise power. The cost function is dependent on an impulse response of a spectrally constrained impulse shortening filter. The dimensionality of a space over which the cost function is defined is reduced, and the cost function is minimized.
The techniques described here are not limited to any particular hardware or software configuration. They may find applicability in any computing or processing environment that may be used for a communication system. The techniques may be implemented in hardware or software, or a combination of the two. Preferably, the techniques are implemented in computer programs executing on a digital signal processor that includes a processor and a storage medium readable by the processor (including volatile and non-volatile memory).
Other features and advantages will be apparent from the following description, including the drawings and the claims.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a discrete multi-tone communication system.
FIG. 2 is a plot of effective discrete-time impulse response (EDIR) of a communication channel including transmit and receive filters.
FIG. 3 is a plot of the shortened EDIR due to a spectrally constrained impulse shortening filter (SCISF).
FIG. 4 is a block diagram of a SCISF.
FIG. 5 is a plot of transmit signal power, signal power at SCISF input and noise power at SCISF input.
FIG. 6 is a plot of signal and noise power at the output of the SCISF.
FIG. 7 shows the filter response of a discrete Fourier transform for one frequency band.
FIG. 8 is a plot of the target spectral response of the SCISF, Gd(ω), versus the actual frequency response, G(ω).
FIG. 9 is a plot of signal-to-noise ratio at the output of the SCISF, the output of the DFT with the SCISF and the output of the DFT without the SCISF.



DESCRIPTION
As shown in FIG. 1, a discrete multi-tone (DMT) communication system 10 has a transmitter 12 and a receiver 14. The transmitter 12 accepts an input data bit stream which passes through a constellation encoder 20. The encoder 20 divides the serial input bit stream into blocks of data. These blocks of data are further subdivided into smaller blocks corresponding to subchannels. Each of these smaller blocks are used to compute a complex value representing a constellation point. Each constellation point corresponds to a subsymbol. The subsymbols are then output by the encoder. Taken together, the subsymbols constitute a symbol.
The subsymbols are supplied to an inverse discrete Fourier transform (IDFT) 30, which may be implemented, for example, in a digital signal processor. The IDFT 30 outputs N time samples of a symbol. The time samples are processed by a parallel to serial converter 40 to form a single stream of time samples.
Following the parallel to serial converter 40, a prefixer 50 adds a cyclic prefix to the beginning of each symbol to reduce intersymbol interference (ISI). Alternatively, the cyclic prefix may be added in the parallel to serial converter. After the cyclic prefix is added, the resulting signal passes through a digital-to-analog (D/A) converter 60 for transmission to the receiver 14 through a communication channel 70. An analog transmit filter 65 may be included following the D/A converter to band limit the transmitted signal.
At the receiver 14, the signal passes through an analog-to-digital (A/D) converter 80 and then through an impulse shortening filter 90. An analog receive filter 75 may be included prior to the A/D converter in order to band limit the received signal. A prefix stripper 100 strips the cyclic prefixes from the resulting symbols and a serial to parallel converter 110 divides the stream of time samples into parallel signal paths that form the inputs to a discrete Fourier transform (DFT) 120. The DFT 120 converts the time samples into subsymbols. A decoder 130 converts the subsymbols into a data bits and outputs the resulting data.
As discussed above, a cyclic prefix is added to each symbol prior to transmission through the communication channel to reduce the effects of ISI. The cyclic prefix is formed by copying the last ν time samples from the end of a symbol and placing them at the beginning of the symbol. To eliminate ISI, the length of the cyclic prefix, ν, is chosen to be longer than the effective discrete-time impulse response (EDIR) of the channel. However, because the cyclic prefix constitutes redundant data, increasing the length of the cyclic prefix reduces the efficiency of the communication system. For example, in a system having N time samples per symbol and a cyclic prefix of ν time samples, the efficiency of the system will be reduced by N/(N+ν). To maximize efficiency it is necessary either to minimize ν or to maximize N. However, increasing N increases the complexity, latency and computational requirements of the system and at some point becomes impractical. Accordingly, it is desirable to minimize ν.
An impulse shortening filter having an impulse response, g(n), may be employed in the receiver to minimize the length of the cyclic prefix by decreasing the EDIR, g(n)*h(n), of the effective communication channel, which includes the transmit and receive filters, the impulse shortening filter and the physical transmission channel. The use of an impulse shortening filter is referred to as time domain equalization. Decreasing the EDIR allows a shorter cyclic prefix to be used without increasing ISI.
FIG. 2 is a plot of the EDIR for a DMT test configuration having a communication channel that is 4500 feet in length and operates at a sampling frequency of 11.04 MHz (test loop 4, as described in “Very-high Speed Digital Subscriber Lines: System Requirements,” Technical Report T1E1.4/97-131R1, ANSI 1998). The EDIR includes the effects of a transmit filter, the communication channel and a receive filter. FIG. 3 shows the impulse response as shortened by the addition of an impulse shortening filter.
The impulse shortening filter is selected so that a significant part of the energy of the joint impulse response of the filter and the effective communication channel, g(n)*h(n), is confined to a region that is shorter in length than the length of the cyclic prefix. Some prior algorithms for computing g(n) considered only shortening the EDIR and did not consider the spectral characteristics of the resulting impulse shortening filter. Such filters often had deep nulls in some frequency bands, which rendered some of the corresponding subchannels useless.
Since increasing the length of the cyclic prefix reduces system efficiency, the receiver may dynamically compute an optimal length for the cyclic prefix and may send that information to the transmitter. For example, the receiver may compute a set of impulse responses for the impulse shortening filter based on a set of predetermined cyclic prefix lengths. The receiver then computes the system throughput for each particular cyclic prefix length. The length that maximizes system throughput is selected and the result of that selection is communicated to the transmitter. The transmitter then operates using the selected cyclic prefix length.
To avoid the possible attenuation of frequency bands, the spectral response of the impulse shortening filter is further required to have a spectral response, G(ω), that meets a specified spectral constraint. A spectral constraint of the form G(ω)H(ω)>τ, where τ is a threshold, is sufficient to avoid nulls in the frequency response of the impulse shortening filter. However, it is possible to compute a spectral constraint or target spectral response, Gd(ω), that provides additional performance improvements, such as reducing noise bleeding between subehannels. A spectrally constrained impulse filter is configured to have a spectral response that approximates the target spectral response.
As shown in FIG. 4, the spectrally constrained impulse shortening filter (SCISF) 90 may be implemented as a time domain digital filter, which has a digital filter structure 210 with a number of taps 220 or filter coefficient inputs for adjusting the filter response. The coefficients may be computed and supplied to the taps by a digital signal processor (DSP). Alternatively, the SCISF may be implemented entirely in software, i.e., within a DSP.
A desired spectral response may be applied to a received signal using a filter that is separate from the impulse shortening or time domain equalization (TEQ) filter. For example, an analog filter may be placed prior to the A/D converter. However, the adjustability of such a filter would be limited. As a further example, a digital filter could be added prior to the TEQ filter. Both of these configurations suffer the disadvantage that the TEQ filter may distort the desired spectral characteristics of the added filter. A filter also might be positioned after the TEQ filter, which would reduce noise bleeding, but might reduce the impulse shortening provided by the TEQ filter. Accordingly, the SCISF integrates the TEQ (i.e., impulse shortening) function with the desired spectral response in a single filter.
In summary, the filter characteristic, g(n), of the SCISF satisfies two conditions. First, the effective length of the convolution of the filter characteristic with the impulse response of the communication channel, g(n)*h(n), is less than a target length. Second, the cost function (error function) between the target spectral response, Gd(ω), and the actual filter spectral response, G(ω), is minimized.
The target spectral response is an ideal filter characteristic that is selected to maximize the data bit throughput in the subchannels of a DMT system by reducing the impact of noise. There are many sources for noise in a DMT communication system, such as near-end cross-talk (NEXT), radio frequency interference (RFI) and noise generated in the communication channel (white noise). As shown in FIGS. 5 and 6, the noise spectral density is generally not uniform across the frequency band of the communication system. This non-uniformity contributes to the problem of noise bleeding, in which noise in one frequency band interfering with a signal in another frequency band.
In general, noise bleeding is caused by sidelobes of filters in a DFT. FIG. 7 shows the filter response of a DFT for one frequency band or bin (i.e., bin 128). The first sidelobes (250) are only 13 dB below the main lobe (260). Therefore, noise located outside of bin 128, but within the first sidelobe of bin 128, i.e., approximately mid-way between bins 126 and 127, would appear in bin 128 with an attenuation of only 13 dB. Consequently, noisy subchannels in a DMT system may degrade the performance of non-noisy subchannels.
The target spectral response is essentially a spectral constraint that attenuates noisy channels more than non-noisy channels. The signal and noise in the noisy channels are reduced equally, so the attenuation does not affect the signal-to-noise ratio in these channels. However, because the absolute noise level in the noisy channels is reduced, there is less noise available to enter the sidelobes of the non-noisy channels. Hence, the noise bleeding problem is minimized.
To determine the target spectral response, the noise power spectral density (noise PSD) at the receiver must be known. The noise PSD may be determined, for example, by performing a periodigram on received data. This measurement is more complicated if a transmitter is transmitting, since the transmitted signal must be separated from the noise measurement. The noise PSD is determined by: (i) slicing the received constellation of subcarriers after the DFT to determine the nearest valid constellation point; (ii) determining an error signal based on the difference between the received constellation point and the valid constellation point; (iii) performing an IDFT on the error signal; and (iv) generating a periodigram (with windowing) from the error signals. The noise PSD may then be determined from the periodigram.
An example of a noise PSD characteristic for a DMT communication system is shown in FIG. 5 (test loop 4, as described in “Very-high Speed Digital Subscriber Lines: System Requirements,” Technical Report T1E1.4/97-131R1, ANSI 1998). The transmit signal power is measured at the output of the transmit filter in the transmitter. The signal and noise PSD plots shown in FIG. 5 are measured at the input of the A/D converter in the receiver, which is prior to the SCISF.
Measured noise PSD is used by a digital signal processor (DSP) to compute a target spectral response, Gd(ω), using the algorithm described below. Alternatively, the inverse of the noise PSD may be used as an approximation for the target spectral response. A spectral response, G(ω), is then determined for the SCISF that minimizes the error between the spectral response of the SCISF and the target spectral response. A set of filter coefficients may then be generated to configure the SCISF to the determined characteristic. These calculations may be done periodically to adjust the performance of the communication system. Frequency domain equalization coefficients and symbol synchronization may also be adjusted based on these calculations.
FIG. 8 is a plot of the target spectral response of the SCISF, Gd(ω), versus the actual frequency response, G(ω). The difference between the responses is only a few dB. FIG. 6 shows the signal and noise PSD at the output of the SCISF.
FIG. 9 shows the dramatic effect of the SCISF on system performance. Without the SCISF (i.e., using a filter that provides only impulse shortening), the signal-to-noise ratio (SNR) decreases significantly at the output of the Fourier transform (i.e., FFT or DFT) to less than about 7 dB. This decrease is due, in large part, to noise bleeding caused by the sidelobes of the Fourier transform. By contrast, with the SCISF, the SNR at the output of the Fourier transform tracks the SNR at the output of the SCISF within a few dB. Overall, the SCISF provides an improvement in SNR.
The target spectral response of the SCISF, Gd(ω) and the actual frequency response, G(ω), are derived from an energy constraint for the SCISF, i.e., the target spectral response must localize the energy of the effective impulse response within a desired frequency band. The energy constraint is combined with a desired spectral response based on the measured noise power spectral density. The resulting cost function (or error function) is then minimized to obtain a practical filter characteristic for the SCISF. This process is presented in detail below.
In the following derivation, all vectors are column vectors by default. Vectors are denoted by bold lower case letters (e.g., t). The size mt of a vector t, is written t(mt). The components of a vector are denoted by lower case letters, e.g., t(mt)=[t0 . . . tmt−1]T. The convolution of length mt+mh−1 of vectors t(mt) and h(mh) is denoted t*h. The Toeplitz matrix of a vector t(mt),t(m:n)[tm . . . tn]T, is written T(m:n)mx, and T(m:n)mxx=(t*x)(m:n). The Discrete Time Fourier Transform (DTFT) of a vector t may be represented as:




  
    
      
        
          T
          ⁡
          
            (
            ω
            )
          
        
        =
        
          
            ∑
            
              n
              =
              0
            
            
              
                m
                t
              
              -
              1
            
          
          ⁢
          
            
              t
              n
            
            ⁢
            
              
                e
                
                  
                    -
                    jω
                  
                  ⁢
                  
                    
                  
                  ⁢
                  n
                
              
              .
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




The EDIR of the channel and the impulse response of the SCISF are expressed as h(mh) and g(mg), respectively. The cyclic prefix has a length of mc per symbol. The energy of the effective impulse response must be localized to a contiguous region of target length ml, where ml<mc, while satisfying a spectral constraint. The energy criterion to be satisfied by the SCISF may be written as:




  
    
      
        
          
            
              
              
                
                  (
                  
                    g
                    *
                    h
                  
                  )
                
                
                  (
                  
                    m
                    :
                    
                      m
                      +
                      
                        m
                        l
                      
                      -
                      1
                    
                  
                  )
                
              
              
            
            2
          
          
            
              
              
                (
                
                  g
                  *
                  h
                
                )
              
              
            
            2
          
        
        ≥
        α
      
    
    
      
        (
        2
        )
      
    
  




for some 0≦m≦mg+mh−2 and some 0<α<1. Defining the set Sm as





  
    
      
        
          s
          m
        
        =
        
          {
          
            g
            ∈
            
              
                R
                
                  m
                  g
                
              
              :
              
                
                  
                    
                      
                      
                        
                          (
                          
                            g
                            *
                            h
                          
                          )
                        
                        
                          (
                          
                            m
                            :
                            
                              m
                              +
                              
                                m
                                l
                              
                              -
                              1
                            
                          
                          )
                        
                      
                      
                    
                    2
                  
                  
                    
                      
                      
                        (
                        
                          g
                          *
                          h
                        
                        )
                      
                      
                    
                    2
                  
                
                ≥
                α
              
            
          
          }
        
      
    
    
      
        (
        3
        )
      
    
  




the impulse response of the SCISF must belong to Sm for some m.

Let ω1, . . . , ωN be the location of the sub-carriers in the frequency domain. The spectral constraint may be applied by selecting gεSm, so that the cost function




  
    
      
        
          J
          ⁡
          
            (
            g
            )
          
        
        ⁢
        
          =
          Δ
        
        ⁢
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            
              (
              
                
                  
                  
                    G
                    ⁡
                    
                      (
                      
                        ω
                        i
                      
                      )
                    
                  
                  
                
                -
                
                  
                    G
                    d
                  
                  ⁡
                  
                    (
                    
                      ω
                      i
                    
                    )
                  
                
              
              )
            
            2
          
        
      
    
    
      
        (
        4
        )
      
    
  




is minimized for the desired target spectral response Gd(ω).

Typically, this optimization would have to be repeated for all possible m to select the filter impulse response, g, that achieves the lowest possible value of J. However, as discussed below, optimization may be limited to a few well chosen values of m.
The determination of the filter impulse response may be done in two stages. First, the desired magnitude frequency response Gd(ω) of the impulse shortening filter g over the bins used by the DMT system is obtained. Second, J is optimized over Sm for a specific value of m.
To determine the target spectral response Gd(ω), it is necessary to use expressions for the signal to noise ratios observed in the various frequency bins at the output of the DFT in the receiver. The DMT system has M tones (subcarriers), N of which (those from M1 through M2) are used, and the communication channel has an analog frequency response Hc(ƒ). The analog noise power spectral density observed at the input of the receiver A/D is Sη(ƒ). Prior to conversion in the A/D converter, the received analog signal may be filtered by an anti-aliasing filter with transfer function Hα(ƒ). The EDIR in the absence of the impulse shortening filter is h(n). After the A/D converter, the signal is fed into the impulse shortening filter with an impulse response of g(n). The impulse shortening filter ensures that (h(n)*g(n)) is shorter in length than the cyclic prefix. G(ω) is the discrete time Fourier transform of g(n). Under these conditions, the expected signal energy μ(k) observed in bin k at the output of the length-2M receiver DFT is given by:




  
    
      
        
          
            μ
            ⁡
            
              (
              k
              )
            
          
          =
          
            
              C
              1
            
            ⁢
            
              D
              k
            
            ⁢
            
              
                
                
                  H
                  ⁡
                  
                    (
                    
                      
                        π
                        ⁢
                        
                          
                        
                        ⁢
                        k
                      
                      M
                    
                    )
                  
                
                
              
              2
            
            ⁢
            
              
                
                
                  G
                  ⁡
                  
                    (
                    
                      
                        π
                        ⁢
                        
                          
                        
                        ⁢
                        k
                      
                      M
                    
                    )
                  
                
                
              
              2
            
          
        
        ;
        
          
            H
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              
                H
                c
              
              ⁡
              
                (
                
                  ω
                  
                    2
                    ⁢
                    π
                    ⁢
                    
                      
                    
                    ⁢
                    T
                  
                
                )
              
            
            ⁢
            
              
                H
                a
              
              ⁡
              
                (
                
                  ω
                  
                    2
                    ⁢
                    π
                    ⁢
                    
                      
                    
                    ⁢
                    T
                  
                
                )
              
            
          
        
      
    
    
      
        (
        5
        )
      
    
  




where C1 is a constant, 1/T the sampling frequency and Dk the transmitted power in bin k. The noise power η(k) in bin k is:





  
    
      
        
          η
          ⁡
          
            (
            k
            )
          
        
        =
        
          
            
              
                C
                2
              
              ⁡
              
                [
                
                  
                    
                      S
                      η
                    
                    ⁡
                    
                      (
                      
                        ω
                        
                          2
                          ⁢
                          π
                          ⁢
                          
                            
                          
                          ⁢
                          T
                        
                      
                      )
                    
                  
                  ⁢
                  
                    
                      
                      
                        G
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                      
                    
                    2
                  
                  ⁢
                  
                    
                      
                      
                        
                          H
                          a
                        
                        ⁡
                        
                          (
                          
                            ω
                            
                              2
                              ⁢
                              π
                              ⁢
                              
                                
                              
                              ⁢
                              T
                            
                          
                          )
                        
                      
                      
                    
                    2
                  
                
                ]
              
            
            *
            
              [
              
                
                  
                    sin
                    2
                  
                  ⁡
                  
                    (
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    )
                  
                
                
                  
                    sin
                    2
                  
                  ⁡
                  
                    (
                    
                      ω
                      2
                    
                    )
                  
                
              
              ]
            
          
          ⁢
          
            |
            
              ω
              =
              
                
                  π
                  ⁢
                  
                    
                  
                  ⁢
                  k
                
                M
              
            
          
        
      
    
    
      
        (
        6
        )
      
    
  




where C2 is another constant and * denotes the convolution. Assuming that the noise in the bands corresponding to unused tones is sufficiently attenuated by the anti-alias filter, η(k) is approximately equal to:





  
    
      
        
          
            η
            ⁡
            
              (
              k
              )
            
          
          ≈
          
            
              C
              3
            
            ⁢
            
              
                ∑
                
                  l
                  =
                  
                    M
                    1
                  
                
                
                  M
                  2
                
              
              ⁢
              
                
                  
                    S
                    η
                  
                  ⁡
                  
                    (
                    
                      l
                      
                        2
                        ⁢
                        MT
                      
                    
                    )
                  
                
                ⁢
                
                  
                    
                    
                      G
                      ⁡
                      
                        (
                        
                          
                            π
                            ⁢
                            
                              
                            
                            ⁢
                            l
                          
                          M
                        
                        )
                      
                    
                    
                  
                  2
                
                ⁢
                
                  
                    
                    
                      
                        H
                        a
                      
                      ⁡
                      
                        (
                        
                          l
                          
                            2
                            ⁢
                            MT
                          
                        
                        )
                      
                    
                    
                  
                  2
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            (
            
              
                α
                ⁡
                
                  (
                  
                    k
                    -
                    l
                  
                  )
                
              
              +
              
                α
                ⁡
                
                  (
                  
                    
                      2
                      ⁢
                      M
                    
                    -
                    k
                    -
                    l
                  
                  )
                
              
            
            )
          
          ,
        
      
    
    
      
        (
        7
        )
      
    
  




where α(n) is defined as:





  
    
      
        
          
            α
            ⁡
            
              (
              n
              )
            
          
          =
          
            
              ∫
              
                -
                
                  π
                  
                    2
                    ⁢
                    M
                  
                
              
              
                π
                
                  2
                  ⁢
                  M
                
              
            
            ⁢
            
              
                [
                
                  
                    
                      sin
                      2
                    
                    ⁡
                    
                      (
                      
                        M
                        ⁡
                        
                          (
                          
                            
                              
                                π
                                ⁢
                                
                                  
                                
                                ⁢
                                n
                              
                              M
                            
                            -
                            λ
                          
                          )
                        
                      
                      )
                    
                  
                  
                    
                      sin
                      2
                    
                    ⁡
                    
                      (
                      
                        
                          1
                          2
                        
                        ⁢
                        
                          (
                          
                            
                              
                                π
                                ⁢
                                
                                  
                                
                                ⁢
                                n
                              
                              M
                            
                            -
                            λ
                          
                          )
                        
                      
                      )
                    
                  
                
                ]
              
              ⁢
              
                
              
              ⁢
              
                d
                λ
              
            
          
        
        ,
      
    
    
      
        (
        8
        )
      
    
  




M1 . . . M2 are the used tones and C3 another constant. Defining x to be the vector of frequency magnitudes to be solved for as:





  
    
      
        
          x
          ⁢
          
            =
            Δ
          
          ⁢
          
            [
            
              
                
                  
                    
                      
                      
                        G
                        ⁡
                        
                          (
                          
                            
                              π
                              ⁢
                              
                                
                              
                              ⁢
                              
                                M
                                1
                              
                            
                            M
                          
                          )
                        
                      
                      
                    
                    2
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    
                      
                      
                        G
                        ⁡
                        
                          (
                          
                            
                              π
                              ⁢
                              
                                
                              
                              ⁢
                              
                                M
                                2
                              
                            
                            M
                          
                          )
                        
                      
                      
                    
                    2
                  
                
              
            
            ]
          
        
        ,
      
    
    
      
        (
        9
        )
      
    
  




the SNR in bin k can be seen to be of the form





  
    
      
        b
        k
      
      ⁢
      
        x
        k
      
    
    
      
        a
        k
        T
      
      ⁢
      x
    
  
  ,




in which bk are scalars and ak are vectors.

To determine the target spectral response, x is chosen to maximize the bit throughput. Approximating the capacity of bin k by √{square root over (SNR(k))}, the optimal spectral profile is obtained by minimizing the cost function F, where:




  
    
      
        
          F
          ⁡
          
            (
            x
            )
          
        
        =
        
          -
          
            
              ∑
              
                k
                =
                
                  M
                  1
                
              
              
                M
                2
              
            
            ⁢
            
              
                
                  
                    
                      b
                      k
                    
                    ⁢
                    
                      x
                      k
                    
                  
                  
                    
                      a
                      k
                      T
                    
                    ⁢
                    x
                  
                
              
              .
            
          
        
      
    
    
      
        (
        10
        )
      
    
  




This minimization is performed over:

X={xεRN:∥x∥=1, xi≧0, 1≦i≦N}  (11)

and can be accomplished by any one of a variety of constrained optimization strategies, as discussed in Bertsekas, Nonlinear Programming, Athena Scientific, Belmont, Mass., 1995. A median filter may be applied to the output of the optimization algorithm to smooth the resulting target spectral response.

Let




  A
  ⁢
  
    =
    Δ
  
  ⁢
  
    
      
        H
        
          (
          
            
              0
              ⁢
              
                :
              
              ⁢
              
                
              
              ⁢
              
                m
                h
              
            
            +
            
              m
              g
            
            -
            2
          
          )
        
        
          m
          g
        
      
      ⁢
      
        
      
      ⁢
      and
      ⁢
      
        
      
      ⁢
      B
    
    ⁢
    
      =
      Δ
    
    ⁢
    
      
        H
        
          (
          
            
              m
              ⁢
              
                :
              
              ⁢
              
                
              
              ⁢
              m
            
            +
            
              m
              l
            
            -
            1
          
          )
        
        
          m
          g
        
      
      .
    
  




The energy constraint in equation (3) can be written as:





  
    
      
        
          S
          m
        
        =
        
          
            {
            
              g
              ∈
              
                
                  
                    R
                    
                      m
                      g
                    
                  
                  ⁢
                  
                    :
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      
                        g
                        T
                      
                      ⁢
                      
                        B
                        T
                      
                      ⁢
                      Bg
                    
                    
                      
                        g
                        T
                      
                      ⁢
                      
                        A
                        T
                      
                      ⁢
                      Ag
                    
                  
                
                ≥
                α
              
            
            }
          
          .
        
      
    
    
      
        (
        12
        )
      
    
  




Matrix A has full column rank, since it corresponds to a full convolution, so RAATA is invertible. Let RBBTB. Defining q=RA0.5h, where RA0.5is the square root of the positive definite matrix RA, the energy constraint set can be written in terms of q as:




  
    
      
        Q
        ⁢
        
          =
          Δ
        
        ⁢
        
          
            {
            
              q
              ∈
              
                
                  
                    R
                    
                      m
                      g
                    
                  
                  ⁢
                  
                    :
                  
                  ⁢
                  
                    
                      
                        q
                        T
                      
                      ⁢
                      
                        R
                        A
                        
                          -
                          0.5
                        
                      
                      ⁢
                      
                        R
                        B
                      
                      ⁢
                      
                        R
                        A
                        
                          -
                          0.5
                        
                      
                      ⁢
                      q
                    
                    
                      
                        q
                        T
                      
                      ⁢
                      q
                    
                  
                
                ≥
                α
              
            
            }
          
          .
        
      
    
    
      
        (
        13
        )
      
    
  




The next step is to reduce the dimensionality, i.e., the number of variables to search over in the optimization process. For example, in a video digital subscriber line(VDSL) application, an impulse shortening filter having a few hundred taps may be required. Searching over a variable space so large is difficult and impractical. Instead, the optimization is performed by searching over a cleverly chosen lower-dimensional subset of the variable space. This simplification in the optimization process may be done without significant reduction in the performance of the communication system.
The reduction in dimensionality is accomplished by a transformation of variables. Let CRA−0.5RBRA−0.5. Let S=UΣUT be the singular-value decomposition of C, where Σ is a diagonal matrix whose (i, i)th element is σi and where the σi are arranged in descending order. If σ1<α, there is no feasible solution corresponding to delay m. If σ1≧α, let




  
    
      
        
          
            U
            =
            
              [
              
                
                  U
                  1
                
                ⁢
                
                  
                
                ⁢
                
                  U
                  2
                
              
              ]
            
          
          ;
        
        ⁢
        
          

        
        ⁢
        
          
            Σ
            =
            
              [
              
                
                  
                    
                      Σ
                      1
                    
                  
                  
                    0
                  
                
                
                  
                    0
                  
                  
                    
                      Σ
                      2
                    
                  
                
              
              ]
            
          
          ,
        
      
    
    
      
        (
        14
        )
      
    
  




where U1 has size (mg,md) and Σ1 has size (md,md) for some md. These equations define the dimension of the range space of the matrix U1, over which the search is confined. The dimension md may be chosen either to include all σi greater than some threshold β, β<α, or md may be a fixed number. Simulations indicate that md can be less than mg by more than an order of magnitude without significantly affecting communication system performance.

The dimensionality reduction is achieved by a further transformation of variables: q=U1v. The energy constraint set now becomes:




  
    
      
        V
        ⁢
        
          =
          Δ
        
        ⁢
        
        ⁢
        
          
            {
            
              v
              ∈
              
                
                  
                    R
                    
                      m
                      d
                    
                  
                  ⁢
                  
                    :
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      
                        v
                        T
                      
                      ⁢
                      
                        Σ
                        1
                      
                      ⁢
                      v
                    
                    
                      
                        v
                        T
                      
                      ⁢
                      v
                    
                  
                
                ≥
                α
              
            
            }
          
          =
          
            {
            
              
                v
                ∈
                
                  
                    
                      R
                      
                        m
                        d
                      
                    
                    ⁢
                    
                      :
                    
                    ⁢
                    
                      
                    
                    ⁢
                    v
                  
                  ≠
                  0
                
              
              ,
              
                
                  
                    α
                    ⁢
                    
                      
                        
                        v
                        
                      
                      2
                    
                  
                  -
                  
                    
                      v
                      T
                    
                    ⁢
                    
                      Σ
                      1
                    
                    ⁢
                    v
                  
                
                ≤
                0
              
            
            }
          
        
      
    
    
      
        (
        15
        )
      
    
  




using the identity U1TCU1=Σ1.

Next, the cost function is expressed in terms of v. For a particular v, the corresponding g is given by g=RA−0.5U1v, which leads to:




  
    
      
        
          
            
              [
              
                
                  
                    
                      G
                      ⁡
                      
                        (
                        
                          ω
                          1
                        
                        )
                      
                    
                  
                
                
                  
                    ⋮
                  
                
                
                  
                    
                      G
                      ⁡
                      
                        (
                        
                          ω
                          N
                        
                        )
                      
                    
                  
                
              
              ]
            
            =
            Fg
          
          ;
        
        ⁢
        
          

        
        ⁢
        
          F
          =
          
            [
            
              
                
                  1
                
                
                  
                    e
                    
                      -
                      
                        jω
                        1
                      
                    
                  
                
                
                  
                    e
                    
                      -
                      
                        j2ω
                        1
                      
                    
                  
                
                
                  ⋯
                
                
                  
                    e
                    
                      
                        -
                        
                          j
                          ⁡
                          
                            (
                            
                              
                                m
                                g
                              
                              -
                              1
                            
                            )
                          
                        
                      
                      ⁢
                      
                        ω
                        1
                      
                    
                  
                
              
              
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋮
                
              
              
                
                  1
                
                
                  
                    e
                    
                      -
                      
                        jω
                        1
                      
                    
                  
                
                
                  
                    e
                    
                      -
                      
                        j2ω
                        N
                      
                    
                  
                
                
                  ⋯
                
                
                  
                    e
                    
                      
                        -
                        
                          j
                          ⁡
                          
                            (
                            
                              
                                m
                                g
                              
                              -
                              1
                            
                            )
                          
                        
                      
                      ⁢
                      
                        ω
                        N
                      
                    
                  
                
              
            
            ]
          
        
      
    
    
      
        (
        16
        )
      
    
  




Let DFARA−0.5U1. Let DRreal(D) and DIimag(D). DR and DI are real matrices of size (N,md). Let dR,nT, 1≦n≦N and dl,nT, 1≦n≦N be the rows of DR and DI, respectively. Then:





  
    
      
        
          
          
            G
            ⁡
            
              (
              
                ω
                n
              
              )
            
          
          
        
        =
        
          
            
              
                (
                
                  
                    d
                    
                      R
                      ,
                      n
                    
                    T
                  
                  ⁢
                  v
                
                )
              
              2
            
            +
            
              
                (
                
                  
                    d
                    
                      I
                      ,
                      n
                    
                    T
                  
                  ⁢
                  v
                
                )
              
              2
            
          
        
      
    
  
  
    
      
        =
        
          
            
              
                
                  v
                  T
                
                ⁡
                
                  (
                  
                    
                      
                        d
                        
                          R
                          ,
                          n
                        
                      
                      ⁢
                      
                        d
                        
                          R
                          ,
                          n
                        
                        T
                      
                    
                    +
                    
                      
                        d
                        
                          I
                          ,
                          n
                        
                      
                      ⁢
                      
                        d
                        
                          I
                          ,
                          n
                        
                        T
                      
                    
                  
                  )
                
              
              ⁢
              v
            
          
          =
          
            
              
                v
                T
              
              ⁢
              
                T
                n
              
              ⁢
              v
            
          
        
      
    
  




where ΓndR,ndR,nT+dI,ndI,nT. These definitions result in:





  
    
      
        
          
            
              J
              0
            
            ⁡
            
              (
              v
              )
            
          
          ⁢
          
            -
            Δ
          
          ⁢
          
            j
            ⁡
            
              (
              
                g
                ⁡
                
                  (
                  v
                  )
                
              
              )
            
          
        
        =
        
          
            ∑
            
              n
              =
              1
            
            N
          
          ⁢
          
            
              (
              
                
                  
                    
                      v
                      T
                    
                    ⁢
                    
                      Γ
                      n
                    
                    ⁢
                    v
                  
                
                -
                
                  
                    G
                    d
                  
                  ⁡
                  
                    (
                    
                      ω
                      n
                    
                    )
                  
                
              
              )
            
            2
          
        
      
    
    
      
        (
        17
        )
      
    
  




The gradient and Hessian of J0 are:





  
    
      
        
          
            ∇
            
              J
              0
            
          
          ⁢
          
            (
            v
            )
          
        
        =
        
          
            ∑
            
              n
              =
              1
            
            N
          
          ⁢
          
            2
            ⁢
            
              (
              
                1
                -
                
                  
                    
                      G
                      d
                    
                    ⁡
                    
                      (
                      
                        ω
                        n
                      
                      )
                    
                  
                  
                    
                      
                        v
                        T
                      
                      ⁢
                      
                        Γ
                        n
                      
                      ⁢
                      v
                    
                  
                
              
              )
            
            ⁢
            
              Γ
              n
            
            ⁢
            v
          
        
      
    
    
      
        (
        18
        )
      
    
  
  
    
      
        
          
            H
            
              J
              0
            
          
          ⁡
          
            (
            v
            )
          
        
        =
        
          
            ∑
            
              n
              =
              1
            
            N
          
          ⁢
          
            2
            ⁡
            
              [
              
                
                  
                    (
                    
                      1
                      -
                      
                        
                          
                            G
                            d
                          
                          ⁡
                          
                            (
                            
                              ω
                              n
                            
                            )
                          
                        
                        
                          
                            
                              v
                              T
                            
                            ⁢
                            
                              Γ
                              n
                            
                            ⁢
                            v
                          
                        
                      
                    
                    )
                  
                  ⁢
                  
                    Γ
                    n
                  
                
                +
                
                  
                    
                      
                        G
                        d
                      
                      ⁡
                      
                        (
                        
                          ω
                          n
                        
                        )
                      
                    
                    
                      
                        (
                        
                          
                            
                              v
                              T
                            
                            ⁢
                            
                              Γ
                              n
                            
                            ⁢
                            v
                          
                        
                        )
                      
                      3
                    
                  
                  ⁢
                  
                    Γ
                    n
                  
                  ⁢
                  
                    vv
                    T
                  
                  ⁢
                  
                    Γ
                    n
                  
                
              
              ]
            
          
        
      
    
    
      
        (
        19
        )
      
    
  




The projection Pv(y) of any yεRmd on to V is defined to be




  
    
      
        
          
            P
            V
          
          ⁡
          
            (
            y
            )
          
        
        ⁢
        
          =
          Δ
        
        ⁢
        
          arg
          ⁢
          
            
          
          ⁢
          
            
              min
              
                v
                ∈
                V
              
            
            ⁢
            
              
                
                
                  y
                  -
                  v
                
                
              
              2
            
          
        
      
    
    
      
        (
        20
        )
      
    
  




To develop an algorithm to optimize the cost function J0 over V, an expression must be derived for Pv(y). There is no closed-form expression for this projection operator, however there is a very efficient algorithm to compute it. If yεV, Pv(y)=y. If not, the projection onto V is the same as the projection on to its boundary, defined by:

boundary (V){vεRmd:v≠0, α∥v∥2−vTΣ1v=0}  (21)

The latter may be accomplished using LaGrange multipliers as follows. Defining a modified cost function S as:

S(v)∥y−v∥2+μ(α∥v∥2−VTΣ1v)  (22)

The equation ∇S(v)=0 must be solved on the boundary of V. This reduces to the following simultaneous equations:

[(1+μα)I−Σ1]v=0  (23)

α∥v∥2−vTΣ1v=0  (24)

Solving for v in terms of μ from (23) and substituting in (24), the following equation is obtained for μ:





  
    
      
        
          
            y
            T
          
          ⁢
          
            diag
            ⁡
            
              (
              
                
                  α
                  -
                  
                    σ
                    i
                  
                
                
                  
                    [
                    
                      1
                      +
                      
                        μ
                        ⁡
                        
                          (
                          
                            α
                            -
                            
                              σ
                              i
                            
                          
                          )
                        
                      
                    
                    ]
                  
                  2
                
              
              )
            
          
          ⁢
          y
        
        =
        0
      
    
    
      
        (
        25
        )
      
    
  




Equation (25) may be written as a polynomial equation of order 2md in μ. The polynomial equation must be solved for the real and positive roots, which may be done using one of the variety of efficient root-finding algorithms in the literature. One of the real, positive roots must be chosen by enumeration so that, when substituted into the expression for v, it leads to the smallest ∥y−v∥2.

Since the gradient and Hessian of the cost function J0 and the projection operator onto V are available, the optimization can be done very efficiently. For example, the penalty method may be used, as described in Bertsekas, Nonlinear Programming, Athena Scientific, Belmont, Mass., 1995, or an iterative strategy consisting of gradient descent followed by projection onto V. Both techniques have been tested and perform well.
Other embodiments are within the scope of the following claims.

## Claims

1. A spectrally constrained impulse shortening filter for a multiple carrier communication system, the system being configured to receive a signal and including a channel that has an impulse response, the filter comprising:
an input connected to receive the signal;
a digital structure, coupled to the input, configured to select an impulse response, wherein the digital structure is operable to (1) measure received noise power spectral density, (2) compute a cost function using the noise power, the cost function being dependent on the impulse response, (3) reduce the dimensionality of a space over which the cost function is defined and (4) minimize the cost function.

2. The filter of claim 1 wherein the digital structure comprises a discrete Fourier transform and the noise power spectral density is measured at an output of the discrete Fourier transform.

3. A spectrally constrained impulse shortening filter for a multiple carrier communication system, the system being configured to receive a signal and including a channel that has an impulse response, the filter comprising:
an input connected to receive the signal;
a digital structure, coupled to the input, for equalizing a channel, wherein the digital structure is configured to (1) measure received noise power spectral density, (2) compute a target spectral response having a magnitude constraint that is based on the measured noise power spectral density and (3) select a frequency response of the spectrally constrained impulse shortening filter based on the target spectral response.

4. The filter of claim 3 wherein the digital structure comprises a discrete Fourier transform and the noise power spectral density is measured at an output of the discrete Fourier transform.

5. A receiver for receiving a multiple carrier signal from a communication channel having an impulse response, the receiver comprising:
an analog-to-digital converter connected to receive the signal from the communication channel; and
a spectrally constrained impulse shortening filter connected to receive the signal from the analog-to-digital converter and configured to (1) measure received noise power spectral density, (2) compute a cost function using the noise power, the cost function being dependent on the impulse response, (3) reduce the dimensionality of a space over which the cost function is defined and (4) minimize the cost function;
wherein the spectrally constrained impulse shortening filter comprises a discrete Fourier transform connected to receive the output of the spectrally constrained impulse shortening filter and a decoder connected to receive outputs of the discrete Fourier transform.

6. The receiver of claim 5, wherein the noise power spectral density is measured at an output of the discrete Fourier transform.

7. A receiver for receiving a multiple carrier signal from a communication channel having an impulse response, the receiver comprising:
an analog-to-digital converter connected to receive the signal from the communication channel; and
a spectrally constrained impulse shortening filter connected to receive the signal from the analog-to-digital converter and configured to (1) measure received noise power spectral density, (2) compute a target spectral response having a magnitude constraint that is based on the measured noise power spectral density and (3) select a frequency response of the spectrally constrained impulse shortening filter based on the target spectral response;
a discrete Fourier transform connected to receive the output of the spectrally constrained impulse shortening filter and a decoder connected to receive outputs of the discrete Fourier transform.

8. The receiver of claim 7, wherein the target spectral response is computed from measured noise power spectral density.

9. The receiver of claim 7, wherein the noise power spectral density is measured at an output of the discrete Fourier transform.

10. The receiver of claim 7, wherein the target spectral response is approximated by the inverse of the measured noise power spectral density.

11. A modem comprising:
an encoder connected to receive digital data and configured to output a constellation of complex values;
an inverse discrete Fourier transform connected to receive the constellation from the encoder;
a digital-to-analog converter connected to the inverse discrete Fourier transform and configured to output a signal to a communication channel;
an analog-to-digital converter configured to receive the signal from the communication channel;
a spectrally constrained impulse shortening filter configured to (1) measure received noise power spectral density, (2) compute a cost function using the noise power, the cost function being dependent on the impulse response, (3) reduce the dimensionality of a space over which the cost function is defined and (4) minimize the cost function;
a discrete Fourier transform connected to receive an output of the spectrally constrained impulse shortening filter; and
a decoder connected to the discrete Fourier transform and configured to output digital data.

12. The modem of claim 11, wherein the noise power spectral density is measured at an output of the discrete Fourier transform.

13. A modem comprising:
an encoder connected to receive digital data and configured to output a constellation of complex values;
an inverse discrete Fourier transform connected to receive the constellation from the encoder;
a digital-to-analog converter connected to the inverse discrete Fourier transform and configured to output a signal to a communication channel;
an analog-to-digital converter configured to receive the signal from the communication channel;
a spectrally constrained impulse shortening filter configured to (1) measure received noise power spectral density, (2) compute a target spectral response having a magnitude constraint that is based on the measured noise power spectral density and (3) select a frequency response of the spectrally constrained impulse shortening filter based on the target spectral response;
a discrete Fourier transform connected to receive an output of the spectrally constrained impulse shortening filter; and
a decoder connected to the discrete Fourier transform and configured to output digital data.

14. The modem of claim 13, wherein the noise power spectral density is measured at an output of the discrete Fourier transform.