Performs ISP to LP coefficients conversion.
IppStatus ippsISPToLPC_AMRWB_16s(const Ipp16s* pSrcIsp, Ipp16s* pDstLpc, int len);
pSrcIsp |
Pointer to the input immittance spectral pairs. |
pDstLpc |
Pointer to the output predictor coefficients. |
len |
Number of ISP and LPC. |
This function is declared in ippsc.h file. The function performs the following steps:
1. Calculates the polynomial coefficients of F1(z) and F2(z) , using the recursive relations from i equal to 2 to len/2 by formulas
f1(i) = 2q2i-2 * f1(i-1) + 2f1(i-2)
for j=i-1 .. 2
f1(j) = f1(j) - 2q2i-2 * f1(j-1) + 2f1(j-2) end
f1(1) = f1(1) - 2q2i-2
with initial values f1(0) = 1 and f1(1) = -2q0.
The coefficients f2(i) are computed similarly by replacing q2i-2 by q2i-1 and len/2 by len/2-1, and with initial conditions f2(0) = 1 and f2(1) = -2q1.
2. Once the coefficients f1(z) and f2(z) are found, F2(z) is multiplied by 1-z-2 to obtain F'2(z) , that is
f'2(i) = f2(i) - f2(i-2), for i = 2, ..., len /2 - 1;
f'1(i) = f1(i) , for i = 0, ..., len /2.
Then F'1(z) and F'2(z) are multiplied by 1+qlen -1 and 1- qlen -1, respectively.
3. Finally, the function computes the LP coefficients from f'1(i) and f'2(i) as:
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
IppStsSizeErr |
Indicates an error when len is less than or equal to zero, or when len is greater than 20. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.