Main Content

schurrc

Compute reflection coefficients from autocorrelation sequence

    Description

    k = schurrc(r) uses the Schur algorithm to compute a vector k of reflection coefficients from a vector r representing an autocorrelation sequence.

    example

    [k,e] = schurrc(r) also computes the prediction error variance e.

    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
    
    

    Input Arguments

    collapse all

    Autocorrelation sequence, specified as a column vector or as a matrix. If you specify r as a matrix, the schurrc function treats each column as an independent autocorrelation sequence.

    Output Arguments

    collapse all

    List of reflection coefficients, returned as a column vector or as a matrix. The reflection coefficients represent the lattice parameters of a prediction filter for a signal with the given autocorrelation sequence r. The schurrc function returns k with p rows, where p+1 is the number of rows of r.

    If you specify r as a matrix, schurrc returns a matrix k, where each column of k corresponds to a column of r.

    Prediction error variance, returned as a scalar or column vector.

    If you specify r as a matrix, schurrc returns a column vector e, where each element of e corresponds to a column of r.

    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.

    Extended Capabilities

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

    Version History

    Introduced before R2006a

    expand all