<!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_matrix_example_f32.c</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><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>
<div class="header">
  <div class="headertitle">
<h1>arm_matrix_example_f32.c</h1>  </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><span class="comment">/* ---------------------------------------------------------------------- </span>
<span class="comment">* Copyright (C) 2010 ARM Limited. All rights reserved.   </span>
<span class="comment">*  </span>
<span class="comment">* $Date:        29. November 2010  </span>
<span class="comment">* $Revision:    V1.0.3</span>
<span class="comment">*  </span>
<span class="comment">* Project:      CMSIS DSP Library  </span>
<span class="comment">* Title:        arm_matrix_example_f32.c          </span>
<span class="comment">*  </span>
<span class="comment">* Description:  Example code demonstrating least square fit to data  </span>
<span class="comment">*               using matrix functions  </span>
<span class="comment">*                </span>
<span class="comment">* Target Processor: Cortex-M4/Cortex-M3  </span>
<span class="comment">*</span>
<span class="comment">*</span>
<span class="comment">* Version 1.0.3 2010/11/29 </span>
<span class="comment">*    Re-organized the CMSIS folders and updated documentation. </span>
<span class="comment">* </span>
<span class="comment">* Version 1.0.1 2010/10/05 KK </span>
<span class="comment">*    Production release and review comments incorporated.  </span>
<span class="comment">*</span>
<span class="comment">* Version 1.0.0 2010/09/20 KK</span>
<span class="comment">*    Production release and review comments incorporated.</span>
<span class="comment">* ------------------------------------------------------------------- */</span> 
 
<span class="preprocessor">#include &quot;<a class="code" href="arm__math_8h.html">arm_math.h</a>&quot;</span> 
<span class="preprocessor">#include &quot;math_helper.h&quot;</span> 
 
<span class="preprocessor">#define SNR_THRESHOLD   90 </span>
<span class="preprocessor"></span> 
<span class="comment">/* -------------------------------------------------------------------------------- </span>
<span class="comment">* Test input data(Cycles) taken from FIR Q15 module for differant cases of blockSize  </span>
<span class="comment">* and tapSize </span>
<span class="comment">* --------------------------------------------------------------------------------- */</span> 
 
<span class="keyword">const</span> <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__matrix__example__f32_8c.html#a974d5f0aace6a99e29ca767907fb3b9f">B_f32</a>[4] =  
{    
    782.0, 7577.0, 470.0, 4505.0 
}; 
 
<span class="comment">/* -------------------------------------------------------------------------------- </span>
<span class="comment">* Formula to fit is  C1 + C2 * numTaps + C3 * blockSize + C4 * numTaps * blockSize </span>
<span class="comment">* -------------------------------------------------------------------------------- */</span> 
 
<span class="keyword">const</span> <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a1"></a><a class="code" href="arm__matrix__example__f32_8c.html#aed27b92d9847194d9dcce40cecf2b48a">A_f32</a>[16] =  
{ 
    <span class="comment">/* Const,   numTaps,    blockSize,  numTaps*blockSize */</span>    
    1.0,        32.0,       4.0,        128.0,  
    1.0,        32.0,       64.0,       2048.0, 
    1.0,        16.0,       4.0,        64.0, 
    1.0,        16.0,       64.0,       1024.0, 
};  
 
 
<span class="comment">/* ---------------------------------------------------------------------- </span>
<span class="comment">* Temporary buffers  for storing intermediate values </span>
<span class="comment">* ------------------------------------------------------------------- */</span> 
<span class="comment">/* Transpose of A Buffer */</span> 
<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__matrix__example__f32_8c.html#a46dc2aa6dfc692af7b4a1379d7329ccd">AT_f32</a>[16]; 
<span class="comment">/* (Transpose of A * A) Buffer */</span> 
<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__matrix__example__f32_8c.html#a867497c6bf86014513bf2ad3551aa896">ATMA_f32</a>[16]; 
<span class="comment">/* Inverse(Transpose of A * A)  Buffer */</span> 
<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__matrix__example__f32_8c.html#a44425c149c52b326a3b7a77676686f00">ATMAI_f32</a>[16]; 
<span class="comment">/* Test Output Buffer */</span> 
<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__matrix__example__f32_8c.html#a98c67c0fc0cb5f2df51b21482d31d21c">X_f32</a>[4]; 
 
