ArrayFire: fft2 (original) (raw)

Fast Fourier Transform. More...

Functions
AFAPI array fft2Norm (const array &in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0)
C++ Interface for fast fourier transform on two dimensional signals. More...
AFAPI void fft2InPlace (array &in, const double norm_factor=1.0)
C++ Interface for fast fourier transform on two dimensional signals. More...
AFAPI array fft2 (const array &in, const dim_t odim0=0, const dim_t odim1=0)
C++ Interface for fast fourier transform on two dimensional signals. More...
AFAPI af_err af_fft2 (af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1)
C Interface for fast fourier transform on two dimensional signals. More...
AFAPI af_err af_fft2_inplace (af_array in, const double norm_factor)
C Interface for fast fourier transform on two dimensional signals. More...

Fast Fourier Transform.

The Fast Fourier Transform (FFT) is an efficient algorithm to compute the discrete Fourier transform (DFT) of a signal or array. This is most commonly used to convert data in the time (or space) domain to the frequency domain, Then, the inverse FFT (iFFT) is used to return the data to the original domain.

There are numerous algorithms to compute the FFT of an array, and the specifics of the algorithm depend on the target hardware. Most algorithms, however, use a Cooley-Tukey scheme in a divide-and-conquer approach.

Note

There are some convenience functions provided for fft where normalization factor is not required as input paramter. In such cases, the normalization factor is calculated internally based on the input data provided.

af_fft2()

C Interface for fast fourier transform on two dimensional signals.

Parameters

[out] out is the transformed array
[in] in is the input array
[in] norm_factor is the normalization factor with which the input is scaled after the transformation is applied
[in] odim0 is the length of output signals along first dimension - used to either truncate/pad the input
[in] odim1 is the length of output signals along second dimension - used to either truncate/pad the input

Returns

AF_SUCCESS if the fft transform is successful, otherwise an appropriate error code is returned.

af_fft2_inplace()

C Interface for fast fourier transform on two dimensional signals.

Parameters

[in,out] in is the input array on entry and the output of 2D forward fourier transform on exit
[in] norm_factor is the normalization factor with which the input is scaled after the transformation is applied

Returns

AF_SUCCESS if the fft transform is successful, otherwise an appropriate error code is returned.

Note

The input in must be a complex array

C++ Interface for fast fourier transform on two dimensional signals.

This version of fft function uses a default norm_factor parameter that is calculated internally based on the input signals.

Parameters

[in] in is the input array
[in] odim0 is the length of output signals along first dimension - used to either truncate/pad the input
[in] odim1 is the length of output signals along second dimension - used to either truncate/pad the input

Returns

the transformed array

fft2InPlace()

AFAPI void fft2InPlace ( array & in,
const double norm_factor = 1.0
)

C++ Interface for fast fourier transform on two dimensional signals.

Parameters

[in,out] in is the input array on entry and the output of 2D forward fourier transform on exit
[in] norm_factor is the normalization factor with which the input is scaled after the transformation is applied

Note

The input in must be complex

fft2Norm()

C++ Interface for fast fourier transform on two dimensional signals.

Parameters

[in] in is the input array
[in] norm_factor is the normalization factor with which the input is scaled after the transformation is applied
[in] odim0 is the length of output signals along first dimension - used to either truncate/pad the input
[in] odim1 is the length of output signals along second dimension - used to either truncate/pad the input

Returns

the transformed array