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 F_{1}(z) and F_{2}(z)
using the recursive relations

`f`_{1}(`i`+1) =
`a`_{i+1 } +
`a`_{i-1}
- `f`_{1}(`i`),

`
f_{2}(i+1) =
a_{i+1 } +
a_{i-1}
+ f_{1}(i)
`

i = 0...4 ,

where
`f`_{1}(0)
= `f`_{2}(0)
=1.0

Use Chebyshev polynomials to evaluate
F_{1}(z)
and F_{2}(z)
. The Chebyshev polynomials are given
by the following formulas:

`c`_{1}(ω) = cos (5ω) + `f`_{1}(1)
cos (4ω) + `f`_{1}(2)
cos (3ω)
+ `f`_{1}(3)
cos (2ω)
+ `f`_{1}(4)
cos (ω) +
`f`_{1}(5) / 2

`c`_{2}(ω) = cos (5ω) + `f`_{2}(1)
cos (4ω) + `f`_{2}(2)
cos (3ω)
+ `f`_{2}(3)
cos (2ω)
+ `f`_{2}(4)
cos (ω) +
`f`_{2}(5) / 2

Evaluate F_{1}(z)
and F_{2}(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.