This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.


Convert prediction filter polynomial to reflection coefficients


k = poly2rc(a)
[k,r0] = poly2rc(a,efinal)


k = poly2rc(a) converts the prediction filter polynomial a to the reflection coefficients of the corresponding lattice structure. a can be real or complex, and a(1) cannot be 0. If a(1) is not equal to 1, poly2rc normalizes the prediction filter polynomial by a(1). k is a row vector of size length(a)-1.

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


collapse all

Given a prediction filter polynomial, a, and a final prediction error, efinal, determine the reflection coefficients of the corresponding lattice structure and the zero-lag autocorrelation.

a = [1.0000 0.6149 0.9899 0.0000 0.0031 -0.0082];
efinal = 0.2;
[k,r0] = poly2rc(a,efinal)
k = 


r0 = 5.6032


If abs(k(i)) == 1 for any i, finding the reflection coefficients is an ill-conditioned problem. poly2rc returns some NaNs and provides a warning message in those cases.


A simple, fast way to check if a has all of its roots inside the unit circle is to check if each of the elements of k has magnitude less than 1.

stable = all(abs(poly2rc(a))<1)


poly2rc implements this recursive relationship:


This relationship is based on Levinson’s recursion [1]. To implement it, poly2rc loops through a in reverse order after discarding its first element. For each loop iteration i, the function:

  1. Sets k(i) equal to a(i)

  2. Applies the second relationship above to elements 1 through i of the vector a.

    a = (a-k(i)*fliplr(a))/(1-k(i)^2);


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

Introduced before R2006a

Was this topic helpful?