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