FIRInitAlloc

Allocates memory and initializes a single-rate FIR filter state.

Syntax

Case 1: Operation on integer samples

IppStatus ippsFIRInitAlloc_16s(IppsFIRState_16s** ppState, const Ipp16s* pTaps, int tapsLen, int tapsFactor, const Ipp16s* pDlyLine);

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

IppStatus ippsFIRInitAlloc32s_16s32f(IppsFIRState32s_16s** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp16s* pDlyLine);

IppStatus ippsFIRInitAlloc32f_16s(IppsFIRState32f_16s** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp16s* pDlyLine);

IppStatus ippsFIRInitAlloc64f_16s(IppsFIRState64f_16s** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp16s* pDlyLine);

IppStatus ippsFIRInitAlloc_32s(IppsFIRState_32s** ppState, const Ipp32s* pTaps, int tapsLen, const Ipp32s* pDlyLine);

IppStatus ippsFIRInitAlloc64f_32s(IppsFIRState64f_32s** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp32s* pDlyLine);

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

IppStatus ippsFIRInitAlloc32sc_16sc32fc(IppsFIRState32sc_16sc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine);

IppStatus ippsFIRInitAlloc32fc_16sc(IppsFIRState32fc_16sc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine);

IppStatus ippsFIRInitAlloc64fc_16sc(IppsFIRState64fc_16sc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp16sc* pDlyLine);

IppStatus ippsFIRInitAlloc64fc_32sc(IppsFIRState64fc_32sc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp32sc* pDlyLine);

Case 2: Operation on floating point samples

IppStatus ippsFIRInitAlloc_32f(IppsFIRState_32f** ppState, const Ipp32f* pTaps, int tapsLen, const Ipp32f* pDlyLine);

IppStatus ippsFIRInitAlloc64f_32f(IppsFIRState64f_32f** ppState, const Ipp64f* pTaps, int tapsLen, const Ipp32f* pDlyLine);

IppStatus ippsFIRInitAlloc_64f(IppsFIRState_64f** ppState,const Ipp64f* pTaps, int tapsLen, const Ipp64f* pDlyLine);

IppStatus ippsFIRInitAlloc_32fc(IppsFIRState_32fc** ppState, const Ipp32fc* pTaps, int tapsLen, const Ipp32fc* pDlyLine);

IppStatus ippsFIRInitAlloc64fc_32fc(IppsFIRState64fc_32fc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp32fc* pDlyLine);

IppStatus ippsFIRInitAlloc_64fc(IppsFIRState_64fc** ppState, const Ipp64fc* pTaps, int tapsLen, const Ipp64fc* pDlyLine);

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.

Description

The function ippsFIRInitAlloc is declared in the ipps.h file. This function allocates memory and initializes a single-rate FIR filter state. The initialization function copies the tap values from the tapsLen-length array pTaps into the state structure ppState. To scale integer taps use the tapsFactor value. The array pDlyLine specifies the delay line values. If the pointer to the tapsLen-length array pDlyLine is not NULL, the array content 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).

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

Return Values

ippStsNoErr

Indicates no error.

ippStsMemAllocErr

Indicates an error when no memory is allocated.

ippStsNullPtrErr

Indicates an error when pTaps or ppState 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.