GainQuant_G723

Implements MP-MLQ gain estimation and quantization.

Syntax

IppStatus ippsGainQuant_G723_16s (const Ipp16s* pImp, const Ipp16s* pSrc, Ipp16s* pDstLoc, Ipp16s* pDstAmp, Ipp32s* pMaxErr, Ipp16s* pGrid, Ipp16s* pAmp, int Np, int* isBest);

Parameters

pImp

Pointer to the input impulse response h vector [60].

pSrc

Pointer to the input target signal r vector [60].

pDstLoc

Pointer to the output pulse locations.

pDstAmp

Pointer to the output pulse amplitudes.

pMaxErr

Pointer to the input/output quantization error.

pGrid

Pointer to the output grid: 0 - if pulses are in even positions, 1 - if pulses are in odd positions.

pAmp

Pointer to the output index of maximum amplitude.

Np

Number of pulses: equal to 6 for even subframe, equal to 5 for odd subframe.

pIsBest

POinter to the quantization result. Set to 0, if no pulses are found with quantization error better (less) than the input error.

Description

The function ippsGainQuant_G723 is declared in the ippsc.h file. This function estimates the unknown parameters, G, {αk}, {mk}, k = 0,...,Np-1, that minimize the mean square of the error signal:



The estimation is done as follows.

First, cross correlation of the impulse response and the target vector is computed:



0 ≤ n ≤ 59

The estimated maximum gain is computed as:



and then is quantized by the logarithmic quantizer. The gain values selected around this quantized gain are then used to optimize the signs and locations of the pulses for both even and odd grids that yield the minimum mean square of the error signal.

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.