DSP Blockset | ![]() ![]() |
Determine the coefficients of an Nth-order forward linear predictor.
Library
Estimation / Linear Prediction
Description
The Autocorrelation LPC block determines the coefficients of an N-step forward linear predictor for the time-series in length-M input vector, u, by minimizing the prediction error in the least-squares sense. A linear predictor is an FIR filter that predicts the next value in a sequence from the present and past inputs. This technique has applications in filter design, speech coding, spectral analysis, and system identification.
The Autocorrelation LPC block can output the prediction error as polynomial coefficients, reflection coefficients, or both. It can also output the prediction error power. The length-M input, u, can be a scalar, 1-D vector, frame- or sample-based column vector, or a sample-based row vector. Frame-based row vectors are not valid inputs.
When Inherit prediction order from input dimensions is selected, the prediction order, N, is inherited from the input dimensions. Otherwise, the Prediction order parameter sets the value of N.
When Output(s) is set to A, port A
is enabled. Port A
outputs an (N+1)-by-1 column vector, a = [1 a2 a3 ... aN+1]T, containing the coefficients of an Nth-order moving average (MA) linear process that predicts the next value, ûM+1, in the input time-series.
When Output(s) is set to K, port K
is enabled. Port K
outputs a length-N column vector whose elements are the prediction error reflection coefficients. When Output(s) is set to A and K, both port A
and K
are enabled, and each port outputs its respective column vector of prediction coefficients. The outputs at both port A
and K
are always 1-D vectors.
When Output prediction error power (P) is selected, port P
is enabled. The prediction error power, a scalar, is output at port P
.
Algorithm
The Autocorrelation LPC block computes the least-squares solution to
where indicates the 2-norm and
Solving the least-squares problem via the normal equations
leads to the system of equations
where r = [r1 r2 r3 ... rn+1]T is an autocorrelation estimate for u computed using the Autocorrelation block, and * indicates the complex conjugate transpose. The normal equations are solved in O(n2) operations by the Levinson-Durbin block.
Note that the solution to the LPC problem is very closely related to the Yule-Walker AR method of spectral estimation. In that context, the normal equations above are referred to as the Yule-Walker AR equations.
Dialog Box
P
, which outputs the output prediction error power.References
Haykin, S. Adaptive Filter Theory. 3rd ed. Englewood Cliffs, NJ: Prentice Hall, 1996.
Ljung, L. System Identification: Theory for the User. Englewood Cliffs, NJ: Prentice Hall, 1987. Pgs. 278-280.
Proakis, J. and D. Manolakis. Digital Signal Processing. 3rd ed. Englewood Cliffs, NJ: Prentice-Hall, 1996.
Supported Data Types
To learn how to convert to the above data types in MATLAB and Simulink, see Supported Data Types and How to Convert to Them.
See Also
Autocorrelation |
DSP Blockset |
Levinson-Durbin |
DSP Blockset |
Yule-Walker Method |
DSP Blockset |
lpc |
Signal Processing Toolbox |
Also see Linear Prediction for a list of all the blocks in the Linear Prediction library.
![]() | Autocorrelation | Backward Substitution | ![]() |