# Patent

## Title
Decision feedback equalizers with constrained feedback taps for reduced error propagation

## Abstract

Constrained feedback tap weights of a decision feedback equalizer are determined by iteratively solving a non-linear equation for a constraint multiplier. The non-linear equation is based on a 2-norm of feedback tap weights constrained by an explicit constraint constant.

## Background
RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application 60/475,765 filed in Jun. 4, 2003.


TECHNICAL FIELD OF THE INVENTION
The present invention relates to decision feedback equalizers having constrained taps.
BACKGROUND OF THE INVENTION
The presence of multipath interference in a broadcast channel, such as a broadcast television channel, has been a persistent obstacle to good reception by a receiver. The broadcast television channel is a relatively severe multipath environment due to a variety of conditions that are encountered in the channel and at the receiver. Channels are characterized by channel impulse responses which may be several hundreds of symbols long, so that strong interfering signals may arrive at the receiver both before and after the largest amplitude signal. In addition, the signal transmitted through the channel is subject to time varying channel conditions due to the movement of the transmitter and/or due to signal reflectors, airplane flutter, and, for indoor reception, people walking around the room. If mobile reception is desired, movement of the receiver must also be considered.
Multipath adversely affects the ability of the receiver to correctly receive the symbols transmitted by the transmitter. Therefore, equalizers, such as decision feedback equalizers, are used in receivers in order to cancel the effects of multipath and thereby improve signal reception.
The decision feedback equalizer (DFE) is an attractive type of equalizer for this application because it theoretically performs better than a linear equalizer. The decision feedback equalizer typically includes a feed forward filter that includes a plurality of feed forward taps, a feedback filter that includes a plurality of feedback taps, some type of decision device such as a slicer or trellis decoder, a summer, and a tap weight calculator that sets the tap weights for the feed forward filter and the feedback filter.
The received signal is provided to the feed forward filter. The outputs of the feed forward filter and the feedback filter are summed by the summer. The output of the summer forms the output of the decision feedback equalizer. The decision device decides a correct value for the output of the summer and feeds this decision to the feedback filter. The tap weight calculator estimates the channel impulse response based on the received signal and the decisions from the decision device. The tap weight calculator then determines the optimal (MMSE—minimum mean squared error) tap weights based on this channel impulse response estimate and the estimated signal-to-noise ratio that characterizes the received signal, and adjusts the feed forward taps of the feed forward filter and the feedback taps of the feedback filter according to these tap weights.
The performance of decision feedback equalizers can be affected by a phenomenon known as error propagation. Error propagation occurs when a decision error, fed into the feedback filter, causes an additional decision error to occur. In cases of severe intersymbol interference (ISI), the reduction in performance can be so large that steps must be taken to mitigate error propagation. The probability that a decision error will propagate a new decision error is a function of the size of the tap weights of the feedback filter. Larger tap weights increase the probability that a new error will occur as a result of a previous error.
One of the known ways to reduce error propagation is to calculate the MMSE tap weights for the decision feedback equalizer subject to a constraint on the tap weights of the feedback filter, thereby limiting the tap weights of the taps of the feedback filter to values that reduce error propagation. However, the design of a practical decision feedback equalizer that constrains its tap weights to values that reduce error propagation is not intuitive.
The present invention relates to practical designs for decision feedback equalizers that constrain their tap weights to values that reduce error propagation.
SUMMARY OF THE INVENTION
According to one aspect of the present invention, a method of supplying tap weights gF and gB to feed forward and feedback taps of a decision feedback equalizer comprises the following: generating a non-linear equation with a constraint multiplier as a root of the non-linear equation; solving the non-linear equation for the constraint multiplier using an iterative process; calculating the tap weights gF and gB as a function of the constraint multiplier, wherein the tap weights gB are constrained by a constraint; and, supplying the tap weights gF and gB to the decision feedback equalizer.
According to another aspect of the present invention, a method of supplying feed forward tap weights gF and feedback tap weights gB to respective feed forward and feedback taps of a decision feedback equalizer comprises the following: determining the feed forward tap weights gF and the feedback tap weights gB such that the feedback tap weights gB are constrained according to a constraint function, wherein the constraint function is based on a 2-norm of the feedback tap weights gB and an explicit constraint constant; and, supplying the feed forward tap weights gF and the feedback tap weights gB to the decision feedback equalizer.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features and advantages will become more apparent from a detailed consideration of the invention when taken in conjunction with the drawing in which:
FIG. 1 shows a baseband equivalent discrete-time equalizer system useful in describing the present invention; and,
FIG. 2 illustrates a decision feedback equalizer according to the present invention; and,
FIG. 3 is a flow chart based on the equations and algorithms described below for determining tap weights of the decision feedback equalizer of FIG. 2.



DETAILED DESCRIPTION
A baseband equivalent discrete-time equalizer system 10 is shown in FIG. 1. The sequence I[k] represents the transmitted symbols which are assumed to be independent and equally probable with zero mean and with a variance ξI=E{|I[k]|2}, where E is the expectation operator. For 8-VSB such as used in digital television according to the 1996 ATSC digital television (DTV) standard, the transmitted symbols are taken from the set A={±1, ±3, ±5, ±7}.
In continuous time, the symbols I[k] are transmitted through the multipath channel 12. The multipath channel 12 is denoted c[k] and contains M paths with delays τi and complex gains αi. Including the effect of pulse shaping at the transmitter, the channel impulse response of the channel 12 is given by the following equation:




  
    
      
        
          c
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            ∑
            
              i
              =
              1
            
            M
          
          ⁢
          
            
              α
              i
            
            ⁢
            
              
            
            ⁢
            
              
                q
                ⁡
                
                  (
                  
                    t
                    -
                    
                      τ
                      i
                    
                  
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




The path considered to be the “main” path is always assigned a delay τ of zero. In an ATSC 8-VSB system, the transmitted pulse q(t) has a square-root raised cosine spectrum with a nominal bandwidth of one-half the symbol rate, but is shifted up in frequency by one-fourth the symbol rate. Therefore, the transmitted pulse shape q(t) is complex.

The discrete-time channel c[k] is found by sampling c(t) at the symbol rate. A pulse shaping filter 14 at the receiver is denoted q[k] and is obtained by sampling q(t) at the symbol rate. Because q*(−t)=q(t), the pulse shaping filter 14 is matched to the transmitter filter (where * denotes complex conjugation). It is assumed that q[k] has finite length and is given in vector form by q=[q[−Lq] . . . q[0] . . . q[Lq]]T. The composite channel is a combination of the channel and the pulse shaping and is defined as h[k]=c[k]*q[k] (where * indicates convolution). It is assumed that the composite channel also has a finite length and is given in vector form by h=[h[−Lha] . . . h[Lhc]]T. The length of the composite channel is Lh+1, where Lh=Lha+Lhc, where Lha is the number of taps prior to the main path, and where Lhc is the number of taps after the main path. The noise sequence η[k] is introduced as shown in FIG. 1 and is complex additive white Gaussian noise (AWGN) with a power spectral density of N0.
Theoretically, the pulse shape q(t) is doubly infinite in length in that it extends from −infinity to +infinity. However, the magnitude of the pulse falls as a function of 1/t3 from the y-axis at t=0. Therefore, the pulse can be well approximated by truncating in time. As a result, Lq may be chosen as desired to define the truncation.
The received signal z[k] is given by the following equation:

z[k]=h[k]*I[k]+ν[k],  (2)

where ν[k]=η[k]*q[k] is colored complex noise. For ease of explanation, it is assumed that the equalizer is a real equalizer so that the real part of the signal is taken prior to a feedforward filter 18 of a decision feedback equalizer 20 at 16. A subscript R is used herein to indicate the real part of a given quantity. Therefore, the input signal to the decision feedback equalizer 20 may be written according to the following equation:

zR[k]=Re{z[k]}=hR[k]*I[k]+νR[k],  (3)

where hR[k]=Re{h[k]} and νR[k]=Re{ν[k]}. Because the feed forward filter 18 of the decision feedback equalizer 20 contains (NFF+1) taps, (NFF+1) consecutive samples of zR[k] are assembled into a vector according to the following equation:

zR[k]=HRI[k]+νR[k]  (4)

where zR[k]=[zR[k] . . . zR[k−NFF]]T is the vector at the input of the decision feedback equalizer 20, I[k]=[I[k+Lha] . . . I[k−Lhc−NFF]]T is a vector of transmitted symbols, and VR[k]=[νR[k] . . . νR[k−NFF]]T is the real part of the colored complex noise. It is known that VR[k] is white. The channel matrix HR may be given by the following equation:





  
    
      
        
          H
          R
        
        =
        
          [
          
            
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      -
                      
                        L
                        ha
                      
                    
                    ]
                  
                
              
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      
                        -
                        
                          L
                          ha
                        
                      
                      +
                      1
                    
                    ]
                  
                
              
              
                ⋯
              
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      L
                      hc
                    
                    ]
                  
                
              
              
                0
              
              
                ⋯
              
              
                0
              
            
            
              
                0
              
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      -
                      
                        L
                        ha
                      
                    
                    ]
                  
                
              
              
                ⋯
              
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      
                        L
                        hc
                      
                      -
                      1
                    
                    ]
                  
                
              
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      L
                      hc
                    
                    ]
                  
                
              
              
                ⋯
              
              
                0
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
            
            
              
                0
              
              
                0
              
              
                ⋮
              
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      -
                      
                        L
                        ha
                      
                    
                    ]
                  
                
              
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      
                        -
                        
                          L
                          ha
                        
                      
                      +
                      1
                    
                    ]
                  
                
              
              
                ⋯
              
              
                
                  
                    h
                    R
                  
                  ⁡
                  
                    [
                    
                      L
                      hc
                    
                    ]
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        5
        )
      
    
  




