LPCToLSP_GSMAMR

Converts LP coefficients to line spectrum pairs.

Syntax

IppStatus ippsLPCToLSP_GSMAMR_16s(const Ipp16s* pSrcLpc, const Ipp16s* pSrcPrevLsp, Ipp16s* pDstLsp);

Parameters

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.

Description

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.

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.