LPCToLSF_G723

Converts LP coefficients to LSF coefficients.

Syntax

IppStatus ippsLPCToLSF_G723_16s (const Ipp16s* pSrcLPC, const Ipp16s* pSrcPrevLSF, Ipp16s* pDstLSF);

Parameters

pSrcLPC

Pointer to the LPC input vector [10]: a 1,...,a 10 in Q13.

pSrcPrevLSF

Pointer to the previous normalized LSF coefficients vector [10], in Q15.

pDstLSF

Pointer to the normalized LSF coefficients vector [10], in Q15.

Description

The function ippsLPCToLSF_G723 is declared in the ippsc.h file. This function converts a set of 10th order LP coefficients to LSF coefficients by implementing the following operations:

1. Apply the 7.5Hz bandwidth expansion.

2. Calculate the polynomial coefficients of F1(z) and F2(z), using the following recursion:

f1(i+1) = ai+1 + a10-i - f1(i+1),

f2(i+1) = ai+1 + a10-i - f2(i+1)

i = 0...4 ,

where f1(0) = f2(0) =1.0

3. Use Chebyshev polynomials to find the roots of F1(z) and F2(z), and obtain the LSF coefficients:

c1(ω) = cos (5ω) + f1(1) cos (4ω) + f1(2) cos (3ω) + f1(3) cos (2ω) + f1(4) cos (ω) + f1(5) / 2

c2(ω) = cos (5ω) + f2(1) cos (4ω) + f2(2) cos (3ω) + f2(3) cos (2ω) + f2(4) cos (ω) + f2(5) / 2

4. If all 10 roots needed to determine LSF coefficients are not found, use the set of previous LSF coefficients.

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.