The colored complex noise vector is given by the following equation:

V[k]=Qη[k]  (6)

where η[k]=[η[k+Lq] . . . η[k−Lq−NFF]]T and Q is given by the following equation:





  
    
      
        Q
        =
        
          [
          
            
              
                
                  q
                  ⁡
                  
                    [
                    
                      -
                      
                        L
                        q
                      
                    
                    ]
                  
                
              
              
                
                  q
                  ⁡
                  
                    [
                    
                      
                        -
                        
                          L
                          q
                        
                      
                      +
                      1
                    
                    ]
                  
                
              
              
                ⋯
              
              
                
                  q
                  ⁡
                  
                    [
                    
                      L
                      q
                    
                    ]
                  
                
              
              
                0
              
              
                ⋯
              
              
                0
              
            
            
              
                0
              
              
                
                  q
                  ⁡
                  
                    [
                    
                      -
                      
                        L
                        q
                      
                    
                    ]
                  
                
              
              
                ⋯
              
              
                
                  q
                  ⁡
                  
                    [
                    
                      
                        L
                        q
                      
                      -
                      1
                    
                    ]
                  
                
              
              
                
                  q
                  ⁡
                  
                    [
                    
                      L
                      q
                    
                    ]
                  
                
              
              
                ⋯
              
              
                0
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
            
            
              
                0
              
              
                0
              
              
                ⋮
              
              
                
                  q
                  ⁡
                  
                    [
                    
                      -
                      
                        L
                        q
                      
                    
                    ]
                  
                
              
              
                
                  q
                  ⁡
                  
                    [
                    
                      
                        -
                        
                          L
                          q
                        
                      
                      +
                      1
                    
                    ]
                  
                
              
              
                ⋯
              
              
                
                  q
                  ⁡
                  
                    [
                    
                      L
                      q
                    
                    ]
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        7
        )
      
    
  




The remainder of the decision feedback equalizer 20 includes a decision device 22, a feedback filter 24, and a summer 26. The summer 26 adds the output of the feed forward filter 18 and the output of the feedback filter 24, and the decision device 22 processes the output of the summer 26 by determining correct values for the symbols at the output of the summer 26. The feed forward filter 18 applies feed forward taps to zR[k]. The feedback filter 24 applies feedback taps to the symbol decisions from the decision device 22. The output of the summer 26 is the output of the decision feedback equalizer 20.
The feed forward filter 18 has (NFF+1) taps and the feedback filter 24 has NFB taps. The coefficient vectors for the feed forward filter 18 and the feedback filter 24 are gF=[gF[0] . . . gF[NFF]]T and gB=[gB[1] . . . gB[NFB]]T, respectively. At the output of the decision feedback equalizer 20, the symbol estimate is given by the following equation:

Î[k−K]=gFTzR[k]+gBTĨ[k−K−1],  (8)

where





  
    
      I
      ~
    
    ⁡
    
      [
      k
      ]
    
  
  =
  
    
      [
      
        
          
            
              
                I
                ~
              
              ⁡
              
                [
                k
                ]
              
            
          
          
            ⋯
          
          
            
              
                I
                ~
              
              ⁡
              
                [
                
                  k
                  +
                  1
                  -
                  
                    N
                    FB
                  
                
                ]
              
            
          
        
      
      ]
    
    T
  




are the decisions from NFB previous symbols. It is noted that Ĩ[k]∈A. The integer K is defined to be the cursor, which identifies the symbol being estimated in I[k]. The decision device 22 may be a standard 8-level slicer (quantizer), a trellis decoder, or other decision device.

The following equations may be assumed:




  
    
      
        
          R
          
            
              z
              R
            
            ⁢
            
              z
              R
            
          
        
        =
        
          
            
              H
              R
            
            ⁢
            
              H
              R
              T
            
          
          +
          
            
              
                N
                0
              
              
                ξ
                I
              
            
            ⁢
            
              I
              
                
                  N
                  FF
                
                +
                1
              
            
          
        
      
    
    
      
        (
        10
        )
      
    
  
  
    
      
        
          R
          
            
              z
              R
            
            ⁢
            
              I
              B
            
          
        
        =
        
          
            H
            R
          
          ⁢
          
            Δ
            K
          
        
      
    
    
      
        (
        11
        )
      
    
  
  
    
      
        
          r
          
            I
            ⁢
            
              
            
            ⁢
            
              z
              R
            
          
        
        =
        
          
            H
            R
          
          ⁢
          
            
          
          ⁢
          
            δ
            
              K
              +
              
                L
                ha
              
            
          
        
      
    
    
      
        (
        12
        )
      
    
  




where ξI is the symbol variance, and where





  
    N
    0
  
  
    ξ
    I
  




is the inverse of the signal-to-noise ratio. The vector δn contains all zeros except for a one in component n+1. When NFB≦Lhc+NFF−K, then





  
    
      
        
          Δ
          K
        
        =
        
          
            [
            
              
                
                  
                    0
                    
                      
                        (
                        
                          
                            L
                            ha
                          
                          +
                          K
                          +
                          1
                        
                        )
                      
                      ×
                      
                        N
                        FB
                      
                    
                  
                
              
              
                
                  
                    I
                    
                      N
                      FB
                    
                  
                
              
              
                
                  
                    0
                    
                      
                        (
                        
                          
                            N
                            FF
                          
                          +
                          
                            L
                            hc
                          
                          -
                          K
                          -
                          
                            N
                            FB
                          
                        
                        )
                      
                      ×
                      
                        N
                        FB
                      
                    
                  
                
              
            
            ]
          
          .
        
      
    
    
      
        (
        13
        )
      
    
  




