Calculates LP coefficients from the autocorrelation coefficients.
IppStatus ippsLevinsonDurbin_G728_16s_Sfs(const Ipp16s* pSrcAutoCorr, int order, Ipp16s* pDstLPC, Ipp16s* pDstResidualEnergy, Ipp16s* pDstScaleFactor);
IppStatus ippsLevinsonDurbin_G728_16s_ISfs(const Ipp16s* pSrcAutoCorr, int numSrcLPC, int order, Ipp16s* pSrcDstLPC, Ipp16s* pSrcDstResidualEnergy, Ipp16s* pSrcDstScaleFactor);
pSrcAutoCorr |
Pointer to the input autocorrelation coefficients vector [order+1]. |
order |
The input number of LP coefficients to calculate. |
numSrcLPC |
The input number of pre-calculated LPCs. |
pDstLPC |
Pointer to the output LPC vector [ order]. |
pSrcDstLPC |
Pointer to the input/output LPC vector [order]. |
pDstResidualEnergy |
Pointer to the output residual energy. |
pSrcDstResidualEnergy |
Pointer to the input/output residual energy of the pre-calculated LPC. |
pDstScaleFactor |
Pointer to the output scale factor of the LPC vector. |
pSrcDstScaleFactor |
Pointer to the input scale factor of the pre-calculated LPC and the output scale factor of the output LPC vector. |
The function ippsLevinsonDurbin_G728 is declared in ippsc.h file.
ippsLevinsonDurbin_G728_16s_Sfs. This function may be used to calculate Linear Prediction (LP) coefficients by solving the following set of linear equations:
where ai, i = 0,1,...,order-1 are the LP coefficients to be calculated and stored in the output LPC vector. The description of the Levinson-Durbin algorithm used by this function may be found in the description of the function ippsLevinsonDurbin_G729.
Both ippsLevinsonDurbin_G728 and ippsLevinsonDurbin_G729B calculate mathematically the same, but not bit exact LPCs. The difference is that the ippsLevinsonDurbin_G729B function outputs LPCs in Q12, while the ippsLevinsonDurbin_G728 function automatically rescales the LPCs if overflow occurs.
ippsLevinsonDurbin_G728_16s_Isfs. This function may be used to continue Levinson-Durbin recursion for bigger order. The LPCs, their scale factor and the residual energy of the previous recursion and the additional autocorrelation coefficients are used to resume recursion.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointer is NULL. |
ippStsRangeErr |
Indicates an error when order is less than or equal to 0, or when order < numSrcLPC for the in-place function. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.