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

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

FFTInit_R, FFTInit_C

Initializes the FFT specification structure for real and complex signals.

Syntax

Case 1: Operation on real signal

IppStatus ippsFFTInit_R_32f(IppsFFTSpec_R_32f** ppFFTSpec, int order, int flag, IppHintAlgorithm hint, Ipp8u* pSpec, Ipp8u* pSpecBuffer);

IppStatus ippsFFTInit_R_64f(IppsFFTSpec_R_64f** ppFFTSpec, int order, int flag, IppHintAlgorithm hint, Ipp8u* pSpec, Ipp8u* pSpecBuffer);

Case 2: Operation on complex signal

IppStatus ippsFFTInit_C_32f(IppsFFTSpec_C_32f** ppFFTSpec, int order, int flag, IppHintAlgorithm hint, Ipp8u* pSpec, Ipp8u* pSpecBuffer);

IppStatus ippsFFTInit_C_64f(IppsFFTSpec_C_64f** ppFFTSpec, int order, int flag, IppHintAlgorithm hint, Ipp8u* pSpec, Ipp8u* pSpecBuffer);

IppStatus ippsFFTInit_C_32fc(IppsFFTSpec_C_32fc** ppFFTSpec, int order, int flag, IppHintAlgorithm hint, Ipp8u* pSpec, Ipp8u* pSpecBuffer);

IppStatus ippsFFTInit_C_64fc(IppsFFTSpec_C_64fc** ppFFTSpec, int order, int flag, IppHintAlgorithm hint, Ipp8u* pSpec, Ipp8u* pSpecBuffer);

Include Files

ipps.h

Domain Dependencies

Headers: ippcore.h, ippvm.h

Libraries: ippcore.lib, ippvm.lib

Parameters

order

FFT order. The input signal length is N= 2order.

flag

Specifies the result normalization method. The values for the flag argument are described in the section Flag and Hint Arguments.

hint

This parameter is deprecated. Set the value to ippAlgHintNone.

ppFFTSpec

Double pointer to the FFT specification structure to be created.

pSpec

Pointer to the area for the FFT specification structure.

pSpecBuffer

Pointer to the work buffer.

Description

These functions initialize the FFT specification structure ppFFTSpec with the following parameters:

  • the transform order. This parameter defines the transform length. Input and output signals are arrays of 2 order length.

  • the normalization flag

  • the specific code hint

Before calling these functions, you need to compute the size of the specification structure and the work buffer (if it is required) using the ippsFFTGetSize_R and ippsFFTGetSize_C functions.

If pSpecBufferSize returned by the ippsFFTGetSize function is equal to zero, the parameter pSpecBuffer can be NULL.

The suffix after the function name indicates the flavors of the FFT functions: ippsFFTInit_C is for complex flavors and ippsFFTInit_R is for real flavors.

Application Notes

The maximum values for signal length are:

Function Flavor Max Length
C_32fc 268435456 (2^28)
C_64fc 67108864 (2^27)

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

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

ippStsFftOrderErr

Indicates an error when the order value is incorrect.

ippStsFftFlagErr

Indicates an error when the flag value is incorrect.

See Also