In this system of equations, 0mxn is a zero matrix with m rows and n columns, and In is the nxn identity matrix. It is possible for NFB to be greater than Lhc+NFF−K. In this case, there would be excess feedback taps which, ideally, are set to 0.

The mean square error (MSE) between the equalizer output symbols and the transmitted symbols is given by the following equation:




  
    
      
        
          
            
              
                MSE
                ⁡
                
                  (
                  
                    
                      g
                      F
                    
                    ,
                    
                      g
                      B
                    
                  
                  )
                
              
              =
              
              ⁢
              
                E
                ⁡
                
                  [
                  
                    
                      (
                      
                        
                          I
                          ⁡
                          
                            [
                            
                              k
                              -
                              K
                            
                            ]
                          
                        
                        -
                        
                          
                            I
                            ^
                          
                          ⁡
                          
                            [
                            
                              k
                              -
                              K
                            
                            ]
                          
                        
                      
                      )
                    
                    2
                  
                  ]
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  ξ
                  I
                
                (
                
                  1
                  -
                  
                    2
                    ⁢
                    
                      g
                      F
                      T
                    
                    ⁢
                    
                      r
                      
                        I
                        ⁢
                        
                          
                        
                        ⁢
                        
                          z
                          R
                        
                      
                    
                  
                  +
                  
                    2
                    ⁢
                    
                      
                    
                    ⁢
                    
                      g
                      F
                      T
                    
                    ⁢
                    
                      R
                      
                        
                          Z
                          R
                        
                        ⁢
                        
                          I
                          B
                        
                      
                    
                    ⁢
                    
                      g
                      B
                    
                  
                  +
                
              
            
          
        
        
          
            
              
              ⁢
              
                
                  
                    g
                    F
                    T
                  
                  ⁢
                  
                    R
                    
                      
                        Z
                        R
                      
                      ⁢
                      
                        Z
                        R
                      
                    
                  
                  ⁢
                  
                    g
                    F
                  
                
                +
                
                  
                    g
                    B
                    T
                  
                  ⁢
                  
                    g
                    B
                  
                
              
              )
            
          
        
      
    
    
      
        (
        14
        )
      
    
  




where E is the expectation operator. The minimum mean square error decision feedback equalizer tap weights (gF,gB) are calculated by differentiating equation (14) with respect to gF and gB, setting the respective derivatives equal to zero, and then simultaneously solving the two equations for gF and gB. This method is well known.

In considering error propagation, the error at the output of the decision feedback equalizer 20 is given by e[k]=Î[k]−I[k]. Substituting equations (4) and (8) into e[k] yields the following equation:

e[k]=gFTHRI[k+K]+gFTνR[k+K]+gBTĨ[k−1]−I[k]  (15)

The channel matrix HR can be partitioned in accordance with the following equation:

HR=[HRF hR(rt) HRP1 HRP2]  (16)

where HRF has K+Lha columns, hR(rt) is a single column (and is a time-reversed and possibly truncated and/or zero padded channel vector), HRP1 has NFB columns, and HRP2 has Lhc+NFF−K−NFB columns. Also, I[k+K] can be similarly partitioned according to the following equation:

I[k+K]=[IF[k]T I[k] IP1[k]T IP2[k]T]T  (17)

where similarly IFT has K+Lha columns, I[k] is a scalar, IP1T has NFB columns, and IP2T has Lhc+NFF−K−NFB columns. According to equations (15)-(17), the equalizer error may be given by the following equation:

e[k]=gFTHRFIF[k]+(gFThR(rt)−1)I[K]+gFTHRP1IP1[k]+gFTHRP2IP2[k]+gFTvR[k+K]+gBTĨ[k−1].  (18)

Because RzRIB=HRP1 and rIzR=hR(rt), the following equation is obtained:

gB=−HRP1TgF  (19)

(the feedback filter taps gB results from a convolution of the channel and the feed forward filter taps gF) and the equalizer error is now given by the following equation:

e[k]=gBT(Ĩ[k−1]−IP1[k])+(gFThR(rt)−1)I[k]+gFTHRFIF[k]+gFTHRP2IP2[k]+gFTνR[k+K]  (20)

The first term of equation (20) is due to decision errors, the second term of equation (20) is due to equalizer bias, the third and fourth terms of equation (20) are residual intersymbol interference (ISI), and the last term of equation (20) originates from the noise.

Equation (20) demonstrates how error propagation occurs in the unconstrained equalizer. If a single nearest-neighbor decision error (magnitude 2) exists in Ĩ[k−1], and when that error reaches the position of the maximum magnitude feedback tap gBmax, the contribution to the error e[k] is 2gBmax. If gBmax>1⁄2, and if I[k] is not ±7, the decision error contribution to the symbol estimate pushes the symbol estimate across the decision threshold, and an additional error is likely. When I[k] is ±7, the decision error must have the right polarity to push the symbol estimate across the decision boundary. When each additional error reaches the same feedback tap, a new error is again likely, and a potentially long sequence of errors may occur.
The following analysis examines conditions under which no error propagation occurs. The following simplifying assumptions can be made: the equalizer is unbiased (gFThR(rt)=1); there is negligible residual ISI so that gFTHRFIF[k] and gFTHRP2IP2[k] are negligible); and, there is negligible noise contribution so that gFTνR[k+K] is negligible.
In other words, the focus of the analysis is placed only on the decision errors in equation (20). With the above assumptions, equation (20) can be re-written as the following equation:




  
    
      
        
          
            
              
                e
                ⁡
                
                  [
                  k
                  ]
                
              
              =
              
                
                  g
                  B
                  T
                
                ⁡
                
                  (
                  
                    
                      
                        I
                        ~
                      
                      ⁡
                      
                        [
                        
                          k
                          -
                          1
                        
                        ]
                      
                    
                    -
                    
                      
                        I
                        P1
                      
                      ⁡
                      
                        [
                        k
                        ]
                      
                    
                  
                  )
                
              
            
          
        
        
          
            
              =
              
                
                  ∑
                  
                    m
                    =
                    1
                  
                  
                    N
                    FB
                  
                
                ⁢
                
                  
                    
                      g
                      B
                    
                    ⁡
                    
                      [
                      m
                      ]
                    
                  
                  ⁢
                  
                    (
                    
                      
                        
                          I
                          ~
                        
                        ⁡
                        
                          [
                          
                            k
                            -
                            m
                          
                          ]
                        
                      
                      -
                      
                        I
                        ⁡
                        
                          [
                          
                            k
                            -
                            m
                          
                          ]
                        
                      
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        21
        )
      
    
  




When using a standard slicer as the decision device 22, the probability of error is zero when |e[k]|<1. This condition can be assured if the following inequality is true:





  
    
      
        
          
            ∑
            
              m
              =
              1
            
            
              N
              FB
            
          
          ⁢
          
            
              
              
                
                  g
                  B
                
                ⁡
                
                  [
                  m
                  ]
                
              
              
            
            ⁢
            
              
              
                
                  
                    I
                    ~
                  
                  ⁡
                  
                    [
                    
                      k
                      -
                      m
                    
                    ]
                  
                
                -
                
                  I
                  ⁡
                  
                    [
                    
                      k
                      -
                      m
                    
                    ]
                  
                
              
              
            
          
        
        <
        1
      
    
    
      
        (
        22
        )
      
    
  




