public class LinearPredictor
extends java.lang.Object
x[i] = a[0] + a[1] * x[i - 1] + a[2] * x[i - 2] + ...The summation on the right hand side of the equation involves a finite number of terms. The number of previous samples used is the order of the linear prediction.
This class also provides a method to compute LPC cepstra, that is, the cepstra computed from LPC coefficients, as well as a method to compute the bilinear transformation of the LPC
Constructor and Description |
---|
LinearPredictor(int order)
Constructs a LinearPredictor with the given order.
|
Modifier and Type | Method and Description |
---|---|
double[] |
getARFilter(double[] autocor)
Method to compute Linear Prediction Coefficients for a frame of speech.
|
double[] |
getBilinearCepstra(double warp,
int nbilincepstra)
Computes a bi-linear frequency warped version of the LPC cepstrum from the LPC cepstrum.
|
double[] |
getData(int ceporder)
Computes LPC Cepstra from the AR predictor parameters and alpha using a recursion invented by Oppenheim et al.
|
double[] |
reflectionCoeffsToARParameters(double[] RC,
int lpcorder)
Computes AR parameters from a given set of reflection coefficients.
|
public LinearPredictor(int order)
order
- the order of the LinearPredictorpublic double[] getARFilter(double[] autocor)
autocor
- autocorrlation arraypublic double[] reflectionCoeffsToARParameters(double[] RC, int lpcorder)
RC
- double array of reflection coefficients. The RC array must begin at 1 (RC[0] is a dummy value)lpcorder
- AR order desiredpublic double[] getData(int ceporder)
0.75 * LPCorder <= ceporder <= 1.25 * LPCorder
ceporder
- is the order of the LPC cepstral vector to be computed.public double[] getBilinearCepstra(double warp, int nbilincepstra)
warp
- is the warping coefficient. For 16KHz speech 0.6 is good valued.nbilincepstra
- is the number of bilinear cepstral values to be computed from the linear frequency
cepstrum.