The functions described in this section compute the forward and inverse discrete Fourier transform of real and complex signals. The DFT is less efficient than the fast Fourier transform, however the length of the vector transformed by the DFT can be arbitrary.
argument, passed to the initialization functions, suggests using special algorithm, faster or more accurate. The
argument specifies the result normalization method. The complex signal can be represented as a single array containing complex elements, or two separate arrays containing real and imaginary parts. The output result of the FFT can be packed in
To use the DFT functions, you should initialize the specification structure which contains such data as tables of twiddle factors. Use the
functions and allocate memory for the structure beforehand.
You can speed up the DFT by using an external buffer. The use of external buffer can improve performance by avoiding allocation and deallocation of internal buffers and storing data in cache. The size of the external buffer is returned by the
For more information about the fast computation of the discrete Fourier transform, see [Mit93], section 8-2,
Fast Computation of the DFT
A special set of Intel IPP functions provides the so called “out-of-order” DFT of the complex signal. In this case, the elements in frequency domain for both forward and inverse transforms can be re-ordered to speed-up the computation of the transforms. This re-ordering is hidden from the user and can be different in different implementations of the functions. However, reversibility of each pair of functions for forward/inverse transforms is ensured.