Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_SignalLPCCovariance_S16(mlib_s16 *coeff, mlib_s32 cscale, const mlib_s16 *signal, void *state);
mlib_status mlib_SignalLPCCovariance_S16_Adp(mlib_s16 *coeff, mlib_s32 *cscale, const mlib_s16 *signal, void *state);
Each function performs linear predictive coding with covariance method.
In linear predictive coding (LPC) model, each speech sample is represented as a linear combination of the past M samples.
M s(n) = SUM a(i) * s(n-i) + G * u(n) i=1
where s(*) is the speech signal, u(*) is the excitation signal, and G is the gain constants, M is the order of the linear prediction filter. Given s(*), the goal is to find a set of coefficient a(*) that minimizes the prediction error e(*).
M e(n) = s(n) - SUM a(i) * s(n-i) i=1
In covariance method, the coefficients can be obtained by solving following set of linear equations.
M SUM a(i) * c(i,k) = c(0,k), k=1,...,M i=1
where
N-k-1 c(i,k) = SUM s(j) * s(j+k-i) j=0
are the covariance coefficients of s(*), N is the length of the input speech vector.
Note that the covariance matrix R is a symmetric matrix, and the equations can be solved efficiently with Cholesky decomposition method.
See Fundamentals of Speech Recognition by Lawrence Rabiner and Biing-Hwang Juang, Prentice Hall, 1993.
Note for functions with adaptive scaling (with _Adp postfix), the scaling factor of the output data will be calculated based on the actual data; for functions with non-adaptive scaling (without _Adp postfix), the user supplied scaling factor will be used and the output will be saturated if necessary.
Each function takes the following arguments:
The linear prediction coefficients.
The scaling factor of the linear prediction coefficients, where actual_data = output_data * 2**(-scaling_factor).
The input signal vector with samples in Q15 format.
Pointer to the internal state structure.
Each function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
MT-Level |
MT-Safe |
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also