Allocates memory and initializes an adaptive multi-rate FIR filter that uses the least mean squares (LMS) algorithm.
IppStatus ippsFIRLMSMRInitAlloc32s_16s(IppsFIRLMSMRState32s_16s** ppState, const Ipp32s* pTaps, int tapsLen, const Ipp16s* pDlyLine, int dlyLineIndex, int dlyStep, int updateDly, int mu);
IppStatus ippsFIRLMSMRInitAlloc32sc_16sc(IppsFIRLMSMRState32sc_16sc** ppState, const Ipp32sc* pTaps, int tapsLen, const Ipp16sc* pDlyLine, int dlyLineIndex, int dlyStep, int updateDly, int mu);
pTaps |
Pointer to the array containing the tap values. The number of elements in the array is tapsLen. |
tapsLen |
Number of elements in the array containing the tap values. |
pDlyLine |
Pointer to the array holding the delay line values. The number of elements in the array is tapsLen*dlyStep + updateDly. |
dlyLineIndex |
Current index of the delay line. |
dlyStep |
Multi-rate down factor applied to delay line values. |
updateDly |
Value of adaptation delay in samples. |
mu |
Adaptation step. |
ppState |
Pointer to the pointer to the filter state structure. |
The function ippsFIRLMSMRInitAlloc is declared in the ipps.h file. This function allocates memory and initializes a multi-rate FIR LMS filter state. The function copies the filter coefficients from tapsLen-length array pTaps into the state structure ppState. The array pDlyLine specifies the delay line values. The structure is initialized by the downsampling factor over the delay line dlyStep, by the adaptation delay value updateDly, and by the adaptation step value mu. The function returns the pointer in the output parameter ppState and also the operation status value.
The function uses copies of the tap values during the filtering procedure. The initial values passed to the function may be obtained from the previous filtering procedure. If the pointer pTaps is NULL, then the filter coefficient values are set to zero.
Copies of the input samples are used in the filtering procedure. Values in the delay line represent data in the same format as the input data to be filtered. If the pointer pDlyLine is NULL, then the filter delay line values are set to zero.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when the ppState pointer is NULL. |
ippStsContextMatchErr |
Indicates an error when the state identifier is incorrect. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.