1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
<html lang="en">
<head>
<title>Real-to-Real Transform Kinds - FFTW 3.3.2</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="FFTW 3.3.2">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Basic-Interface.html#Basic-Interface" title="Basic Interface">
<link rel="prev" href="Real_002dto_002dReal-Transforms.html#Real_002dto_002dReal-Transforms" title="Real-to-Real Transforms">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This manual is for FFTW
(version 3.3.2, 28 April 2012).
Copyright (C) 2003 Matteo Frigo.
Copyright (C) 2003 Massachusetts Institute of Technology.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission
notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided
that the entire resulting derived work is distributed under the
terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for
modified versions, except that this permission notice may be
stated in a translation approved by the Free Software Foundation.
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Real-to-Real-Transform-Kinds"></a>
<a name="Real_002dto_002dReal-Transform-Kinds"></a>
<p>
Previous: <a rel="previous" accesskey="p" href="Real_002dto_002dReal-Transforms.html#Real_002dto_002dReal-Transforms">Real-to-Real Transforms</a>,
Up: <a rel="up" accesskey="u" href="Basic-Interface.html#Basic-Interface">Basic Interface</a>
<hr>
</div>
<h4 class="subsection">4.3.6 Real-to-Real Transform Kinds</h4>
<p><a name="index-kind-_0028r2r_0029-212"></a>
FFTW currently supports 11 different r2r transform kinds, specified by
one of the constants below. For the precise definitions of these
transforms, see <a href="What-FFTW-Really-Computes.html#What-FFTW-Really-Computes">What FFTW Really Computes</a>. For a more colloquial
introduction to these transform kinds, see <a href="More-DFTs-of-Real-Data.html#More-DFTs-of-Real-Data">More DFTs of Real Data</a>.
<p>For dimension of size <code>n</code>, there is a corresponding “logical”
dimension <code>N</code> that determines the normalization (and the optimal
factorization); the formula for <code>N</code> is given for each kind below.
Also, with each transform kind is listed its corrsponding inverse
transform. FFTW computes unnormalized transforms: a transform followed
by its inverse will result in the original data multiplied by <code>N</code>
(or the product of the <code>N</code>'s for each dimension, in
multi-dimensions).
<a name="index-normalization-213"></a>
<ul>
<li><a name="index-FFTW_005fR2HC-214"></a><code>FFTW_R2HC</code> computes a real-input DFT with output in
“halfcomplex” format, i.e. real and imaginary parts for a transform of
size <code>n</code> stored as:
<p align=center>
r<sub>0</sub>, r<sub>1</sub>, r<sub>2</sub>, ..., r<sub>n/2</sub>, i<sub>(n+1)/2-1</sub>, ..., i<sub>2</sub>, i<sub>1</sub>
</p>(Logical <code>N=n</code>, inverse is <code>FFTW_HC2R</code>.)
<li><a name="index-FFTW_005fHC2R-215"></a><code>FFTW_HC2R</code> computes the reverse of <code>FFTW_R2HC</code>, above.
(Logical <code>N=n</code>, inverse is <code>FFTW_R2HC</code>.)
<li><a name="index-FFTW_005fDHT-216"></a><code>FFTW_DHT</code> computes a discrete Hartley transform.
(Logical <code>N=n</code>, inverse is <code>FFTW_DHT</code>.)
<a name="index-discrete-Hartley-transform-217"></a>
<li><a name="index-FFTW_005fREDFT00-218"></a><code>FFTW_REDFT00</code> computes an REDFT00 transform, i.e. a DCT-I.
(Logical <code>N=2*(n-1)</code>, inverse is <code>FFTW_REDFT00</code>.)
<a name="index-discrete-cosine-transform-219"></a><a name="index-DCT-220"></a>
<li><a name="index-FFTW_005fREDFT10-221"></a><code>FFTW_REDFT10</code> computes an REDFT10 transform, i.e. a DCT-II (sometimes called “the” DCT).
(Logical <code>N=2*n</code>, inverse is <code>FFTW_REDFT01</code>.)
<li><a name="index-FFTW_005fREDFT01-222"></a><code>FFTW_REDFT01</code> computes an REDFT01 transform, i.e. a DCT-III (sometimes called “the” IDCT, being the inverse of DCT-II).
(Logical <code>N=2*n</code>, inverse is <code>FFTW_REDFT=10</code>.)
<a name="index-IDCT-223"></a>
<li><a name="index-FFTW_005fREDFT11-224"></a><code>FFTW_REDFT11</code> computes an REDFT11 transform, i.e. a DCT-IV.
(Logical <code>N=2*n</code>, inverse is <code>FFTW_REDFT11</code>.)
<li><a name="index-FFTW_005fRODFT00-225"></a><code>FFTW_RODFT00</code> computes an RODFT00 transform, i.e. a DST-I.
(Logical <code>N=2*(n+1)</code>, inverse is <code>FFTW_RODFT00</code>.)
<a name="index-discrete-sine-transform-226"></a><a name="index-DST-227"></a>
<li><a name="index-FFTW_005fRODFT10-228"></a><code>FFTW_RODFT10</code> computes an RODFT10 transform, i.e. a DST-II.
(Logical <code>N=2*n</code>, inverse is <code>FFTW_RODFT01</code>.)
<li><a name="index-FFTW_005fRODFT01-229"></a><code>FFTW_RODFT01</code> computes an RODFT01 transform, i.e. a DST-III.
(Logical <code>N=2*n</code>, inverse is <code>FFTW_RODFT=10</code>.)
<li><a name="index-FFTW_005fRODFT11-230"></a><code>FFTW_RODFT11</code> computes an RODFT11 transform, i.e. a DST-IV.
(Logical <code>N=2*n</code>, inverse is <code>FFTW_RODFT11</code>.)
</ul>
<!-- -->
</body></html>
|