cannam@127: cannam@127: cannam@127: cannam@127: cannam@127:
cannam@127:cannam@127: Next: 1d Real-even DFTs (DCTs), Previous: The 1d Discrete Fourier Transform (DFT), Up: What FFTW Really Computes [Contents][Index]
cannam@127:The real-input (r2c) DFT in FFTW computes the forward transform
cannam@127: Y of the size n
real array X, exactly as defined
cannam@127: above, i.e.
cannam@127:
As a result of this symmetry, half of the output Y is redundant cannam@127: (being the complex conjugate of the other half), and so the 1d r2c cannam@127: transforms only output elements 0…n/2 of Y cannam@127: (n/2+1 complex numbers), where the division by 2 is cannam@127: rounded down. cannam@127:
cannam@127:Moreover, the Hermitian symmetry implies that
cannam@127: Y0and, if n is even, the
cannam@127: Yn/2element, are purely real. So, for the R2HC
r2r transform, the
cannam@127: halfcomplex format does not store the imaginary parts of these elements.
cannam@127:
cannam@127:
cannam@127:
cannam@127:
The c2r and H2RC
r2r transforms compute the backward DFT of the
cannam@127: complex array X with Hermitian symmetry, stored in the
cannam@127: r2c/R2HC
output formats, respectively, where the backward
cannam@127: transform is defined exactly as for the complex case:
cannam@127:
Y
of this transform can easily be seen to be purely
cannam@127: real, and are stored as an array of real numbers.
cannam@127:
cannam@127:
cannam@127: Like FFTW’s complex DFT, these transforms are unnormalized. In other cannam@127: words, applying the real-to-complex (forward) and then the cannam@127: complex-to-real (backward) transform will multiply the input by cannam@127: n. cannam@127:
cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: