Main Content

ac2poly

Convert autocorrelation sequence to prediction polynomial

Description

a = ac2poly(r) returns the prediction filter coefficients a from the autocorrelation sequence r.

[a,eFinal] = ac2poly(r) also returns the final prediction error, eFinal, determined by running the prediction filter for length(r) steps.

example

Examples

collapse all

Given an autocorrelation sequence, r, determine the equivalent linear prediction filter polynomial and the final prediction error.

r = [5.0000 -1.5450 -3.9547 3.9331 1.4681 -4.7500];

[a,efinal] = ac2poly(r)
a = 1×6

    1.0000    0.6147    0.9898    0.0004    0.0034   -0.0077

efinal = 
0.1791

Input Arguments

collapse all

Autocorrelation sequence, specified as a vector or as a matrix.

If you specify r as a matrix, ac2poly treats each column of r as a separate channel.

Data Types: single | double
Complex Number Support: Yes

Output Arguments

collapse all

Prediction filter coefficients, returned as a row vector with the same number of elements as in r, or as a matrix with as many rows as channels identified in r. The function returns the first column of a as 1, thus a(1)=1 when a is a row vector.

The polynomial a represents the coefficients of a prediction filter that outputs a signal with autocorrelation sequence approximately equal to r.

Final prediction error power, returned as a scalar.

References

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

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced before R2006a

expand all

See Also

| |