Main Content


(To be removed) Solve linear system of equations using Levinson-Durbin recursion

dsp.LevinsonSolver will be removed in a future release. Use levinson instead. For more information, see Compatibility Considerations.


The LevinsonSolver object solves linear systems of equations using Levinson-Durbin recursion.

To solve linear systems of equations using Levinson-Durbin recursion:

  1. Define and set up your System object™. See Construction.

  2. Call step to solve the system of equations according to the properties of dsp.LevinsonSolver. The behavior of step is specific to each object in the toolbox.


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.


levinson = dsp.LevinsonSolver returns a System object, levinson, that solves a Hermitian Toeplitz system of equations using the Levinson-Durbin recursion.

levinson = dsp.LevinsonSolver('PropertyName',PropertyValue,...) returns a Levinson-Durbin object, levinson, with each specified property set to the specified value.



Enable polynomial coefficients output

Set this property to true to output the polynomial coefficients A. Both AOutputPort and KOutputPort properties cannot be false at the same time. For scalar inputs, set the AOutputPort property to true. The default is false.


Enable reflection coefficients output

Set this property to true to output the reflection coefficients K. You cannot set both the AOutputPort and KOutputPort properties to false at the same time. For scalar inputs, you must set the KOutputPort property to false. The default is true.


Enable prediction error output

Set this property to true to output the prediction error. The default is false.


Action when value of lag zero is zero

Specify the output for an input with the first coefficient as zero. Select Ignore or Use zeros. The default is Use zeros.

 Fixed-Point Properties


stepReflection coefficients corresponding to columns of input
Common to All System Objects

Allow System object property value changes


collapse all


If you are using R2016a or an earlier release, replace each call to the object with the equivalent step syntax. For example, obj(x) becomes step(obj,x).

Use the Levinson solver to compute polynomial coefficients from autocorrelation coefficients.

 lev = dsp.LevinsonSolver;
 lev.AOutputPort = true;
 lev.KOutputPort = false;
 x = (1:100)';
 a = xcorr(x,10);
% Consider the autocorrelation computed over nonnegative lags [0 10].
 c = lev(a(11:end)); % Compute polynomial coefficients


This object implements the algorithm, inputs, and outputs described on the Levinson-Durbin block reference page. The object properties correspond to the block parameters, except:

Output(s) block parameter corresponds to the AOutputPort and the KOutputPort object properties.

Compatibility Considerations

expand all

Not recommended starting in R2021a

Extended Capabilities

See Also

Introduced in R2012a