In linear prediction (LP) analysis, the vocal tract transfer function is modelled by an all-pole filter with transfer function

where *p* is the number of poles and .
The filter coefficients are chosen to minimise
the mean square filter prediction error summed over the analysis
window. The HTK module HSIGP uses the *autocorrelation
method* to perform this optimisation as follows.

Given a window of speech samples ,
the first *p*+1 terms of the autocorrelation sequence are
calculated from

where *i* = 0,*p*.
The filter coefficients are then computed recursively
using a set of auxiliary coefficients which can be
interpreted as the reflection coefficients of an equivalent
acoustic tube and the prediction error *E* which is initially
equal to . Let and
be the reflection and filter coefficients for a filter of order
*i*-1, then a filter of order *i* can be calculated in three steps.
Firstly, a new set of reflection coefficients are calculated.

for *j* = 1,*i*-1 and

Secondly, the prediction energy is updated.

Finally, new filter coefficients are computed

for *j* = 1,*i*-1 and

This process is repeated from *i*=1 through to the required filter order
*i*=*p*.

To effect the above transformation, the target parameter kind must
be set to either `LPC` to obtain the LP filter parameters or
`LPREFC` to obtain the reflection coefficients . The
required filter order must also be set using the configuration
parameter `LPCORDER` .
Thus, for example, the following configuration
settings would produce a target parameterisation
consisting of 12 reflection coefficients per vector.

TARGETKIND = LPREFC LPCORDER = 12

An alternative LPC-based parameterisation is obtained by setting the
target kind to `LPCEPSTRA` to generate linear prediction cepstra.
The cepstrum of a signal is computed by taking a Fourier (or similar)
transform of the log spectrum. In the case of linear
prediction cepstra , the
required spectrum is the linear prediction spectrum which can be obtained
from the Fourier transform of the filter coefficients. However, it can be shown
that the required cepstra can be more efficiently computed using
a simple recursion

The number of cepstra generated need not be the same as the number of
filter coefficients, hence it is set by a separate configuration
parameter called `NUMCEPS` .

The principal advantage of cepstral coefficients is that they are
generally decorrelated and this allows diagonal covariances
to be used in the HMMs. However, one minor problem with
them is that the higher order cepstra are numerically quite small and
this results in
a very wide range of variances when going from the low to high cepstral
coefficients .
HTK does not have a problem with this but for pragmatic reasons such as
displaying model parameters, flooring variances, etc., it is convenient to re-scale
the cepstral coefficients to have similar magnitudes. This is done by
setting the configuration parameter `CEPLIFTER` to some value *L* to
*lifter* the cepstra according to the following formula

As an example, the following configuration parameters would use a 14'th order linear prediction analysis to generate 12 liftered LP cepstra per target vector

TARGETKIND = LPCEPSTRA LPCORDER = 14 NUMCEPS = 12 CEPLIFTER = 22These are typical of the values needed to generate a good front-end parameterisation for a speech recogniser based on linear prediction.

Finally, note that the conversions supported by HTK are not limited to the case where the source is a waveform. HTK can convert any LP-based parameter into any other LP-based parameter.