Chris@10: Chris@10: Chris@10: The 1d Discrete Fourier Transform (DFT) - FFTW 3.3.3 Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10:
Chris@10: Chris@10: Chris@10:

Chris@10: Next: , Chris@10: Previous: What FFTW Really Computes, Chris@10: Up: What FFTW Really Computes Chris@10:


Chris@10:
Chris@10: Chris@10:

4.8.1 The 1d Discrete Fourier Transform (DFT)

Chris@10: Chris@10:

The forward (FFTW_FORWARD) discrete Fourier transform (DFT) of a Chris@10: 1d complex array X of size n computes an array Y, Chris@10: where: Chris@10:

.
The backward (FFTW_BACKWARD) DFT computes: Chris@10:
.
Chris@10: Chris@10:

FFTW computes an unnormalized transform, in that there is no coefficient Chris@10: in front of the summation in the DFT. In other words, applying the Chris@10: forward and then the backward transform will multiply the input by Chris@10: n. Chris@10: Chris@10:

From above, an FFTW_FORWARD transform corresponds to a sign of Chris@10: -1 in the exponent of the DFT. Note also that we use the Chris@10: standard “in-order” output ordering—the k-th output Chris@10: corresponds to the frequency k/n (or k/T, where T Chris@10: is your total sampling period). For those who like to think in terms of Chris@10: positive and negative frequencies, this means that the positive Chris@10: frequencies are stored in the first half of the output and the negative Chris@10: frequencies are stored in backwards order in the second half of the Chris@10: output. (The frequency -k/n is the same as the frequency Chris@10: (n-k)/n.) Chris@10: Chris@10: Chris@10: Chris@10: