Inverse FFT (Complex) (G Dataflow)

Version:

Computes the inverse discrete Fourier transform (IDFT) of a sequence. You can use this node when the input sequence is the Fourier transform of a complex signal.

FFT{x}

The complex valued input sequence.

This input can be a 1D or 2D array of complex double-precision, floating-point numbers.

shift?

A Boolean that determines whether the DC component is at the center of the FFT of the input sequence.

 True The DC component is at the center of the FFT{x}. False The DC component is not at the center of the FFT{x}.

How This Input Affects 1D FFT

The following table illustrates the pattern of the elements of FFT{x} with various length of the FFT, when shift? is False. Y is FFT{x} and n is the length of the FFT:

n is even (k = n/2) n is odd (k = (n-1)/2)
Array Element Corresponding Frequency Array Element Corresponding Frequency
Y0 DC component Y0 DC component
Y1 $\mathrm{\Delta }f$ Y1 $\mathrm{\Delta }f$
Y2 $2\mathrm{\Delta }f$ Y2 $2\mathrm{\Delta }f$
Y3 $3\mathrm{\Delta }f$ Y3 $3\mathrm{\Delta }f$
$\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$
Yk-2 $\left(k-2\right)\mathrm{\Delta }f$ Yk-2 $\left(k-2\right)\mathrm{\Delta }f$
Yk-1 $\left(k-1\right)\mathrm{\Delta }f$ Yk-1 $\left(k-1\right)\mathrm{\Delta }f$
Yk Nyquist Frequency Yk $k\mathrm{\Delta }f$
Yk+1 $-\left(k-1\right)\mathrm{\Delta }f$ Yk+1 $-k\mathrm{\Delta }f$
Yk+2 $-\left(k-2\right)\mathrm{\Delta }f$ Yk+2 $-\left(k-1\right)\mathrm{\Delta }f$
$\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$
Yn-3 $-3\mathrm{\Delta }f$ Yn-3 $-3\mathrm{\Delta }f$
Yn-2 $-2\mathrm{\Delta }f$ Yn-2 $-2\mathrm{\Delta }f$
Yn-1 $-\mathrm{\Delta }f$ Yn-1 $-\mathrm{\Delta }f$

The following table illustrates the pattern of the elements of FFT{x} with various length of the FFT, when shift? is True. Y is FFT{x} and n is the length of the FFT:

n is even (k = n/2) n is odd (k = (n-1)/2)
Array Element Corresponding Frequency Array Element Corresponding Frequency
Y0 -(Nyquist Frequency) Y0 $-k\mathrm{\Delta }f$
Y1 $-\left(k-1\right)\mathrm{\Delta }f$ Y1 $-\left(k-1\right)\mathrm{\Delta }f$
Y2 $-\left(k-2\right)\mathrm{\Delta }f$ Y2 $-\left(k-2\right)\mathrm{\Delta }f$
Y3 $-\left(k-3\right)\mathrm{\Delta }f$ Y3 $-\left(k-3\right)\mathrm{\Delta }f$
$\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$
Yk-2 $-2\mathrm{\Delta }f$ Yk-2 $-2\mathrm{\Delta }f$
Yk-1 $-\mathrm{\Delta }f$ Yk-1 $-\mathrm{\Delta }f$
Yk DC component Yk DC component
Yk+1 $\mathrm{\Delta }f$ Yk+1 $\mathrm{\Delta }f$
Yk+2 $2\mathrm{\Delta }f$ Yk+2 $2\mathrm{\Delta }f$
$\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$ $\begin{array}{c}\cdot \\ \cdot \\ \cdot \end{array}$
Yn-3 $\left(k-3\right)\mathrm{\Delta }f$ Yn-3 $\left(k-2\right)\mathrm{\Delta }f$
Yn-2 $\left(k-2\right)\mathrm{\Delta }f$ Yn-2 $\left(k-1\right)\mathrm{\Delta }f$
Yn-1 $\left(k-1\right)\mathrm{\Delta }f$ Yn-1 $k\mathrm{\Delta }f$

How This Input Affects 2D FFT

The illustration below shows the effect of shift? on the 2D FFT result:

2D input signals FFT without shift FFT with shift

Default: False

error in

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

Default: No error

x

The inverse complex FFT of the complex valued input sequence.

error out

Error information. The node produces this output according to standard error behavior.

Algorithm Definition for 1D Inverse FFT

For a 1D, N-sample, frequency domain sequence Y, the inverse discrete Fourier transform (IDFT) is defined as:

${X}_{n}=\frac{1}{N}\underset{k=0}{\overset{N-1}{\sum }}Yk{e}^{j2\pi kn/N}$

for n = 0, 1, 2, ..., N-1.

Algorithm Definition for 2D Inverse FFT

For a 2D, M-by-N frequency domain array Y, the inverse discrete Fourier transform (IDFT) is defined as:

$X\left(m,n\right)=\frac{1}{MN}\underset{u=0}{\overset{M-1}{\sum }}\underset{v=0}{\overset{N-1}{\sum }}Y\left(u,v\right){e}^{j2\pi mu/M}{e}^{j2\pi nv/N}$

for m = 0, 1, ..., M-1, n=0, 1, ..., M-1.

Where This Node Can Run:

Desktop OS: Windows

FPGA: Not supported