Documentation
|
|
C++ interface for Fast Fourier Transform. More...
| array | fft (const array &, int pad=-1) |
| Fast Fourier Transform in one dimension. More... | |
| array | fft2 (const array &, int nx=-1, int ny=-1) |
| Fast Fourier Transform in two dimensions. More... | |
| array | fft3 (const array &, const dim4 &dims=dim4(0)) |
| Fast Fourier Transform in three dimensions. More... | |
Inverse Fast Fourier Transform | |
| array | ifft (const array &, int pad=-1) |
| Inverse Fast Fourier Transform in one dimension. More... | |
| array | ifft2 (const array &, int nx=-1, int ny=-1) |
| Inverse Fast Fourier Transform in two dimensions. More... | |
| array | ifft3 (const array &, const dim4 &dims=dim4(0)) |
| Inverse Fast Fourier Transform in three dimensions. More... | |
C++ interface for 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.
ArrayFire supports up to three-dimensional FFTs. Typically, these multi-dimensional FFTs are implemented using 1D FFTs combined with transpose operations.
| array af::fft | ( | const array & | , |
| int | pad = -1 |
||
| ) |
Fast Fourier Transform in one dimension.
Applied along each column.
| [in] | pad | zero-pad or truncate signal to this length before performing transform (default: no change) |
| array af::fft2 | ( | const array & | , |
| int | nx = -1, |
||
| int | ny = -1 |
||
| ) |
Fast Fourier Transform in two dimensions.
Applied to first two dimensions in higher dimensional arrays.
| [in] | nx | Rows are zero-padded or truncated to nx elements before transform (default: no change) |
| [in] | ny | Columns are zero-padded or truncated to ny elements before transform (default: no change) |
| array af::fft3 | ( | const array & | , |
| const dim4 & | dims = dim4(0) |
||
| ) |
Fast Fourier Transform in three dimensions.
Applied to first three dimensions in higher dimensional arrays.
| [in] | dims | zero-pad or truncate each dimension before transform |
| array af::ifft | ( | const array & | , |
| int | pad = -1 |
||
| ) |
Inverse Fast Fourier Transform in one dimension.
Applied along each column. Normalized (divided) by number of elements.
| [in] | pad | zero-pad or truncate signal to this length before performing transform (default: no change) |
| array af::ifft2 | ( | const array & | , |
| int | nx = -1, |
||
| int | ny = -1 |
||
| ) |
Inverse Fast Fourier Transform in two dimensions.
Applied to first two dimensions in higher dimensional arrays. Normalized (divided) by number of elements.
| [in] | nx | Rows are zero-padded or truncated to nx elements before transform (default: no change) |
| [in] | ny | Columns are zero-padded or truncated to ny elements before transform (default: no change) |
| array af::ifft3 | ( | const array & | , |
| const dim4 & | dims = dim4(0) |
||
| ) |
Inverse Fast Fourier Transform in three dimensions.
Applied to first three dimensions in higher dimensional arrays. Normalize (divide) by number of elements.
| [in] | dims | zero-pad or truncate each dimension before transform |