Linear Prediction

Linear prediction is a mathematical operation where future values of a digital signal are estimated as a linear function of previous samples. In digital signal processing linear prediction is often called linear predictive coding (LPC) and can thus be viewed as a subset of filter theory. In system analysis (a subfield of mathematics), linear prediction can be viewed as a part of mathematical modelling or optimization.

The prediction model

The most common representation is
\hat{x}(n) = -\sum_{i=1}^p a_i x(n-i)
where \hat{x}(n) is the predicted signal value, x(n-i) the previous observed values, and a_i the predictor coefficients. The error generated by this estimate is
e(n) = x(n) - \hat{x}(n)
where x_n is the true signal value. These equations are valid for all types of (one-dimensional) linear prediction. The differences are found in the way the parameters a_i are chosen. For multi-dimensional signals the error metric is often defined as
e(n) = ||x(n) - \hat{x}(n)||
where ||.|| is a suitable chosen vector norm.

Estimating the parameters

The most common choice in optimisation of parameters a_i is the root mean square criterion which is also called the autocorrelation criterion. In this method we minimise the expected value of the squared error Ee2(n), which yields the equation
\sum_{i=1}^p a_i R(i-j) = -R(j),
for 1 ≤ jp, where R is the autocorrelation of signal xn, defined as
R(i) = E\{x(n)x(n-i)\}
In the multi-dimensional case this corresponds to minimising the L2 norm. The above equations are called the normal equations or Yule-Walker equations. In matrix form the equations can be equivalently written as
Ra = r,
where the autocorrelation matrix R is a symmetric, circulant matrix with elements ri,j = R(ij), vector r is the autocorrelation vector rj = R(j), and vector a is the parameter vector. Another more general approach is to minimise
e(n) = x(n) - \hat{x}(n) = x(n) + \sum_{i=1}^p a_i x(n-i) = \sum_{i=0}^p a_i x(n-i)
where we usually constrain the parameters a_i with a_0=1 to avoid the trivial solution. This constraint yields the same predictor as above but the normal equations are then
\,\!Ra = 0, ... , 0^T
where the index i ranges from 0 to p and the size of R is a (p+1) × (p+1) matrix. Optimisation of the parameters is a wide topic and a large number of other approaches have been proposed. Still, the autocorrelation method is the most common and it is used, for example, for speech coding in the GSM standard. Solution of the matrix equation Ra = r is computationally a relatively expensive process. The Gauss algorithm for matrix inversion is probably the oldest solution but this approach does not efficiently use the symmetry of R and r. A faster algorithm is the Levinson recursion proposed by Norman Levinson in 1947, which recursively calculates the solution. Later, Delsarte et al proposed an improvement to this algorithm called the split Levinson recursion which requires about half the number of multiplications and divisions. It uses a special symmetrical property of parameter vectors on subsequent recursion levels.

See also

 

<< PreviousWord BrowserNext >>
lexicology
lake abitibi
ligature
lansing, michigan
leukemia
length
louis ginzberg
left arm unorthodox spin
list of newspapers
louis ix of france
linear b
larousse gastronomique
louis xiv of france
ludwig von kchel
leo computer
laurence of canterbury
leaf by niggle
lemming
leet
lud
lois lane
linker
legendre symbol
list of algorithms
laconia incident
lon theremin
leto
la malinche
lusitania
limited stop
laeken european council
limburg
limburg (netherlands)
lech walesa
lucretia mott
leon
ligand
lincos
lascaux
lex luthor
lute
little boy
lebanon war
lester bangs