Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

FIRMRInit

Initializes the context structure for multi-rate FIR filtering.

Syntax

Case 1: Operation on a signal that has the same data type as the coefficients

IppStatus ippsFIRMRInit_<mod>(const Ipp<dataType>* pTaps, int tapsLen, int upFactor, int upPhase, int downFactor, int downPhase, IppsFIRSpec_<dataType>* pSpec);

Supported values for mod:

32f

64f

32fc

64fc

Case 2: Operation on a signal that has a data type different from the data type of the coefficients

IppStatus ippsFIRMRInit32f_32fc(const Ipp32f* pTaps, int tapsLen, int upFactor, int upPhase, int downFactor, int downPhase, IppsFIRSpec32f_32fc* pSpec);

Include Files

ipps.h

Domain Dependencies

Headers: ippcore.h, ippvm.h

Libraries: ippcore.lib, ippvm.lib

Parameters

pTaps

Pointer to the array containing filter coefficients. The number of elements in the array is tapsLen.

tapsLen

Number of filter coefficients.

upFactor

Multi-rate upsampling factor.

upPhase

Phase for upsampled signal.

downFactor

Multi-rate downsampling factor.

downPhase

Phase for downsampled signal.

pSpec

Pointer to the internal FIR specification structure.

Description

This function initializes the multi-rate FIR filter specification structure in the external buffer. Before using this function, compute the size of the specification structure and the size of the work buffer using the FIRMRGetSize function.

The parameter upFactor is the factor by which the filtered signal is internally upsampled (see description of the function SampleUp for more details). That is, upFactor-1 zeros are inserted between each sample of the input signal.

The parameter upPhase is the parameter, which determines where a non-zero sample lies within the upFactor-length block of the upsampled input signal.

The parameter downFactor is the factor by which the FIR response obtained by filtering an upsampled input signal, is internally downsampled (see description of the function SampleDown for more details). That is, downFactor-1 output samples are discarded from each downFactor-length output block of the upsampled filter response.

ThedownPhase parameter determines where non-discarded sample lies within a block of upsampled filter response.

For an example on how to use this function, refer to the example provided with the FIRMR function description.

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 zero.

ippStsFIRMRFactorErr

Indicates an error when upFactor ordownFactor is less than, or equal to zero.

ippStsFIRMRPhaseErr

Indicates an error when upPhase/downPhase is negative, or greater than or equal to upFactor/downFactor.

See Also