Main Content

dsp.LevinsonSolver

(Removed) Solve linear system of equations using Levinson-Durbin recursion

dsp.LevinsonSolver has been removed. Use levinson instead. For more information, see Compatibility Considerations.

Description

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.

Note

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.

Construction

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.

Properties

AOutputPort

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.

KOutputPort

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.

PredictionErrorOutputPort

Enable prediction error output

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

ZerothLagZeroAction

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

Methods

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

Allow System object property value changes

Examples

collapse all

Note

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

Algorithms

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.

Extended Capabilities

Version History

Introduced in R2012a

expand all

R2023a: dsp.LevinsonSolver System object has been removed

The dsp.LevinsonSolver System object has been removed. Use the levinson function instead.

Update Code

This table shows how to update existing code to use the levinson function.

Discouraged UsageRecommended Replacement
lev = dsp.LevinsonSolver;
lev.AOutputPort = true;
lev.KOutputPort = false;
x = (1:100)';

The System object computes autocorrelation over the lags [-10 10].

a = xcorr(x,10);

Display the autocorrelation computed over nonnegative lags [0 10].

c = lev(a(11:end));
c = 10×1
  1.0000
 -0.9920
  0.0001
  0.0001
  0.0001
  0.0001
  0.0001
  0.0001
  0.0001
  0.0001
  0.0070

The function returns the polynomial coefficients in the form of a row vector.

cfn = levinson(a(11:end))
cfn = 1×10
1.0000  -0.9920  0.0001  0.0001  0.0001  0.0001...
  0.0001  0.0001  0.0001  0.0001  0.0070
  

See Also