FIR Filter Functions

The functions described in this section perform a finite impulse response (FIR) filtering of input data. The functions initialize different FIR filter structures, get and set the delay lines and filter coefficients (taps), and perform filtering. Intel IPP contains the functions that implement the FIR filters without the delay line - stream FIR filters.

To use the FIR filter functions, follow this general scheme:


  1. Call either ippsFIRInitAlloc or ippsFIRMRInitAlloc to allocate memory and initialize the taps and the delay line in the filter state structure of a single-rate or multi-rate filter, respectively. Or call either ippsFIRInit or ippsFIRMRInit to initialize the taps and the delay line in the corresponding filter state structure in the previously created external buffer. The size of this buffer must be computed beforehand by calling the functions ippsFIRGetStateSize or ippsFIRMRGetStateSize, respectively.
  2. Call ippsFIROne to filter a single sample through a single-rate filter, ippsFIR to filter a block of consecutive samples through a single-rate or multi-rate filter.
  3. To set new taps and delay line values in the previously initialized filter state, call the functions ippsFIRSetTaps and ippsFIRSetDlyLine. To get taps and delay line values of the initialized filter state, call the functions ippsFIRGetTaps and ippsFIRGetDlyLine.
  4. Call ippsFIRFree to free dynamic memory associated with the FIR filter state structure created by ippsFIRInitAlloc or ippsFIRMRInitAlloc.

Alternatively, you may use the direct version of the functions ippsFIROne_Direct, ippsFIR_Direct, ippsFIRMR_Direct. These functions perform filtering without initializing the filter state structure. All required parameters are directly set in the function.

Special set of functions allows to compute the filter coefficients for different filters.


Submit feedback on this help topic

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