LevinsonDurbin_G723

Calculates the LP coefficients from the autocorrelation coefficients.

Syntax

IppStatus ippsLevinsonDurbin_G723_16s(const Ipp16s* pSrcAutoCorr, Ipp16s* pValResultSineDtct, Ipp16s* pResultResidualEnergy, Ipp16s* pDstLPC);

Parameters

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.

Description

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.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when one of the specified pointers is NULL.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.