comparison C++/api/html/AGCParam_8H_source.html @ 592:76c6b3fd0a05

First commit. Refer to the api [1] 'Philosophy of the implementation' for information on the approach used to implement CARFAC in C++. [1] aimc/C++/api/html/index.html
author flatmax
date Sat, 09 Feb 2013 23:53:48 +0000
parents
children 97976133eb4d
comparison
equal deleted inserted replaced
591:2a69b38336c4 592:76c6b3fd0a05
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <title>CARFAC C++: AGCParam.H Source File</title>
7
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <link href="doxygen.css" rel="stylesheet" type="text/css" />
10 <link href="navtree.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="resize.js"></script>
13 <script type="text/javascript" src="navtree.js"></script>
14 <script type="text/javascript">
15 $(document).ready(initResizable);
16 </script>
17 <link href="search/search.css" rel="stylesheet" type="text/css"/>
18 <script type="text/javascript" src="search/search.js"></script>
19 <script type="text/javascript">
20 $(document).ready(function() { searchBox.OnSelectItem(0); });
21 </script>
22
23 </head>
24 <body>
25 <div id="top"><!-- do not remove this div! -->
26
27
28 <div id="titlearea">
29 <table cellspacing="0" cellpadding="0">
30 <tbody>
31 <tr style="height: 56px;">
32
33 <td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
34
35
36 <td style="padding-left: 0.5em;">
37 <div id="projectname">CARFAC C++
38
39 </div>
40 <div id="projectbrief">C++ implementation of CARFAC</div>
41 </td>
42
43
44
45 </tr>
46 </tbody>
47 </table>
48 </div>
49
50 <!-- Generated by Doxygen 1.7.6.1 -->
51 <script type="text/javascript">
52 var searchBox = new SearchBox("searchBox", "search",false,'Search');
53 </script>
54 <div id="navrow1" class="tabs">
55 <ul class="tablist">
56 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
57 <li><a href="annotated.html"><span>Classes</span></a></li>
58 <li class="current"><a href="files.html"><span>Files</span></a></li>
59 <li>
60 <div id="MSearchBox" class="MSearchBoxInactive">
61 <span class="left">
62 <img id="MSearchSelect" src="search/mag_sel.png"
63 onmouseover="return searchBox.OnSearchSelectShow()"
64 onmouseout="return searchBox.OnSearchSelectHide()"
65 alt=""/>
66 <input type="text" id="MSearchField" value="Search" accesskey="S"
67 onfocus="searchBox.OnSearchFieldFocus(true)"
68 onblur="searchBox.OnSearchFieldFocus(false)"
69 onkeyup="searchBox.OnSearchFieldChange(event)"/>
70 </span><span class="right">
71 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
72 </span>
73 </div>
74 </li>
75 </ul>
76 </div>
77 <div id="navrow2" class="tabs2">
78 <ul class="tablist">
79 <li><a href="files.html"><span>File&#160;List</span></a></li>
80 <li><a href="globals.html"><span>File&#160;Members</span></a></li>
81 </ul>
82 </div>
83 </div>
84 <div id="side-nav" class="ui-resizable side-nav-resizable">
85 <div id="nav-tree">
86 <div id="nav-tree-contents">
87 </div>
88 </div>
89 <div id="splitbar" style="-moz-user-select:none;"
90 class="ui-resizable-handle">
91 </div>
92 </div>
93 <script type="text/javascript">
94 initNavTree('AGCParam_8H.html','');
95 </script>
96 <div id="doc-content">
97 <div class="header">
98 <div class="headertitle">
99 <div class="title">AGCParam.H</div> </div>
100 </div><!--header-->
101 <div class="contents">
102 <a href="AGCParam_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>
103 <a name="l00002"></a>00002 <span class="comment">// Author Matt Flax &lt;flatmax\@&gt;</span>
104 <a name="l00003"></a>00003 <span class="comment">//</span>
105 <a name="l00004"></a>00004 <span class="comment">// This C++ file is part of an implementation of Lyon&#39;s cochlear model:</span>
106 <a name="l00005"></a>00005 <span class="comment">// &quot;Cascade of Asymmetric Resonators with Fast-Acting Compression&quot;</span>
107 <a name="l00006"></a>00006 <span class="comment">// to supplement Lyon&#39;s upcoming book &quot;Human and Machine Hearing&quot;</span>
108 <a name="l00007"></a>00007 <span class="comment">//</span>
109 <a name="l00008"></a>00008 <span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
110 <a name="l00009"></a>00009 <span class="comment">// you may not use this file except in compliance with the License.</span>
111 <a name="l00010"></a>00010 <span class="comment">// You may obtain a copy of the License at</span>
112 <a name="l00011"></a>00011 <span class="comment">//</span>
113 <a name="l00012"></a>00012 <span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span>
114 <a name="l00013"></a>00013 <span class="comment">//</span>
115 <a name="l00014"></a>00014 <span class="comment">// Unless required by applicable law or agreed to in writing, software</span>
116 <a name="l00015"></a>00015 <span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
117 <a name="l00016"></a>00016 <span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
118 <a name="l00017"></a>00017 <span class="comment">// See the License for the specific language governing permissions and</span>
119 <a name="l00018"></a>00018 <span class="comment">// limitations under the License.</span>
120 <a name="l00019"></a>00019 <span class="preprocessor">#ifndef AGCPARAMS_H_</span>
121 <a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define AGCPARAMS_H_</span>
122 <a name="l00021"></a>00021 <span class="preprocessor"></span>
123 <a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="Parameters_8H.html">Parameters.H</a>&quot;</span>
124 <a name="l00023"></a>00023
125 <a name="l00030"></a><a class="code" href="classAGCParam.html">00030</a> <span class="keyword">class </span><a class="code" href="classAGCParam.html">AGCParam</a> : <span class="keyword">public</span> <a class="code" href="classParameters.html">Parameters</a> {
126 <a name="l00031"></a><a class="code" href="classAGCParam.html#a6cb476c916e99e227ddcfec68be66b3a">00031</a> <span class="keywordtype">int</span> <a class="code" href="classAGCParam.html#a6cb476c916e99e227ddcfec68be66b3a" title="Stage count.">n_stages</a>;
127 <a name="l00032"></a><a class="code" href="classAGCParam.html#ae8073d3c194a9134cf736a564d4774fa">00032</a> Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt; <a class="code" href="classAGCParam.html#ae8073d3c194a9134cf736a564d4774fa" title="seconds">time_constants</a>;
128 <a name="l00033"></a><a class="code" href="classAGCParam.html#a6a436005102557783fe4a0d30d3dcc51">00033</a> <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classAGCParam.html#a6a436005102557783fe4a0d30d3dcc51" title="gain from each stage to next slower stage">AGC_stage_gain</a>;
129 <a name="l00034"></a><a class="code" href="classAGCParam.html#ac7fc293748c6e7d59b91998253a68657">00034</a> Array&lt;int,AGC_STAGE_COUNT, 1&gt; <a class="code" href="classAGCParam.html#ac7fc293748c6e7d59b91998253a68657" title="how often to update the AGC states">decimation</a>;
130 <a name="l00035"></a><a class="code" href="classAGCParam.html#adf027a80d6669e72d735fff7d41801d7">00035</a> Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt; <a class="code" href="classAGCParam.html#adf027a80d6669e72d735fff7d41801d7" title="in units of channels">AGC1_scales</a>;
131 <a name="l00036"></a><a class="code" href="classAGCParam.html#aca67e2871ee79cc96807d347acd55fe4">00036</a> Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt; <a class="code" href="classAGCParam.html#aca67e2871ee79cc96807d347acd55fe4" title="spread more toward base">AGC2_scales</a>;
132 <a name="l00037"></a><a class="code" href="classAGCParam.html#a968c25ad0327d2db3ebd287d661001b4">00037</a> <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> <a class="code" href="classAGCParam.html#a968c25ad0327d2db3ebd287d661001b4" title="Dick, whats this ?">AGC_mix_coeff</a>;
133 <a name="l00038"></a>00038 <span class="keyword">public</span>:
134 <a name="l00040"></a>00040 <a class="code" href="classAGCParam.html#aa822c90ba8da467c7bf31d85bf9b6f97" title="Constructor with default parameter values.">AGCParam</a>(<span class="keywordtype">int</span> n_stages_=<a class="code" href="CARFACCommon_8H.html#a62f6419e5a391863eb7d30a90462c239" title="The number of cascades in the AGC.">AGC_STAGE_COUNT</a>,
135 <a name="l00041"></a>00041 Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt; time_constants_=Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt;(1., 4., 16., 64.)*0.002,
136 <a name="l00042"></a>00042 <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> AGC_stage_gain_=2.,
137 <a name="l00043"></a>00043 Array&lt;int,AGC_STAGE_COUNT, 1&gt; decimation_=Array&lt;int,AGC_STAGE_COUNT, 1&gt;(8, 2, 2, 2),
138 <a name="l00044"></a>00044 Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt; AGC1_scales_=Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt;(1.0, 1.4, 2.0, 2.8),
139 <a name="l00045"></a>00045 Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt; AGC2_scales_=Array&lt;FP_TYPE, AGC_STAGE_COUNT,1&gt;(1.6, 2.25, 3.2, 4.5),
140 <a name="l00046"></a>00046 <a class="code" href="CARFACCommon_8H.html#af081989b61cc5b60e85ad3d01e4af4f0" title="The floating point type.">FP_TYPE</a> AGC_mix_coeff_=0.5);
141 <a name="l00047"></a>00047
142 <a name="l00048"></a>00048 <span class="keyword">virtual</span> <a class="code" href="classAGCParam.html#a40249c83afc2cffec3c0fe8bb9cb9997">~AGCParam</a>();
143 <a name="l00049"></a>00049 };
144 <a name="l00050"></a>00050
145 <a name="l00051"></a>00051 <span class="preprocessor">#endif // AGCPARAMS_H_</span>
146 </pre></div></div><!-- contents -->
147 </div>
148 <!-- window showing the filter options -->
149 <div id="MSearchSelectWindow"
150 onmouseover="return searchBox.OnSearchSelectShow()"
151 onmouseout="return searchBox.OnSearchSelectHide()"
152 onkeydown="return searchBox.OnSearchSelectKey(event)">
153 <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>
154
155 <!-- iframe showing the search results (closed by default) -->
156 <div id="MSearchResultsWindow">
157 <iframe src="javascript:void(0)" frameborder="0"
158 name="MSearchResults" id="MSearchResults">
159 </iframe>
160 </div>
161
162 <div id="nav-path" class="navpath">
163 <ul>
164 <li class="navelem"><a class="el" href="AGCParam_8H.html">AGCParam.H</a> </li>
165
166 <li class="footer">Generated on Sun Feb 10 2013 10:47:45 for CARFAC C++ by
167 <a href="http://www.doxygen.org/index.html">
168 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
169 </ul>
170 </div>
171
172
173 </body>
174 </html>