Main Content

schurrc

Compute reflection coefficients from autocorrelation sequence

Syntax

k = schurrc(r)
[k,e] = schurrc(r)

Description

k = schurrc(r) uses the Schur algorithm to compute a vector k of reflection coefficients from a vector r representing an autocorrelation sequence. k and r are the same size. The reflection coefficients represent the lattice parameters of a prediction filter for a signal with the given autocorrelation sequence, r. When r is a matrix, schurrc treats each column of r as an independent autocorrelation sequence, and produces a matrix k, the same size as r. Each column of k represents the reflection coefficients for the lattice filter for predicting the process with the corresponding autocorrelation sequence r.

[k,e] = schurrc(r) also computes the scalar e, the prediction error variance. When r is a matrix, e is a column vector. The number of rows of e is the same as the number of columns of r.

Examples

collapse all

Create an autocorrelation sequence from the MATLAB® speech signal contained in mtlb.mat. Use the Schur algorithm to compute the reflection coefficients of a lattice prediction filter for the sequence.

load mtlb
r = xcorr(mtlb(1:5),'unbiased');
k = schurrc(r(5:end))
k = 4×1

   -0.7583
    0.1384
    0.7042
   -0.3699

References

[1] Proakis, John G., and Dimitris G. Manolakis. Digital Signal Processing: Principles, Algorithms, and Applications. 3rd Edition. Upper Saddle River, NJ: Prentice-Hall, 1996, pp. 868–873.

Version History

Introduced before R2006a

See Also