Initializes a single-rate FIR filter state.
Case 1: Operation on integer samples
IppStatus ippsFIRInit_16s(IppsFIRState_16s** ppState, const Ipp16s* pTaps, int tapsLen, int tapsFactor, const Ipp16s* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit32s_16s(IppsFIRState32s_16s** ppState, const Ipp32s* pTaps, int tapsLen, int tapsFactor, const Ipp16s* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit32s_16s32f(IppsFIRState32s_16s** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp16s* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit32f_16s(IppsFIRState32f_16s** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp16s* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit64f_16s(IppsFIRState64f_16s** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp16s* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit_32s(IppsFIRState_32s** ppState, const Ipp32s* pTaps, int tapsLen, const Ipp32s* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit64f_32s(IppsFIRState64f_32s** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp32s* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit32sc_16sc(IppsFIRState32sc_16sc** ppState, const Ipp32sc* pTaps, int tapsLen, int tapsFactor, const Ipp16sc* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit32sc_16sc32fc(IppsFIRState32sc_16sc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit32fc_16sc(IppsFIRState32fc_16sc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit64fc_16sc(IppsFIRState64fc_16sc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit64fc_32sc(IppsFIRState64fc_32sc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp32sc* pDlyLine, Ipp8u* pBuffer);
Case 2: Operation on floating point samples
IppStatus ippsFIRInit_32f(IppsFIRState_32f** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp32f* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit64f_32f(IppsFIRState64f_32f** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp32f* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit_64f(IppsFIRState_64f** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp64f* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit_32fc(IppsFIRState_32fc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp32fc* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit64fc_32fc(IppsFIRState64fc_32fc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp32fc* pDlyLine, Ipp8u* pBuffer);
IppStatus ippsFIRInit_64fc(IppsFIRState_64fc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp64fc* pDlyLine, Ipp8u* pBuffer);
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. |
pBuffer |
Pointer to the external buffer for FIR state structure. |
The function ippsFIRInit is declared in the ipps.h file. This function initializes a single-rate FIR filter state structure in the external buffer. The size of this buffer must be computed previously by calling the functions ippsFIRGetStateSize. The initialization function copies the taps from the tapsLen-length array pTaps into the state structure ppState of a single-rate filter. To scale integer taps, use the tapsFactor value. The tapsLen-length array pDlyLine specifies the delay line values. If the pointer to the array pDlyLine is not NULL, the array contents 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).
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsFIRLenErr |
Indicates an error when tapsLen is less than or equal to 0. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.