view trunk/C++/api/html/CARParam_8H_source.html @ 598:34dccba19c54

Fixed certain minor documentation bugs. Added the CAR::designFilters and CAR::stageG methods. These methods design the CAR.coeff coefficients. They have been compared to be the same as the matlab coefficients. An Ear is now contructed with a specific FS or, it uses the default. Added the PsychoAcoustics class to do ERB and Hz conversions. Added the EarTest.C main which allows the construction of an Ear class for testing.
author flatmax
date Wed, 20 Feb 2013 22:30:19 +0000
parents 359bcd461dd1
children b4323584c9fa
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++: CARParam.H Source File</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&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;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('CARParam_8H.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">CARParam.H</div>  </div>
</div><!--header-->
<div class="contents">
<a href="CARParam_8H.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Copyright 2013 Matt R. Flax &lt;flatmax\@&gt; All Rights Reserved.</span>
<a name="l00002"></a>00002 <span class="comment">// Author Matt Flax &lt;flatmax\@&gt;</span>
<a name="l00003"></a>00003 <span class="comment">//</span>
<a name="l00004"></a>00004 <span class="comment">// This C++ file is part of an implementation of Lyon&#39;s cochlear model:</span>
<a name="l00005"></a>00005 <span class="comment">// &quot;Cascade of Asymmetric Resonators with Fast-Acting Compression&quot;</span>
<a name="l00006"></a>00006 <span class="comment">// to supplement Lyon&#39;s upcoming book &quot;Human and Machine Hearing&quot;</span>
<a name="l00007"></a>00007 <span class="comment">//</span>
<a name="l00008"></a>00008 <span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<a name="l00009"></a>00009 <span class="comment">// you may not use this file except in compliance with the License.</span>
<a name="l00010"></a>00010 <span class="comment">// You may obtain a copy of the License at</span>
<a name="l00011"></a>00011 <span class="comment">//</span>
<a name="l00012"></a>00012 <span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00013"></a>00013 <span class="comment">//</span>
<a name="l00014"></a>00014 <span class="comment">// Unless required by applicable law or agreed to in writing, software</span>
<a name="l00015"></a>00015 <span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00016"></a>00016 <span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00017"></a>00017 <span class="comment">// See the License for the specific language governing permissions and</span>
<a name="l00018"></a>00018 <span class="comment">// limitations under the License.</span>
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef CARPARAMS_H_</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define CARPARAMS_H_</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="Parameters_8H.html">Parameters.H</a>&quot;</span>
<a name="l00023"></a>00023 
<a name="l00030"></a><a class="code" href="classCARParam.html">00030</a> <span class="keyword">class </span><a class="code" href="classCARParam.html">CARParam</a> : <span class="keyword">public</span> <a class="code" href="classParameters.html">Parameters</a> {
<a name="l00031"></a><a class="code" href="classCARParam.html#ae11cef3c3e8c19f1e1b6e6557962c600">00031</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#ae11cef3c3e8c19f1e1b6e6557962c600" title="for the velocity nonlinearity">velocity_scale</a>; 
<a name="l00032"></a><a class="code" href="classCARParam.html#a275dff2443b1b58affcb9c5081f493eb">00032</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#a275dff2443b1b58affcb9c5081f493eb" title="offset gives a quadratic part">v_offset</a>; 
<a name="l00033"></a><a class="code" href="classCARParam.html#a1f7a8aa68d475fc85ffbcb9d9daf62ee">00033</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#a1f7a8aa68d475fc85ffbcb9d9daf62ee" title="minimum damping factor in mid-freq channels">min_zeta</a>; 
<a name="l00034"></a><a class="code" href="classCARParam.html#a976b4d422b852bfa877ad9f47ccdcc86">00034</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#a976b4d422b852bfa877ad9f47ccdcc86" title="maximum damping factor in mid-freq channels">max_zeta</a>; 
<a name="l00035"></a><a class="code" href="classCARParam.html#aec231a32b03a3c0603900a105ae67aca">00035</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#aec231a32b03a3c0603900a105ae67aca" title="Dick, whats this ?">first_pole_theta</a>; 
<a name="l00036"></a><a class="code" href="classCARParam.html#a7b01801df1b6e4c75abeabea9b1bb6ec">00036</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#a7b01801df1b6e4c75abeabea9b1bb6ec" title="how far zero is above pole">zero_ratio</a>; 
<a name="l00037"></a><a class="code" href="classCARParam.html#a3a34b743bcdbba47a865386d08dd664e">00037</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#a3a34b743bcdbba47a865386d08dd664e" title="0 to 1 to compress zeta">high_f_damping_compression</a>; 
<a name="l00038"></a><a class="code" href="classCARParam.html#a0fb27aee54d472914e03569ba40512b7">00038</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#a0fb27aee54d472914e03569ba40512b7" title="assume G&amp;M&#39;s ERB formula">ERB_per_step</a>; 
<a name="l00039"></a><a class="code" href="classCARParam.html#ae30ba07457c2f7d7a9393cb7d2730af4">00039</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#ae30ba07457c2f7d7a9393cb7d2730af4" title="Dick, whats this ?">min_pole_Hz</a>; 
<a name="l00040"></a><a class="code" href="classCARParam.html#a2a8d58983bb2562c7bb54d6f571a5265">00040</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#a2a8d58983bb2562c7bb54d6f571a5265" title="Greenwood map&#39;s break freq.">ERB_break_freq</a>; 
<a name="l00041"></a><a class="code" href="classCARParam.html#a6af2a4247b1a0bb380176787d379418c">00041</a>     <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classCARParam.html#a6af2a4247b1a0bb380176787d379418c" title="Glasberg and Moore&#39;s high-cf ratio.">ERB_Q</a>; 
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 <span class="keyword">public</span>:
<a name="l00044"></a>00044 
<a name="l00046"></a>00046     <a class="code" href="classCARParam.html#ae51711029751deb3eb3c5138f046ef8e" title="Constructor with default parameter values.">CARParam</a>(<a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> velocity_scale_=0.1, <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> v_offset_=0.04, <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> min_zeta_=0.10, <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> max_zeta_=0.35,
<a name="l00047"></a>00047              <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> first_pole_theta_=0.85*M_PI, <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> zero_ratio_=sqrt(2.), <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> high_f_damping_compression_=0.5,
<a name="l00048"></a>00048              <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> ERB_per_step_=0.5, <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> min_pole_Hz_=30., <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> ERB_break_freq_=165.3,
<a name="l00049"></a>00049              <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> ERB_Q_=1000./(24.7*4.37));
<a name="l00050"></a>00050     <span class="keyword">virtual</span> <a class="code" href="classCARParam.html#a96ab5ca0d828c34a84022b214dced443" title="Destructor.">~CARParam</a>(); 
<a name="l00051"></a>00051 };
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 <span class="preprocessor">#endif // CARPARAMS_H_</span>
</pre></div></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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</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>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="CARParam_8H.html">CARParam.H</a>      </li>

    <li class="footer">Generated on Sun Feb 10 2013 10:47:45 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>