Allocates memory and initializes a single-rate FIR filter state.
Case 1: Operation on integer samples
IppStatus ippsFIRInitAlloc_16s(IppsFIRState_16s** ppState, const Ipp16s* pTaps, int tapsLen, int tapsFactor, const Ipp16s* pDlyLine);
IppStatus ippsFIRInitAlloc32s_16s(IppsFIRState32s_16s** ppState, const Ipp32s* pTaps, int tapsLen, int tapsFactor, const Ipp16s* pDlyLine);
IppStatus ippsFIRInitAlloc32s_16s32f(IppsFIRState32s_16s** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp16s* pDlyLine);
IppStatus ippsFIRInitAlloc32f_16s(IppsFIRState32f_16s** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp16s* pDlyLine);
IppStatus ippsFIRInitAlloc64f_16s(IppsFIRState64f_16s** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp16s* pDlyLine);
IppStatus ippsFIRInitAlloc_32s(IppsFIRState_32s** ppState, const Ipp32s* pTaps, int tapsLen, const Ipp32s* pDlyLine);
IppStatus ippsFIRInitAlloc64f_32s(IppsFIRState64f_32s** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp32s* pDlyLine);
IppStatus ippsFIRInitAlloc32sc_16sc(IppsFIRState32sc_16sc** ppState, const Ipp32sc* pTaps, int tapsLen, int tapsFactor, const Ipp16sc* pDlyLine);
IppStatus ippsFIRInitAlloc32sc_16sc32fc(IppsFIRState32sc_16sc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine);
IppStatus ippsFIRInitAlloc32fc_16sc(IppsFIRState32fc_16sc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine);
IppStatus ippsFIRInitAlloc64fc_16sc(IppsFIRState64fc_16sc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine);
IppStatus ippsFIRInitAlloc64fc_32sc(IppsFIRState64fc_32sc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp32sc* pDlyLine);
Case 2: Operation on floating point samples
IppStatus ippsFIRInitAlloc_32f(IppsFIRState_32f** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp32f* pDlyLine);
IppStatus ippsFIRInitAlloc64f_32f(IppsFIRState64f_32f** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp32f* pDlyLine);
IppStatus ippsFIRInitAlloc_64f(IppsFIRState_64f** ppState,const Ipp64f* pTaps, int tapsLen, const Ipp64f* pDlyLine);
IppStatus ippsFIRInitAlloc_32fc(IppsFIRState_32fc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp32fc* pDlyLine);
IppStatus ippsFIRInitAlloc64fc_32fc(IppsFIRState64fc_32fc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp32fc* pDlyLine);
IppStatus ippsFIRInitAlloc_64fc(IppsFIRState_64fc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp64fc* pDlyLine);
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. |
tapsFactor |
Scale factor for the taps. |
pDlyLine |
Pointer to the array containing the delay line values. The number of elements in the array is tapsLen. |
ppState |
Pointer to the pointer to the FIR state structure to be created. |
The function ippsFIRInitAlloc is declared in the ipps.h file. This function allocates memory and initializes a single-rate FIR filter state. The initialization function copies the tap values from the tapsLen-length array pTaps into the state structure ppState. To scale integer taps use the tapsFactor value. The array pDlyLine specifies the delay line values. If the pointer to the tapsLen-length array pDlyLine is not NULL, the array content is copied into the state structure ppState, otherwise the delay line values in the state structure are initialized to 0.
Note that the delay line length is different than that for direct FIR filters (where this length is doubled).
If the state is not created, the initialization function returns an error status.
ippStsNoErr |
Indicates no error. |
ippStsMemAllocErr |
Indicates an error when no memory is allocated. |
ippStsNullPtrErr |
Indicates an error when pTaps or ppState is NULL. |
ippStsFIRLenErr |
Indicates an error when tapsLen is less than or equal to 0. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.