cannam@167: cannam@167: cannam@167: cannam@167: cannam@167:
cannam@167:cannam@167: Previous: Real-to-Real Transforms, Up: Basic Interface [Contents][Index]
cannam@167:FFTW currently supports 11 different r2r transform kinds, specified by cannam@167: one of the constants below. For the precise definitions of these cannam@167: transforms, see What FFTW Really Computes. For a more colloquial cannam@167: introduction to these transform kinds, see More DFTs of Real Data. cannam@167:
cannam@167:For dimension of size n
, there is a corresponding “logical”
cannam@167: dimension N
that determines the normalization (and the optimal
cannam@167: factorization); the formula for N
is given for each kind below.
cannam@167: Also, with each transform kind is listed its corrsponding inverse
cannam@167: transform. FFTW computes unnormalized transforms: a transform followed
cannam@167: by its inverse will result in the original data multiplied by N
cannam@167: (or the product of the N
’s for each dimension, in
cannam@167: multi-dimensions).
cannam@167:
cannam@167:
FFTW_R2HC
computes a real-input DFT with output in
cannam@167: “halfcomplex” format, i.e. real and imaginary parts for a transform of
cannam@167: size n
stored as:
cannam@167: cannam@167: r0, r1, r2, ..., rn/2, i(n+1)/2-1, ..., i2, i1 cannam@167:
cannam@167: (LogicalN=n
, inverse is FFTW_HC2R
.)
cannam@167:
cannam@167: FFTW_HC2R
computes the reverse of FFTW_R2HC
, above.
cannam@167: (Logical N=n
, inverse is FFTW_R2HC
.)
cannam@167:
cannam@167: FFTW_DHT
computes a discrete Hartley transform.
cannam@167: (Logical N=n
, inverse is FFTW_DHT
.)
cannam@167:
cannam@167:
cannam@167: FFTW_REDFT00
computes an REDFT00 transform, i.e. a DCT-I.
cannam@167: (Logical N=2*(n-1)
, inverse is FFTW_REDFT00
.)
cannam@167:
cannam@167:
cannam@167:
cannam@167: FFTW_REDFT10
computes an REDFT10 transform, i.e. a DCT-II (sometimes called “the” DCT).
cannam@167: (Logical N=2*n
, inverse is FFTW_REDFT01
.)
cannam@167:
cannam@167: FFTW_REDFT01
computes an REDFT01 transform, i.e. a DCT-III (sometimes called “the” IDCT, being the inverse of DCT-II).
cannam@167: (Logical N=2*n
, inverse is FFTW_REDFT=10
.)
cannam@167:
cannam@167:
cannam@167: FFTW_REDFT11
computes an REDFT11 transform, i.e. a DCT-IV.
cannam@167: (Logical N=2*n
, inverse is FFTW_REDFT11
.)
cannam@167:
cannam@167: FFTW_RODFT00
computes an RODFT00 transform, i.e. a DST-I.
cannam@167: (Logical N=2*(n+1)
, inverse is FFTW_RODFT00
.)
cannam@167:
cannam@167:
cannam@167:
cannam@167: FFTW_RODFT10
computes an RODFT10 transform, i.e. a DST-II.
cannam@167: (Logical N=2*n
, inverse is FFTW_RODFT01
.)
cannam@167:
cannam@167: FFTW_RODFT01
computes an RODFT01 transform, i.e. a DST-III.
cannam@167: (Logical N=2*n
, inverse is FFTW_RODFT=10
.)
cannam@167:
cannam@167: FFTW_RODFT11
computes an RODFT11 transform, i.e. a DST-IV.
cannam@167: (Logical N=2*n
, inverse is FFTW_RODFT11
.)
cannam@167:
cannam@167: cannam@167: Previous: Real-to-Real Transforms, Up: Basic Interface [Contents][Index]
cannam@167: