<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>GNU Radio 3.2.2 C++ API: fft_1d.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">GNU Radio 3.2.2 C++ API</div> </td> </tr> </tbody> </table> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('fft__1d_8h.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#define-members">Defines</a> </div> <div class="headertitle"> <h1>fft_1d.h File Reference</h1> </div> </div> <div class="contents"> <div class="textblock"><code>#include <spu_intrinsics.h></code><br/> </div><div class="textblock"><div class="dynheader"> Include dependency graph for fft_1d.h:</div> <div class="dyncontent"> <div class="center"><img src="fft__1d_8h__incl.png" border="0" usemap="#fft__1d_8h" alt=""/></div> <map name="fft__1d_8h" id="fft__1d_8h"> </map> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="fft__1d_8h__dep__incl.png" border="0" usemap="#fft__1d_8hdep" alt=""/></div> <map name="fft__1d_8hdep" id="fft__1d_8hdep"> <area shape="rect" id="node3" href="fft__1d__r2_8h.html" title="fft_1d_r2.h" alt="" coords="5,83,88,112"/></map> </div> </div> <p><a href="fft__1d_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft__1d_8h.html#a67201f8863c0bd71426c8a0d87aef48a">BIT_SWAP</a>(_i, _pat)   spu_extract(spu_gather(spu_shuffle(spu_maskb(_i), _pat, _pat)), 0)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft__1d_8h.html#a7e49143d089320690fd74371ce28048b">MAX_FFT_1D_SIZE</a>   8192</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft__1d_8h.html#a00ce1546c572fa40f917142388f0c22a">INV_SQRT_2</a>   0.7071067811865</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft__1d_8h.html#a067eee2bb92825cd01fdb5c4df044c08">FFT_1D_BUTTERFLY</a>(_P_re, _P_im, _Q_re, _Q_im, _p_re, _p_im, _q_re, _q_im, _W_re, _W_im)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft__1d_8h.html#a5eaef4eb58f6867aec999d5d76355e39">FFT_1D_BUTTERFLY_HI</a>(_P_re, _P_im, _Q_re, _Q_im, _p_re, _p_im, _q_re, _q_im, _W_re, _W_im)</td></tr> </table> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a67201f8863c0bd71426c8a0d87aef48a"></a><!-- doxytag: member="fft_1d.h::BIT_SWAP" ref="a67201f8863c0bd71426c8a0d87aef48a" args="(_i, _pat)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define BIT_SWAP</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">_i, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_pat </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   spu_extract(spu_gather(spu_shuffle(spu_maskb(_i), _pat, _pat)), 0)</td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="fft__1d__r2_8h.html#adb7e8a704b1ac7da3a8f6408be60979b">_fft_1d_r2()</a>.</p> </div> </div> <a class="anchor" id="a067eee2bb92825cd01fdb5c4df044c08"></a><!-- doxytag: member="fft_1d.h::FFT_1D_BUTTERFLY" ref="a067eee2bb92825cd01fdb5c4df044c08" args="(_P_re, _P_im, _Q_re, _Q_im, _p_re, _p_im, _q_re, _q_im, _W_re, _W_im)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FFT_1D_BUTTERFLY</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">_P_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_P_im, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_Q_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_Q_im, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_p_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_p_im, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_q_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_q_im, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_W_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_W_im </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">{ \ vector <span class="keywordtype">float</span> _qw_re, _qw_im; \ \ _qw_re = spu_msub(_q_re, _W_re, spu_mul(_q_im, _W_im)); \ _qw_im = spu_madd(_q_re, _W_im, spu_mul(_q_im, _W_re)); \ _P_re = spu_add(_p_re, _qw_re); \ _P_im = spu_add(_p_im, _qw_im); \ _Q_re = spu_sub(_p_re, _qw_re); \ _Q_im = spu_sub(_p_im, _qw_im); \ } </pre></div> <p>Referenced by <a class="el" href="fft__1d__r2_8h.html#adb7e8a704b1ac7da3a8f6408be60979b">_fft_1d_r2()</a>.</p> </div> </div> <a class="anchor" id="a5eaef4eb58f6867aec999d5d76355e39"></a><!-- doxytag: member="fft_1d.h::FFT_1D_BUTTERFLY_HI" ref="a5eaef4eb58f6867aec999d5d76355e39" args="(_P_re, _P_im, _Q_re, _Q_im, _p_re, _p_im, _q_re, _q_im, _W_re, _W_im)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FFT_1D_BUTTERFLY_HI</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">_P_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_P_im, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_Q_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_Q_im, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_p_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_p_im, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_q_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_q_im, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_W_re, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">_W_im </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">{ \ vector <span class="keywordtype">float</span> _qw_re, _qw_im; \ \ _qw_re = spu_madd(_q_re, _W_im, spu_mul(_q_im, _W_re)); \ _qw_im = spu_msub(_q_im, _W_im, spu_mul(_q_re, _W_re)); \ _P_re = spu_add(_p_re, _qw_re); \ _P_im = spu_add(_p_im, _qw_im); \ _Q_re = spu_sub(_p_re, _qw_re); \ _Q_im = spu_sub(_p_im, _qw_im); \ } </pre></div> <p>Referenced by <a class="el" href="fft__1d__r2_8h.html#adb7e8a704b1ac7da3a8f6408be60979b">_fft_1d_r2()</a>.</p> </div> </div> <a class="anchor" id="a00ce1546c572fa40f917142388f0c22a"></a><!-- doxytag: member="fft_1d.h::INV_SQRT_2" ref="a00ce1546c572fa40f917142388f0c22a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define INV_SQRT_2   0.7071067811865</td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="fft__1d__r2_8h.html#adb7e8a704b1ac7da3a8f6408be60979b">_fft_1d_r2()</a>.</p> </div> </div> <a class="anchor" id="a7e49143d089320690fd74371ce28048b"></a><!-- doxytag: member="fft_1d.h::MAX_FFT_1D_SIZE" ref="a7e49143d089320690fd74371ce28048b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAX_FFT_1D_SIZE   8192</td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="fft__1d__r2_8h.html#adb7e8a704b1ac7da3a8f6408be60979b">_fft_1d_r2()</a>.</p> </div> </div> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="fft__1d_8h.html">fft_1d.h</a> </li> <li class="footer">Generated on Thu Feb 17 2011 for GNU Radio 3.2.2 C++ API by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li> </ul> </div> </body> </html>