FIRSubbandCoeffUpdate_EC, FIRSubbandLowCoeffUpdate_EC

Updates the adaptive filter coefficients

Syntax

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);

Parameters

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.

Description

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.

Return Values

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.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.