Main Content

rc2poly

Convert reflection coefficients to prediction filter polynomial

Description

a = rc2poly(k) returns a vector a of prediction filter coefficients from a vector k of lattice-structure reflection coefficients.

example

[a,eFinal] = rc2poly(k,r0) also returns the final prediction error eFinal, based on the zero-lag autocorrelation r0.

Examples

collapse all

Consider a lattice IIR filter given by a set of reflection coefficients. Find its equivalent prediction filter representation.

k = [0.3090 0.9800 0.0031 0.0082 -0.0082];

a = rc2poly(k)
a = 1×6

    1.0000    0.6148    0.9899    0.0000    0.0032   -0.0082

Input Arguments

collapse all

List of reflection coefficients, specified as a vector.

Data Types: single | double
Complex Number Support: Yes

Zero-lag autocorrelation, specified as a scalar.

Data Types: single | double
Complex Number Support: Yes

Output Arguments

collapse all

Prediction filter coefficients, returned as a row vector of length p+1, where p is the number of elements of k. The function returns the first column of a as 1, thus a(1)=1.

Final prediction error power, returned as a scalar.

Algorithms

rc2poly computes output a using Levinson's recursion [1]. The function:

  1. Sets the output vector a to the first element of k.

  2. Loops through the remaining elements of k.

    For each loop iteration i, a = [a + a(i-1:-1:1)*k(i) k(i)].

  3. Implements a = [1 a].

References

[1] Kay, Steven M. Modern Spectral Estimation. Englewood Cliffs, NJ: Prentice-Hall, 1988.

Extended Capabilities

Version History

Introduced before R2006a