Access Keys:
Skip to content (Access Key - 0)
Agilent Technologies

FFE


Description: feed-forward equalizer
Library: Numeric, Communications
Class: SDFFFE

Parameters
Name Description Default Unit Type Range
NumFFtaps number of feed-forward taps 5   int  
FFinitial feed-forward filter taps are initialized by users or not: NO, YES NO   enum  
FFtaps initial feed-forward filter taps (only valid when FFinitial is YES) {0, 0, 0, 0, 0}   real array  
EquAlgorithm adaptive algorithm: None, LMS, RLS, ZF LMS   enum  
TrainSeqLen length of training sequence 1000   int  
Fraction number of samples per symbol at input, range [1, 16]. Fraction=1: symbol-spaced equalizer; Fraction=2~16: fractionally spaced equalizer 1   int  
RefTap index of reference tap for LMS and RLS algorithms, range [1, NumFFtaps] 3   int  
Alpha step size for LMS algorithm 1e-3   real  
Lambda weighting factor for RLS algorithm 0.999   real (0.0, 1.0)
Delta small positive constant for RLS algorithm 0.001   real (0.0, 10.0]
TargetMSE reference MSE in dB for stopping updating coefficients when RLS equalizer reaches this MSE -40 dB real (-100, 100]
SaveTapsFile filename in which to save final tap values     string  
Pin Inputs
Pin Name Description Signal Type
1 input input signal before equalizer real
2 TrainSeq input training sequence for equalizer real
Pin Outputs
Pin Name Description Signal Type
3 output output signal after decision feedback equalizer real

Notes/Equations
  1. Time-dispersive channels can cause intersymbol interference (ISI). For example, in a multipath scattering environment, the receiver sees delayed versions of a symbol transmission, which can interfere with other symbol transmissions. An equalizer attempts to mitigate ISI and thus improve the receiver's performance. This model is a Feed-Forward Equalization (FFE), and it operates with training sequence. In each firing, the input consumes Fraction input token and TrainSeq consumes one input token, while produces one output token.
  2. A block diagram of the equalizer is shown in Block Diagram of the FFE. This equalizer works in training sequence mode.
    Block Diagram of the FFE

  3. If the parameter EquAlgorithm is set to ZF, RLS or LMS, the equalizer works in training and tracking modes. In the training mode, the training sequence (from Pin TrainSeq) is used as training sequence. The number of training sequence is TrainSeqLen. The error signal e k is from the training signal:


    is the input training sequence.

    is the equalized output sequence.
    After the training mode, the decision feedback equalizer coefficient is converged and the equalizer enters into the tracking mode. When the parameter EquAlgorithm is set to ZF, LMS or RLS, the ZF, LMS or RLS adaptive algorithm is used in tracking mode correspondingly. The error signal e k is from the decision signal of the equalized signal:

    where
    is the detected output sequence for binary case:

    If the parameter EquAlgorithm is set to NONE, the equalizer works in non-adaptive mode with fixed coefficients.
    LMS Algorithm
    The criterion most commonly used in the optimization of the equalizer coefficients is the minimization of the mean square error (MSE) between the desired equalizer output and the actual equalizer output.
    MSE minimization can be accomplished recursively by use of the stochastic gradient algorithm introduced by Widrow, called the LMS algorithm. This algorithm is described by the coefficient update equation

    where
    C k is the vector of the equalizer coefficients at the kth iteration X k represents the signal vector.
    α is parameter Alpha.
    RLS Algorithm
    The convergence rate of the LMS algorithm is slow because a single parameter α controls the rate of adaptation. A fast converging algorithm is obtained if a recursive least squares (RLS) criterion is adopted for adjustment of the equalizer coefficients.
    The RLS iteration algorithm follows.
    Calculate output:

    Calculate Kalman gain vector:

    Update inverse of the correlation matrix:

    Update coefficients:


    is parameter Lamda.

    is a diagonal matrix with initial value Delta*I (here I is a diagonal matrix).
    Delta is parameter Delta.
    The updating of coefficients in RLS algorithm will be halted when the MSE averaged over 100 consecutive symbols is less than a reference MSE defined by TargetMSE.
    ZF Algorithm
    The zero-forcing (ZF) solution is achieved by forcing the cross-correlation between the error sequence

    and the desired information sequence {Ik} to be zero.
    When in the training mode, the coefficients are updated as:

    When in the tracking mode, the coefficients are updated as:

    where

    is the detected output sequence.
  4. For LMS and RLS algorithms, the total delay caused by the equalizer is equal to (RefTap-1)/Fraction. Usually the reference tap is set to the center tap in a linear equalizer, or the center tap of the forward filter in a DFE equalizer.
    For ZF algorithm, no delay is introduced by this equalizer after the equalizer has converged. Note that ZF algorithm has a condition that the input signal needs to have the eye open prior to equalization. That is, the convergence of ZF algorithm requires

    L is the number of ISI affected symbols and the impulse response {f n} are coefficients of the linear filter model which causes ISI.
  5. Parameter Details:
    • NumFFtaps specifies the number of feed-forward taps.
    • FFinitial indicates whether the feed-forward filter taps are initialized by users or not. If users don't want to set FFtaps, FFinitial is selected as NO and the FFtaps are generated in code automatically.
    • FFtaps specifies the initial value of feed-forward filter taps if FFinitial is YES.
    • EquAlgorithm selects the equalizer algorithm.
    • TrainSeqLen specifies the length of training sequence.
    • Fraction specifies the number of samples per symbol at input, range [1, 16].
    • RefTap specifies the index of reference tap for LMS and RLS algorithms, ranged from 1 to NumFFtaps.
    • Alpha specifies the step size for tap adjustment.
    • Lambda specifies weighting factor for RLS algorithm.
    • Delta specifies a small positive constant for RLS algorithm.
    • TargetMSE specifies the reference MSE in dB for RLS algorithm. RLS equalizer will stop updating coefficients when the MSE averaged over 100 consecutive symbols is less than this reference.
    • SaveTapsFile specifies the filename in which to save final feed-forward tap values. If the SaveTapsFile string is non-null, a file will be created with the name given by that string, and the final tap values will be stored there after the run has completed.

References
  1. John G. Proakis, Digital Communications, Third Edition, McGraw-Hill, 1995.
  2. Dimitris G. Manolakis et.al, Statistical and Adaptive Signal Processing, McGraw-Hill, 2000.