FIRInit

Initializes a single-rate FIR filter state.

Syntax

Case 1: Operation on integer samples

IppStatus ippsFIRInit_16s(IppsFIRState_16s** ppState, const Ipp16s* pTaps, int tapsLen, int tapsFactor, const Ipp16s* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit32s_16s(IppsFIRState32s_16s** ppState, const Ipp32s* pTaps, int tapsLen, int tapsFactor, const Ipp16s* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit32s_16s32f(IppsFIRState32s_16s** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp16s* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit32f_16s(IppsFIRState32f_16s** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp16s* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit64f_16s(IppsFIRState64f_16s** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp16s* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit_32s(IppsFIRState_32s** ppState, const Ipp32s* pTaps, int tapsLen, const Ipp32s* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit64f_32s(IppsFIRState64f_32s** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp32s* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit32sc_16sc(IppsFIRState32sc_16sc** ppState, const Ipp32sc* pTaps, int tapsLen, int tapsFactor, const Ipp16sc* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit32sc_16sc32fc(IppsFIRState32sc_16sc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit32fc_16sc(IppsFIRState32fc_16sc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit64fc_16sc(IppsFIRState64fc_16sc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit64fc_32sc(IppsFIRState64fc_32sc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp32sc* pDlyLine, Ipp8u* pBuffer);

Case 2: Operation on floating point samples

IppStatus ippsFIRInit_32f(IppsFIRState_32f** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp32f* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit64f_32f(IppsFIRState64f_32f** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp32f* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit_64f(IppsFIRState_64f** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp64f* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit_32fc(IppsFIRState_32fc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp32fc* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit64fc_32fc(IppsFIRState64fc_32fc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp32fc* pDlyLine, Ipp8u* pBuffer);

IppStatus ippsFIRInit_64fc(IppsFIRState_64fc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp64fc* pDlyLine, Ipp8u* pBuffer);

Parameters

pTaps

Pointer to the array containing the tap values. The number of elements in the array is tapsLen.

tapsLen

Number of elements in the array containing the tap values.

tapsFactor

Scale factor for the taps.

pDlyLine

Pointer to the array containing the delay line values. The number of elements in the array is tapsLen.

ppState

Pointer to the pointer to the FIR state structure to be created.

pBuffer

Pointer to the external buffer for FIR state structure.

Description

The function ippsFIRInit is declared in the ipps.h file. This function initializes a single-rate FIR filter state structure in the external buffer. The size of this buffer must be computed previously by calling the functions ippsFIRGetStateSize. The initialization function copies the taps from the tapsLen-length array pTaps into the state structure ppState of a single-rate filter. To scale integer taps, use the tapsFactor value. The tapsLen-length array pDlyLine specifies the delay line values. If the pointer to the array 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.

Note that the delay line length is different than that for direct FIR filters (where this length is doubled).

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

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

ippStsFIRLenErr

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

Submit feedback on this help topic

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