name: Prediction : public AlgorithmBase

synopsis:

g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_algo.a

#include <Prediction.h>

Prediction(ALGORITHM algorithm = DEF_ALGORITHM, IMPLEMENTATION implementation = DEF_IMPLEMENTATION, long order = DEF_ORDER, float dyn_range = DEF_DYNAMIC_RANGE);
boolean eq(const Prediction& arg);
boolean setAlgorithm(ALGORITHM algorithm);
boolean setOrder(long order);
quick start:

Prediction lp;
VectorFloat input(L"1.0, 2,0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0");
VectorFloat output;
lp.set(Prediction::AUTOCORRELATION, Prediction::DURBIN, 4, -40);
lp.compute(output, input);
description:

Linear prediction (LP) was once an integral part of most speech recognition systems. Its rose to prominence in the 1970's, which was one of the most exciting times in digital signal processing history. Since then, LP has been replaced by traditional Fourier transform techniques in most speech processing systems. The Prediction class is one of several classes that provide a complete inventory of linear prediction manipulations. The definitive textbook on this topic is: A good explanation of how these techniques relate to speech recognition can be found in:
The algorithm and implementation choices are shown below:


Most of the standard algorithms above can be found in the references cited above. A good alternate reference for the AUTOCORRELATION, COVARIANCE, and LATTICE algorithms is: The log area ratio parameters are described in both textbooks. The lattice methods are provided for historical reasons, but are no that popular in speech processing today.

Aside from providing users to set the analysis order, a noise-weighting option is also provided. This is described in the IEEE Proceedings paper cited above, and is used to prevent the LP analysis from modeling low energy areas of the spectrum.

The covariance matrix supplied to this method is in the format output by the Covariance class. This matrix contains all covariance values necessary to perform the LP computations, and includes lags from [0,0] to [p,p]. It can be considered an augmented matrix when compared to the matrices used in the textbooks cited above.

dependencies:

public constants:

error codes:

protected data:

required public methods:

class-specific public methods:

private methods:

examples:

notes: