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.