Converts LP coefficients to LSF coefficients.
IppStatus ippsLPCToLSF_G723_16s (const Ipp16s* pSrcLPC, const Ipp16s* pSrcPrevLSF, Ipp16s* pDstLSF);
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. |
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.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.