fft2

Functions

int main(int argc, char *argv[])

fft2 [ option ] [ infile ]

  • -l int

    • FFT length (1L)

  • -r int

    • number of rows (1ML)

  • -c int

    • number of columns (1NL)

  • -o int

    • output format

      • 0 real and imaginary parts

      • 1 real part

      • 2 imaginary part

      • 3 amplitude spectrum

      • 4 power spectrum

  • -p int

    • output style

      • 0 standard

      • 1 transposed

      • 2 transposed with boundary

      • 3 quadrand with boundary

  • infile str

    • double-type 2D data sequence

  • stdout

    • double-type 2D FFT sequence

The input and output are arranged as follows.

../_images/fft2_1.png

The output are reshaped by -p option.

../_images/fft2_2.png

Parameters:
  • argc[in] Number of arguments.

  • argv[in] Argument vector.

Returns:

0 on success, 1 on failure.

See also

fft ifft2 fftr2

class TwoDimensionalFastFourierTransform

Calculate 2D DFT of complex-valued input data.

The inputs are two M×N matrices that represent real and imaginary parts:

Re(x),Im(x).
The outputs are two L×L matrices:
Re(X),Im(X),
where L is the FFT length and must be a power of two.

Public Functions

TwoDimensionalFastFourierTransform(int num_row, int num_column, int fft_length)
Parameters:
  • num_row[in] Number of rows, M.

  • num_column[in] Number of columns, N.

  • fft_length[in] FFT length, L.

inline int GetNumRow() const
Returns:

Number of rows of input.

inline int GetNumColumn() const
Returns:

Number of columns of input.

inline int GetFftLength() const
Returns:

FFT length.

inline bool IsValid() const
Returns:

True if this object is valid.

bool Run(const Matrix &real_part_input, const Matrix &imag_part_input, Matrix *real_part_output, Matrix *imag_part_output, TwoDimensionalFastFourierTransform::Buffer *buffer) const
Parameters:
  • real_part_input[in] Real part of input.

  • imag_part_input[in] Imaginary part of input.

  • real_part_output[out] Real part of output.

  • imag_part_output[out] Imaginary part of output.

  • buffer[out] Buffer.

Returns:

True on success, false on failure.

bool Run(Matrix *real_part, Matrix *imag_part, TwoDimensionalFastFourierTransform::Buffer *buffer) const
Parameters:
  • real_part[inout] Real part.

  • imag_part[inout] Imaginary part.

  • buffer[out] Buffer.

Returns:

True on success, false on failure.

class Buffer

Buffer for TwoDimensionalFastFourierTransform class.