# 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

### Reflection Coefficients of Speech Autocorrelation Sequence

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 = -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.