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
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.
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
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 ek 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 ek 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 Ck is the vector of the equalizer coefficients at the kth iteration Xk 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.
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 {fn} are coefficients of the linear filter model which causes ISI.
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
John G. Proakis, Digital Communications, Third Edition, McGraw-Hill, 1995.
Dimitris G. Manolakis et.al, Statistical and Adaptive Signal Processing, McGraw-Hill, 2000.