Searches the MP-MLQ fixed codebook for the excitation.
ppStatus ippsMPMLQFixedCodebookSearch_G723(Ipp16s valBaseDelay, const Ipp16s* pSrcImpulseResponse, const Ipp16s* pSrcResidualTarget, Ipp16s* pDstFixedVector, Ipp16s* pResultGrid, Ipp16s* pResultTrainDirac, Ipp16s* pResultAmpIndex, Ipp16s* pResultAmplitude, Ipp32s* pResultPosition, Ipp16s subFrame);
valBaseDelay |
Base delay, in the range [18,145]. |
pSrcImpulseResponse |
Pointer to the impulse response vector [60]. |
pSrcResidualTarget |
Pointer to the residual target signal vector [60]. |
pDstFixedVector |
Pointer to the fixed codebook vector [60]. |
pResultGrid |
Pointer to the beginning grid location, 0 or 1. |
pResultTrainDirac |
Pointer to the flag to show if train Dirac function is used: 0-unused, 1-used. |
pResultAmpIndex |
Pointer to the index of the quantized amplitude. |
pResultAmplitude |
Pointer to the amplitude of the fixed codebook vector. |
pResultPosition |
Pointer to the position of the fixed codebook vector, whose amplitude has non-zero value. |
subFrame |
Subframe number, from 0 to 3. |
The function ippsMPMLQFixedCodebookSearch_G723 is declared in the ippsc.h file. This function searches the MP-MLQ fixed codebook for the excitation in the 6.3Kbps encoder. It is applied in subframes as follows: 1. The error is obtained by the following calculation:
where G is the gain factor, αk and mk are the signs and positions of the fixed vector, respectively.
2. Search for the parameters G, αk and mk that minimize the mean square of the error signal err(n).
3. The fixed codebook gain is obtained using the following formulas:
where c(n ) is the fixed vector.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsRangeErr |
Indicates an error when subFrame is not one of 0, 1, 2, or 3; or when valBaseDelay is not in the range [18,145]. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.