Updates the adaptive filter coefficients
IppStatus ippsFIRSubbandCoeffUpdate_EC_32fc_I(const double* pSrcStepSize, const Ipp32fc** ppSrcFilterInput, const Ipp32fc* pSrcError, Ipp32fc** ppSrcDstCoefs, int numSegments, int len);
IppStatus ippsFIRSubbandCoeffUpdate_EC_32sc_I(const Ipp32s_EC_Sfs* pSrcStepSize, const Ipp32sc** ppSrcFilterInput, const Ipp32sc* pSrcError, Ipp32sc** ppSrcDstCoefsQ15, int numSegments, int len, int scaleFactorCoef);
IppStatus ippsFIRSubbandLowCoeffUpdate_EC_32sc_I(const Ipp32sc** ppSrcFilterInput, const Ipp32sc* pSrcError, Ipp32sc** ppSrcDstCoefsQ15, int numSegments, Ipp32sc* pDstProdStepErrQ, const Ipp32s_EC_Sfs* pSrcAdaptStepSize, int startSubband, int numSubbands, int scaleFactorCoef);
pSrcStepSize, pSrcAdaptStepSize |
Pointer to the adaptive filter step size vector of size len or numSubbands. For the integer functions step size vector elements are represented as a scaled integer values where variable x of type Ipp32s_EC_Sfs corresponds to the floating point value x.val*2^x.sf. |
ppSrcFilterInput |
Pointer to the array of pointers to the most recent input blocks (for example, Xn, Xn-1, ..., Xn-L+1). These are the complex-valued vectors that contain the FFT of the input signal. The dimension of ppSrcFilterInput is [numSegments]*[len] or [numSegments]*[ numSubbands]. |
pSrcError |
Pointer to the complex-valued vector containing the filter error. Its dimension is [len] or [numSubbands]. |
ppSrcDstCoefs, ppSrcDstCoefsQ15 |
Pointer to the array of pointers to the filter coefficient vectors. They are the complex-valued vectors containing the filter coefficients. The dimension of ppSrcDstCoefs is [numSegments]*[ len] or [numSegments]*[numSubbands]. |
startSubband |
Number of subbands to skip before filtering (0 ≤ startSubband < numSubbands). |
numSegments |
Number of filter segments (L) (0 < numSegments < 256). |
len, numSubbands |
Number of adaptive filter subbands and length of the input and output vectors. |
scaleFactorCoef |
Fixed scale factor for filter coefficients (0 < scaleFactorCoef < 32). |
pDstProdStepErrQ |
Pointer to the output vector of filter error and step size product. |
The functions ippsFIRSubbandCoeffUpdate_EC and ippsFIRSubbandLowCoeffUpdate_EC are declared in the ippsc.h file. These functions update the adaptive filter coefficients according to the given step size and filter error independently in each frequency subband.
The function ippsFIRSubbandLowCoeffUpdate_EC_32sc_I computes the product between step size, error and coefficients without 64-bit integer overflow check. For startSubband=0, if no overflow occurs this function is equivalent to ippsFIRSubbandCoeffUpdate_EC_32sc_I with len equal to numSubbands.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsLengthErr |
Indicates an error when len has an illegal value. |
ippStsRangeErr |
Indicates an error when pSrcStepSize[i]< 0, or when numSegments or scaleFactorCoef is out of the specified range. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.