If it is also assumed that the probability of making a decision error which is not a nearest neighbor of the correct symbol is negligible, then all decision errors have magnitude 2. That is, |Ĩ[k]−I[k]|≦2 for all k. Therefore, if




  
    
      
        
          
            
            
              g
              B
            
            
          
          1
        
        =
        
          
            
              ∑
              
                m
                =
                1
              
              
                N
                FB
              
            
            ⁢
            
              
            
            ⁢
            
              
              
                
                  g
                  B
                
                ⁡
                
                  [
                  m
                  ]
                
              
              
            
          
          <
          
            1
            2
          
        
      
    
    
      
        (
        23
        )
      
    
  




then the probability of a decision error propagating a new error (under these assumptions) is zero. ∥gB∥1 is the 1-norm.

The analysis above indicates how error propagation may be eliminated if the feedback tap vector gB satisfies a constraint on its 1-norm. It is also possible to place a constraint on other norms of gB such as ∥gB∥22≦M22 where ∥gB∥22 is the squared 2-norm of the feedback tap vector gB. The discussion below describes how to calculate new equalizer coefficients by directly constraining the squared 2-norm of the feedback tap vector. The equalizer coefficients are calculated by solving the following minimization problem:

minimize MSE(gF, gB)  (24a)

subject to ∥gB∥22≦M22  (24b)

where M2 is the 2-norm constraint and ∥gb∥22 is the squared 2-norm of the feedback tap weights gB. The minimization is performed over both gF and gB.

When calculating tap weights that minimize the mean squared error MSE subject to an inequality constraint as given in (24b), the Lagrangian function given by the following equation can be used:




  
    
      
        
          
            
              
                
                  L
                  ⁡
                  
                    (
                    
                      
                        g
                        F
                      
                      ,
                      
                        g
                        B
                      
                      ,
                      λ
                    
                    )
                  
                
                =
                
                ⁢
                
                  
                    MSE
                    ⁢
                    
                      (
                      
                        
                          g
                          F
                        
                        ,
                        
                          g
                          B
                        
                      
                      )
                    
                  
                  +
                  
                    λ
                    ⁡
                    
                      (
                      
                        
                          
                            
                            
                              g
                              B
                            
                            
                          
                          2
                          2
                        
                        -
                        
                          M
                          2
                          2
                        
                      
                      )
                    
                  
                
              
              ,
              
                λ
                ≥
                0
              
            
          
        
        
          
            
              
                =
                
                ⁢
                
                  
                    MSE
                    ⁢
                    
                      (
                      
                        
                          g
                          F
                        
                        ,
                        
                          g
                          B
                        
                      
                      )
                    
                  
                  +
                  
                    λ
                    ⁡
                    
                      (
                      
                        
                          
                            ∑
                            
                              m
                              =
                              1
                            
                            
                              N
                              FB
                            
                          
                          ⁢
                          
                            
                          
                          ⁢
                          
                            
                              
                              
                                
                                  g
                                  B
                                
                                ⁡
                                
                                  [
                                  m
                                  ]
                                
                              
                              
                            
                            2
                          
                        
                        -
                        
                          M
                          2
                          2
                        
                      
                      )
                    
                  
                
              
              ,
              
                λ
                ≥
                0
              
            
          
        
      
    
    
      
        (
        25
        )
      
    
  




where L(gF,gB, λ) comprises a Lagrangian function having gF,gB, and λ as variables. Then, this expression is differentiated with respect to gF, gB, and λ, the three derivatives are each set equal to zero, and the three equations can be solved simultaneously for gF, gB, and λ.

The second term on the right hand side of equation (25) is the constraint function.
The multiplier λ may be calculated using the algorithms described below. During calculation of the multiplier λ, gF and gB are also calculated and may be supplied to the feed forward filter and the feedback filter of the decision feedback equalizer.
With the assumption of correct decisions by the decision device 22, the Karush-Kuhn-Tucker (KKT) theorem yields the following equations:




  
    
      
        
          λ
          ⁡
          
            (
            
              
                
                  g
                  B
                  T
                
                ⁢
                
                  g
                  B
                
              
              -
              
                M
                2
                2
              
            
            )
          
        
        =
        0
      
    
    
      
        (
        26
        )
      
    
  
  
    
      
        
          g
          B
        
        =
        
          
            -
            
              
                ξ
                I
              
              
                
                  ξ
                  I
                
                +
                λ
              
            
          
          ⁢
          
            R
            
              
                z
                R
              
              ⁢
              
                I
                B
              
            
            T
          
          ⁢
          
            g
            F
          
        
      
    
    
      
        (
        27
        )
      
    
  
  
    
      
        
          
            (
            
              
                R
                
                  
                    z
                    R
                  
                  ⁢
                  
                    z
                    R
                  
                
              
              -
              
                
                  
                    ξ
                    I
                  
                  
                    
                      ξ
                      I
                    
                    +
                    λ
                  
                
                ⁢
                
                  R
                  
                    
                      z
                      R
                    
                    ⁢
                    
                      I
                      B
                    
                  
                
                ⁢
                
                  R
                  
                    
                      z
                      R
                    
                    ⁢
                    
                      I
                      B
                    
                  
                  T
                
              
            
            )
          
          ⁢
          
            g
            F
          
        
        =
        
          r
          
            Iz
            R
          
        
      
    
    
      
        (
        28
        )
      
    
  




where λ≧0 and is the KKT multiplier.

If λ were known, equations (26)-(28) would form a set of simultaneous linear equations in the unknown vectors gF and gB. These simultaneous linear equations can then be solved for gF and gB. However, because λ is not known, equations (26)-(28) are non-linear in the unknown vectors gF, gB, and λ, and an iterative solution may be used to solve for λ. It is noted that, if λ=0, the equalizer is unconstrained.
Iterative algorithms for calculating the constrained equalizer are based on a recursive equation for calculating the Karush-Kuhn-Tucker multiplier. The derivation of this equation begins with the choice of a valid initial value for the multiplier denoted by λ0. Given λ0, equations (27) and (28) become linear and are easily solved for gF0 and gB0. If equation (26) is adequately satisfied, then the iteration terminates. If equation (26) is not adequately satisfied, then λ is assumed to be positive and equations (26) and (27) are used with gF0 and gB0 to calculate a new value for the multiplier λ.
Therefore, the new value for λ is given by the following equation:




  
    
      
        
          λ
          1
        
        =
        
          
            
              
                ξ
                I
              
              
                M
                2
              
            
            ⁢
            
              
                
                
                  
                    R
                    
                      
                        z
                        R
                      
                      ⁢
                      
                        I
                        B
                      
                    
                    T
                  
                  ⁢
                  
                    g
                    F0
                  
                
                
              
              2
            
          
          -
          
            
              ξ
              I
            
            .
          
        
      
    
    
      
        (
        29
        )
      
    
  




