| Communications Toolbox | ![]() |
In its simplest form, the mlseeq function equalizes a vector of modulated data when you specify the estimated coefficients of the channel (modeled as an FIR filter), the signal constellation for the modulation type, and the traceback depth that you want the Viterbi algorithm to use. Larger values for the traceback depth can improve the results from the equalizer but increase the computation time.
An example of the basic syntax for mlseeq is below.
M = 4; const = pskmod([0:M-1],M); % 4-PSK constellation msg = pskmod([1 2 2 0 3 1 3 3 2 1 0 2 3 0 1]',M); % Modulated message chcoeffs = [.986; .845; .237; .12345+.31i]; % Channel coefficients filtmsg = filter(chcoeffs,1,msg); % Introduce channel distortion. tblen = 10; % Traceback depth for equalizer chanest = chcoeffs; % Assume the channel is known exactly. msgEq = mlseeq(filtmsg,chanest,const,tblen,'rst'); % Equalize.
The mlseeq function has two operation modes:
Continuous operation mode enables you to process a series of vectors using repeated calls to mlseeq, where the function saves its internal state information from one call to the next. To learn more, see Equalizing in Continuous Operation Mode.
Reset operation mode enables you to specify a preamble and postamble that accompany your data. To learn more, see Using a Preamble or Postamble.
If you are not processing a series of vectors and do not need to specify a preamble or postamble, then the operation modes are nearly identical. However, they differ in that continuous operation mode incurs a delay, while reset operation mode does not. The example above could have used either mode, except that substituting continuous operation mode would have produced a delay in the equalized output. To learn more about the delay in continuous operation mode, see Delays in Continuous Operation Mode.
| Using MLSE Equalizers | Equalizing in Continuous Operation Mode | ![]() |
© 1994-2005 The MathWorks, Inc.