cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_SignalLPC2LSP_S16(mlib_s16 *lsp, const mlib_s16 *lpc, mlib_s32 lscale, mlib_s32 order);
The mlib_SignalLPC2LSP_S16() function converts linear prediction coefficients to line spectral pair coefficients.
The line spectral pair (LPS) coefficients are defined as the roots of the following two polynomials:
-(M+1) -1 P(z) = A(z) + z * A(z ) -(M+1) -1 Q(z) = A(z) - z * A(z )
where A(z) is the inverse filter
M -i A(z) = 1- SUM a(i) * z i=1
Note that since P(z) is symmetric and Q(z) is antisymmetric all roots of these polynomials are on the unit circle and they alternate each other. P(z) has a root at z = -1 (w = PI) and Q(z) has a root at z = 1 (w = 0).
The line spectral frequency (LPF) are the angular frequency of the line spectral pair (LPS) coefficients.
q = cos(w)
where q is the LPS and w is the LPF.
See Fundamentals of Speech Recognition by Lawrence Rabiner and Biing-Hwang Juang, Prentice Hall, 1993.
The function takes the following arguments:
The line spectral pair coefficients in Q15 format.
The linear prediction coefficients.
The scaling factor of the linear prediction coefficients, where actual_data = input_data * 2**(-scaling_factor).
The order of the linear prediction filter.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes: