rlevinson
Reverse Levinson-Durbin recursion
Syntax
Description
[___,
also returns the list of reflection coefficients.k
] = rlevinson(___)
[___,
also returns the prediction errors from each iteration of the reverse Levinson-Durbin
recursion.eEvolution
] = rlevinson(___)
Examples
Input Arguments
Output Arguments
Algorithms
The reverse Levinson-Durbin recursion implements the step-down algorithm for solving the symmetric Toeplitz system of linear equations
where r = [r(1) r(2) … r(p) r(p + 1)] and a = [1 a(2) … a(p + 1)]. The notation * represents the complex conjugate transpose operation.
In linear prediction applications:
The vector r represents the autocorrelation sequence of the input to a prediction filter, where r(1) is the zero-lag element. The Toeplitz matrix R is the autocorrelation matrix.
The vector a represents the polynomial coefficients of this prediction filter in descending powers of z.
The scalar p represents the order of the prediction filter.
The figure shows the typical filter of this type, where H(z) is the optimal linear predictor, x(n) is the input signal, is the predicted signal, and e(n) is the prediction error signal. The variance of the prediction error, var(e) is the scalar prediction error power.
The rlevinson
function solves this system of equations to compute
the autocorrelation sequence r
, given a vector a
with
the prediction filter coefficients. The filter must be minimum-phase to generate a valid
autocorrelation sequence. The scalar eFinal
represents the final prediction
error power, var(e), and aims to be the target estimation error of the
Levinson-Durbin recursion that the rlevinson
function
implements.
If you request the outputs u
, k
, or
eEvolution
, rlevinson
also performs the UDU* decomposition of the inverse of the autocorrelation matrix,
R−1. This decomposition resolves the matrices
U and E, and permits the efficient evaluation of the
inverse of the autocorrelation matrix,
R−1.
The output argument u
returns the matrix U. This
matrix contains the recursive prediction filter polynomials (a1, a2, …, ap+1) from each iteration of the reverse Levinson-Durbin recursion.
Each vector ai lists the recursive polynomial coefficients, where ai(j) is the jth coefficient of the (i-1)th order prediction filter polynomial (i.e., ith step in
the recursion). For example, you can get the coefficients of the 4th order prediction filter
polynomial as a5, where a5 = u(5:-1:1,5)
, and this vector represents the
polynomial . Consequently, the (p+1)th column of U contains the input polynomial coefficient
vector a
, which you can get using
u(p+1:-1:1,p+1)'
.
The output argument k
returns a column vector with the reflection
coefficients, which are the conjugates of the nondiagonal elements in the first row of
U. In other words, k
is returned as
u(1,2:end)'
.
The output argument eEvolution
returns a row vector with the
recursive prediction errors, which come from the diagonal of the matrix E,
except the first element.
Each element ei lists the recursive prediction errors of the (i-1)th order prediction filter polynomial (i.e., ith step in
the recursion). For example, you can get the prediction error of the 4th order prediction
filter polynomial as e5 = eEvolution(4)
, and is the prediction error for
using the polynomial as a prediction filter.
The first element from the diagonal of E, e1, coincides with the first element of the autocorrelation sequence r, r(1).
The (p+1)th element from the diagonal of E, e1, —also the last element in
eEvolution
— coincides with the final prediction error powereFinal
.
References
[1] Kay, Steven M. Modern Spectral Estimation: Theory and Application. Englewood Cliffs, NJ: Prentice-Hall, 1988.
Extended Capabilities
Version History
Introduced before R2006a