Signal Processing Toolbox
  Go to function:
    Search    Help Desk 
lpc    Examples   See Also

Linear prediction coefficients.

Syntax

Description

lpc determines the coefficients of a forward linear predictor by minimizing the prediction error in the least-squares sense. It has applications in filter design and speech coding.

a = lpc(x,p) finds the coefficients of a pth-order linear predictor (FIR filter) that predicts the current value of the real time series x based on past samples:

p is the order of the prediction polynomial, a = [1 a(2) ... a(p+1)].

If p is unspecified, lpc uses as a default p = length(x)-1. If x is a matrix containing a separate signal in each column, lpc returns a model estimate for each column in the rows of matrix a.

Example

Estimate a data series using a 3rd-order forward predictor, and compare to the original signal.

First, create the signal data as the output of an autoregressive process driven by white noise. Use the last 4096 samples of the AR process output to avoid start-up transients.

Compute the predictor coefficients, estimated signal, prediction error, and autocorrelation sequence of the prediction error.

The prediction error, e(n), can be viewed as the output of the prediction error filter A(z) shown below, where H(z) is the optimal linear predictor, x(n) is the input signal, and is the predicted signal.


Compare the predicted signal to the original signal.

Look at the autocorrelation of the prediction error.

The prediction error is approximately white Gaussian noise, as expected for a 3rd-order AR input process.


Algorithm

lpc uses the autocorrelation method of autoregressive (AR) modeling to find the filter coefficients. The generated filter might not model the process exactly even if the data sequence is truly an AR process of the correct order. This is because the autocorrelation method implicitly windows the data, that is, it assumes that signal samples beyond the length of x are 0.

lpc computes the least-squares solution to

where

and m is the length of x. Solving the least-squares problem via the normal equations

leads to the Yule-Walker equations

where r = [r(1) r(2) ... r(p+1)] is an autocorrelation estimate for x computed using xcorr. The Yule-Walker equations are solved in O(p2) flops by the Levinson-Durbin algorithm (see levinson).

See Also

aryule
Compute an estimate of AR model parameters using the Yule-Walker method.
levinson
Levinson-Durbin recursion.
prony
Prony's method for time domain IIR filter design.
pyulear
Power spectrum estimate using Yule-Walker AR method.
stmcb
Linear model using Steiglitz-McBride iteration.

References

[1] Jackson, L.B. Digital Filters and Signal Processing. Second Ed. Boston: Kluwer Academic Publishers, 1989. Pgs. 255-257.



[ Previous | Help Desk | Next ]