<span class="comment">/* ---------------------------------------------------------------------- </span>
<span class="comment">* Reference ouput buffer C1, C2, C3 and C4 taken from MATLAB  </span>
<span class="comment">* ------------------------------------------------------------------- */</span> 
<span class="keyword">const</span> <a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a6"></a><a class="code" href="arm__matrix__example__f32_8c.html#a6184758419722fa16bb883097c2f596b">xRef_f32</a>[4] = {73.0, 8.0, 21.25, 2.875}; 
 
<a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> <a name="a7"></a><a class="code" href="arm__convolution__example__f32_8c.html#af06013f588a7003278de222913c9d819">snr</a>; 
 
 
<span class="comment">/* ---------------------------------------------------------------------- </span>
<span class="comment">* Max magnitude FFT Bin test </span>
<span class="comment">* ------------------------------------------------------------------- */</span> 
 
int32_t <a name="a8"></a><a class="code" href="arm__class__marks__example__f32_8c.html#a196718f834091385d38586a0ce4009dc">main</a>(<span class="keywordtype">void</span>) 
{ 
 
    <a name="_a9"></a><a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> A;      <span class="comment">/* Matrix A Instance */</span> 
    <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> AT;     <span class="comment">/* Matrix AT(A transpose) instance */</span> 
    <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> ATMA;   <span class="comment">/* Matrix ATMA( AT multiply with A) instance */</span> 
    <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> ATMAI;  <span class="comment">/* Matrix ATMAI(Inverse of ATMA) instance */</span> 
    <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> B;      <span class="comment">/* Matrix B instance */</span> 
    <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> X;      <span class="comment">/* Matrix X(Unknown Matrix) instance */</span> 
 
    uint32_t srcRows, srcColumns;   <span class="comment">/* Temporary variables */</span>
    <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6" title="Error status returned by some functions in the library.">arm_status</a> <a name="a10"></a><a class="code" href="arm__dotproduct__example__f32_8c.html#a88ccb294236ab22b00310c47164c53c3">status</a>; 
 
    <span class="comment">/* Initialise A Matrix Instance with numRows, numCols and data array(A_f32) */</span> 
    srcRows = 4; 
    srcColumns = 4; 
    <a name="a11"></a><a class="code" href="group___matrix_init.html#ga11e3dc41592a6401c13182fef9416a27" title="Floating-point matrix initialization.">arm_mat_init_f32</a>(&amp;A, srcRows, srcColumns, (<a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> *)<a class="code" href="arm__matrix__example__f32_8c.html#aed27b92d9847194d9dcce40cecf2b48a">A_f32</a>); 
 
    <span class="comment">/* Initialise Matrix Instance AT with numRows, numCols and data array(AT_f32) */</span> 
    srcRows = 4; 
    srcColumns = 4; 
    <a class="code" href="group___matrix_init.html#ga11e3dc41592a6401c13182fef9416a27" title="Floating-point matrix initialization.">arm_mat_init_f32</a>(&amp;AT, srcRows, srcColumns, <a class="code" href="arm__matrix__example__f32_8c.html#a46dc2aa6dfc692af7b4a1379d7329ccd">AT_f32</a>); 
 
    <span class="comment">/* calculation of A transpose */</span> 
    status = <a name="a12"></a><a class="code" href="group___matrix_trans.html#gad7dd9f108429da13d3864696ceeec789" title="Floating-point matrix transpose.">arm_mat_trans_f32</a>(&amp;A, &amp;AT); 
     
 
    <span class="comment">/* Initialise ATMA Matrix Instance with numRows, numCols and data array(ATMA_f32) */</span> 
    srcRows = 4; 
    srcColumns = 4; 
    <a class="code" href="group___matrix_init.html#ga11e3dc41592a6401c13182fef9416a27" title="Floating-point matrix initialization.">arm_mat_init_f32</a>(&amp;ATMA, srcRows, srcColumns, <a class="code" href="arm__matrix__example__f32_8c.html#a867497c6bf86014513bf2ad3551aa896">ATMA_f32</a>); 
 
    <span class="comment">/* calculation of AT Multiply with A */</span> 
    status = <a name="a13"></a><a class="code" href="group___matrix_mult.html#ga917bf0270310c1d3f0eda1fc7c0026a0" title="Floating-point matrix multiplication.">arm_mat_mult_f32</a>(&amp;AT, &amp;A, &amp;ATMA); 
 
    <span class="comment">/* Initialise ATMAI Matrix Instance with numRows, numCols and data array(ATMAI_f32) */</span> 
    srcRows = 4; 
    srcColumns = 4; 
    <a class="code" href="group___matrix_init.html#ga11e3dc41592a6401c13182fef9416a27" title="Floating-point matrix initialization.">arm_mat_init_f32</a>(&amp;ATMAI, srcRows, srcColumns, <a class="code" href="arm__matrix__example__f32_8c.html#a44425c149c52b326a3b7a77676686f00">ATMAI_f32</a>); 
 
    <span class="comment">/* calculation of Inverse((Transpose(A) * A) */</span> 
    status = <a name="a14"></a><a class="code" href="group___matrix_inv.html#ga542be7aabbf7a2297a4b62cf212910e3" title="Floating-point matrix inverse.">arm_mat_inverse_f32</a>(&amp;ATMA, &amp;ATMAI); 
 
    <span class="comment">/* calculation of (Inverse((Transpose(A) * A)) *  Transpose(A)) */</span> 
    status = <a class="code" href="group___matrix_mult.html#ga917bf0270310c1d3f0eda1fc7c0026a0" title="Floating-point matrix multiplication.">arm_mat_mult_f32</a>(&amp;ATMAI, &amp;AT, &amp;ATMA); 
 
    <span class="comment">/* Initialise B Matrix Instance with numRows, numCols and data array(B_f32) */</span> 
    srcRows = 4; 
    srcColumns = 1; 
    <a class="code" href="group___matrix_init.html#ga11e3dc41592a6401c13182fef9416a27" title="Floating-point matrix initialization.">arm_mat_init_f32</a>(&amp;B, srcRows, srcColumns, (<a class="code" href="arm__math_8h.html#a4611b605e45ab401f02cab15c5e38715" title="32-bit floating-point type definition.">float32_t</a> *)<a class="code" href="arm__matrix__example__f32_8c.html#a974d5f0aace6a99e29ca767907fb3b9f">B_f32</a>);  
 
    <span class="comment">/* Initialise X Matrix Instance with numRows, numCols and data array(X_f32) */</span> 
    srcRows = 4; 
    srcColumns = 1; 
    <a class="code" href="group___matrix_init.html#ga11e3dc41592a6401c13182fef9416a27" title="Floating-point matrix initialization.">arm_mat_init_f32</a>(&amp;X, srcRows, srcColumns, <a class="code" href="arm__matrix__example__f32_8c.html#a98c67c0fc0cb5f2df51b21482d31d21c">X_f32</a>); 
 
    <span class="comment">/* calculation ((Inverse((Transpose(A) * A)) *  Transpose(A)) * B) */</span> 
    status = <a class="code" href="group___matrix_mult.html#ga917bf0270310c1d3f0eda1fc7c0026a0" title="Floating-point matrix multiplication.">arm_mat_mult_f32</a>(&amp;ATMA, &amp;B, &amp;X); 
     
    <span class="comment">/* Comparison of reference with test output */</span>     
    <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__matrix__example__f32_8c.html#a6184758419722fa16bb883097c2f596b">xRef_f32</a>, <a class="code" href="arm__matrix__example__f32_8c.html#a98c67c0fc0cb5f2df51b21482d31d21c">X_f32</a>, 4); 
 
    <span class="comment">/*------------------------------------------------------------------------------ </span>
<span class="comment">    *                   Initialise status depending on SNR calculations </span>
<span class="comment">    *------------------------------------------------------------------------------*/</span>  
    <span class="keywordflow">if</span>( <a class="code" href="arm__convolution__example__f32_8c.html#af06013f588a7003278de222913c9d819">snr</a> &gt; <a name="a15"></a><a class="code" href="arm__convolution__example__f32_8c.html#af08ec3fef897d77c6817638bf0e0c5c6">SNR_THRESHOLD</a>) 
    { 
        status = <a name="a16"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">ARM_MATH_SUCCESS</a>; 
    } 
    <span class="keywordflow">else</span> 
    { 
        status = <a name="a17"></a><a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a09457f2be656b35015fd6d36202fa376">ARM_MATH_TEST_FAILURE</a>; 
    } 
 
     
    <span class="comment">/* ---------------------------------------------------------------------- </span>
<span class="comment">    ** Loop here if the signals fail the PASS check. </span>
<span class="comment">    ** This denotes a test failure </span>
<span class="comment">    ** ------------------------------------------------------------------- */</span>    
    <span class="keywordflow">if</span>( status != <a class="code" href="arm__math_8h.html#a5e459c6409dfcd2927bb8a57491d7cf6a9f8b2a10bd827fb4600e77d455902eb0">ARM_MATH_SUCCESS</a>) 
    { 
      <span class="keywordflow">while</span>(1); 
    } 
} 
 
</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:15 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>
