JOINT MMSE-FSE+DFE DESIGN
Raúl Casas -
Cornell University Blind Equalization Research Group
This page contains documentation for a set of Matlab software
written for experimentation with joint fractionally spaced equalizer (FSE) and
decision feedback equalizer (DFE) digital communications receiver designs.
Each piece of code is documented and described below through simple examples.
MMSE-FSE+DFE Design
The first set of scripts and functions demostrates the design of a minimum
mean square error (MMSE) FSE+DFE system under the following assumptions:
- the channel is complex and FIR,
- the source is complex, iid with unit power,
- channel noise is complex AWGN uncorrelated with the source.
- the FSE and DFE are complex, FIR filters
The script design.m designs an unbiased
MMSE-FSE+DFE receiver (i.e. a MMSE-FSE+DFE constrained to have a channel-FSE
cursor equal to unity) using ummse_fse_dfe.m
and plots (the real parts of) impulse responses of (a) the channel, (b) the
resulting FSE , (c) the channel-FSE combination (d) the DFE, padded with
zeros to match the channel-FSE impulse response, as well as (e) the received
T/2-spaced data, and (f) the T-spaced equalized data. These are shown in the
example figures below for the following settings:
-
AppSigTec microwave channel 3,
- FSE length 96,
- DFE length 32,
- SNR 35 dB,
- a desired system delay chosen to equal the delay of the largest
channel tap,
- a two symbol delay for symbol estimates (or decisions)
fed back through the DFE,
- and 64-QAM.
Each of these parameters can be changed by the designer directly in the code.
The most interesting aspect of this demo is how the resulting design can
be interpreted. Here, the FSE is attempting to remove ISI from the precursor
of the channel-FSE combination while the DFE matches, and therefore cancels,
as much postcursor as it can. The remaining postcursor not included in the
``DFE window'' is also mitigated by the FSE.
Waterfall Plots
The next script waterfall.m
(which uses qam_ser.m) provides symbol
error rate (SER) versus signal to noise ratio (SNR) curves for
certain complex channel with complex AWGN transmitting (square) M-QAM. The
idea behind this code is to show the theoretical performance of a FSE+DFE
system for some choice of total number of parameters and distribution
(i.e. the total number of FSE and DFE taps, and how many are allocated for
each filter). The example below compares a MMSE receiver with 128 FSE taps
and no DFE taps with one using 96 FSE taps and 32 DFE taps (as done above).
Note that the cursor and feedback delays are also important parameters that
can be manipulated.
Adaptation
Matlab code implementing a blind adaptive MMSE-FSE+DFE receiver
is also provided in adapt.m (the code requires
the additional functions ummse_fse.m,
qam.m, pam.m and
unqam.m). It is based on the following
algorithm:
- Open the channel eye by adapting the FSE using CMA (CMA-FSE).
- Once the eye is open, adapt both the FSE and DFE through
decision-direction (DD-FSE+DFE).
This algorithm is detailed in:
``On the Blind Adaptation of a FSE+DFE Combination'',
Raul Casas and C.R. Johnson, Jr.,
Proceedings of IEEE Signal Processing Workshop on Signal Processing in
Wireless Communications, pp. 113-116, Paris, France, April 16-18
The script actually works on the second step of the algorithm by initializing
the FSE to the MMSE-FSE solution for a certain system delay and the DFE to
zero, and then adapting both using decision-direction. Continuing the
examples from before, we do this for a 96 tap FSE, 32 tap DFE on channel #3
transmitting 64-QAM at 35 dB SNR. The program plots the FSE and DFE
parameter trajectories as well as the impulse responses (b)-(d) at the
beginning (above) and end (below) of adaptation. Note how the DD-FSE+DFE
algorithm after 500,000 iterations is converging to the MMSE-FSE+DFE solution.