IIRSparseInit
IIRSparseInit
Initializes a sparse IIR filter structure.
Syntax
IppStatus ippsIIRSparseInit_32f(IppsIIRSparseState_32f**
ppState
, const Ipp32f*
pNZTaps
, const Ipp32s*
pNZTapPos
, int
nzTapsLen1
, int
nzTapsLen2
, const Ipp32f*
pDlyLine
, Ipp8u*
pBuf
);
Include Files
ipps.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
Libraries:
ippcore.lib
,
ippvm.lib
Parameters
- pNZTaps
- Pointer to the array containing the non-zero tap values.
- pNZTapPos
- Pointer to the array containing positions of the non-zero tap values. The number of elements in the array isnzTapsLen.
- nzTapsLen1,nzTapsLen2
- Pointer to the destination vector.
- pDlyLine
- Pointer to the array containing the delay line values.
- ppState
- Double pointer to the sparse IIR state structure.
- pBuf
- Pointer to the external buffer for the sparse IIR state structure.
Description
This function initializes a sparse IIR filter state structure
ppState
in the external buffer pBuf
. The size of this buffer must be computed previously by calling the function ippsIIRSparseGetStateSize
.The
(
-length array nzTapsLen1
+ nzTapsLen2
)pNZTaps
specifies the non-zero taps arranged in the array as follows:B
0
, B1
, . . ., BnzTapsLen1-1
, A0
, A1
, . . ., AnzTapsLen2-1.
The
(
-length array nzTapsLen1
+ nzTapsLen2
)pNZTapPos
specifies the non-zero tap positions arranged in the array as follows:BP
0
, BP1
, . . ., BPnzTapsLen1-1
, AP0
, AP1
, . . ., APnzTapsLen2-1,
AP0
≠ 0 The initialization function copies the values of filter coefficients from the array . If the pointer to the array
pNZTaps
containing non-zero taps and their positions from the array pNZTapPos
into the state structure ppState
. The array pDlyLine
contains the delay line values.The number of elements in this array is pNZTapPos
[nzTapsLen1
-1] + pNZTapPos
[nzTapsLen1
+ nzTapsLen2
- 1]pDlyLine
is not NULL
, the array contents is copied into the state structure ppState
, otherwise the delay line values in the state structure are initialized to 0.The values of must be equal to those specified in the function
nzTapsLen1
, nzTapsLen2
, pNZTapPos
[
nzTapsLen
-1]
, and pNZTapPos
[nzTapsLen1
+ nzTapsLen2
- 1]ippsIIRSparseGetStateSize
.Return Values
- ippStsNoErr
- Indicates no error.
- ippStsNullPtrErr
- Indicates an error when one of the specified pointers isNULL.
- ippStsIIROrderErr
- Indicates an error ifnzTapsLen1is less than or equal to 0, ornzTapsLen2is less than 0.
- ippStsSparseErr
- Indicates an error if positions of the non-zero taps are not in ascending order, or are negative or repetitive; orpNZTapPos[nzTapsLen1] is equal to 0.