Fourier Transforms
Intel IPP functions that compute FFT and DFT can process both real and complex images. Function flavors operating on real data are distinguished by R suffix present in function-specific modifier of their full name, whereas complex flavors' names include C suffix (see Function Naming).
The results of computing the Fourier transform can be normalized by specifying the appropriate value of
flag
argument for context initialization. This parameter sets up a pair of matched normalization factors to be used in forward and inverse transforms as listed in the following table:Value of flag Argument | Normalization Factors | |
---|---|---|
Forward Transform | Inverse Transform | |
IPP_FFT_DIV_FWD_BY_N | 1/MN | 1 |
IPP_FFT_DIV_INV_BY_N | 1 | 1/MN |
IPP_FFT_DIV_BY_SQRTN | 1/sqrt(MN) | 1/sqrt(MN) |
IPP_FFT_NODIV_BY_ANY | 1 | 1 |
In this table,
N
and M
denote the length of Fourier transform in the x- and y-directions, respectively (or, equivalently, the number of columns and rows in the 2D array being transformed). For the FFT, these lengths must be integer powers of 2, that is , , where power exponentsare known as order of FFT.
N=2
orderX
M=2
orderY
For the DFT,
N
and M
can take on arbitrary integer non-negative values.