Developer Reference

  • 2020
  • 10/21/2020
  • Public Content
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:
B
0
, B
1
, . . ., B
order
, A
0
, A
1
, . . ., A
order
A
0
≠ 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 A
0
is equal to zero.
ippStsIIROrderErr
Indicates an error when
order
is less than or equal to zero.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804