|
Fourier library: Operations in the Fourier domain
|
The FFTW3 reference http://www.fftw.org/fftw3_doc/The-1d-Discrete-Fourier-Transform-_0028DFT_0029.html#The-1d-Discrete-Fourier-Transform-_0028DFT_0029 tells:
* 4.8.1 The 1d Discrete Fourier Transform (DFT)
*
* The forward (FFTW_FORWARD) discrete Fourier transform (DFT) of a 1d complex
* array X of size n computes an array Y, where:
*
* Y_k = sum_{j=0}^{n-1} X_j exp(-2i pi j k / n)
*
* The backward (FFTW_BACKWARD) DFT computes:
*
* X_k = sum_{j=0}^{n-1} Y_j exp(+2i pi j k / n)
*
* FFTW computes an unnormalized transform, in that there is no coefficient in
* front of the summation in the DFT. In other words, applying the forward and
* then the backward transform will multiply the input by n.
*
* From above, an FFTW_FORWARD transform corresponds to a sign of -1 in the
* exponent of the DFT. Note also that we use the standard in-order output
* orderingthe k-th output corresponds to the frequency k/n (or k/T, where T
* is your total sampling period). For those who like to think in terms of
* positive and negative frequencies, this means that the positive frequencies
* are stored in the first half of the output and the negative frequencies are
* stored in backwards order in the second half of the output. (The frequency
* -k/n is the same as the frequency (n-k)/n.)
* The forward transform is:
The backward transform is:
The Fourier transform presented here is scaled to represent the Fourier integral transform pair
with
for
and
and
with
for
.
The FFTW3 transformation consequently has to be scaled according to
and
Where
is the time series with
samples at
sampling interval.
are samples of the Fourier integral transform, where
and
.
The library provides functions which return the appropriate scaling factors such that application of a inverse transformation in sequence with a forward transformation is an identity-operation.