Calculates the LP coefficients from the autocorrelation coefficients.
IppStatus ippsLevinsonDurbin_G723_16s(const Ipp16s* pSrcAutoCorr, Ipp16s* pValResultSineDtct, Ipp16s* pResultResidualEnergy, Ipp16s* pDstLPC);
pSrcAutoCorr |
Pointer to the autocorrelation coefficients vector [11]. |
pValResultSineDtct |
Pointer to the sine detector input/output parameter. |
pResultResidualEnergy |
Pointer to the output residual energy, in Q15. |
pDstLPC |
Pointer to the output LP coefficients vector [10], in Q13. |
The function ippsLevinsonDurbin_G723 is declared in the ippsc.h file. This function calculates the 10th order LP coefficients from the autocorrelation coefficients using Levinson-Durbin algorithm. This function also performs sine detection.
To obtain LP coefficients ai, i = 1, 2, ..., 10, the following set of equations is to be solved:
k = 1,2,...,10 .
The function ippsLevinsonDurbin_G723performs the following steps:
1. Levinson-Durbin algorithm is applied to solve the above set of equations. This algorithm uses the recursion detailed in ippsLevinsonDurbin_G729 function.
2. If the LPC filter used in this algorithm is unstable, that is |ki| is very close to 1.0 during recursion, just set the remaining LP coefficients to zero.
3. The sine detector parameter is updated when i = 1 in the recursion, as follows:
SineDtct = SineDtct<<1.
If k > 0.95, then SineDtct = SineDtct + 1.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.