diff options
author | rihab kouki <rihab.kouki@st.com> | 2020-07-28 11:24:49 +0100 |
---|---|---|
committer | rihab kouki <rihab.kouki@st.com> | 2020-07-28 11:24:49 +0100 |
commit | 96d6da4e252b06dcfdc041e7df23e86161c33007 (patch) | |
tree | a262f59bb1db7ec7819acae435f5049cbe5e2354 /docs/DSP/html/group__RealFFT__Table.html | |
parent | 9f95ff5b6ba01db09552b84a0ab79607060a2666 (diff) | |
download | st-cmsis-core-lowfat-master.tar.gz st-cmsis-core-lowfat-master.tar.bz2 st-cmsis-core-lowfat-master.zip |
Diffstat (limited to 'docs/DSP/html/group__RealFFT__Table.html')
-rw-r--r-- | docs/DSP/html/group__RealFFT__Table.html | 134 |
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 -  <span id="projectnumber">Version 1.5.2</span> +  <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> | <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> </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"> </td><td class="mdescRight">Weights Table. <a href="#ga70c20a29dce002df289426d5b4f67fa8">More...</a><br/></td></tr> +<tr class="separator:ga70c20a29dce002df289426d5b4f67fa8"><td class="memSeparator" colspan="2"> </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> </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> </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"> </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> </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> </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"> </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> </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"> </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> </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"> </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> </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"> </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> </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"> </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 </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 < 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 < 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< 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< 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 < 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 < 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 < 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 < 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 < 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 |