DSP Blockset
  Go to block:
    Search    Help Desk 
Levinson-Durbin    See Also

Solve a linear system of equations using Levinson-Durbin recursion.

Library

Signal Operations, in General DSP

Description

The Levinson-Durbin block solves the nth-order system of linear equations

for the particular case where R is a symmetric, positive-definite Toeplitz matrix and b is identical to the first column of R shifted by one element:


The algorithm requires O(n2) flops, and is thus much more efficient for large n than the MATLAB \ operator, which requires O(n3) flops. The input to the block is the vector r = [r(1) r(2) ... r(n+1)], whose elements appear in the matrix R above.

The block's top output, a = [1 a(1) a(2) ... a(n+1)], is the solution to the Levinson-Durbin equation. The elements of this vector can also be viewed as the denominator coefficients of an nth-order autoregressive (AR) process (see below). The bottom output, , contains a vector of reflection coefficients, which are useful for realizing lattice filters.

One application of the Levinson-Durbin formulation above is in the Yule-Walker AR problem, which concerns modeling an unknown system as an autoregressive process (or all-pole IIR filter) with assumed white Gaussian noise input. In the Yule-Walker problem, the use of the signal's autocorrelation sequence to obtain an optimal estimate leads to an equation of the type shown above, which is most efficiently solved by Levinson-Durbin recursion. In this case, the input vector r represents the autocorrelation sequence, with r(1) being the zero-lag value. The output vector a then contains the coefficients of the autoregressive process that optimally models the system. The coefficients are ordered in descending powers of z, and the autoregressive process is minimum phase:


The output vector contains the corresponding reflection coefficients, (1) to (n), for the lattice realization of this IIR filter. The Yule-Walker AR block implements this autocorrelation-based method for spectral estimation.

Another common application of the Levinson-Durbin algorithm is in linear predictive coding, which is concerned with finding the coefficients of a moving average (MA) process (or FIR filter) that predicts the next value of a signal from the current signal sample and a finite number of past samples. In this case, the input vector r represents the signal's autocorrelation sequence, with r(1) being the zero-lag value, and output vector a contains the coefficients of the predictive MA process (in descending powers of z):


Again, the output vector contains the corresponding reflection coefficients, (1) to (n), for the lattice realization of this FIR filter. The LPC block implements this autocorrelation-based prediction method for the DSP Blockset.


Real
Complex
Scalar
Vector
Matrix
Sample Time
Scalar Expansion
Input





inherited from input
n/a
Output





Dialog Box

References

Golub, G. H., and C. F. Van Loan. Sect. 4.7 in Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.

Ljung, L. System Identification: Theory for the User. Englewood Cliffs, NJ: Prentice Hall, 1987. Pgs. 278-280.

See Also

Complex Levinson-Durbin
LPC
Yule-Walker AR


[ Previous | Help Desk | Next ]