Directly filters a source vector through the biquad IIR filter.
IppStatus ippsIIR_BiQuadDirect_16s(const Ipp16s* pSrc, Ipp16s* pDst, int len, const Ipp16s* pTaps, int numBq, Ipp32s* pDlyLine);
IppStatus ippsIIR_BiQuadDirect_16s_I(Ipp16s* pSrcDst, int len, const Ipp16s* pTaps, int numBq, 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 6*numBq for BQ filters. |
numBq |
Number of cascades of biquads. |
pDlyLine |
Pointer to the array containing the delay line values. The number of elements in the array is 2*numBq for BQ filters. |
The function ippsIIR_BiQuadDirect is declared in the ipps.h file. This function filters len elements in the source vector pSrc or pSrcDst through a biquad IIR filter and stores the result in pDst or pSrcDst, respectively. The number of cascades of biquads is defined by the numBq value. The 2*numBq-length array pDlyLine specifies the delay line values. The 6*numBq-length array pTaps specifies the taps arranged in the array as follows:
B0,0, B0,1, B0,2, A0,0, A0,1, A0,2; B1,0, B1,1, B1,2, A1,0, A1,1, A1,2; . . . AnumBq-1,2
Values An,0 ≥ 0, Bn,0 ≥ 0 hold the scale factors (and not divisors) for all the other taps of each section.
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 than or equal to 0. |
ippStsIIROrderErr |
Indicates an error when numBq is less than or equal to 0. |
ippStsScaleRangeErr |
Indicates an error when An,0 is less than 0. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.