# dsp.LevinsonSolver

Solve linear system of equations using Levinson-Durbin recursion

## 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.

## Methods

 step Reflection coefficients corresponding to columns of input
Common to All System Objects
release

Allow System object property value changes

## Examples

collapse all

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent step syntax. For example, myObject(x) becomes step(myObject,x).

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

levinson = dsp.LevinsonSolver;
levinson.AOutputPort = true;
levinson.KOutputPort = false;
x = (1:100)';
ac = dsp.Autocorrelator(...
'MaximumLagSource', 'Property', ...
'MaximumLag', 10);
a = ac(x);
c = levinson(a); % 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.