Main Content


System object: comm.MLSEEqualizer
Package: comm

Equalize using maximum likelihood sequence estimation


Y = step(H,X)
Y = step(H,X,CHANNEL)
Y = step(H,X,RESET)



Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.

Y = step(H,X) equalizes the linearly modulated data input, X, using the Viterbi algorithm. The step method outputs Y, the maximum likelihood sequence estimate of the signal. Input X must be a column vector of data type double or single.

Y = step(H,X,CHANNEL) uses CHANNEL as the channel coefficients when you set the ChannelSource property to 'Input port'. The channel coefficients input, CHANNEL, must be a numeric, column vector containing the coefficients of an FIR filter in descending order of powers of z. The length of this vector is the channel memory, which must be an integer multiple of the samples per input symbol specified in the SamplesPerSymbol property.

Y = step(H,X,RESET) uses RESET as the reset signal when you set the TerminationMethod property to 'Continuous' and the ResetInputPort property to true. The object resets when RESET has a non-zero value. RESET must be a double precision or logical scalar. You can combine optional input arguments when you set their enabling properties. Optional inputs must be listed in the same order as the order of the enabling properties. For example, Y = step(H,X,CHANNEL,RESET).


obj specifies the System object on which to run this step method.

The object performs an initialization the first time the step method is executed. This initialization locks nontunable properties and input specifications. For more information on changing property values, see System Design in MATLAB Using System Objects.