Intel® Integrated Performance Primitives Developer Guide and Reference

ID 790148
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

IIRIIRInit

Initializes the IIRIIR filter state structure.

Syntax

IppStatus ippsIIRIIRInit_32f(IppsIIRState_32f** ppState, const Ipp32f* pTaps, int order, const Ipp32f* pDlyLine, Ipp8u* pBuf);

IppStatus ippsIIRIIRInit64f_32f(IppsIIRState64f_32f** ppState, const Ipp64f* pTaps, int order, const Ipp64f* pDlyLine, Ipp8u* pBuf);

IppStatus ippsIIRIIRInit_64f(IppsIIRState_64f** ppState, const Ipp64f* pTaps, int order, const Ipp64f* pDlyLine, Ipp8u* pBuf);

Include Files

ipps.h

Domain Dependencies

Headers: ippcore.h, ippvm.h

Libraries: ippcore.lib, ippvm.lib

Parameters

pTaps

Pointer to the array containing the taps. The number of elements in the array is 2*(order+1).

order

Order of the IIRIIR filter.

pDlyLine

Pointer to the array containing the delay line values. The number of elements in the array is order. If IIRIIRInit is called with pDlyLine==NULL, then it automatically forms the delay line that minimizes the start-up and ending transients. The line is formed by matching the initial conditions to remove the DC offset at the beginning and the end of the input vector.

ppState

Pointer to the pointer to the arbitrary IIRIIR state structure to be created.

pBuf

Pointer to the external buffer.

Description

This function initializes the arbitrary IIRIIR filter state structure in the external buffer. Before using the IIRIIRInit function, compute the size of the external buffer by calling the IIRIIRGetStateSize function. The initialization functions copy the taps from the pTaps array into the pState structure . The order-length array pDlyLine specifies the delay line values. If the pDlyLine pointer to the array is not NULL, the array content is copied into the context structure, otherwise the delay values of the state structure are set to values that minimize the start-up and ending transients. These values are obtained by matching the initial conditions to remove the DC offset at the beginning and the end of the input vector.

The filter order is defined by the order value which is equal to 0 for zero-order filters. The 2*( order + 1)-length array pTaps specifies the taps arranged in the array as follows:

B0, B1, . . ., Border, A0, A1, . . ., Aorder

A0 ≠ 0

If the state structure is not created, the initialization function returns an error status.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when one of the specified pointers is NULL.

ippStsDivByZeroErr

Indicates an error when A0 is equal to zero.

ippStsIIROrderErr

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

See Also