Added all the F4 libraries to the project
[fw/stlink] / exampleF4 / CMSIS / Documentation / DSP_Lib / html / arm_convolution_example_f32_8c-example.html
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">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <title>CMSIS DSP Software Library: arm_convolution_example_f32.c</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"/>
10 </head>
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');
15 --></script>
16 <div class="navigation" id="top">
17   <div class="tabs">
18     <ul class="tablist">
19       <li><a href="index.html"><span>Main&#160;Page</span></a></li>
20       <li><a href="modules.html"><span>Modules</span></a></li>
21       <li><a href="annotated.html"><span>Data&#160;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>
24       <li id="searchli">
25         <div id="MSearchBox" class="MSearchBoxInactive">
26         <span class="left">
27           <img id="MSearchSelect" src="search/mag_sel.png"
28                onmouseover="return searchBox.OnSearchSelectShow()"
29                onmouseout="return searchBox.OnSearchSelectHide()"
30                alt=""/>
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>
37           </span>
38         </div>
39       </li>
40     </ul>
41   </div>
42 </div>
43 <div class="header">
44   <div class="headertitle">
45 <h1>arm_convolution_example_f32.c</h1>  </div>
46 </div>
47 <div class="contents">
48 <div class="fragment"><pre class="fragment"><span class="comment">/* ---------------------------------------------------------------------- </span>
49 <span class="comment">* Copyright (C) 2010 ARM Limited. All rights reserved.   </span>
50 <span class="comment">*  </span>
51 <span class="comment">* $Date:        29. November 2010  </span>
52 <span class="comment">* $Revision:    V1.0.3 </span>
53 <span class="comment">*  </span>
54 <span class="comment">* Project:      CMSIS DSP Library  </span>
55 <span class="comment">* Title:        arm_convolution_example_f32.c         </span>
56 <span class="comment">*  </span>
57 <span class="comment">* Description:  Example code demonstrating Convolution of two input signals using fft. </span>
58 <span class="comment">* </span>
59 <span class="comment">* Target Processor: Cortex-M4/Cortex-M3  </span>
60 <span class="comment">*</span>
61 <span class="comment">*</span>
62 <span class="comment">* Version 1.0.3 2010/11/29 </span>
63 <span class="comment">*    Re-organized the CMSIS folders and updated documentation. </span>
64 <span class="comment">* </span>
65 <span class="comment">* Version 1.0.1 2010/10/05 KK </span>
66 <span class="comment">*    Production release and review comments incorporated.  </span>
67 <span class="comment">*</span>
68 <span class="comment">* Version 1.0.0 2010/09/20 KK</span>
69 <span class="comment">*    Production release and review comments incorporated.</span>
70 <span class="comment">* ------------------------------------------------------------------- */</span> 
71  
72 <span class="preprocessor">#include &quot;<a class="code" href="arm__math_8h.html">arm_math.h</a>&quot;</span> 
73 <span class="preprocessor">#include &quot;math_helper.h&quot;</span>                 
74  
75 <span class="comment">/* ---------------------------------------------------------------------- </span>
76 <span class="comment">* Defines each of the tests performed </span>
77 <span class="comment">* ------------------------------------------------------------------- */</span> 
78 <span class="preprocessor">#define MAX_BLOCKSIZE   128 </span>
79 <span class="preprocessor"></span><span class="preprocessor">#define DELTA           (0.000001f) </span>
80 <span class="preprocessor"></span><span class="preprocessor">#define SNR_THRESHOLD   90 </span>
81 <span class="preprocessor"></span> 
82 <span class="comment">/* ---------------------------------------------------------------------- </span>
83 <span class="comment">* Declare I/O buffers  </span>
84 <span class="comment">* ------------------------------------------------------------------- */</span> 
85 <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a0"></a><a class="code" href="arm__convolution__example__f32_8c.html#aed74eacd4b96cc7f71b64d18f2e95705">Ak</a>[<a name="a1"></a><a class="code" href="arm__convolution__example__f32_8c.html#af8a1d2ed31f7c9a00fec46a798edb61b">MAX_BLOCKSIZE</a>];        <span class="comment">/* Input A */</span> 
86 <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a2"></a><a class="code" href="arm__convolution__example__f32_8c.html#a88a0167516ae7ed66203fd60e6ddeea3">Bk</a>[<a class="code" href="arm__convolution__example__f32_8c.html#af8a1d2ed31f7c9a00fec46a798edb61b">MAX_BLOCKSIZE</a>];        <span class="comment">/* Input B */</span> 
87 <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a3"></a><a class="code" href="arm__convolution__example__f32_8c.html#a13521f3164dc55679f43b7cb2e41e098">AxB</a>[<a class="code" href="arm__convolution__example__f32_8c.html#af8a1d2ed31f7c9a00fec46a798edb61b">MAX_BLOCKSIZE</a> * 2];   <span class="comment">/* Output */</span> 
88  
89 <span class="comment">/* ---------------------------------------------------------------------- </span>
90 <span class="comment">* Test input data for Floating point Convolution example for 32-blockSize </span>
91 <span class="comment">* Generated by the MATLAB randn() function </span>
92 <span class="comment">* ------------------------------------------------------------------- */</span> 
93 <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a4"></a><a class="code" href="arm__convolution__example__f32_8c.html#a7db2f016e1afcb524a2fdc3c5a3cb640">testInputA_f32</a>[64] =  
94 {  
95 -0.808920,  1.357369,   1.180861,   -0.504544,  1.762637,   -0.703285,   
96 1.696966,   0.620571,   -0.151093,  -0.100235,  -0.872382,  -0.403579,   
97 -0.860749,  -0.382648,  -1.052338,  0.128113,   -0.646269,  1.093377,    
98 -2.209198,  0.471706,   0.408901,   1.266242,   0.598252,   1.176827,    
99 -0.203421,  0.213596,   -0.851964,  -0.466958,  0.021841,   -0.698938,   
100 -0.604107,  0.461778,   -0.318219,  0.942520,   0.577585,   0.417619,    
101 0.614665,   0.563679,   -1.295073,  -0.764437,  0.952194,   -0.859222,   
102 -0.618554,  -2.268542,  -1.210592,  1.655853,   -2.627219,  -0.994249,   
103 -1.374704,  0.343799,   0.025619,   1.227481,   -0.708031,  0.069355,    
104 -1.845228,  -1.570886,  1.010668,   -1.802084,  1.630088,   1.286090,    
105 -0.161050,  -0.940794,  0.367961,   0.291907 
106          
107 };  
108   
109 <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a5"></a><a class="code" href="arm__convolution__example__f32_8c.html#acb22287e7e096b677e352dfd363ba60d">testInputB_f32</a>[64] =  
110 {  
111 0.933724,   0.046881,   1.316470,   0.438345,   0.332682,   2.094885,    
112 0.512081,   0.035546,   0.050894,   -2.320371,  0.168711,   -1.830493,   
113 -0.444834,  -1.003242,  -0.531494,  -1.365600,  -0.155420,  -0.757692,   
114 -0.431880,  -0.380021,  0.096243,   -0.695835,  0.558850,   -1.648962,   
115 0.020369,   -0.363630,  0.887146,   0.845503,   -0.252864,  -0.330397,   
116 1.269131,   -1.109295,  -1.027876,  0.135940,   0.116721,   -0.293399,   
117 -1.349799,  0.166078,   -0.802201,  0.369367,   -0.964568,  -2.266011,   
118 0.465178,   0.651222,   -0.325426,  0.320245,   -0.784178,  -0.579456,   
119 0.093374,   0.604778,   -0.048225,  0.376297,   -0.394412,  0.578182,    
120 -1.218141,  -1.387326,  0.692462,   -0.631297,  0.153137,   -0.638952,   
121 0.635474,   -0.970468,  1.334057,   -0.111370 
122 };  
123   
124 <span class="keyword">const</span> <span class="keywordtype">float</span> <a name="a6"></a><a class="code" href="arm__convolution__example__f32_8c.html#a6463f7327432fc62ad9f6017593330d3">testRefOutput_f32</a>[126] =   
125 {  
126 -0.818943,  1.229484,   -0.533664,  1.016604,   0.341875,   -1.963656,   
127 5.171476,   3.478033,   7.616361,   6.648384,   0.479069,   1.792012,    
128 -1.295591,  -7.447818,  0.315830,   -10.657445, -2.483469,  -6.524236,   
129 -7.380591,  -3.739005,  -8.388957,  0.184147,   -1.554888,  3.786508,    
130 -1.684421,  5.400610,   -1.578126,  7.403361,   8.315999,   2.080267,    
131 11.077776,  2.749673,   7.138962,   2.748762,   0.660363,   0.981552,    
132 1.442275,   0.552721,   -2.576892,  4.703989,   0.989156,   8.759344,    
133 -0.564825,  -3.994680,  0.954710,   -5.014144,  6.592329,   1.599488,    
134 -13.979146, -0.391891,  -4.453369,  -2.311242,  -2.948764,  1.761415,    
135 -0.138322,  10.433007,  -2.309103,  4.297153,   8.535523,   3.209462,    
136 8.695819,   5.569919,   2.514304,   5.582029,   2.060199,   0.642280,    
137 7.024616,   1.686615,   -6.481756,  1.343084,   -3.526451,  1.099073,    
138 -2.965764,  -0.173723,  -4.111484,  6.528384,   -6.965658,  1.726291,    
139 1.535172,   11.023435,  2.338401,   -4.690188,  1.298210,   3.943885,    
140 8.407885,   5.168365,   0.684131,   1.559181,   1.859998,   2.852417,    
141 8.574070,   -6.369078,  6.023458,   11.837963,  -6.027632,  4.469678,    
142 -6.799093,  -2.674048,  6.250367,   -6.809971,  -3.459360,  9.112410,    
143 -2.711621,  -1.336678,  1.564249,   -1.564297,  -1.296760,  8.904013,    
144 -3.230109,  6.878013,   -7.819823,  3.369909,   -1.657410,  -2.007358,   
145 -4.112825,  1.370685,   -3.420525,  -6.276605,  3.244873,   -3.352638,   
146 1.545372,   0.902211,   0.197489,   -1.408732,  0.523390,   0.348440 
147 }; 
148  
149  
150 <span class="comment">/* ---------------------------------------------------------------------- </span>
151 <span class="comment">* Declare Global variables  </span>
152 <span class="comment">* ------------------------------------------------------------------- */</span> 
153 uint32_t <a name="a7"></a><a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a> = 64;   <span class="comment">/* Length of Input A */</span> 
154 uint32_t <a name="a8"></a><a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a> = 64;   <span class="comment">/* Length of Input B */</span> 
155 uint32_t <a name="a9"></a><a class="code" href="arm__convolution__example__f32_8c.html#a9c49c44c8bc5c432d220d33a26b4b589">outLen</a>;         <span class="comment">/* Length of convolution output */</span> 
156 <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a10"></a><a class="code" href="arm__convolution__example__f32_8c.html#af06013f588a7003278de222913c9d819">snr</a>;           <span class="comment">/* output SNR */</span> 
157  
158 int32_t <a name="a11"></a><a class="code" href="arm__class__marks__example__f32_8c.html#a196718f834091385d38586a0ce4009dc">main</a>(<span class="keywordtype">void</span>) 
159
160     <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a name="a12"></a><a class="code" href="arm__dotproduct__example__f32_8c.html#a88ccb294236ab22b00310c47164c53c3">status</a>;     <span class="comment">/* Status of the example */</span> 
161     <a name="_a13"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> cfft_instance; <span class="comment">/* CFFT Structure instance */</span> 
162  
163     <span class="comment">/* CFFT Structure instance pointer */</span> 
164     <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> *cfft_instance_ptr =  
165             (<a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a>*) &amp;cfft_instance; 
166  
167     <span class="comment">/* output length of convolution */</span> 
168     <a class="code" href="arm__convolution__example__f32_8c.html#a9c49c44c8bc5c432d220d33a26b4b589">outLen</a> = <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a> + <a class="code" href="arm__convolution__example__f32_8c.html#aea71286f498978c5ed3775609b974fc8">srcBLen</a> - 1; 
169  
170     <span class="comment">/* Initialise the fft input buffers with all zeros */</span> 
171     <a name="a14"></a><a class="code" href="group___fill.html#ga2248e8d3901b4afb7827163132baad94" title="Fills a constant value into a floating-point vector.">arm_fill_f32</a>(0.0,  <a class="code" href="arm__convolution__example__f32_8c.html#aed74eacd4b96cc7f71b64d18f2e95705">Ak</a>, <a class="code" href="arm__convolution__example__f32_8c.html#af8a1d2ed31f7c9a00fec46a798edb61b">MAX_BLOCKSIZE</a>); 
172     <a class="code" href="group___fill.html#ga2248e8d3901b4afb7827163132baad94" title="Fills a constant value into a floating-point vector.">arm_fill_f32</a>(0.0,  <a class="code" href="arm__convolution__example__f32_8c.html#a88a0167516ae7ed66203fd60e6ddeea3">Bk</a>, <a class="code" href="arm__convolution__example__f32_8c.html#af8a1d2ed31f7c9a00fec46a798edb61b">MAX_BLOCKSIZE</a>); 
173  
174     <span class="comment">/* Copy the input values to the fft input buffers */</span> 
175     <a name="a15"></a><a class="code" href="group__copy.html#gadd1f737e677e0e6ca31767c7001417b3" title="Copies the elements of a floating-point vector.">arm_copy_f32</a>(<a class="code" href="arm__convolution__example__f32_8c.html#a7db2f016e1afcb524a2fdc3c5a3cb640">testInputA_f32</a>,  <a class="code" href="arm__convolution__example__f32_8c.html#aed74eacd4b96cc7f71b64d18f2e95705">Ak</a>, <a class="code" href="arm__convolution__example__f32_8c.html#af8a1d2ed31f7c9a00fec46a798edb61b">MAX_BLOCKSIZE</a>/2); 
176     <a class="code" href="group__copy.html#gadd1f737e677e0e6ca31767c7001417b3" title="Copies the elements of a floating-point vector.">arm_copy_f32</a>(<a class="code" href="arm__convolution__example__f32_8c.html#acb22287e7e096b677e352dfd363ba60d">testInputB_f32</a>,  <a class="code" href="arm__convolution__example__f32_8c.html#a88a0167516ae7ed66203fd60e6ddeea3">Bk</a>, <a class="code" href="arm__convolution__example__f32_8c.html#af8a1d2ed31f7c9a00fec46a798edb61b">MAX_BLOCKSIZE</a>/2); 
177      
178     <span class="comment">/* Initialize the CFFT function to compute 64 point fft */</span>  
179     status = <a name="a16"></a><a class="code" href="group___c_f_f_t___c_i_f_f_t.html#gaf336459f684f0b17bfae539ef1b1b78a" title="Initialization function for the floating-point CFFT/CIFFT.">arm_cfft_radix4_init_f32</a>(cfft_instance_ptr, 64, 0, 1); 
180  
181     <span class="comment">/* Transform input a[n] from time domain to frequency domain A[k] */</span> 
182     <a name="a17"></a><a class="code" href="group___c_f_f_t___c_i_f_f_t.html#ga521f670cd9c571bc61aff9bec89f4c26" title="Processing function for the floating-point CFFT/CIFFT.">arm_cfft_radix4_f32</a>(cfft_instance_ptr, <a class="code" href="arm__convolution__example__f32_8c.html#aed74eacd4b96cc7f71b64d18f2e95705">Ak</a>); 
183     <span class="comment">/* Transform input b[n] from time domain to frequency domain B[k] */</span> 
184     <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#ga521f670cd9c571bc61aff9bec89f4c26" title="Processing function for the floating-point CFFT/CIFFT.">arm_cfft_radix4_f32</a>(cfft_instance_ptr, <a class="code" href="arm__convolution__example__f32_8c.html#a88a0167516ae7ed66203fd60e6ddeea3">Bk</a>); 
185      
186     <span class="comment">/* Complex Multiplication of the two input buffers in frequency domain */</span> 
187     <a name="a18"></a><a class="code" href="group___cmplx_by_cmplx_mult.html#ga14b47080054a1ba1250a86805be1ff6b" title="Floating-point complex-by-complex multiplication.">arm_cmplx_mult_cmplx_f32</a>(<a class="code" href="arm__convolution__example__f32_8c.html#aed74eacd4b96cc7f71b64d18f2e95705">Ak</a>, <a class="code" href="arm__convolution__example__f32_8c.html#a88a0167516ae7ed66203fd60e6ddeea3">Bk</a>, <a class="code" href="arm__convolution__example__f32_8c.html#a13521f3164dc55679f43b7cb2e41e098">AxB</a>, <a class="code" href="arm__convolution__example__f32_8c.html#af8a1d2ed31f7c9a00fec46a798edb61b">MAX_BLOCKSIZE</a>/2);  
188  
189     <span class="comment">/* Initialize the CIFFT function to compute 64 point ifft */</span>  
190     status = <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#gaf336459f684f0b17bfae539ef1b1b78a" title="Initialization function for the floating-point CFFT/CIFFT.">arm_cfft_radix4_init_f32</a>(cfft_instance_ptr, 64, 1, 1); 
191  
192     <span class="comment">/* Transform the multiplication output from frequency domain to time domain, </span>
193 <span class="comment">       that gives the convolved output  */</span> 
194     <a class="code" href="group___c_f_f_t___c_i_f_f_t.html#ga521f670cd9c571bc61aff9bec89f4c26" title="Processing function for the floating-point CFFT/CIFFT.">arm_cfft_radix4_f32</a>(cfft_instance_ptr, <a class="code" href="arm__convolution__example__f32_8c.html#a13521f3164dc55679f43b7cb2e41e098">AxB</a>); 
195  
196     <span class="comment">/* SNR Calculation */</span> 
197     <a class="code" href="arm__convolution__example__f32_8c.html#af06013f588a7003278de222913c9d819">snr</a> = arm_snr_f32((<a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> *)<a class="code" href="arm__convolution__example__f32_8c.html#a6463f7327432fc62ad9f6017593330d3">testRefOutput_f32</a>, <a class="code" href="arm__convolution__example__f32_8c.html#a13521f3164dc55679f43b7cb2e41e098">AxB</a>, <a class="code" href="arm__convolution__example__f32_8c.html#ace48ed566e2cd6a680f0681192e6af28">srcALen</a> + srcBLen - 1); 
198      
199     <span class="comment">/* Compare the SNR with threshold to test whether the  </span>
200 <span class="comment">       computed output is matched with the reference output values. */</span> 
201     <span class="keywordflow">if</span>( <a class="code" href="arm__convolution__example__f32_8c.html#af06013f588a7003278de222913c9d819">snr</a> &gt; <a name="a19"></a><a class="code" href="arm__convolution__example__f32_8c.html#af08ec3fef897d77c6817638bf0e0c5c6">SNR_THRESHOLD</a>) 
202     { 
203         status = <a name="a20"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">ARM_MATH_SUCCESS</a>; 
204     } 
205          
206     <span class="keywordflow">if</span>( status != <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">ARM_MATH_SUCCESS</a>) 
207     { 
208       <span class="keywordflow">while</span>(1); 
209     } 
210
211                                   
212 </pre></div> </div>
213 </div>
214 <!--- window showing the filter options -->
215 <div id="MSearchSelectWindow"
216      onmouseover="return searchBox.OnSearchSelectShow()"
217      onmouseout="return searchBox.OnSearchSelectHide()"
218      onkeydown="return searchBox.OnSearchSelectKey(event)">
219 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>
220
221 <!-- iframe showing the search results (closed by default) -->
222 <div id="MSearchResultsWindow">
223 <iframe src="" frameborder="0" 
224         name="MSearchResults" id="MSearchResults">
225 </iframe>
226 </div>
227
228 <hr class="footer"/><address class="footer"><small>Generated on Fri Jul 15 2011 13:16:15 for CMSIS DSP Software Library by&#160;
229 <a href="http://www.doxygen.org/index.html">
230 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
231 </body>
232 </html>