Developer Reference for Intel® Integrated Performance Primitives 2019
Filters a source vector through an IIRIIR filter.
Case 1: Not-in-place operation
IppStatus ippsIIRIIR_32f(const Ipp32f* pSrc, Ipp32f* pDst, int len, IppsIIRState_32f* pState);
IppStatus ippsIIRIIR_64f(const Ipp64f* pSrc, Ipp64f* pDst, int len, IppsIIRState_64f* pState);
IppStatus ippsIIRIIR64f_32f(const Ipp32f* pSrc, Ipp32f* pDst, int len, IppsIIRState64f_32f* pState);
Case 2: In-place operation
IppStatus ippsIIRIIR_32f_I(Ipp32f* pSrcDst, int len, IppsIIRState_32f* pState);
IppStatus ippsIIRIIR_64f_I(Ipp64f* pSrcDst, int len, IppsIIRState_64f* pState);
IppStatus ippsIIRIIR64f_32f_I(Ipp32f* pSrcDst, int len, IppsIIRState64f_32f* pState);
ipps.h
Headers: ippcore.h, ippvm.h
Libraries: ippcore.lib, ippvm.lib
pState |
Pointer to the IIRIIR filter state structure. |
pSrc |
Pointer to the source vector. |
pDst |
Pointer to the destination vector. |
pSrcDst |
Pointer to the source and destination vector for the in-place operations. |
len |
Number of elements of the vector to be filtered. |
This function filters len elements of the source vector pSrc or pSrcDst through an IIRIIR filter, and stores the results in pDst or pSrcDst, respectively. The filter parameters are specified in pState.
Before calling the ippsIIRIIR function, initialize the filter state structure by using the IIRIIRInit function and specify the number of taps tapsLen, the tap values in pTaps, the delay line values in pDlyLine, and the order value.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsLengthErr |
Indicates an error when length of the vectors < 3*(IIR order). |
ippStsContextMatchErr |
Indicates an error when the state identifier is incorrect. |
The figure below shows the result of the example, where the X-axis is index of the input/output vector/signal to see that there is no phase distortion, Y-axis - amplitude of input/output signals.