If the calculated value of λ1 is negative, the multiplier λ1 is set to zero. The value of λ1 is then used to calculate gF1 and gB1 using equations (27) and (28). In general, the multiplier λk+1 can be calculated according to the following equation:





  
    
      
        
          λ
          
            k
            +
            1
          
        
        =
        
          
            f
            ⁡
            
              (
              
                λ
                k
              
              )
            
          
          ⁢
          
            =
            △
          
          ⁢
          
            
              
                
                  ξ
                  I
                
                
                  M
                  2
                
              
              ⁢
              
                
                  
                  
                    
                      R
                      
                        
                          z
                          R
                        
                        ⁢
                        
                          I
                          B
                        
                      
                      T
                    
                    ⁢
                    
                      g
                      Fk
                    
                  
                  
                
                2
              
            
            -
            
              
                ξ
                I
              
              .
            
          
        
      
    
    
      
        (
        30
        )
      
    
  




where the dependence upon λk arises only from gFk.

Equation (30) defines a fixed point iteration for λ. It is well known that a fixed point iteration converges only when the magnitude of the first derivative of f(λ) is less than 1. This condition cannot be guaranteed, so an alternative approach is required.
One alternative approach to the iterative solution of equations (26), (27), and (28) is to simply search for a fixed point of f (λ). This search is equivalent to finding the root λ of the following non-linear equation:

F(λ)=f(λ)−λ=0  (31)

where F(λ) is a function having λ as a variable and is based on a difference between f(λ) and λ. A number of algorithms, such as the secant algorithm and various forms of regula falsi, may be used to find a root of a nonlinear equation. Algorithms for the specific application of calculating constrained equalizer coefficients are discussed below.

A general outline of the algorithm used to calculate the constrained equalizer coefficients is given as Algorithm 1.
Algorithm 1


    
    
        Given λ0=0
        k=0
        Find gF0, gB0 
        Calculate f(λ0) and F(λ0)
        Evaluate termination criterion
        while k<kmax and termination criterion is not met do
        
            Calculate λk+1 
            k=k+1
            Find gFk, gBk 
            Calculate f(λk), F(λk)
            Evaluate termination criterion
        
        
        end while

where f(λk) is a function having λk as a variable. λ0 in the first line of Algorithm 1 may have values other than 0 as long as λ0 is not a negative value. The tap weights gF0, gB0, gFk, and gBk can be calculated from equations (27) and (28), and λk+1 can be calculated as discussed below. Equation (30) is used to calculate f(λ0) and f(λk), and equation (31) is used to calculate F(λ0) and F(λk).

    
    


Because the goal of the calculation of the tap weights gFk and gBk is for the 2-norm of the feedback taps to satisfy a constraint, a suitable termination criterion to use in the evaluate termination criterion lines in Algorithm 1 is when ∥gB∥2 sufficiently satisfies the constraint. When λ=0, then ∥gB∥2≦(1+δ)M2, where δ is an allowed tolerance. When λ>0, algorithm 1 terminates when (1−δ)M2≦∥gB∥2≦(1+δ)M2. Using equations (27) and (30), the termination criterion becomes F(λ)/ξI≦δ when λ=0 and |F(λ)|/(ξI+λ)≦δ when λ>0, as shown in Algorithm 2.
Algorithm 2















if λk = 0, then



 













  
    if
    ⁢
    
      
    
    ⁢
    
      
        F
        (
        
          λ
          k
        
        )
      
      
        ξ
        I
      
    
  
  ≤
  
    δ
    ⁢
    
      
    
    ⁢
    then
  







 









Termination criterion is met.









end if









else if λk > 0 then



 













  
    if
    ⁢
    
      
    
    ⁢
    
      
        
        
          F
          ⁡
          
            (
            
              λ
              k
            
            )
          
        
        
      
      
        
          ξ
          I
        
        +
        
          λ
          k
        
      
    
  
  ≤
  
    δ
    ⁢
    
      
    
    ⁢
    then
  







 









Termination criterion is met.









end if









end if










The key step in Algorithm 1 is the calculation of λk+1 in the seventh line. The following three alternative methods of performing the calculation λk+1 are presented below: (i) a modified regula falsi algorithm known as the “Pegasus” algorithm (algorithm 3 below) which converges at a rate slightly faster than the secant algorithm; (ii) the secant algorithm, modified to ensure convergence (algorithms 4 and 5 below); and, (iii) a nonlinear fit to the function f(λ) using a function which has the same general shape as f(λ) (algorithm 6 below)

However, other algorithms can be used to calculate λk+1. For example, a standard regula falsi algorithm can be used, although the standard regula falsi algorithm will not converge as quickly as the Pegasus algorithm. Another algorithm that can be used is described in “A modified regula falsi method for computing the root of an Equation,” Dowell, M. and Jarratt, P, BIT, vol. 11, no. 2, pp. 168-174, 1971 and is likely to converge nearly as quickly as Pegasus.
First, the Pegasus iteration is shown in Algorithm 3.
Algorithm 3















if k = 0 then









λ1 = max(0, f(λ0))









else if k = 1 then









λold = λ0



λnew = λ1



Fold = F(λ0)



Fnew = F(λ1)



 







  
    λ
    2
  
  =
  
    
      λ
      new
    
    -
    
      
        F
        new
      
      ⁢
      
        
          (
          
            
              λ
              new
            
            -
            
              λ
              old
            
          
          )
        
        
          (
          
            
              F
              new
            
            -
            
              F
              old
            
          
          )
        
      
    
  







 









else









if F(λk)Fnew < 0 then









λold = λnew



λnew = λk



Fold = Fnew



Fnew = F(λk)









else









λnew = λk



 







  
    F
    old
  
  =
  
    
      
        F
        old
      
      ⁢
      
        F
        new
      
    
    
      
        F
        new
      
      +
      
        F
        (
        
          λ
          k
        
        )
      
    
  







 



Fnew = F(λk)









end if



 







  
    λ
    
      k
      +
      1
    
  
  =
  
    
      λ
      new
    
    -
    
      
        F
        new
      
      ⁢
      
        
          (
          
            
              λ
              new
            
            -
            
              λ
              old
            
          
          )
        
        
          (
          
            
              F
              new
            
            -
            
              F
              old
            
          
          )
        
      
    
  







 









end if










Like the standard regula falsi algorithm, the Pegasus algorithm begins with an interval known to contain a root of the equation for λk+1. This interval is established in the second line of Algorithm 3 by λ0 and λ1. Because f′(λ) is always negative, F′(λ)<−1. Therefore, F(λ) is guaranteed to have a root in the interval (λ, λ+F(λ)) or, equivalently, (λ, f(λ)). The new value of λ is the maximum of zero and f(λ) to ensure that λ≧0 and that the unconstrained equalizer is checked when necessary. Once the interval has been established, algorithm 3 replaces (λold, Fold) with (λnew, Fnew) if F(λk) and Fnew have opposite signs. If F(λk) and Fnew have the same sign, λold is retained, but Fold is scaled down in the seventeenth line of algorithm 3. This scaling significantly improves the convergence rate over the standard regula falsi algorithm. In both cases, (λnew, Fnew) is replaced by (λk, F(λk)) and then λk+1 is calculated where the secant from (λold, Fold) to (λnew, Fnew) intersects the λ-axis (the twentieth line of Algorithm 3).
The second algorithm for calculating λk+1 of Algorithm 1 is a modified secant iteration and is shown in Algorithm 4.
Algorithm 4












if k = 0 then









λ1 = max(0, λ0 + F(λ0)/Z)



if F(λ0) > 0 then









B1 = λ0



Bu = f(λ0)



Lower bound B1 has been checked



Upper bound Bu has not been checked









else









B1 = max(0, f(λ0))



Lower bound B1 has not been checked



Upper bound Bu has been checked









end if







