blob: c131db8d9e93779ffd7d3e74c7dd067248687cf6 [file] [log] [blame]
<!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>CMSIS DSP Software Library: arm_graphic_equalizer_example_q31.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.2 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
<div class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
<li id="searchli">
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<h1>arm_graphic_equalizer_example_q31.c</h1> </div>
</div>
<div class="contents">
<a href="arm__graphic__equalizer__example__q31_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00002"></a>00002 <span class="comment">* Copyright (C) 2010 ARM Limited. All rights reserved. </span>
<a name="l00003"></a>00003 <span class="comment">* </span>
<a name="l00004"></a>00004 <span class="comment">* $Date: 29. November 2010 </span>
<a name="l00005"></a>00005 <span class="comment">* $Revision: V1.0.3 </span>
<a name="l00006"></a>00006 <span class="comment">* </span>
<a name="l00007"></a>00007 <span class="comment">* Project: CMSIS DSP Library </span>
<a name="l00008"></a>00008 <span class="comment">* Title: arm_graphic_equalizer_example_q31.c </span>
<a name="l00009"></a>00009 <span class="comment">* </span>
<a name="l00010"></a>00010 <span class="comment">* Description: Example showing an audio graphic equalizer constructed</span>
<a name="l00011"></a>00011 <span class="comment">* out of Biquad filters.</span>
<a name="l00012"></a>00012 <span class="comment">* </span>
<a name="l00013"></a>00013 <span class="comment">* Target Processor: Cortex-M4/Cortex-M3 </span>
<a name="l00014"></a>00014 <span class="comment">*</span>
<a name="l00015"></a>00015 <span class="comment">*</span>
<a name="l00016"></a>00016 <span class="comment">* Version 1.0.3 2010/11/29 </span>
<a name="l00017"></a>00017 <span class="comment">* Re-organized the CMSIS folders and updated documentation. </span>
<a name="l00018"></a>00018 <span class="comment">* </span>
<a name="l00019"></a>00019 <span class="comment">* Version 1.0.1 2010/10/05 KK </span>
<a name="l00020"></a>00020 <span class="comment">* Production release and review comments incorporated. </span>
<a name="l00021"></a>00021 <span class="comment">*</span>
<a name="l00022"></a>00022 <span class="comment">* Version 1.0.0 2010/09/20 KK</span>
<a name="l00023"></a>00023 <span class="comment">* Production release and review comments incorporated.</span>
<a name="l00024"></a>00024 <span class="comment">* ------------------------------------------------------------------- */</span>
<a name="l00025"></a>00025
<a name="l00113"></a>00113 <span class="preprocessor">#include &quot;<a class="code" href="arm__math_8h.html">arm_math.h</a>&quot;</span>
<a name="l00114"></a>00114 <span class="preprocessor">#include &quot;math_helper.h&quot;</span>
<a name="l00115"></a>00115
<a name="l00116"></a>00116 <span class="comment">/* Length of the overall data in the test */</span>
<a name="l00117"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a4f4a95eaace4e7b4e2f5243ed24f6b28">00117</a> <span class="preprocessor">#define TESTLENGTH 320</span>
<a name="l00118"></a>00118 <span class="preprocessor"></span>
<a name="l00119"></a>00119 <span class="comment">/* Block size for the underlying processing */</span>
<a name="l00120"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#afcf795f5a96fd55561abe69f56224630">00120</a> <span class="preprocessor">#define BLOCKSIZE 32</span>
<a name="l00121"></a>00121 <span class="preprocessor"></span>
<a name="l00122"></a>00122 <span class="comment">/* Total number of blocks to run */</span>
<a name="l00123"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a814e34126e1b8150f4de047e1a9e7030">00123</a> <span class="preprocessor">#define NUMBLOCKS (TESTLENGTH/BLOCKSIZE)</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span>
<a name="l00125"></a>00125 <span class="comment">/* Number of 2nd order Biquad stages per filter */</span>
<a name="l00126"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a23f8e430b510dfdb3ebe53bffca0d864">00126</a> <span class="preprocessor">#define NUMSTAGES 2</span>
<a name="l00127"></a>00127 <span class="preprocessor"></span>
<a name="l00128"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#af7d1dd4deffa8e7ed6429e5dd0fe1812">00128</a> <span class="preprocessor">#define SNR_THRESHOLD_F32 98</span>
<a name="l00129"></a>00129 <span class="preprocessor"></span>
<a name="l00130"></a>00130 <span class="comment">/* ------------------------------------------------------------------- </span>
<a name="l00131"></a>00131 <span class="comment"> * External Declarations for Input and Output buffers </span>
<a name="l00132"></a>00132 <span class="comment"> * ------------------------------------------------------------------- */</span>
<a name="l00133"></a>00133
<a name="l00134"></a>00134 <span class="keyword">extern</span> <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#aa4699dc6ee05353c83e0be4e69f6ad05">testInput_f32</a>[<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a4f4a95eaace4e7b4e2f5243ed24f6b28">TESTLENGTH</a>];
<a name="l00135"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a3293e83a154108a1d398bb042e293894">00135</a> <span class="keyword">static</span> <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a class="code" href="arm__class__marks__example__f32_8c.html#afd4d61aad5f35a4e42d580004e2f9a1d">testOutput</a>[<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a4f4a95eaace4e7b4e2f5243ed24f6b28">TESTLENGTH</a>];
<a name="l00136"></a>00136
<a name="l00137"></a>00137 <span class="keyword">extern</span> <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__graphic__equalizer__example__q31_8c.html#a4f4a95eaace4e7b4e2f5243ed24f6b28">TESTLENGTH</a>];
<a name="l00138"></a>00138
<a name="l00139"></a>00139 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00140"></a>00140 <span class="comment">** Q31 state buffers for Band1, Band2, Band3, Band4, Band5 </span>
<a name="l00141"></a>00141 <span class="comment">** ------------------------------------------------------------------- */</span>
<a name="l00142"></a>00142
<a name="l00143"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a8e7062fa3f8b5ed9849566d16270f4ec">00143</a> <span class="keyword">static</span> <a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a8e7062fa3f8b5ed9849566d16270f4ec">biquadStateBand1Q31</a>[4 * 2];
<a name="l00144"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a4a82090b15ebd0a45048d94f16131782">00144</a> <span class="keyword">static</span> <a class="code" href="arm__math_8h.html#a5aea1cb12fc02d9d44c8abf217eaa5c6" title="64-bit fractional data type in 1.63 format.">q63_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a4a82090b15ebd0a45048d94f16131782">biquadStateBand2Q31</a>[4 * 2];
<a name="l00145"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#ad487a54340631b764952fccf599adc8a">00145</a> <span class="keyword">static</span> <a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#ad487a54340631b764952fccf599adc8a">biquadStateBand3Q31</a>[4 * 2];
<a name="l00146"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a122ed5f6d8665139fbe9424a073b3474">00146</a> <span class="keyword">static</span> <a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a122ed5f6d8665139fbe9424a073b3474">biquadStateBand4Q31</a>[4 * 2];
<a name="l00147"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#af88658a8c5f87eeea26da30305921b59">00147</a> <span class="keyword">static</span> <a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#af88658a8c5f87eeea26da30305921b59">biquadStateBand5Q31</a>[4 * 2];
<a name="l00148"></a>00148
<a name="l00149"></a>00149 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00150"></a>00150 <span class="comment">** Q31 input and output buffers </span>
<a name="l00151"></a>00151 <span class="comment">** ------------------------------------------------------------------- */</span>
<a name="l00152"></a>00152
<a name="l00153"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a79521a4d6a9adb144c4d999ae713413c">00153</a> <a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a79521a4d6a9adb144c4d999ae713413c">inputQ31</a>[<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#afcf795f5a96fd55561abe69f56224630">BLOCKSIZE</a>];
<a name="l00154"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">00154</a> <a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>[<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#afcf795f5a96fd55561abe69f56224630">BLOCKSIZE</a>];
<a name="l00155"></a>00155
<a name="l00156"></a>00156 <span class="comment">/* ----------------------------------------------------------------------</span>
<a name="l00157"></a>00157 <span class="comment">** Entire coefficient table. There are 10 coefficients per 4th order Biquad</span>
<a name="l00158"></a>00158 <span class="comment">** cascade filter. The first 10 coefficients correspond to the -9 dB gain</span>
<a name="l00159"></a>00159 <span class="comment">** setting of band 1; the next 10 coefficient correspond to the -8 dB gain</span>
<a name="l00160"></a>00160 <span class="comment">** setting of band 1; and so on. There are 10*19=190 coefficients in total</span>
<a name="l00161"></a>00161 <span class="comment">** for band 1 (gains = -9, -8, -7, ..., 9). After this come the 190 coefficients</span>
<a name="l00162"></a>00162 <span class="comment">** for band 2.</span>
<a name="l00163"></a>00163 <span class="comment">**</span>
<a name="l00164"></a>00164 <span class="comment">** The coefficients are in Q29 format and require a postShift of 2.</span>
<a name="l00165"></a>00165 <span class="comment">** ------------------------------------------------------------------- */</span>
<a name="l00166"></a>00166
<a name="l00167"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a024c59772b9603698b898721c1e8204e">00167</a> <span class="keyword">const</span> <a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a024c59772b9603698b898721c1e8204e">coeffTable</a>[950] = {
<a name="l00168"></a>00168
<a name="l00169"></a>00169 <span class="comment">/* Band 1, -9 dB gain */</span>
<a name="l00170"></a>00170 535576962, -1071153923, 535576962, 1073741824, -536870912, 535576962, -1063501998, 527979313, 1060865294, -524146981,
<a name="l00171"></a>00171 <span class="comment">/* Band 1, -8 dB gain */</span>
<a name="l00172"></a>00172 535723226, -1071446451, 535723226, 1073741824, -536870912, 535723226, -1063568947, 527903217, 1061230578, -524503778,
<a name="l00173"></a>00173 535868593, -1071737186, 535868593, 1073741824, -536870912, 535868593, -1063627467, 527819780, 1061585502, -524850686,
<a name="l00174"></a>00174 536013181, -1072026363, 536013181, 1073741824, -536870912, 536013181, -1063677598, 527728935, 1061930361, -525187972,
<a name="l00175"></a>00175 536157109, -1072314217, 536157109, 1073741824, -536870912, 536157109, -1063719372, 527630607, 1062265438, -525515897,
<a name="l00176"></a>00176 536300492, -1072600983, 536300492, 1073741824, -536870912, 536300492, -1063752815, 527524720, 1062591011, -525834716,
<a name="l00177"></a>00177 536443447, -1072886894, 536443447, 1073741824, -536870912, 536443447, -1063777945, 527411186, 1062907350, -526144676,
<a name="l00178"></a>00178 536586091, -1073172183, 536586091, 1073741824, -536870912, 536586091, -1063794775, 527289917, 1063214717, -526446017,
<a name="l00179"></a>00179 536728541, -1073457082, 536728541, 1073741824, -536870912, 536728541, -1063803308, 527160815, 1063513366, -526738975,
<a name="l00180"></a>00180 536870912, -1073741824, 536870912, 1073741824, -536870912, 536870912, -1063803543, 527023777, 1063803543, -527023777,
<a name="l00181"></a>00181 537013321, -1074026642, 537013321, 1073741824, -536870912, 537013321, -1063795470, 526878696, 1064085490, -527300648,
<a name="l00182"></a>00182 537155884, -1074311768, 537155884, 1073741824, -536870912, 537155884, -1063779073, 526725455, 1064359439, -527569803,
<a name="l00183"></a>00183 537298718, -1074597435, 537298718, 1073741824, -536870912, 537298718, -1063754328, 526563934, 1064625617, -527831454,
<a name="l00184"></a>00184 537441939, -1074883878, 537441939, 1073741824, -536870912, 537441939, -1063721205, 526394005, 1064884245, -528085806,
<a name="l00185"></a>00185 537585666, -1075171331, 537585666, 1073741824, -536870912, 537585666, -1063679666, 526215534, 1065135536, -528333059,
<a name="l00186"></a>00186 537730015, -1075460030, 537730015, 1073741824, -536870912, 537730015, -1063629666, 526028380, 1065379699, -528573409,
<a name="l00187"></a>00187 537875106, -1075750212, 537875106, 1073741824, -536870912, 537875106, -1063571152, 525832396, 1065616936, -528807045,
<a name="l00188"></a>00188 538021057, -1076042114, 538021057, 1073741824, -536870912, 538021057, -1063504065, 525627429, 1065847444, -529034151,
<a name="l00189"></a>00189 538167989, -1076335977, 538167989, 1073741824, -536870912, 538167989, -1063428338, 525413317, 1066071412, -529254907,
<a name="l00190"></a>00190
<a name="l00191"></a>00191 <span class="comment">/* Band 2, -9 dB gain */</span>
<a name="l00192"></a>00192 531784976, -1055497692, 523873415, 1066213307, -529420241, 531784976, -1040357886, 509828014, 1028908252, -494627367,
<a name="l00193"></a>00193 <span class="comment">/* Band 2, -8 dB gain */</span>
<a name="l00194"></a>00194 532357636, -1056601982, 524400080, 1066115844, -529326645, 532357636, -1040623406, 509562600, 1030462237, -496062122,
<a name="l00195"></a>00195 532927392, -1057707729, 524931110, 1066024274, -529239070, 532927392, -1040848253, 509262081, 1031969246, -497457090,
<a name="l00196"></a>00196 533494678, -1058816094, 525467240, 1065939047, -529157961, 533494678, -1041032161, 508925950, 1033429976, -498812573,
<a name="l00197"></a>00197 534059929, -1059928204, 526009170, 1065860582, -529083734, 534059929, -1041174868, 508553717, 1034845124, -500128887,
<a name="l00198"></a>00198 534623580, -1061045148, 526557561, 1065789260, -529016764, 534623580, -1041276126, 508144920, 1036215393, -501406373,
<a name="l00199"></a>00199 535186068, -1062167969, 527113032, 1065725420, -528957385, 535186068, -1041335703, 507699125, 1037541500, -502645399,
<a name="l00200"></a>00200 535747827, -1063297666, 527676151, 1065669351, -528905879, 535747827, -1041353386, 507215934, 1038824183, -503846368,
<a name="l00201"></a>00201 536309295, -1064435183, 528247436, 1065621289, -528862476, 536309295, -1041328990, 506694984, 1040064203, -505009724,
<a name="l00202"></a>00202 536870912, -1065581413, 528827349, 1065581413, -528827349, 536870912, -1041262354, 506135953, 1041262354, -506135953,
<a name="l00203"></a>00203 537433117, -1066737194, 529416295, 1065549847, -528800610, 537433117, -1041153346, 505538564, 1042419457, -507225588,
<a name="l00204"></a>00204 537996352, -1067903307, 530014622, 1065526651, -528782316, 537996352, -1041001864, 504902578, 1043536370, -508279208,
<a name="l00205"></a>00205 538561061, -1069080480, 530622620, 1065511830, -528772462, 538561061, -1040807833, 504227800, 1044613981, -509297437,
<a name="l00206"></a>00206 539127690, -1070269387, 531240527, 1065505333, -528770987, 539127690, -1040571205, 503514074, 1045653211, -510280946,
<a name="l00207"></a>00207 539696690, -1071470656, 531868525, 1065507054, -528777778, 539696690, -1040291951, 502761277, 1046655011, -511230450,
<a name="l00208"></a>00208 540268512, -1072684867, 532506750, 1065516837, -528792672, 540268512, -1039970063, 501969320, 1047620358, -512146700,
<a name="l00209"></a>00209 540843613, -1073912567, 533155297, 1065534483, -528815459, 540843613, -1039605542, 501138139, 1048550251, -513030484,
<a name="l00210"></a>00210 541422451, -1075154268, 533814224, 1065559750, -528845892, 541422451, -1039198394, 500267687, 1049445708, -513882621,
<a name="l00211"></a>00211 542005489, -1076410460, 534483561, 1065592362, -528883686, 542005489, -1038748624, 499357932, 1050307760, -514703956,
<a name="l00212"></a>00212 518903861, -1001986830, 486725277, 1037235801, -502367695, 518903861, -945834422, 446371043, 902366163, -400700571,
<a name="l00213"></a>00213 520899989, -1005630916, 488289126, 1036926846, -502147311, 520899989, -946490935, 445581846, 907921945, -404936158,
<a name="l00214"></a>00214 522893209, -1009290002, 489869792, 1036650484, -501961419, 522893209, -947006359, 444685310, 913306106, -409075225,
<a name="l00215"></a>00215 524884763, -1012968199, 491470256, 1036407567, -501810737, 524884763, -947377809, 443679533, 918521018, -413116221,
<a name="l00216"></a>00216 526875910, -1016669649, 493093518, 1036198712, -501695739, 526875910, -947602324, 442562672, 923569247, -417057897,
<a name="l00217"></a>00217 528867927, -1020398503, 494742575, 1036024293, -501616651, 528867927, -947676875, 441332970, 928453558, -420899319,
<a name="l00218"></a>00218 530862111, -1024158905, 496420407, 1035884447, -501573457, 530862111, -947598385, 439988777, 933176909, -424639872,
<a name="l00219"></a>00219 532859778, -1027954970, 498129955, 1035779077, -501565907, 532859778, -947363742, 438528571, 937742446, -428279254,
<a name="l00220"></a>00220 534862260, -1031790763, 499874098, 1035707863, -501593525, 534862260, -946969823, 436950987, 942153486, -431817474,
<a name="l00221"></a>00221 536870912, -1035670279, 501655630, 1035670279, -501655630, 536870912, -946413508, 435254839, 946413508, -435254839,
<a name="l00222"></a>00222 538887107, -1039597419, 503477238, 1035665609, -501751354, 538887107, -945691703, 433439146, 950526127, -438591937,
<a name="l00223"></a>00223 540912240, -1043575967, 505341475, 1035692963, -501879659, 540912240, -944801359, 431503152, 954495080, -441829621,
<a name="l00224"></a>00224 542947726, -1047609569, 507250741, 1035751307, -502039364, 542947726, -943739490, 429446349, 958324201, -444968987,
<a name="l00225"></a>00225 544995000, -1051701717, 509207261, 1035839473, -502229165, 544995000, -942503190, 427268492, 962017400, -448011351,
<a name="l00226"></a>00226 547055523, -1055855728, 511213065, 1035956193, -502447657, 547055523, -941089647, 424969617, 965578640, -450958226,
<a name="l00227"></a>00227 549130774, -1060074734, 513269973, 1036100110, -502693359, 549130774, -939496155, 422550049, 969011913, -453811298,
<a name="l00228"></a>00228 551222259, -1064361672, 515379585, 1036269804, -502964731, 551222259, -937720119, 420010407, 972321228, -456572401,
<a name="l00229"></a>00229 553331507, -1068719280, 517543273, 1036463810, -503260192, 553331507, -935759057, 417351601, 975510582, -459243495,
<a name="l00230"></a>00230 555460072, -1073150100, 519762181, 1036680633, -503578144, 555460072, -933610600, 414574832, 978583948, -461826644,
<a name="l00231"></a>00231 494084017, -851422604, 404056273, 930151631, -423619864, 494084017, -673714108, 339502486, 561843007, -265801750,
<a name="l00232"></a>00232 498713542, -859177141, 406587077, 929211656, -423786402, 498713542, -673274906, 338185129, 573719128, -272222942,
<a name="l00233"></a>00233 503369016, -867012190, 409148384, 928362985, -424054784, 503369016, -672533059, 336693984, 585290277, -278599028,
<a name="l00234"></a>00234 508052536, -874935599, 411746438, 927604291, -424422151, 508052536, -671478538, 335026905, 596558312, -284920289,
<a name="l00235"></a>00235 512766286, -882955583, 414387826, 926933782, -424885216, 512766286, -670100998, 333182045, 607525792, -291177811,
<a name="l00236"></a>00236 517512534, -891080712, 417079474, 926349262, -425440318, 517512534, -668389789, 331157902, 618195914, -297363485,
<a name="l00237"></a>00237 522293635, -899319903, 419828635, 925848177, -426083491, 522293635, -666333963, 328953368, 628572440, -303470012,
<a name="l00238"></a>00238 527112032, -907682405, 422642886, 925427679, -426810526, 527112032, -663922286, 326567785, 638659631, -309490882,
<a name="l00239"></a>00239 531970251, -916177781, 425530105, 925084675, -427617023, 531970251, -661143261, 324000998, 648462180, -315420352,
<a name="l00240"></a>00240 536870912, -924815881, 428498454, 924815881, -428498454, 536870912, -657985147, 321253420, 657985147, -321253420,
<a name="l00241"></a>00241 541816719, -933606817, 431556352, 924617870, -429450209, 541816719, -654435997, 318326093, 667233900, -326985786,
<a name="l00242"></a>00242 546810467, -942560921, 434712438, 924487114, -430467639, 546810467, -650483688, 315220754, 676214053, -332613816,
<a name="l00243"></a>00243 551855042, -951688708, 437975532, 924420027, -431546101, 551855042, -646115970, 311939896, 684931422, -338134495,
<a name="l00244"></a>00244 556953421, -961000826, 441354588, 924413001, -432680993, 556953421, -641320513, 308486839, 693391970, -343545389,
<a name="l00245"></a>00245 562108672, -970508005, 444858642, 924462435, -433867780, 562108672, -636084967, 304865786, 701601770, -348844597,
<a name="l00246"></a>00246 567323959, -980220994, 448496743, 924564764, -435102022, 567323959, -630397020, 301081886, 709566963, -354030710,
<a name="l00247"></a>00247 572602539, -990150500, 452277894, 924716482, -436379394, 572602539, -624244471, 297141281, 717293726, -359102767,
<a name="l00248"></a>00248 577947763, -1000307125, 456210977, 924914158, -437695705, 577947763, -617615296, 293051155, 724788245, -364060214,
<a name="l00249"></a>00249 583363084, -1010701292, 460304674, 925154455, -439046908, 583363084, -610497723, 288819761, 732056685, -368902865,
<a name="l00250"></a>00250 387379495, -506912469, 196933274, 840112184, -347208270, 387379495, 506912469, 196933274, -840112184, -347208270,
<a name="l00251"></a>00251 401658082, -532275898, 207149427, 833765363, -343175316, 401658082, 532275898, 207149427, -833765363, -343175316,
<a name="l00252"></a>00252 416472483, -558722695, 217902617, 827270154, -339107319, 416472483, 558722695, 217902617, -827270154, -339107319,
<a name="l00253"></a>00253 431841949, -586290861, 229212798, 820624988, -335007540, 431841949, 586290861, 229212798, -820624988, -335007540,
<a name="l00254"></a>00254 447786335, -615019650, 241100489, 813828443, -330879528, 447786335, 615019650, 241100489, -813828443, -330879528,
<a name="l00255"></a>00255 464326111, -644949597, 253586805, 806879270, -326727141, 464326111, 644949597, 253586805, -806879270, -326727141,
<a name="l00256"></a>00256 481482377, -676122557, 266693475, 799776409, -322554559, 481482377, 676122557, 266693475, -799776409, -322554559,
<a name="l00257"></a>00257 499276882, -708581728, 280442865, 792519013, -318366296, 499276882, 708581728, 280442865, -792519013, -318366296,
<a name="l00258"></a>00258 517732032, -742371685, 294857996, 785106465, -314167221, 517732032, 742371685, 294857996, -785106465, -314167221,
<a name="l00259"></a>00259 536870912, -777538408, 309962566, 777538408, -309962566, 536870912, 777538408, 309962566, -777538408, -309962566,
<a name="l00260"></a>00260 556717294, -814129313, 325780968, 769814766, -305757943, 556717294, 814129313, 325780968, -769814766, -305757943,
<a name="l00261"></a>00261 577295658, -852193284, 342338310, 761935777, -301559360, 577295658, 852193284, 342338310, -761935777, -301559360,
<a name="l00262"></a>00262 598631206, -891780698, 359660433, 753902014, -297373230, 598631206, 891780698, 359660433, -753902014, -297373230,
<a name="l00263"></a>00263 620749877, -932943463, 377773927, 745714425, -293206383, 620749877, 932943463, 377773927, -745714425, -293206383,
<a name="l00264"></a>00264 643678365, -975735041, 396706151, 737374355, -289066077, 643678365, 975735041, 396706151, -737374355, -289066077,
<a name="l00265"></a>00265 667444134, -1020210487, 416485252, 728883588, -284960004, 667444134, 1020210487, 416485252, -728883588, -284960004,
<a name="l00266"></a>00266 692075438, -1066426476, 437140179, 720244375, -280896294, 692075438, 1066426476, 437140179, -720244375, -280896294,
<a name="l00267"></a>00267 717601336, -1114441339, 458700704, 711459472, -276883515, 717601336, 1114441339, 458700704, -711459472, -276883515,
<a name="l00268"></a>00268 744051710, -1164315096, 481197437, 702532174, -272930673, 744051710, 1164315096, 481197437, -702532174, -272930673
<a name="l00269"></a>00269
<a name="l00270"></a>00270 };
<a name="l00271"></a>00271
<a name="l00272"></a>00272 <span class="comment">/* ----------------------------------------------------------------------</span>
<a name="l00273"></a>00273 <span class="comment">** Desired gains, in dB, per band</span>
<a name="l00274"></a>00274 <span class="comment">** ------------------------------------------------------------------- */</span>
<a name="l00275"></a>00275
<a name="l00276"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a963aee85bb41a50fc943ac9048d123ab">00276</a> <span class="keywordtype">int</span> <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a963aee85bb41a50fc943ac9048d123ab">gainDB</a>[5] = {0, -3, 6, 4, -6};
<a name="l00277"></a>00277
<a name="l00278"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#af06013f588a7003278de222913c9d819">00278</a> <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#af06013f588a7003278de222913c9d819">snr</a>;
<a name="l00279"></a>00279
<a name="l00280"></a>00280
<a name="l00281"></a>00281 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00282"></a>00282 <span class="comment"> * Graphic equalizer Example </span>
<a name="l00283"></a>00283 <span class="comment"> * ------------------------------------------------------------------- */</span>
<a name="l00284"></a>00284
<a name="l00285"></a><a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a52d2cba30e6946c95578be946ac12a65">00285</a> int32_t <a class="code" href="arm__class__marks__example__f32_8c.html#a196718f834091385d38586a0ce4009dc">main</a>(<span class="keywordtype">void</span>)
<a name="l00286"></a>00286 {
<a name="l00287"></a>00287 <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> *inputF32, *outputF32;
<a name="l00288"></a>00288 <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html" title="Instance structure for the high precision Q31 Biquad cascade filter.">arm_biquad_cas_df1_32x64_ins_q31</a> S1;
<a name="l00289"></a>00289 <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html" title="Instance structure for the high precision Q31 Biquad cascade filter.">arm_biquad_cas_df1_32x64_ins_q31</a> S2;
<a name="l00290"></a>00290 <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> S3;
<a name="l00291"></a>00291 <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> S4;
<a name="l00292"></a>00292 <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> S5;
<a name="l00293"></a>00293 <span class="keywordtype">int</span> i;
<a name="l00294"></a>00294 int32_t <a class="code" href="arm__dotproduct__example__f32_8c.html#a88ccb294236ab22b00310c47164c53c3">status</a>;
<a name="l00295"></a>00295
<a name="l00296"></a>00296 inputF32 = &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#aa4699dc6ee05353c83e0be4e69f6ad05">testInput_f32</a>[0];
<a name="l00297"></a>00297 outputF32 = &amp;<a class="code" href="arm__class__marks__example__f32_8c.html#afd4d61aad5f35a4e42d580004e2f9a1d">testOutput</a>[0];
<a name="l00298"></a>00298
<a name="l00299"></a>00299 <span class="comment">/* Initialize the state and coefficient buffers for all Biquad sections */</span>
<a name="l00300"></a>00300
<a name="l00301"></a>00301 <a class="code" href="group___biquad_cascade_d_f1__32x64.html#ga44900cecb8083afcaabf905ffcd656bb">arm_biquad_cas_df1_32x64_init_q31</a>(&amp;S1, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a23f8e430b510dfdb3ebe53bffca0d864">NUMSTAGES</a>,
<a name="l00302"></a>00302 (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> *) &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a024c59772b9603698b898721c1e8204e">coeffTable</a>[190*0 + 10*(<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a963aee85bb41a50fc943ac9048d123ab">gainDB</a>[0] + 9)],
<a name="l00303"></a>00303 &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a8e7062fa3f8b5ed9849566d16270f4ec">biquadStateBand1Q31</a>[0], 2);
<a name="l00304"></a>00304
<a name="l00305"></a>00305 <a class="code" href="group___biquad_cascade_d_f1__32x64.html#ga44900cecb8083afcaabf905ffcd656bb">arm_biquad_cas_df1_32x64_init_q31</a>(&amp;S2, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a23f8e430b510dfdb3ebe53bffca0d864">NUMSTAGES</a>,
<a name="l00306"></a>00306 (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> *) &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a024c59772b9603698b898721c1e8204e">coeffTable</a>[190*1 + 10*(<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a963aee85bb41a50fc943ac9048d123ab">gainDB</a>[1] + 9)],
<a name="l00307"></a>00307 &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a4a82090b15ebd0a45048d94f16131782">biquadStateBand2Q31</a>[0], 2);
<a name="l00308"></a>00308
<a name="l00309"></a>00309 <a class="code" href="group___biquad_cascade_d_f1.html#gaf42a44f9b16d61e636418c83eefe577b" title="Initialization function for the Q31 Biquad cascade filter.">arm_biquad_cascade_df1_init_q31</a>(&amp;S3, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a23f8e430b510dfdb3ebe53bffca0d864">NUMSTAGES</a>,
<a name="l00310"></a>00310 (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> *) &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a024c59772b9603698b898721c1e8204e">coeffTable</a>[190*2 + 10*(<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a963aee85bb41a50fc943ac9048d123ab">gainDB</a>[2] + 9)],
<a name="l00311"></a>00311 &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#ad487a54340631b764952fccf599adc8a">biquadStateBand3Q31</a>[0], 2);
<a name="l00312"></a>00312
<a name="l00313"></a>00313 <a class="code" href="group___biquad_cascade_d_f1.html#gaf42a44f9b16d61e636418c83eefe577b" title="Initialization function for the Q31 Biquad cascade filter.">arm_biquad_cascade_df1_init_q31</a>(&amp;S4, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a23f8e430b510dfdb3ebe53bffca0d864">NUMSTAGES</a>,
<a name="l00314"></a>00314 (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> *) &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a024c59772b9603698b898721c1e8204e">coeffTable</a>[190*3 + 10*(<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a963aee85bb41a50fc943ac9048d123ab">gainDB</a>[3] + 9)],
<a name="l00315"></a>00315 &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a122ed5f6d8665139fbe9424a073b3474">biquadStateBand4Q31</a>[0], 2);
<a name="l00316"></a>00316
<a name="l00317"></a>00317 <a class="code" href="group___biquad_cascade_d_f1.html#gaf42a44f9b16d61e636418c83eefe577b" title="Initialization function for the Q31 Biquad cascade filter.">arm_biquad_cascade_df1_init_q31</a>(&amp;S5, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a23f8e430b510dfdb3ebe53bffca0d864">NUMSTAGES</a>,
<a name="l00318"></a>00318 (<a class="code" href="arm__math_8h.html#adc89a3547f5324b7b3b95adec3806bc0" title="32-bit fractional data type in 1.31 format.">q31_t</a> *) &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a024c59772b9603698b898721c1e8204e">coeffTable</a>[190*4 + 10*(<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a963aee85bb41a50fc943ac9048d123ab">gainDB</a>[4] + 9)],
<a name="l00319"></a>00319 &amp;<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#af88658a8c5f87eeea26da30305921b59">biquadStateBand5Q31</a>[0], 2);
<a name="l00320"></a>00320
<a name="l00321"></a>00321
<a name="l00322"></a>00322 <span class="comment">/* Call the process functions and needs to change filter coefficients </span>
<a name="l00323"></a>00323 <span class="comment"> for varying the gain of each band */</span>
<a name="l00324"></a>00324
<a name="l00325"></a>00325 <span class="keywordflow">for</span>(i=0; i &lt; <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a814e34126e1b8150f4de047e1a9e7030">NUMBLOCKS</a>; i++)
<a name="l00326"></a>00326 {
<a name="l00327"></a>00327
<a name="l00328"></a>00328 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00329"></a>00329 <span class="comment"> ** Convert block of input data from float to Q31 </span>
<a name="l00330"></a>00330 <span class="comment"> ** ------------------------------------------------------------------- */</span>
<a name="l00331"></a>00331
<a name="l00332"></a>00332 <a class="code" href="group__float__to__x.html#ga177704107f94564e9abe4daaa36f4554" title="Converts the elements of the floating-point vector to Q31 vector.">arm_float_to_q31</a>(inputF32 + (i*<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#afcf795f5a96fd55561abe69f56224630">BLOCKSIZE</a>), <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a79521a4d6a9adb144c4d999ae713413c">inputQ31</a>, BLOCKSIZE);
<a name="l00333"></a>00333
<a name="l00334"></a>00334 <span class="comment">/* ----------------------------------------------------------------------</span>
<a name="l00335"></a>00335 <span class="comment"> ** Scale down by 1/8. This provides additional headroom so that the</span>
<a name="l00336"></a>00336 <span class="comment"> ** graphic EQ can apply gain.</span>
<a name="l00337"></a>00337 <span class="comment"> ** ------------------------------------------------------------------- */</span>
<a name="l00338"></a>00338
<a name="l00339"></a>00339 <a class="code" href="group__scale.html#ga83e36cd82bf51ce35406a199e477d47c" title="Multiplies a Q31 vector by a scalar.">arm_scale_q31</a>(<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a79521a4d6a9adb144c4d999ae713413c">inputQ31</a>, 0x7FFFFFFF, -3, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a79521a4d6a9adb144c4d999ae713413c">inputQ31</a>, BLOCKSIZE);
<a name="l00340"></a>00340
<a name="l00341"></a>00341 <span class="comment">/* ----------------------------------------------------------------------</span>
<a name="l00342"></a>00342 <span class="comment"> ** Call the Q31 Biquad Cascade DF1 32x64 process function for band1, band2</span>
<a name="l00343"></a>00343 <span class="comment"> ** ------------------------------------------------------------------- */</span>
<a name="l00344"></a>00344
<a name="l00345"></a>00345 <a class="code" href="group___biquad_cascade_d_f1__32x64.html#ga953a83e69685de6575cff37feb358a93">arm_biquad_cas_df1_32x64_q31</a>(&amp;S1, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a79521a4d6a9adb144c4d999ae713413c">inputQ31</a>, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, BLOCKSIZE);
<a name="l00346"></a>00346 <a class="code" href="group___biquad_cascade_d_f1__32x64.html#ga953a83e69685de6575cff37feb358a93">arm_biquad_cas_df1_32x64_q31</a>(&amp;S2, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, BLOCKSIZE);
<a name="l00347"></a>00347
<a name="l00348"></a>00348 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00349"></a>00349 <span class="comment"> ** Call the Q31 Biquad Cascade DF1 process function for band3, band4, band5</span>
<a name="l00350"></a>00350 <span class="comment"> ** ------------------------------------------------------------------- */</span>
<a name="l00351"></a>00351
<a name="l00352"></a>00352 <a class="code" href="group___biquad_cascade_d_f1.html#ga27b0c54da702713976e5202d20b4473f" title="Processing function for the Q31 Biquad cascade filter.">arm_biquad_cascade_df1_q31</a>(&amp;S3, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, BLOCKSIZE);
<a name="l00353"></a>00353 <a class="code" href="group___biquad_cascade_d_f1.html#ga27b0c54da702713976e5202d20b4473f" title="Processing function for the Q31 Biquad cascade filter.">arm_biquad_cascade_df1_q31</a>(&amp;S4, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, BLOCKSIZE);
<a name="l00354"></a>00354 <a class="code" href="group___biquad_cascade_d_f1.html#ga27b0c54da702713976e5202d20b4473f" title="Processing function for the Q31 Biquad cascade filter.">arm_biquad_cascade_df1_q31</a>(&amp;S5, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, BLOCKSIZE);
<a name="l00355"></a>00355
<a name="l00356"></a>00356 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00357"></a>00357 <span class="comment"> ** Convert Q31 result back to float </span>
<a name="l00358"></a>00358 <span class="comment"> ** ------------------------------------------------------------------- */</span>
<a name="l00359"></a>00359
<a name="l00360"></a>00360 <a class="code" href="group__q31__to__x.html#gacf407b007a37da18e99dabd9023c56b4" title="Converts the elements of the Q31 vector to floating-point vector.">arm_q31_to_float</a>(<a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a9862488450f2547b07aee8035d6b4d8a">outputQ31</a>, outputF32 + (i * BLOCKSIZE), BLOCKSIZE);
<a name="l00361"></a>00361
<a name="l00362"></a>00362 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00363"></a>00363 <span class="comment"> ** Scale back up</span>
<a name="l00364"></a>00364 <span class="comment"> ** ------------------------------------------------------------------- */</span>
<a name="l00365"></a>00365
<a name="l00366"></a>00366 <a class="code" href="group__scale.html#ga3487af88b112f682ee90589cd419e123" title="Multiplies a floating-point vector by a scalar.">arm_scale_f32</a>(outputF32 + (i * BLOCKSIZE), 8.0f, outputF32 + (i * BLOCKSIZE), BLOCKSIZE);
<a name="l00367"></a>00367 };
<a name="l00368"></a>00368
<a name="l00369"></a>00369 <a class="code" href="arm__convolution__example__f32_8c.html#af06013f588a7003278de222913c9d819">snr</a> = arm_snr_f32(<a class="code" href="arm__convolution__example__f32_8c.html#a6463f7327432fc62ad9f6017593330d3">testRefOutput_f32</a>, <a class="code" href="arm__class__marks__example__f32_8c.html#afd4d61aad5f35a4e42d580004e2f9a1d">testOutput</a>, <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#a4f4a95eaace4e7b4e2f5243ed24f6b28">TESTLENGTH</a>);
<a name="l00370"></a>00370
<a name="l00371"></a>00371 <span class="keywordflow">if</span> (<a class="code" href="arm__convolution__example__f32_8c.html#af06013f588a7003278de222913c9d819">snr</a> &lt; <a class="code" href="arm__graphic__equalizer__example__q31_8c.html#af7d1dd4deffa8e7ed6429e5dd0fe1812">SNR_THRESHOLD_F32</a>)
<a name="l00372"></a>00372 {
<a name="l00373"></a>00373 status = <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a09457f2be656b35015fd6d36202fa376">ARM_MATH_TEST_FAILURE</a>;
<a name="l00374"></a>00374 }
<a name="l00375"></a>00375 <span class="keywordflow">else</span>
<a name="l00376"></a>00376 {
<a name="l00377"></a>00377 status = <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">ARM_MATH_SUCCESS</a>;
<a name="l00378"></a>00378 }
<a name="l00379"></a>00379
<a name="l00380"></a>00380 <span class="comment">/* ---------------------------------------------------------------------- </span>
<a name="l00381"></a>00381 <span class="comment"> ** Loop here if the signal does not match the reference output.</span>
<a name="l00382"></a>00382 <span class="comment"> ** ------------------------------------------------------------------- */</span>
<a name="l00383"></a>00383
<a name="l00384"></a>00384 <span class="keywordflow">if</span>( status != <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">ARM_MATH_SUCCESS</a>)
<a name="l00385"></a>00385 {
<a name="l00386"></a>00386 <span class="keywordflow">while</span>(1);
<a name="l00387"></a>00387 }
<a name="l00388"></a>00388
<a name="l00389"></a>00389
<a name="l00390"></a>00390 }
<a name="l00391"></a>00391
</pre></div></div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<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>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Fri Jul 15 2011 13:16:16 for CMSIS DSP Software Library by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
</body>
</html>