# levinson

Levinson-Durbin recursion

## Syntax

`a = levinson(r)a = levinson(r,n)[a,e] = levinson(r,n)[a,e,k] = levinson(r,n)`

## Description

The Levinson-Durbin recursion is an algorithm for finding an all-pole IIR filter with a prescribed deterministic autocorrelation sequence. It has applications in filter design, coding, and spectral estimation. The filter that `levinson` produces is minimum phase.

`a = levinson(r)` finds the coefficients of a `length(r)-1` order autoregressive linear process which has `r` as its autocorrelation sequence. `r` is a real or complex deterministic autocorrelation sequence. If `r` is a matrix, `levinson` finds the coefficients for each column of `r` and returns them in the rows of `a`. `n=length(r)-1` is the default order of the denominator polynomial A(z); that is, `a = [1 a(2) ... a(n+1)]`. The filter coefficients are ordered in descending powers of z–1.

$H\left(z\right)=\frac{1}{A\left(z\right)}=\frac{1}{1+a\left(2\right){z}^{-1}+\cdots +a\left(n+1\right){z}^{-n}}$

`a = levinson(r,n)` returns the coefficients for an autoregressive model of order n.

`[a,e] = levinson(r,n)` returns the prediction error, e, of order n.

`[a,e,k] = levinson(r,n)` returns the reflection coefficients `k` as a column vector of length `n`.

 Note   `k` is computed internally while computing the `a` coefficients, so returning `k` simultaneously is more efficient than converting `a` to `k` with `tf2latc`.

collapse all

### Algorithms

`levinson` solves the symmetric Toeplitz system of linear equations

where `r = [`r(1)  ... r(n+1)`]` is the input autocorrelation vector, and r(i)* denotes the complex conjugate of r(i). The input `r` is typically a vector of autocorrelation coefficients where lag 0 is the first element r(1). The algorithm requires O(n2) flops and is thus much more efficient than the MATLAB® `\` command for large `n`. However, the `levinson` function uses `\` for low orders to provide the fastest possible execution.

## References

[1] Ljung, L., System Identification: Theory for the User, Prentice-Hall, 1987, pp. 278-280.