annotate src/fftw-3.3.3/doc/html/1d-Real_002dodd-DFTs-_0028DSTs_0029.html @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents 89f5e221ed7b
children
rev   line source
cannam@95 1 <html lang="en">
cannam@95 2 <head>
cannam@95 3 <title>1d Real-odd DFTs (DSTs) - FFTW 3.3.3</title>
cannam@95 4 <meta http-equiv="Content-Type" content="text/html">
cannam@95 5 <meta name="description" content="FFTW 3.3.3">
cannam@95 6 <meta name="generator" content="makeinfo 4.13">
cannam@95 7 <link title="Top" rel="start" href="index.html#Top">
cannam@95 8 <link rel="up" href="What-FFTW-Really-Computes.html#What-FFTW-Really-Computes" title="What FFTW Really Computes">
cannam@95 9 <link rel="prev" href="1d-Real_002deven-DFTs-_0028DCTs_0029.html#g_t1d-Real_002deven-DFTs-_0028DCTs_0029" title="1d Real-even DFTs (DCTs)">
cannam@95 10 <link rel="next" href="1d-Discrete-Hartley-Transforms-_0028DHTs_0029.html#g_t1d-Discrete-Hartley-Transforms-_0028DHTs_0029" title="1d Discrete Hartley Transforms (DHTs)">
cannam@95 11 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
cannam@95 12 <!--
cannam@95 13 This manual is for FFTW
cannam@95 14 (version 3.3.3, 25 November 2012).
cannam@95 15
cannam@95 16 Copyright (C) 2003 Matteo Frigo.
cannam@95 17
cannam@95 18 Copyright (C) 2003 Massachusetts Institute of Technology.
cannam@95 19
cannam@95 20 Permission is granted to make and distribute verbatim copies of
cannam@95 21 this manual provided the copyright notice and this permission
cannam@95 22 notice are preserved on all copies.
cannam@95 23
cannam@95 24 Permission is granted to copy and distribute modified versions of
cannam@95 25 this manual under the conditions for verbatim copying, provided
cannam@95 26 that the entire resulting derived work is distributed under the
cannam@95 27 terms of a permission notice identical to this one.
cannam@95 28
cannam@95 29 Permission is granted to copy and distribute translations of this
cannam@95 30 manual into another language, under the above conditions for
cannam@95 31 modified versions, except that this permission notice may be
cannam@95 32 stated in a translation approved by the Free Software Foundation.
cannam@95 33 -->
cannam@95 34 <meta http-equiv="Content-Style-Type" content="text/css">
cannam@95 35 <style type="text/css"><!--
cannam@95 36 pre.display { font-family:inherit }
cannam@95 37 pre.format { font-family:inherit }
cannam@95 38 pre.smalldisplay { font-family:inherit; font-size:smaller }
cannam@95 39 pre.smallformat { font-family:inherit; font-size:smaller }
cannam@95 40 pre.smallexample { font-size:smaller }
cannam@95 41 pre.smalllisp { font-size:smaller }
cannam@95 42 span.sc { font-variant:small-caps }
cannam@95 43 span.roman { font-family:serif; font-weight:normal; }
cannam@95 44 span.sansserif { font-family:sans-serif; font-weight:normal; }
cannam@95 45 --></style>
cannam@95 46 </head>
cannam@95 47 <body>
cannam@95 48 <div class="node">
cannam@95 49 <a name="1d-Real-odd-DFTs-(DSTs)"></a>
cannam@95 50 <a name="g_t1d-Real_002dodd-DFTs-_0028DSTs_0029"></a>
cannam@95 51 <p>
cannam@95 52 Next:&nbsp;<a rel="next" accesskey="n" href="1d-Discrete-Hartley-Transforms-_0028DHTs_0029.html#g_t1d-Discrete-Hartley-Transforms-_0028DHTs_0029">1d Discrete Hartley Transforms (DHTs)</a>,
cannam@95 53 Previous:&nbsp;<a rel="previous" accesskey="p" href="1d-Real_002deven-DFTs-_0028DCTs_0029.html#g_t1d-Real_002deven-DFTs-_0028DCTs_0029">1d Real-even DFTs (DCTs)</a>,
cannam@95 54 Up:&nbsp;<a rel="up" accesskey="u" href="What-FFTW-Really-Computes.html#What-FFTW-Really-Computes">What FFTW Really Computes</a>
cannam@95 55 <hr>
cannam@95 56 </div>
cannam@95 57
cannam@95 58 <h4 class="subsection">4.8.4 1d Real-odd DFTs (DSTs)</h4>
cannam@95 59
cannam@95 60 <p>The Real-odd symmetry DFTs in FFTW are exactly equivalent to the unnormalized
cannam@95 61 forward (and backward) DFTs as defined above, where the input array
cannam@95 62 X of length N is purely real and is also <dfn>odd</dfn> symmetry. In
cannam@95 63 this case, the output is odd symmetry and purely imaginary.
cannam@95 64 <a name="index-real_002dodd-DFT-312"></a><a name="index-RODFT-313"></a>
cannam@95 65
cannam@95 66 <p><a name="index-RODFT00-314"></a>For the case of <code>RODFT00</code>, this odd symmetry means that
cannam@95 67 <i>X<sub>j</sub> = -X<sub>N-j</sub></i>,where we take X to be periodic so that
cannam@95 68 <i>X<sub>N</sub> = X</i><sub>0</sub>. Because of this redundancy, only the first n real numbers
cannam@95 69 starting at j=1 are actually stored (the j=0 element is
cannam@95 70 zero), where N = 2(n+1).
cannam@95 71
cannam@95 72 <p>The proper definition of odd symmetry for <code>RODFT10</code>,
cannam@95 73 <code>RODFT01</code>, and <code>RODFT11</code> transforms is somewhat more intricate
cannam@95 74 because of the shifts by 1/2 of the input and/or output, although
cannam@95 75 the corresponding boundary conditions are given in <a href="Real-even_002fodd-DFTs-_0028cosine_002fsine-transforms_0029.html#Real-even_002fodd-DFTs-_0028cosine_002fsine-transforms_0029">Real even/odd DFTs (cosine/sine transforms)</a>. Because of the odd symmetry, however,
cannam@95 76 the cosine terms in the DFT all cancel and the remaining sine terms are
cannam@95 77 written explicitly below. This formulation often leads people to call
cannam@95 78 such a transform a <dfn>discrete sine transform</dfn> (DST), although it is
cannam@95 79 really just a special case of the DFT.
cannam@95 80 <a name="index-discrete-sine-transform-315"></a><a name="index-DST-316"></a>
cannam@95 81
cannam@95 82 <p>In each of the definitions below, we transform a real array X of
cannam@95 83 length n to a real array Y of length n:
cannam@95 84
cannam@95 85 <h5 class="subsubheading">RODFT00 (DST-I)</h5>
cannam@95 86
cannam@95 87 <p><a name="index-RODFT00-317"></a>An <code>RODFT00</code> transform (type-I DST) in FFTW is defined by:
cannam@95 88 <center><img src="equation-rodft00.png" align="top">.</center>
cannam@95 89
cannam@95 90 <h5 class="subsubheading">RODFT10 (DST-II)</h5>
cannam@95 91
cannam@95 92 <p><a name="index-RODFT10-318"></a>An <code>RODFT10</code> transform (type-II DST) in FFTW is defined by:
cannam@95 93 <center><img src="equation-rodft10.png" align="top">.</center>
cannam@95 94
cannam@95 95 <h5 class="subsubheading">RODFT01 (DST-III)</h5>
cannam@95 96
cannam@95 97 <p><a name="index-RODFT01-319"></a>An <code>RODFT01</code> transform (type-III DST) in FFTW is defined by:
cannam@95 98 <center><img src="equation-rodft01.png" align="top">.</center>In the case of n=1, this reduces to
cannam@95 99 <i>Y</i><sub>0</sub> = <i>X</i><sub>0</sub>.
cannam@95 100
cannam@95 101 <h5 class="subsubheading">RODFT11 (DST-IV)</h5>
cannam@95 102
cannam@95 103 <p><a name="index-RODFT11-320"></a>An <code>RODFT11</code> transform (type-IV DST) in FFTW is defined by:
cannam@95 104 <center><img src="equation-rodft11.png" align="top">.</center>
cannam@95 105
cannam@95 106 <h5 class="subsubheading">Inverses and Normalization</h5>
cannam@95 107
cannam@95 108 <p>These definitions correspond directly to the unnormalized DFTs used
cannam@95 109 elsewhere in FFTW (hence the factors of 2 in front of the
cannam@95 110 summations). The unnormalized inverse of <code>RODFT00</code> is
cannam@95 111 <code>RODFT00</code>, of <code>RODFT10</code> is <code>RODFT01</code> and vice versa, and
cannam@95 112 of <code>RODFT11</code> is <code>RODFT11</code>. Each unnormalized inverse results
cannam@95 113 in the original array multiplied by N, where N is the
cannam@95 114 <em>logical</em> DFT size. For <code>RODFT00</code>, N=2(n+1);
cannam@95 115 otherwise, N=2n.
cannam@95 116 <a name="index-normalization-321"></a>
cannam@95 117
cannam@95 118 <p>In defining the discrete sine transform, some authors also include
cannam@95 119 additional factors of
cannam@95 120 &radic;2(or its inverse) multiplying selected inputs and/or outputs. This is a
cannam@95 121 mostly cosmetic change that makes the transform orthogonal, but
cannam@95 122 sacrifices the direct equivalence to an antisymmetric DFT.
cannam@95 123
cannam@95 124 <!-- =========> -->
cannam@95 125 </body></html>
cannam@95 126