<< Chapter < Page | Chapter >> Page > |
This section considers an alternative performance function that leads to another kind of blind equalizer.Observe that for a binary source, the square of the source is known, even when the particular values of the source are not.Thus for all . This suggests creating a performance function that penalizes thedeviation from this known squared value . In particular, consider
which measures the dispersion of the equalizer output about its desired squared value .
The associated adaptive element for updating the equalizer coefficients is
Mimicking the derivation in [link] through [link] yields the dispersion-minimizing algorithm This is also known as the constant modulus algorithm and as the Godard algorithm. (DMA) for blindly adapting the coefficientsof a linear equalizer. The algorithm is
Suppressing the averaging operation, this becomes
which is shown in the block diagram of [link] .
When the source alphabet is , then . When the source is multilevel, it is still useful to minimize the dispersion, but theconstant should change to .
While DMA typically may converge to the desired answer from a worse initialization than decision-directed LMS,it is not as robust as trained LMS. For a particular delay , the (average) squared recovery errorsurface being descended (approximately) along the gradient by trained LMS is unimodal (i.e., it has only one minimum).Therefore, no matter where the search is initialized, it finds the desired sole minimum, associated with the used in computing the source recovery error. The dispersion performance function is multimodal withseparate minima corresponding to different achieved delays and polarities.To see this in the simplest case, observe that an answer in which all 's are swapped with all 's has the same value at the optimal point. Thus, the convergent delay and polarity achieved depend onthe initialization used. A typical initialization for DMA is a single nonzero spikelocated near the center of the equalizer. The multimodal nature of DMA can be observed in theexamples in the next section.
A simple M
atlab program that implements the DMA
algorithm is given in
DMAequalizer.m
.
The first few lines define the channel, createthe binary source, and pass the input through the
channel. The last few lines implement the equalizerand calculate the error between the output of the
equalizer and the source as a way of measuring theperformance of the equalizer. These parts of the
code are familiar from
LSequalizer.m
.
The new part of the code is in the center,which defines the length
n
of the equalizer,
the stepsize
mu
of the algorithm, and
the initialization of the equalizer (which defaultsto a “center spike” initialization).
The coefficients of the equalizer are updatedas in
[link] .
As with the other equalizers, thecode in
EqualizerTest.m
can be used to test
the operation of the converged equalizer.
Notification Switch
Would you like to follow the 'Software receiver design' conversation and receive update notifications?