else


 













  
    λ
    
      k
      +
      1
    
  
  =
  
    
      λ
      k
    
    -
    
      
        F
        ⁡
        
          (
          
            λ
            k
          
          )
        
      
      ⁢
      
        
          (
          
            
              λ
              k
            
            -
            
              λ
              
                k
                -
                1
              
            
          
          )
        
        
          (
          
            
              F
              (
              
                λ
                k
              
              )
            
            -
            
              F
              ⁡
              
                (
                
                  λ
                  
                    k
                    -
                    1
                  
                
                )
              
            
          
          )
        
      
    
  







 



if λk+1 > Bu then









if upper bound Bu has not been checked then









λk+1 = Bu



Upper bound Bu has been checked









else









λk+1 = (max (λk , λk−1 ) + Bu )/2









end if









else if λk+1 ≦ B1 then









if lower bound B1 has not been checked then









λk+1 = B1



Lower bound B1 has been checked









else









λk+1 = (min (λk , λk−1 ) + B1)/2









end if









end if







end if









Although the standard secant algorithm does not necessarily bracket the desired root, secant algorithm 4 does bracket the desired root. If the sign of the second derivative of the function F is not constant, the standard secant algorithm is not guaranteed to converge. Because the locations of the inflection points of f(λ) (and, therefore, F(λ)) are not known, the standard secant algorithm may not converge. Therefore, because knowledge of F(λ) directly provides an interval for the root, the algorithm is modified to stay within the interval. In the second line of algorithm 4, λ1 is taken as λ0+F(λ0)/Z (or zero if this value is negative), which lies between λ0 and λ0+F(λ0), where Z≧1. Normally, Z is chosen to be 2. The interval containing the root is tracked by Bl and Bu, and λk+1 is set to one of the endpoints only when the secant formula in the fifteenth line of algorithm 4 places it outside the interval. If the endpoint has already been checked, λk+1 is placed halfway between the endpoint and the closest previous point as indicated by the twenty-first and twenty-eighth lines of algorithm 4.
In addition to the basic iteration, secant algorithm 4 must update the interval after calculating F(λk) in the tenth line of algorithm 1. This update is shown as Algorithm 5. If Algorithm 4 is used to calculate λk+1, then an additional line should be added to algorithm 1 between the tenth and eleventh lines that calls algorithm 5.
Algorithm 5















if B1 < λk < Bu then









if F(λk) > 0 then









B1 = λk



Lower bound B1 has been checked



if f(λk) < Bu then









Bu = f(λk)



Upper bound Bu has not been checked









end if









else if F(λk) < 0 then









Bu = λk



Upper bound Bu has been checked



if f(λk) > B1 then









B1 = f(λk)



Lower bound B1 has not been checked









end if









end if









end if










If λk is (strictly) inside the interval, the bound corresponding to the sign of F(λk) is updated. In addition, f(λk) may indicate that the other bound should also be updated, as indicated by the fifth and twelfth lines of algorithm 5.

Finally, consider fitting f(λ) to a function and determining the next value of λ from this fit. When the dependence on λ is closely examined in the following equation:




  
    
      
        
          
            f
            ′
          
          ⁡
          
            (
            λ
            )
          
        
        =
        
          
            -
            
              
                ξ
                I
              
              
                
                  
                    M
                    2
                  
                  ⁡
                  
                    (
                    
                      
                        ξ
                        I
                      
                      +
                      λ
                    
                    )
                  
                
                ⁢
                
                  
                    
                    
                      g
                      B
                    
                    
                  
                  2
                
              
            
          
          ⁢
          
            g
            B
            T
          
          ⁢
          
            
              
                R
                
                  
                    z
                    R
                  
                  ⁢
                  
                    I
                    B
                  
                
                T
              
              (
              
                
                  R
                  
                    
                      z
                      R
                    
                    ⁢
                    
                      z
                      R
                    
                  
                
                -
                
                ⁢
                
                  
                    
                      ξ
                      I
                    
                    
                      
                        ξ
                        I
                      
                      +
                      λ
                    
                  
                  ⁢
                  
                    R
                    
                      
                        z
                        R
                      
                      ⁢
                      
                        I
                        B
                      
                    
                  
                  ⁢
                  
                    R
                    
                      
                        z
                        R
                      
                      ⁢
                      
                        I
                        B
                      
                    
                    T
                  
                
              
              )
            
            
              -
              1
            
          
          ⁢
          
            R
            
              
                z
                R
              
              ⁢
              
                I
                B
              
            
          
          ⁢
          
            g
            B
          
        
      
    
    
      
        (
        32
        )
      
    
  




where gB is a function of λ,





  
    
      R
      
        
          z
          R
        
        ⁢
        
          z
          R
        
      
    
    =
    
      
        
          H
          R
        
        ⁢
        
          H
          R
          T
        
      
      +
      
        
          
            N
            0
          
          
            ξ
            I
          
        
        ⁢
        
          I
          
            
              N
              FF
            
            +
            1
          
        
      
    
  
  ,




and RzRIB=HRΔK, f′(λ) is found to be roughly proportional to 1/(ξI+λ)2. Therefore, it should be possible to fit f(λ) to a function given by the following equation:





  
    
      
        
          
            f
            ^
          
          ⁡
          
            (
            λ
            )
          
        
        =
        
          
            A
            
              λ
              +
              B
            
          
          +
          C
        
      
    
    
      
        (
        33
        )
      
    
  




or, equivalently, to fit F(λ) to a function given by the following equation:





  
    
      
        
          
            F
            ^
          
          ⁡
          
            (
            λ
            )
          
        
        =
        
          
            A
            
              λ
              +
              B
            
          
          +
          C
          -
          λ
        
      
    
    
      
        (
        34
        )
      
    
  




The points (λa, f (λa)), (λb, f (λb)), (λc, f(λc)) are used to find the values of the three fitting parameters A, B, and C. Then λk+1 is found by solving {circumflex over (F)}(λk+1)=0. Solving the resulting equations, the fitting parameters are found to be given by the following equations:

D=λa(Λc−Λb)+λb(Λa−Λc)+λc(Λb−Λa)

C=[λaΛa(Λc−Λb)+λbΛb(Λa−Λc)+λcΛc(Λb−Λa)]/D

B=[λaΛa(λc−λb)+λbΛb(λa−λc)+λcΛc(λb−λa)]/D

A=(λc+B)(Λc−C)

where Λx=f(λx) for x=a, b, c. The above equations can be numbered (35), (36), (37), and (38) in order. The new value of λ is then found by setting {circumflex over (F)}(λk+1)=0 which yields the following equation:





  
    
      
        
          λ
          
            k
            +
            1
          
        
        =
        
          
            
              (
              
                C
                -
                B
              
              )
            
            +
            
              
                
                  
                    (
                    
                      B
                      +
                      C
                    
                    )
                  
                  2
                
                +
                
                  4
                  ⁢
                  A
                
              
            
          
          2
        
      
    
    
      
        (
        38
        )
      
    
  




The steps involved in this nonlinear fit iteration are shown as algorithm 6.
Algorithm 6












if k = 0 then









