FIRSparseInit

Initializes a sparse FIR filter structure.

Syntax

IppStatus ippsFIRSparseInit_32f(IppsFIRSparseState_32f** ppState, const Ipp32f* pNZTaps, const Ipp32s* pNZTapPos, int nzTapsLen, const Ipp32f* pDlyLine, Ipp8u* pBuffer);

Parameters

pNZTaps

Pointer to the array containing the non-zero tap values. The number of elements in the array is nzTapsLen.

pNZTapPos

Pointer to the array containing positions of the non-zero tap values. The number of elements in the array is nzTapsLen.

nzTapsLen

Number of elements in the array with non-zero tap values.

pDlyLine

Pointer to the array containing the delay line values.

ppState

Double pointer to the sparse FIR state structure.

pBuffer

Pointer to the external buffer for the sparse FIR state structure.

Description

The functions ippsFIRSparseInit is declared in the ipps.h file. This function initializes a sparse FIR filter state structure ppState in the external buffer pBuffer. The size of this buffer must be computed previously by calling the function FIRSparseGetStateSize. The initialization function copies the values of filter coefficients from the array pNZTaps containing nzTapsLen non-zero taps and their positions from the array pNZTapPos into the state structure ppState. The array pDlyLine specifies the delay line values. The number of elements in this array is pNZTapPos[nzTapsLen -1]. If the pointer to the array pDlyLine is not NULL, the array contents are copied into the state structure ppState, otherwise the delay line values in the state structure are initialized to 0.

Caution iconCaution

The values of nzTapsLen and pNZTapPos[nzTapsLen -1] must be equal to those specified in the function FIRSparseGetStateSize.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error if one of the pointers ppState, pNZTaps, pNZTapPos, or pBuffer is NULL.

ippStsFIRLenErr

Indicates an error if nxTapsLen is less than or equal to 0.

ippStsSparseErr

Indicates an error if positions of the non-zero taps are not in ascending order, or are negative or repetitive.

Submit feedback on this help topic

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