Converts LP coefficients to line spectrum pairs.
IppStatus ippsLPCToLSP_GSMAMR_16s(const Ipp16s* pSrcLpc, const Ipp16s* pSrcPrevLsp, Ipp16s* pDstLsp);
pSrcLpc |
Pointer to the LP coefficient vector, represented using Q3.12. The LP coefficient vector has 11 elements. |
pSrcPrevLsp |
Pointer to the LSP coefficient vector associated with the previous frame, represented using Q0.15. The LSP coefficient vector has ten elements. |
pDstLsp |
Pointer to the LSP coefficient vector, represented using Q0.15. The LSP coefficient vector has ten elements. |
The function ippsLPCToLSP_GSMAMR is declared in ippsc.h file. This function converts a set of 10th-order LP coefficients to an equivalent set of line spectrum pairs (LSPs). The functionality is as follows:
Calculate the polynomial coefficients of F1(z) and F2(z) using the recursive relations
f1(i+1) = ai+1 + ai-1 - f1(i),
f2(i+1) = ai+1 + ai-1 + f1(i)
i = 0...4 ,
where f1(0) = f2(0) =1.0
Use Chebyshev polynomials to evaluate F1(z) and F2(z) . The Chebyshev polynomials are given by the following formulas:
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
Evaluate F1(z) and F2(z) on 60 points equally spaced between 0 and π, checking for sign changes. A sign change indicates the existence of a root and the sign change interval is then divided 4 times to track the root.
If 10 roots for LSP coefficients are not found during the search, the previous set of LSPs is used.
ippStsNoErr |
Indicates no error. |
IppStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.