λ1 = max(0, λ0 + F(λ0)/Z







else if k = 1 then


 













  
    λ
    2
  
  =
  
    
      λ
      1
    
    -
    
      
        F
        ⁡
        
          (
          
            λ
            1
          
          )
        
      
      ⁢
      
        
          (
          
            
              λ
              1
            
            -
            
              λ
              0
            
          
          )
        
        
          (
          
            
              F
              (
              
                λ
                1
              
              )
            
            -
            
              F
              ⁡
              
                (
                
                  λ
                  0
                
                )
              
            
          
          )
        
      
    
  







 



λ2 = max(0, λ2)







else









if k = 2 then



 









 



 



Fλ= [F(λ0), F(λ1), F(λ2) ]









else









State = sign(Fλ)



if State = [+1, −1, −1] or State = [−1, +1, +1]



 









 



 



Fλ= [Fλ(1), Fλ(3), F(λk)]









else









 



 



Fλ= [Fλ(2), Fλ(3), F(λk)]









end if









end if



λa = λ(1)



λb = λ(2)



λc = λ(3)



Λa = f(λa)



Λb = f(λb)



Λc = f(λc)



Calculated the fit constants D, C, B, and A



 







  
    λ
    
      k
      +
      1
    
  
  =
  
    
      
        (
        
          C
          -
          B
        
        )
      
      +
      
        
          
            
              (
              
                B
                +
                C
              
              )
            
            2
          
          +
          
            4
            ⁢
            A
          
        
      
    
    2
  







 



λk+1 = max(0, λk+1)







end if









λ(j) is the j′th component of the vector λ, and Fλ(j) is the j′th component of the vector Fλ. In the second line of algorithm 6, λ1 is found as in the secant iteration, again with Z≦1. The next value of λ is found in the fourth and fifth lines of algorithm 6 using the standard secant algorithm (also ensuring that λ2≦0). Subsequent values of λ are found via the fit function. The eleventh through eighteenth lines of algorithm 6 ensure that, when possible, the root remains within the interval given implicitly in the vector λ. Equations (35), (36), (37), and (38) are used to calculate D, C, B, and A in the twenty-sixth line.

When the termination criterion of Algorithm 2 is met, the final calculated values for gF and gB in the ninth line of Algorithm 1 are then supplied to the feed forward filter and the feedback filter, respectively, of the decision feedback equalizer.
A decision feedback equalizer 40 that implements the present invention is shown in FIG. 2. The decision feedback equalizer 40 includes a feed forward filter 42 that includes a plurality of feed forward taps gF, a feedback filter 44 that includes a plurality of feedback taps gB, a decision device 46 such as a slicer or trellis decoder, a summer 48, and a tap weight calculator 50 that sets the tap weights gF and gB for the feed forward filter 42 and the feedback filter 44.
The feed forward filter applies the feed forward taps gF to the received signal. The outputs of the feed forward filter 42 and the feedback filter 44 are summed by the summer 48. The output of the summer 48 forms the output of the decision feedback equalizer 40. The decision device 46 makes symbol decisions for the output of the summer 48 and feeds these symbol decisions to the feedback filter 44 which applies the feedback taps gB to these symbol decisions.
The tap weight calculator 50 includes a channel estimator 52 that estimates the channel impulse response h of the channel through which a signal is received. Methods for making this estimation are well known. A tap weight determiner 54 determines the feed forward tap weights gF and the feedback tap weights gB from the channel estimate and the channel noise based on the equations and algorithms discussed above.
Thus, based on the equations and algorithms discussed above, the tap weight determiner 54 operates in accordance with the flow chart of FIG. 3. Accordingly, the tap weight determiner 54 implements a method 100 of supplying the tap weights gF to the taps of the forward filter 42 and the tap weights gB to the taps of the feedback filter 44 of the decision feedback equalizer 40. In this method, a non-linear equation with a constraint multiplier λ as a root of the non-linear equation is generated at 102. The non-linear equation is solved at 104 for the constraint multiplier using an iterative process. The tap weights gF and gB are calculated at 106 as a function of the constraint multiplier λ such that the tap weights gB are constrained by a constraint M. The tap weights gF and gB are supplied at 108 to the decision feedback equalizer.
As indicated above, the method 100 uses the equations and algorithms discussed above. For example, the method 100 determines the feed forward tap weights gF and the feedback tap weights gB such that the feedback tap weights gB are constrained according to a constraint function. As indicated by the equations above, the constraint function is based on a 2-norm of the feedback tap weights gB and an explicit constraint constant.
Methods for determining channel noise variance are well known. The tap weight determiner 54 supplies the feed forward tap weights gF to the feed forward filter 42 and the feedback tap weights gB to the feedback filter 44 for application to the received signal and the symbol decisions, respectively. As shown in FIG. 2, the constraint value M2 is provided to the tap weight determiner 54.
Certain modifications of the present invention have been discussed above. Other modifications will occur to those practicing in the art of the present invention. For example, the present invention is applicable to other types of systems and to other modulation techniques such as 8 VSB and quadrature amplitude modulation (QAM).
Accordingly, the description of the present invention is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. The details may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications which are within the scope of the appended claims is reserved.

## Claims

1. A method of supplying tap weights gF and gB to feed forward and feedback taps of a decision feedback equalizer comprising:
generating a non-linear equation with a constraint multiplier as a root of the non-linear equation;
solving the non-linear equation for the constraint multiplier using an iterative process;
calculating the tap weights gF and gB as a function of the constraint multiplier, wherein the tap weights gB are constrained by a constraint; and,
supplying the tap weights gF and gB to the decision feedback equalizer.

2. The method of claim 1 wherein the tap weights gB and the constraint are related by a 2-norm constraint function.

3. The method of claim 2 wherein the 2-norm constraint function comprises a differentiable 2-norm constraint function.

4. The method of claim 3 wherein the 2-norm constraint function comprises ∥gB∥22≦M22, wherein M2 comprises a 2-norm constraint, and wherein ∥gB∥22 comprises the squared 2-norm of the tap weights gB.

5. The method of claim 4 wherein the calculating of the tap weights gF and gB comprises differentiating the following equation with respect to gF, gB, and λ, setting the three derivatives to zero, and simultaneously solving the three equations for gF, gB, and λ:


L(gF, gB, λ)=MSE(gF, gB)+λ(∥gB∥22−M22), λ≧0


wherein λ comprises the constraint multiplier, wherein M2 comprises the constraint, and wherein MSE(gF, gB) comprises the mean square error (MSE) between the output symbols at an output of the equalizer and transmitted symbols, and wherein L(gF,gB,λ) comprises a Lagrangian function having gF, gB, and λ as variables.

6. The method of claim 1 wherein the constraint multiplier comprises λ, wherein




  
    
      f
      ⁡
      
        (
        
          λ
          k
        
        )
      
    
    ⁢
    
      =
      Δ
    
    ⁢
    
      
        
          
            ξ
            I
          
          
            M
            2
          
        
        ⁢
        
          
            
            
              
                R
                
                  
                    z
                    R
                  
                  ⁢
                  
                    I
                    B
                  
                
                T
              
              ⁢
              
                g
                Fk
              
            
            
          
          2
        
      
      -
      
        ξ
        I
      
    
  
  ,




wherein M2 comprises the constraint and is a constant, wherein RZRIB comprises a cross correlation between transmitted symbols and received data of the decision feedback equalizer, wherein ξI comprises a symbol variance, wherein k comprises an iteration index, and wherein gFk is dependent upon λk such that f(λk) is a function having λk as a variable.

7. The method of claim 6 wherein the non-linear equation comprises F(λ)=f(λ)−λ=0, and wherein F(λ) is a function having λ as a variable and is based on a difference between f(λ) and λ.

8. The method of claim 7 wherein the solving of the non-linear equation for the constraint multiplier comprises terminating the iterative process of solving the non-linear equation for the constraint multiplier when the constraint multiplier is within a predetermined tolerance.

9. The method of claim 7 wherein the solving of the non-linear equation for the constraint multiplier comprises:
terminating the iterative process of solving the non-linear equation for the constraint multiplier if λk=0 and





  
    
      
        F
        ⁡
        
          (
          
            λ
            k
          
          )
        
      
      
        ξ
        I
      
    
    ≤
    δ
  
  ;




and,
terminating the iterative process of solving the non-linear equation for the constraint multiplier if λk>0 and





  
    
      
        
        
          F
          ⁡
          
            (
            
              λ
              k
            
            )
          
        
        
      
      
        
          ξ
          I
        
        +
        
          λ
          k
        
      
    
    ≤
    δ
  
  ,




wherein δ comprises an allowable tolerance.

10. The method of claim 7 wherein the 2-norm constraint function comprises ∥gB∥22≦M22.

11. The method of claim 10 wherein the calculating of the tap weights gF and gB comprises differentiating the following equation with respect to gF, gB, and λ, setting the three derivatives to zero, and simultaneously solving the three equations for gF, gB, and λ:




  
    
      L
      ⁡
      
        (
        
          
            g
            F
          
          ,
          
            g
            B
          
          ,
          λ
        
        )
      
    
    =
    
      
        MSE
        ⁡
        
          (
          
            
              g
              F
            
            ,
            
              g
              B
            
          
          )
        
      
      +
      
        λ
        ⁡
        
          (
          
            
              
                
                
                  g
                  B
                
                
              
              2
              2
            
            -
            
              M
              2
              2
            
          
          )
        
      
    
  
  ,
  
    λ
    ≥
    0
  




wherein λ comprises the constraint multiplier, wherein M2 comprises the constraint, and wherein MSE(gF, gB) comprises the mean square error (MSE) between the output symbols at an output of the equalizer and transmitted symbols, and wherein L(gF,gB,λ) comprises a Lagrangian function having gF, gB, and λ as variables.

12. A method of supplying feed forward tap weights gF and feedback tap weights gB to respective feed forward and feedback taps of a decision feedback equalizer comprising:
determining the feed forward tap weights gF and the feedback tap weights gB such that the feedback tap weights gB are constrained according to a constraint function, wherein the constraint function is based on a 2-norm of the feedback tap weights gB, a variable constraint multiplier, and an explicit constraint constant; and,
supplying the feed forward tap weights gF and the feedback tap weights gB to the decision feedback equalizer.

13. The method of claim 12 wherein the 2-norm constraint function comprises a differentiable 2-norm constraint function.

14. The method of claim 13 wherein the 2-norm constraint function comprises ∥gB∥22≦M22, wherein M2 comprises a 2-norm constraint, and wherein ∥gB∥22 comprises the squared 2-norm of the tap weights gB.

15. The method of claim 14 wherein the determining of the feed forward tap weights gF and the feedback tap weights gB comprises differentiating the following equation with respect to gF, gB, and λ, setting the three derivatives to zero, and simultaneously solving the three equations for gF, gB, and λ:




  
    
      L
      ⁡
      
        (
        
          
            g
            F
          
          ,
          
            g
            B
          
          ,
          λ
        
        )
      
    
    =
    
      
        MSE
        ⁡
        
          (
          
            
              g
              F
            
            ,
            
              g
              B
            
          
          )
        
      
      +
      
        λ
        ⁡
        
          (
          
            
              
                
                
                  g
                  B
                
                
              
              2
              2
            
            -
            
              M
              2
              2
            
          
          )
        
      
    
  
  ,
  
    λ
    ≥
    0
  




wherein λ comprises the variable constraint multiplier, wherein M2 comprises the constraint, and wherein MSE(gF, gB) comprises the mean square error (MSE) between the output symbols at an output of the equalizer and transmitted symbols, and wherein L(gF,gB,λ) comprises a Lagrangian function having gF, gB, and λ as variables.

16. The method of claim 12 wherein the determining of the feed forward tap weights gF and the feedback tap weights gB comprises:
generating a non-linear equation with the variable constraint multiplier as a root of the non-linear equation;
solving the non-linear equation for the variable constraint multiplier using an iterative process; and,
calculating the feed forward tap weights gF and the feedback tap weights gB as a function of the variable constraint multiplier, wherein the feedback tap weights gB are constrained by a constraint.

17. The method of claim 16 wherein the variable constraint multiplier comprises λ, wherein




  
    
      f
      ⁡
      
        (
        
          λ
          k
        
        )
      
    
    ⁢
    
      =
      Δ
    
    ⁢
    
      
        
          
            ξ
            I
          
          
            M
            2
          
        
        ⁢
        
          
            
            
              
                R
                
                  
                    z
                    R
                  
                  ⁢
                  
                    I
                    B
                  
                
                T
              
              ⁢
              
                g
                Fk
              
            
            
          
          2
        
      
      -
      
        ξ
        I
      
    
  
  ,




wherein M2 comprises the constraint and is a constant, wherein RzRIB comprises a cross correlation between transmitted symbols and received data of the decision feedback equalizer, wherein ξI comprises a symbol variance, wherein k comprises an iteration index, and wherein gFk is dependent upon λk such that f(λk) is a function having λk as a variable.

18. The method of claim 17 wherein the non-linear equation comprises F(λ)=f(λ)−λ=0, and wherein F(λ) is a function having λ as a variable and is based on a difference between f(λ) and λ.

19. The method of claim 18 wherein the solving of the non-linear equation for the variable constraint multiplier comprises:
terminating the iterative process of solving the non-linear equation for the variable constraint multiplier if λk=0 and





  
    
      
        F
        ⁡
        
          (
          
            λ
            k
          
          )
        
      
      
        ξ
        I
      
    
    ≤
    δ
  
  ;




and,
terminating the iterative process of solving the non-linear equation for the variable constraint multiplier if λk>0 and





  
    
      
        
        
          F
          ⁡
          
            (
            
              λ
              k
            
            )
          
        
        
      
      
        
          ξ
          I
        
        +
        
          λ
          k
        
      
    
    ≤
    δ
  
  ,




wherein δ comprises an allowable tolerance.

20. The method of claim 18 wherein the solving of the non-linear equation for the variable constraint multiplier comprises terminating the iterative process of solving the non-linear equation for the variable constraint multiplier when the variable constraint multiplier is within a predetermined tolerance.

21. The method of claim 18 wherein the 2-norm constraint function comprises ∥gB∥22≦M22.

22. The method of claim 18 wherein the calculating of the tap weights gF and gB comprises differentiating the following equation with respect to gF, gB, and λ, setting the three derivatives to zero, and simultaneously solving the three equations for gF, gB, and λ:




  
    
      L
      ⁡
      
        (
        
          
            g
            F
          
          ,
          
            g
            B
          
          ,
          λ
        
        )
      
    
    =
    
      
        MSE
        ⁡
        
          (
          
            
              g
              F
            
            ,
            
              g
              B
            
          
          )
        
      
      +
      
        λ
        ⁡
        
          (
          
            
              
                
                
                  g
                  B
                
                
              
              2
              2
            
            -
            
              M
              2
              2
            
          
          )
        
      
    
  
  ,
  
    λ
    ≥
    0
  




wherein λ comprises the variable constraint multiplier, wherein M2 comprises the constraint, and wherein MSE(gF, gB) comprises the mean square error (MSE) between the output symbols at an output of the equalizer and transmitted symbols, and wherein L(gF,gB,λ) comprises a Lagrangian function having gF, gB, and λ as variables.