1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <title>CMSIS DSP Software Library: Complex Magnitude</title>
6 <link href="tabs.css" rel="stylesheet" type="text/css"/>
7 <link href="search/search.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javaScript" src="search/search.js"></script>
9 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
11 <body onload='searchBox.OnSelectItem(0);'>
12 <!-- Generated by Doxygen 1.7.2 -->
13 <script type="text/javascript"><!--
14 var searchBox = new SearchBox("searchBox", "search",false,'Search');
16 <div class="navigation" id="top">
19 <li><a href="index.html"><span>Main Page</span></a></li>
20 <li><a href="modules.html"><span>Modules</span></a></li>
21 <li><a href="annotated.html"><span>Data Structures</span></a></li>
22 <li><a href="files.html"><span>Files</span></a></li>
23 <li><a href="examples.html"><span>Examples</span></a></li>
25 <div id="MSearchBox" class="MSearchBoxInactive">
27 <img id="MSearchSelect" src="search/mag_sel.png"
28 onmouseover="return searchBox.OnSearchSelectShow()"
29 onmouseout="return searchBox.OnSearchSelectHide()"
31 <input type="text" id="MSearchField" value="Search" accesskey="S"
32 onfocus="searchBox.OnSearchFieldFocus(true)"
33 onblur="searchBox.OnSearchFieldFocus(false)"
34 onkeyup="searchBox.OnSearchFieldChange(event)"/>
35 </span><span class="right">
36 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
45 <a href="#func-members">Functions</a> </div>
46 <div class="headertitle">
47 <h1>Complex Magnitude<br/>
49 [<a class="el" href="group__group_cmplx_math.html">Complex Math Functions</a>]</small>
52 <div class="contents">
53 <table class="memberdecls">
54 <tr><td colspan="2"><h2><a name="func-members"></a>
55 Functions</h2></td></tr>
56 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cmplx__mag.html#gae45024c497392cde2ae358a76d435213">arm_cmplx_mag_f32</a> (<a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> *pSrc, <a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> *pDst, uint32_t numSamples)</td></tr>
57 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cmplx__mag.html#ga14f82f9230e9d96d5b9774e2fefcb7be">arm_cmplx_mag_q31</a> (<a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a> *pSrc, <a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a> *pDst, uint32_t numSamples)</td></tr>
58 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cmplx__mag.html#ga0a4a8f77a6a51d9b3f3b9d729f85b7a4">arm_cmplx_mag_q15</a> (<a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> *pSrc, <a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> *pDst, uint32_t numSamples)</td></tr>
60 <hr/><a name="_details"></a><h2>Detailed Description</h2>
61 <p>Computes the magnitude of the elements of a complex data vector.</p>
62 <p>The <code>pSrc</code> points to the source data and <code>pDst</code> points to the where the result should be written. <code>numSamples</code> specifies the number of complex samples in the input array and the data is stored in an interleaved fashion (real, imag, real, imag, ...). The input array has a total of <code>2*numSamples</code> values; the output array has a total of <code>numSamples</code> values. The underlying algorithm is used:</p>
64 for(n=0; n<numSamples; n++) {
65 pDst[n] = sqrt(pSrc[(2*n)+0]^2 + pSrc[(2*n)+1]^2);
67 </pre><p>There are separate functions for floating-point, Q15, and Q31 data types. </p>
68 <hr/><h2>Function Documentation</h2>
69 <a class="anchor" id="gae45024c497392cde2ae358a76d435213"></a><!-- doxytag: member="arm_cmplx_mag_f32.c::arm_cmplx_mag_f32" ref="gae45024c497392cde2ae358a76d435213" args="(float32_t *pSrc, float32_t *pDst, uint32_t numSamples)" -->
71 <div class="memproto">
72 <table class="memname">
74 <td class="memname">void arm_cmplx_mag_f32 </td>
76 <td class="paramtype"><a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> * </td>
77 <td class="paramname"> <em>pSrc</em>, </td>
80 <td class="paramkey"></td>
82 <td class="paramtype"><a class="el" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715">float32_t</a> * </td>
83 <td class="paramname"> <em>pDst</em>, </td>
86 <td class="paramkey"></td>
88 <td class="paramtype">uint32_t </td>
89 <td class="paramname"> <em>numSamples</em> </td>
100 <p>Floating-point complex magnitude. </p>
101 <dl><dt><b>Parameters:</b></dt><dd>
102 <table class="params">
103 <tr><td class="paramdir">[in]</td><td class="paramname">*pSrc</td><td>points to complex input buffer </td></tr>
104 <tr><td class="paramdir">[out]</td><td class="paramname">*pDst</td><td>points to real output buffer </td></tr>
105 <tr><td class="paramdir">[in]</td><td class="paramname">numSamples</td><td>number of complex samples in the input vector </td></tr>
109 <dl class="return"><dt><b>Returns:</b></dt><dd>none. </dd></dl>
110 <dl><dt><b>Examples: </b></dt><dd><a class="el" href="arm_fft_bin_example_f32_8c-example.html#a14">arm_fft_bin_example_f32.c</a>.</dd>
112 <p>Definition at line <a class="el" href="arm__cmplx__mag__f32_8c_source.html#l00073">73</a> of file <a class="el" href="arm__cmplx__mag__f32_8c_source.html">arm_cmplx_mag_f32.c</a>.</p>
116 <a class="anchor" id="ga14f82f9230e9d96d5b9774e2fefcb7be"></a><!-- doxytag: member="arm_cmplx_mag_q31.c::arm_cmplx_mag_q31" ref="ga14f82f9230e9d96d5b9774e2fefcb7be" args="(q31_t *pSrc, q31_t *pDst, uint32_t numSamples)" -->
117 <div class="memitem">
118 <div class="memproto">
119 <table class="memname">
121 <td class="memname">void arm_cmplx_mag_q31 </td>
123 <td class="paramtype"><a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a> * </td>
124 <td class="paramname"> <em>pSrc</em>, </td>
127 <td class="paramkey"></td>
129 <td class="paramtype"><a class="el" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0">q31_t</a> * </td>
130 <td class="paramname"> <em>pDst</em>, </td>
133 <td class="paramkey"></td>
135 <td class="paramtype">uint32_t </td>
136 <td class="paramname"> <em>numSamples</em> </td>
147 <p>Q31 complex magnitude. </p>
148 <dl><dt><b>Parameters:</b></dt><dd>
149 <table class="params">
150 <tr><td class="paramname">*pSrc</td><td>points to the complex input vector </td></tr>
151 <tr><td class="paramname">*pDst</td><td>points to the real output vector </td></tr>
152 <tr><td class="paramname">numSamples</td><td>number of complex samples in the input vector </td></tr>
156 <dl class="return"><dt><b>Returns:</b></dt><dd>none.</dd></dl>
157 <p><b>Scaling and Overflow Behavior:</b> </p>
158 <dl class="user"><dt><b></b></dt><dd>The function implements 1.31 by 1.31 multiplications and finally output is converted into 2.30 format. Input down scaling is not required. </dd></dl>
160 <p>Definition at line <a class="el" href="arm__cmplx__mag__q31_8c_source.html#l00054">54</a> of file <a class="el" href="arm__cmplx__mag__q31_8c_source.html">arm_cmplx_mag_q31.c</a>.</p>
164 <a class="anchor" id="ga0a4a8f77a6a51d9b3f3b9d729f85b7a4"></a><!-- doxytag: member="arm_cmplx_mag_q15.c::arm_cmplx_mag_q15" ref="ga0a4a8f77a6a51d9b3f3b9d729f85b7a4" args="(q15_t *pSrc, q15_t *pDst, uint32_t numSamples)" -->
165 <div class="memitem">
166 <div class="memproto">
167 <table class="memname">
169 <td class="memname">void arm_cmplx_mag_q15 </td>
171 <td class="paramtype"><a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> * </td>
172 <td class="paramname"> <em>pSrc</em>, </td>
175 <td class="paramkey"></td>
177 <td class="paramtype"><a class="el" href="arm__math_8h.html#ab5a8fb21a5b3b983d5f54f31614052ea">q15_t</a> * </td>
178 <td class="paramname"> <em>pDst</em>, </td>
181 <td class="paramkey"></td>
183 <td class="paramtype">uint32_t </td>
184 <td class="paramname"> <em>numSamples</em> </td>
195 <p>Q15 complex magnitude. </p>
196 <dl><dt><b>Parameters:</b></dt><dd>
197 <table class="params">
198 <tr><td class="paramname">*pSrc</td><td>points to the complex input vector </td></tr>
199 <tr><td class="paramname">*pDst</td><td>points to the real output vector </td></tr>
200 <tr><td class="paramname">numSamples</td><td>number of complex samples in the input vector </td></tr>
204 <dl class="return"><dt><b>Returns:</b></dt><dd>none.</dd></dl>
205 <p><b>Scaling and Overflow Behavior:</b> </p>
206 <dl class="user"><dt><b></b></dt><dd>The function implements 1.15 by 1.15 multiplications and finally output is converted into 2.14 format. </dd></dl>
208 <p>Definition at line <a class="el" href="arm__cmplx__mag__q15_8c_source.html#l00054">54</a> of file <a class="el" href="arm__cmplx__mag__q15_8c_source.html">arm_cmplx_mag_q15.c</a>.</p>
213 <!--- window showing the filter options -->
214 <div id="MSearchSelectWindow"
215 onmouseover="return searchBox.OnSearchSelectShow()"
216 onmouseout="return searchBox.OnSearchSelectHide()"
217 onkeydown="return searchBox.OnSearchSelectKey(event)">
218 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Defines</a></div>
220 <!-- iframe showing the search results (closed by default) -->
221 <div id="MSearchResultsWindow">
222 <iframe src="" frameborder="0"
223 name="MSearchResults" id="MSearchResults">
227 <hr class="footer"/><address class="footer"><small>Generated on Fri Jul 15 2011 13:16:20 for CMSIS DSP Software Library by 
228 <a href="http://www.doxygen.org/index.html">
229 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>