Directly filters a source vector through the arbitrary IIR filter.
IppStatus ippsIIR_Direct_16s(const Ipp16s* pSrc, Ipp16s* pDst, int len, const Ipp16s* pTaps, int order, Ipp32s* pDlyLine);
IppStatus ippsIIR_Direct_16s_I(Ipp16s* pSrcDst, int len, const Ipp16s* pTaps, int order, Ipp32s* pDlyLine);
pSrc |
Pointer to the source vector. |
pDst |
Pointer to the destination vector. |
pSrcDst |
Pointer to the source and destination vector for the in-place operation. |
len |
Number of elements to be filtered. |
pTaps |
Pointer to the array containing the taps. The number of elements in the array is 2*( order+1). |
order |
Order of the arbitrary IIR filter. |
pDlyLine |
Pointer to the array containing the delay line values. The number of elements in the array is order. |
The function ippsIIR_Direct is declared in the ipps.h file. This function filters len elements of the source vector pSrc or pSrcDst through an arbitrary IIR filter and stores the results in pDst or pSrcDst, respectively. The filter order is defined by the order value which is equal to 0 for zero-order filters. The order-length array pDlyLine specifies the delay line values. The 2*(order + 1)-length array pTaps specifies the taps arranged in the array as follows:
B0, B1, . . ., Border, A0, A1, . . ., Aorder
The value A0 ≥ 0 holds the scale factor (and not a divisor) for all the other taps.
ippStsNoErr |
Indicates no error. |
ippStsMemAllocErr |
Indicates an error when no memory is allocated. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsSizeErr |
Indicates an error when len is less or equal to 0. |
ippStsIIROrderErr |
Indicates an error when order is less than or equal to 0. |
ippStsScaleRangeErr |
Indicates an error when A0 is less than 0. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.