IROne_Direct

Directly filters a single sample through the arbitrary IIR filter.

Syntax

IppStatus ippsIIROne_Direct_16s(Ipp16s src, Ipp16s* pDtsVal, const Ipp16s* pTaps, int order, Ipp32s* pDlyLine);

IppStatus ippsIIROne_Direct_16s_I(Ipp16s* pSrcDtsVal, const Ipp16s* pTaps, int order, Ipp32s* pDlyLine);

Parameters

src

Input sample.

pDstVal

Pointer to the output filtered sample.

pSrcDstVal

Pointer to the input and output sample for in-place operation.

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.

Description

The function ippsIIROne_Direct is declared in the ipps.h file. This function filters a single sample src (pSrcDstVal for in-place flavor) through an arbitrary order IIR filter and stores the result in pDstVal (pSrcDstVal). 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.

Return Values

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.

ippStsIIROrderErr

Indicates an error when order is less than or equal to 0.

ippStsScaleRangeErr

Indicates an error when A0 is less than 0.

ippStsContextMatchErr

Indicates an error when the state identifier is incorrect.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.