summaryrefslogtreecommitdiff
path: root/docs/DSP/html/group__RealFFT__Table.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/DSP/html/group__RealFFT__Table.html')
-rw-r--r--docs/DSP/html/group__RealFFT__Table.html134
1 files changed, 61 insertions, 73 deletions
diff --git a/docs/DSP/html/group__RealFFT__Table.html b/docs/DSP/html/group__RealFFT__Table.html
index 17a72c6..db63fd1 100644
--- a/docs/DSP/html/group__RealFFT__Table.html
+++ b/docs/DSP/html/group__RealFFT__Table.html
@@ -32,7 +32,7 @@
<td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">CMSIS-DSP
- &#160;<span id="projectnumber">Version 1.5.2</span>
+ &#160;<span id="projectnumber">Version 1.7.0</span>
</div>
<div id="projectbrief">CMSIS DSP Software Library</div>
</td>
@@ -108,75 +108,98 @@ $(document).ready(function(){initNavTree('group__RealFFT__Table.html','');});
<div class="header">
<div class="summary">
+<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">Real FFT Tables<div class="ingroups"><a class="el" href="group__RealFFT.html">Real FFT Functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga70c20a29dce002df289426d5b4f67fa8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#ga70c20a29dce002df289426d5b4f67fa8">__ALIGNED</a> (4)</td></tr>
+<tr class="memdesc:ga70c20a29dce002df289426d5b4f67fa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Weights Table. <a href="#ga70c20a29dce002df289426d5b4f67fa8">More...</a><br/></td></tr>
+<tr class="separator:ga70c20a29dce002df289426d5b4f67fa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:ga8b1ad947c470596674fa3364e16045c6"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#ga8b1ad947c470596674fa3364e16045c6">realCoefA</a> [8192]</td></tr>
+<tr class="memitem:ga8b1ad947c470596674fa3364e16045c6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#ga8b1ad947c470596674fa3364e16045c6">realCoefA</a> [8192]</td></tr>
<tr class="separator:ga8b1ad947c470596674fa3364e16045c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac52f98b52a1f03bfac8b57a67ba07397"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#gac52f98b52a1f03bfac8b57a67ba07397">realCoefB</a> [8192]</td></tr>
+<tr class="memitem:gac52f98b52a1f03bfac8b57a67ba07397"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#gac52f98b52a1f03bfac8b57a67ba07397">realCoefB</a> [8192]</td></tr>
<tr class="separator:gac52f98b52a1f03bfac8b57a67ba07397"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga11e84d0ee257a547f749b37dd0078d36"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> <a class="el" href="arm__math_8h.html#a280a402ab28c399fcc4168f2ed631acb">ALIGN4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#ga11e84d0ee257a547f749b37dd0078d36">realCoefAQ15</a> [8192]</td></tr>
-<tr class="separator:ga11e84d0ee257a547f749b37dd0078d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac871666f018b70938b2b98017628cb97"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> <a class="el" href="arm__math_8h.html#a280a402ab28c399fcc4168f2ed631acb">ALIGN4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#gac871666f018b70938b2b98017628cb97">realCoefBQ15</a> [8192]</td></tr>
-<tr class="separator:gac871666f018b70938b2b98017628cb97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1592a6cf0504675205074a43c3728a2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#gaf1592a6cf0504675205074a43c3728a2">realCoefAQ31</a> [8192]</td></tr>
<tr class="separator:gaf1592a6cf0504675205074a43c3728a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1eb5745728a61c3715755f5d69a4a960"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__RealFFT__Table.html#ga1eb5745728a61c3715755f5d69a4a960">realCoefBQ31</a> [8192]</td></tr>
<tr class="separator:ga1eb5745728a61c3715755f5d69a4a960"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
-<h2 class="groupheader">Variable Documentation</h2>
-<a class="anchor" id="ga8b1ad947c470596674fa3364e16045c6"></a>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga70c20a29dce002df289426d5b4f67fa8"></a>
<div class="memitem">
<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">const <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> realCoefA[8192]</td>
+ <td class="memname">const <a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> __ALIGNED </td>
+ <td>(</td>
+ <td class="paramtype">4&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
</tr>
</table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
- </tr>
-</table>
</div><div class="memdoc">
-<dl class="section user"><dt></dt><dd>Generation of realCoefA array: </dd></dl>
+<p>Q15 table for reciprocal.</p>
+<dl class="section user"><dt></dt><dd>Generation fixed-point realCoefAQ15 array in Q15 format: </dd></dl>
<dl class="section user"><dt></dt><dd>n = 4096 <pre>for (i = 0; i &lt; n; i++)
- {
- pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
+{
+ pATable[2 * i] = 0.5 * ( 1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
- } </pre> </dd></dl>
-
-<p>Referenced by <a class="el" href="group__RealFFT.html#ga10717ee326bf50832ef1c25b85a23068">arm_rfft_init_f32()</a>.</p>
+}</pre> </dd></dl>
+<dl class="section user"><dt></dt><dd>Convert to fixed point Q15 format round(pATable[i] * pow(2, 15))</dd></dl>
+<dl class="section user"><dt></dt><dd>Generation of real_CoefB array: </dd></dl>
+<dl class="section user"><dt></dt><dd>n = 4096 <pre>for (i = 0; i &lt; n; i++)
+{
+ pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
+ pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
+}</pre> </dd></dl>
+<dl class="section user"><dt></dt><dd>Convert to fixed point Q15 format round(pBTable[i] * pow(2, 15))</dd></dl>
+<dl class="section user"><dt></dt><dd>Weights tables are generated using the formula : <pre>weights[n] = e^(-j*n*pi/(2*N))</pre> </dd></dl>
+<dl class="section user"><dt></dt><dd>C command to generate the table <pre>
+for(i = 0; i&lt; N; i++)
+{
+ weights[(2*i)] = cos(i*c);
+ weights[(2*i)+1] = -sin(i*c);
+} </pre> </dd></dl>
+<dl class="section user"><dt></dt><dd>where <code>N</code> is the Number of weights to be calculated and <code>c</code> is <code>pi/(2*N)</code> </dd></dl>
+<dl class="section user"><dt></dt><dd>Converted the output to q15 format by multiplying with 2^31 and saturated if required. </dd></dl>
+<dl class="section user"><dt></dt><dd>In the tables below the real and imaginary values are placed alternatively, hence the array length is <code>2*N</code>. </dd></dl>
+<dl class="section user"><dt></dt><dd>cosFactor tables are generated using the formula : <pre> cos_factors[n] = 2 * cos((2n+1)*pi/(4*N)) </pre> </dd></dl>
+<dl class="section user"><dt></dt><dd>C command to generate the table <pre>
+for (i = 0; i&lt; N; i++)
+{
+ cos_factors[i] = 2 * cos((2*i+1)*c/2);
+} </pre> </dd></dl>
+<dl class="section user"><dt></dt><dd>where <code>N</code> is the number of factors to generate and <code>c</code> is <code>pi/(2*N)</code> </dd></dl>
+<dl class="section user"><dt></dt><dd>Then converted to q15 format by multiplying with 2^31 and saturated if required.</dd></dl>
+<p>end of DCT4_IDCT4_Table group </p>
</div>
</div>
-<a class="anchor" id="ga11e84d0ee257a547f749b37dd0078d36"></a>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="ga8b1ad947c470596674fa3364e16045c6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const <a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> <a class="el" href="arm__math_8h.html#a280a402ab28c399fcc4168f2ed631acb">ALIGN4</a> realCoefAQ15[8192]</td>
+ <td class="memname">const <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> realCoefA[8192]</td>
</tr>
</table>
</div><div class="memdoc">
-<dl class="section user"><dt></dt><dd>Generation fixed-point realCoefAQ15 array in Q15 format: </dd></dl>
+<dl class="section user"><dt></dt><dd>Generation of realCoefA array: </dd></dl>
<dl class="section user"><dt></dt><dd>n = 4096 <pre>for (i = 0; i &lt; n; i++)
- {
- pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
+{
+ pATable[2 * i] = 0.5 * ( 1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
- } </pre> </dd></dl>
-<dl class="section user"><dt></dt><dd>Convert to fixed point Q15 format round(pATable[i] * pow(2, 15)) </dd></dl>
-
-<p>Referenced by <a class="el" href="group__RealFFT.html#ga053450cc600a55410ba5b5605e96245d">arm_rfft_init_q15()</a>.</p>
+}</pre> </dd></dl>
</div>
</div>
@@ -192,61 +215,28 @@ Variables</h2></td></tr>
<dl class="section user"><dt></dt><dd>Generation fixed-point realCoefAQ31 array in Q31 format: </dd></dl>
<dl class="section user"><dt></dt><dd>n = 4096 <pre>for (i = 0; i &lt; n; i++)
{
- pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
+ pATable[2 * i] = 0.5 * ( 1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
}</pre> </dd></dl>
<dl class="section user"><dt></dt><dd>Convert to fixed point Q31 format round(pATable[i] * pow(2, 31)) </dd></dl>
-<p>Referenced by <a class="el" href="group__RealFFT.html#ga5abde938abbe72e95c5bab080eb33c45">arm_rfft_init_q31()</a>.</p>
-
</div>
</div>
<a class="anchor" id="gac52f98b52a1f03bfac8b57a67ba07397"></a>
<div class="memitem">
<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> realCoefB[8192]</td>
</tr>
</table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
- </tr>
-</table>
</div><div class="memdoc">
<dl class="section user"><dt></dt><dd>Generation of realCoefB array: </dd></dl>
<dl class="section user"><dt></dt><dd>n = 4096 <pre>for (i = 0; i &lt; n; i++)
{
- pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
+ pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
- } </pre> </dd></dl>
-
-<p>Referenced by <a class="el" href="group__RealFFT.html#ga10717ee326bf50832ef1c25b85a23068">arm_rfft_init_f32()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gac871666f018b70938b2b98017628cb97"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> <a class="el" href="arm__math_8h.html#a280a402ab28c399fcc4168f2ed631acb">ALIGN4</a> realCoefBQ15[8192]</td>
- </tr>
- </table>
-</div><div class="memdoc">
-<dl class="section user"><dt></dt><dd>Generation of real_CoefB array: </dd></dl>
-<dl class="section user"><dt></dt><dd>n = 4096 <pre>for (i = 0; i &lt; n; i++)
- {
- pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
- pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
- } </pre> </dd></dl>
-<dl class="section user"><dt></dt><dd>Convert to fixed point Q15 format round(pBTable[i] * pow(2, 15)) </dd></dl>
-
-<p>Referenced by <a class="el" href="group__RealFFT.html#ga053450cc600a55410ba5b5605e96245d">arm_rfft_init_q15()</a>.</p>
+}</pre> </dd></dl>
</div>
</div>
@@ -262,13 +252,11 @@ Variables</h2></td></tr>
<dl class="section user"><dt></dt><dd>Generation of realCoefBQ31 array: </dd></dl>
<dl class="section user"><dt></dt><dd>n = 4096 <pre>for (i = 0; i &lt; n; i++)
{
- pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
+ pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
} </pre> </dd></dl>
<dl class="section user"><dt></dt><dd>Convert to fixed point Q31 format round(pBTable[i] * pow(2, 31)) </dd></dl>
-<p>Referenced by <a class="el" href="group__RealFFT.html#ga5abde938abbe72e95c5bab080eb33c45">arm_rfft_init_q31()</a>.</p>
-
</div>
</div>
</div><!-- contents -->
@@ -276,7 +264,7 @@ Variables</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
- <li class="footer">Generated on Wed Aug 1 2018 17:12:22 for CMSIS-DSP by Arm Ltd. All rights reserved.
+ <li class="footer">Generated on Wed Jul 10 2019 15:20:40 for CMSIS-DSP Version 1.7.0 by Arm Ltd. All rights reserved.
<!--
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6