Mercurial > hg > aimc
view C++/api/html/classCAR.html @ 610:01986636257a
Second check-in of Alex Brandmeyer's C++ implementation of CARFAC. Addressed style issues and completed implementation of remaining functions. Still needs proper testing of the output stages against the MATLAB version, and runtime functions need improvements in efficiency.
author | alexbrandmeyer |
---|---|
date | Thu, 16 May 2013 17:33:23 +0000 |
parents | 97976133eb4d |
children |
line wrap: on
line source
<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>CARFAC C++: CAR Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectlogo"><img alt="Logo" src="icon.png"/></td> <td style="padding-left: 0.5em;"> <div id="projectname">CARFAC C++ </div> <div id="projectbrief">C++ implementation of CARFAC</div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.6.1 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <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 id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('classCAR.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <div class="title">CAR Class Reference</div> </div> </div><!--header--> <div class="contents"> <!-- doxytag: class="CAR" --><!-- doxytag: inherits="EarComponent< CARCoeff, CARParam, CARState >" --> <p><code>#include <<a class="el" href="CAR_8H_source.html">CAR.H</a>></code></p> <div class="dynheader"> Inheritance diagram for CAR:</div> <div class="dyncontent"> <div class="center"><img src="classCAR__inherit__graph.png" border="0" usemap="#CAR_inherit__map" alt="Inheritance graph"/></div> <map name="CAR_inherit__map" id="CAR_inherit__map"> <area shape="rect" id="node2" href="classEarComponent.html" title="EarComponent\< CARCoeff, CARParam, CARState \>" alt="" coords="5,5,341,35"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <div class="dynheader"> Collaboration diagram for CAR:</div> <div class="dyncontent"> <div class="center"><img src="classCAR__coll__graph.png" border="0" usemap="#CAR_coll__map" alt="Collaboration graph"/></div> <map name="CAR_coll__map" id="CAR_coll__map"> <area shape="rect" id="node2" href="classEarComponent.html" title="EarComponent\< CARCoeff, CARParam, CARState \>" alt="" coords="5,181,341,211"/><area shape="rect" id="node4" href="classCARState.html" title="CARState" alt="" coords="23,85,105,115"/><area shape="rect" id="node6" href="classState.html" title="State" alt="" coords="37,5,91,35"/><area shape="rect" id="node8" href="classCARParam.html" title="CARParam" alt="" coords="129,85,217,115"/><area shape="rect" id="node10" href="classParameters.html" title="Parameters" alt="" coords="128,5,216,35"/><area shape="rect" id="node12" href="classCARCoeff.html" title="CARCoeff" alt="" coords="243,85,325,115"/><area shape="rect" id="node14" href="classCoefficients.html" title="Coefficients" alt="" coords="240,5,331,35"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classCAR-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCAR.html#a7c80d0ba9d83caf4cf129b251e41e65c">CAR</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classCAR.html#ac3174919d88d3be0118fcb0fdab84b56">~CAR</a> ()</td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCAR.html#a28852384d3c3fca2cd27fae743053eca">designFilters</a> (<a class="el" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0">FP_TYPE</a> fs, int n_ch)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">Array< <a class="el" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0">FP_TYPE</a>, Dynamic, 1 > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCAR.html#a00bed086fc910b91fa8ed1c97af6eca8">stageG</a> (Array< <a class="el" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0">FP_TYPE</a>, Dynamic, 1 > &relative_undamping)</td></tr> <tr><td colspan="2"><h2><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">Array< <a class="el" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0">FP_TYPE</a>, Dynamic, 1 > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCAR.html#a27d57f14a604e7a444d12a5818f48994">pole_freqs</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The vector of pole frequencies used in filter design and variable estimation. <a href="#a27d57f14a604e7a444d12a5818f48994"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCAR.html#a38fd42a55b0aa61f4176bba8ace93988">Ear</a></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>{Matt Flax <flatmax@>} </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2013.02.08</dd></dl> <p>Cascade of asymmetric resonators (<a class="el" href="classCAR.html">CAR</a>). </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a7c80d0ba9d83caf4cf129b251e41e65c"></a><!-- doxytag: member="CAR::CAR" ref="a7c80d0ba9d83caf4cf129b251e41e65c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCAR.html#a7c80d0ba9d83caf4cf129b251e41e65c">CAR::CAR</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <dl class="author"><dt><b>Author:</b></dt><dd>{Matt Flax <flatmax@>} </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2013.02.08 </dd></dl> </div> </div> <a class="anchor" id="ac3174919d88d3be0118fcb0fdab84b56"></a><!-- doxytag: member="CAR::~CAR" ref="ac3174919d88d3be0118fcb0fdab84b56" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCAR.html#ac3174919d88d3be0118fcb0fdab84b56">CAR::~CAR</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a28852384d3c3fca2cd27fae743053eca"></a><!-- doxytag: member="CAR::designFilters" ref="a28852384d3c3fca2cd27fae743053eca" args="(FP_TYPE fs, int n_ch)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classCAR.html#a28852384d3c3fca2cd27fae743053eca">CAR::designFilters</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0">FP_TYPE</a> </td> <td class="paramname"><em>fs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n_ch</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Method to design the auditory filter coefficients </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">fs</td><td>The sample rate in Hz </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a00bed086fc910b91fa8ed1c97af6eca8"></a><!-- doxytag: member="CAR::stageG" ref="a00bed086fc910b91fa8ed1c97af6eca8" args="(Array< FP_TYPE, Dynamic, 1 > &relative_undamping)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Array< <a class="el" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0">FP_TYPE</a>, Dynamic, 1 > <a class="el" href="classCAR.html#a00bed086fc910b91fa8ed1c97af6eca8">CAR::stageG</a> </td> <td>(</td> <td class="paramtype">Array< <a class="el" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0">FP_TYPE</a>, Dynamic, 1 > & </td> <td class="paramname"><em>relative_undamping</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the stage gain g needed to get unity gain at DC </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">relative_undamping</td><td>Dick whats this ? </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The stage gain required to obtain 0 dB at DC. </dd></dl> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a38fd42a55b0aa61f4176bba8ace93988"></a><!-- doxytag: member="CAR::Ear" ref="a38fd42a55b0aa61f4176bba8ace93988" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="classEar.html">Ear</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a27d57f14a604e7a444d12a5818f48994"></a><!-- doxytag: member="CAR::pole_freqs" ref="a27d57f14a604e7a444d12a5818f48994" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Array<<a class="el" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0">FP_TYPE</a>, Dynamic,1> <a class="el" href="classCAR.html#a27d57f14a604e7a444d12a5818f48994">CAR::pole_freqs</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The vector of pole frequencies used in filter design and variable estimation. </p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="CAR_8H_source.html">CAR.H</a></li> <li><a class="el" href="CAR_8C.html">CAR.C</a></li> </ul> </div><!-- contents --> </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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</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>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="classCAR.html">CAR</a> </li> <li class="footer">Generated on Thu Feb 21 2013 09:31:11 for CARFAC C++ by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li> </ul> </div> </body> </html>