comparison src/fftw-3.3.8/doc/html/Real_002dto_002dReal-Transform-Kinds.html @ 167:bd3cc4d1df30

Add FFTW 3.3.8 source, and a Linux build
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 19 Nov 2019 14:52:55 +0000
parents
children
comparison
equal deleted inserted replaced
166:cbd6d7e562c7 167:bd3cc4d1df30
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html>
3 <!-- This manual is for FFTW
4 (version 3.3.8, 24 May 2018).
5
6 Copyright (C) 2003 Matteo Frigo.
7
8 Copyright (C) 2003 Massachusetts Institute of Technology.
9
10 Permission is granted to make and distribute verbatim copies of this
11 manual provided the copyright notice and this permission notice are
12 preserved on all copies.
13
14 Permission is granted to copy and distribute modified versions of this
15 manual under the conditions for verbatim copying, provided that the
16 entire resulting derived work is distributed under the terms of a
17 permission notice identical to this one.
18
19 Permission is granted to copy and distribute translations of this manual
20 into another language, under the above conditions for modified versions,
21 except that this permission notice may be stated in a translation
22 approved by the Free Software Foundation. -->
23 <!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
24 <head>
25 <title>FFTW 3.3.8: Real-to-Real Transform Kinds</title>
26
27 <meta name="description" content="FFTW 3.3.8: Real-to-Real Transform Kinds">
28 <meta name="keywords" content="FFTW 3.3.8: Real-to-Real Transform Kinds">
29 <meta name="resource-type" content="document">
30 <meta name="distribution" content="global">
31 <meta name="Generator" content="makeinfo">
32 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
33 <link href="index.html#Top" rel="start" title="Top">
34 <link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
35 <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
36 <link href="Basic-Interface.html#Basic-Interface" rel="up" title="Basic Interface">
37 <link href="Advanced-Interface.html#Advanced-Interface" rel="next" title="Advanced Interface">
38 <link href="Real_002dto_002dReal-Transforms.html#Real_002dto_002dReal-Transforms" rel="prev" title="Real-to-Real Transforms">
39 <style type="text/css">
40 <!--
41 a.summary-letter {text-decoration: none}
42 blockquote.indentedblock {margin-right: 0em}
43 blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
44 blockquote.smallquotation {font-size: smaller}
45 div.display {margin-left: 3.2em}
46 div.example {margin-left: 3.2em}
47 div.lisp {margin-left: 3.2em}
48 div.smalldisplay {margin-left: 3.2em}
49 div.smallexample {margin-left: 3.2em}
50 div.smalllisp {margin-left: 3.2em}
51 kbd {font-style: oblique}
52 pre.display {font-family: inherit}
53 pre.format {font-family: inherit}
54 pre.menu-comment {font-family: serif}
55 pre.menu-preformatted {font-family: serif}
56 pre.smalldisplay {font-family: inherit; font-size: smaller}
57 pre.smallexample {font-size: smaller}
58 pre.smallformat {font-family: inherit; font-size: smaller}
59 pre.smalllisp {font-size: smaller}
60 span.nolinebreak {white-space: nowrap}
61 span.roman {font-family: initial; font-weight: normal}
62 span.sansserif {font-family: sans-serif; font-weight: normal}
63 ul.no-bullet {list-style: none}
64 -->
65 </style>
66
67
68 </head>
69
70 <body lang="en">
71 <a name="Real_002dto_002dReal-Transform-Kinds"></a>
72 <div class="header">
73 <p>
74 Previous: <a href="Real_002dto_002dReal-Transforms.html#Real_002dto_002dReal-Transforms" accesskey="p" rel="prev">Real-to-Real Transforms</a>, Up: <a href="Basic-Interface.html#Basic-Interface" accesskey="u" rel="up">Basic Interface</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
75 </div>
76 <hr>
77 <a name="Real_002dto_002dReal-Transform-Kinds-1"></a>
78 <h4 class="subsection">4.3.6 Real-to-Real Transform Kinds</h4>
79 <a name="index-kind-_0028r2r_0029-1"></a>
80
81 <p>FFTW currently supports 11 different r2r transform kinds, specified by
82 one of the constants below. For the precise definitions of these
83 transforms, see <a href="What-FFTW-Really-Computes.html#What-FFTW-Really-Computes">What FFTW Really Computes</a>. For a more colloquial
84 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>.
85 </p>
86 <p>For dimension of size <code>n</code>, there is a corresponding &ldquo;logical&rdquo;
87 dimension <code>N</code> that determines the normalization (and the optimal
88 factorization); the formula for <code>N</code> is given for each kind below.
89 Also, with each transform kind is listed its corrsponding inverse
90 transform. FFTW computes unnormalized transforms: a transform followed
91 by its inverse will result in the original data multiplied by <code>N</code>
92 (or the product of the <code>N</code>&rsquo;s for each dimension, in
93 multi-dimensions).
94 <a name="index-normalization-7"></a>
95 </p>
96 <ul>
97 <li> <a name="index-FFTW_005fR2HC-1"></a>
98 <code>FFTW_R2HC</code> computes a real-input DFT with output in
99 &ldquo;halfcomplex&rdquo; format, i.e. real and imaginary parts for a transform of
100 size <code>n</code> stored as:
101 <p align=center>
102 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>
103 </p>
104 (Logical <code>N=n</code>, inverse is <code>FFTW_HC2R</code>.)
105
106 </li><li> <a name="index-FFTW_005fHC2R-1"></a>
107 <code>FFTW_HC2R</code> computes the reverse of <code>FFTW_R2HC</code>, above.
108 (Logical <code>N=n</code>, inverse is <code>FFTW_R2HC</code>.)
109
110 </li><li> <a name="index-FFTW_005fDHT-1"></a>
111 <code>FFTW_DHT</code> computes a discrete Hartley transform.
112 (Logical <code>N=n</code>, inverse is <code>FFTW_DHT</code>.)
113 <a name="index-discrete-Hartley-transform-1"></a>
114
115 </li><li> <a name="index-FFTW_005fREDFT00-2"></a>
116 <code>FFTW_REDFT00</code> computes an REDFT00 transform, i.e. a DCT-I.
117 (Logical <code>N=2*(n-1)</code>, inverse is <code>FFTW_REDFT00</code>.)
118 <a name="index-discrete-cosine-transform-1"></a>
119 <a name="index-DCT-1"></a>
120
121 </li><li> <a name="index-FFTW_005fREDFT10-1"></a>
122 <code>FFTW_REDFT10</code> computes an REDFT10 transform, i.e. a DCT-II (sometimes called &ldquo;the&rdquo; DCT).
123 (Logical <code>N=2*n</code>, inverse is <code>FFTW_REDFT01</code>.)
124
125 </li><li> <a name="index-FFTW_005fREDFT01-1"></a>
126 <code>FFTW_REDFT01</code> computes an REDFT01 transform, i.e. a DCT-III (sometimes called &ldquo;the&rdquo; IDCT, being the inverse of DCT-II).
127 (Logical <code>N=2*n</code>, inverse is <code>FFTW_REDFT=10</code>.)
128 <a name="index-IDCT-2"></a>
129
130 </li><li> <a name="index-FFTW_005fREDFT11-1"></a>
131 <code>FFTW_REDFT11</code> computes an REDFT11 transform, i.e. a DCT-IV.
132 (Logical <code>N=2*n</code>, inverse is <code>FFTW_REDFT11</code>.)
133
134 </li><li> <a name="index-FFTW_005fRODFT00-1"></a>
135 <code>FFTW_RODFT00</code> computes an RODFT00 transform, i.e. a DST-I.
136 (Logical <code>N=2*(n+1)</code>, inverse is <code>FFTW_RODFT00</code>.)
137 <a name="index-discrete-sine-transform-1"></a>
138 <a name="index-DST-1"></a>
139
140 </li><li> <a name="index-FFTW_005fRODFT10-1"></a>
141 <code>FFTW_RODFT10</code> computes an RODFT10 transform, i.e. a DST-II.
142 (Logical <code>N=2*n</code>, inverse is <code>FFTW_RODFT01</code>.)
143
144 </li><li> <a name="index-FFTW_005fRODFT01-1"></a>
145 <code>FFTW_RODFT01</code> computes an RODFT01 transform, i.e. a DST-III.
146 (Logical <code>N=2*n</code>, inverse is <code>FFTW_RODFT=10</code>.)
147
148 </li><li> <a name="index-FFTW_005fRODFT11-1"></a>
149 <code>FFTW_RODFT11</code> computes an RODFT11 transform, i.e. a DST-IV.
150 (Logical <code>N=2*n</code>, inverse is <code>FFTW_RODFT11</code>.)
151
152 </li></ul>
153
154 <hr>
155 <div class="header">
156 <p>
157 Previous: <a href="Real_002dto_002dReal-Transforms.html#Real_002dto_002dReal-Transforms" accesskey="p" rel="prev">Real-to-Real Transforms</a>, Up: <a href="Basic-Interface.html#Basic-Interface" accesskey="u" rel="up">Basic Interface</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
158 </div>
159
160
161
162 </body>
163 </html>