annotate C++/EarComponent.H @ 593:40934f897a56

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 76c6b3fd0a05
children c692afd86cc9
rev   line source
flatmax@592 1 // Copyright 2013 Matt R. Flax <flatmax\@> All Rights Reserved.
flatmax@593 2 // Author Matt Flax <flatmax@>
flatmax@592 3 //
flatmax@592 4 // This C++ file is part of an implementation of Lyon's cochlear model:
flatmax@592 5 // "Cascade of Asymmetric Resonators with Fast-Acting Compression"
flatmax@592 6 // to supplement Lyon's upcoming book "Human and Machine Hearing"
flatmax@592 7 //
flatmax@592 8 // Licensed under the Apache License, Version 2.0 (the "License");
flatmax@592 9 // you may not use this file except in compliance with the License.
flatmax@592 10 // You may obtain a copy of the License at
flatmax@592 11 //
flatmax@592 12 // http://www.apache.org/licenses/LICENSE-2.0
flatmax@592 13 //
flatmax@592 14 // Unless required by applicable law or agreed to in writing, software
flatmax@592 15 // distributed under the License is distributed on an "AS IS" BASIS,
flatmax@592 16 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
flatmax@592 17 // See the License for the specific language governing permissions and
flatmax@592 18 // limitations under the License.
flatmax@592 19 #ifndef EARCOMPONENT_H_
flatmax@592 20 #define EARCOMPONENT_H_
flatmax@592 21
flatmax@592 22 #include "CARCoeff.H" // includes are for template definitions in the .C file.
flatmax@592 23 #include "CARParam.H" // handy to include here to avoid double linking when only in the EarComponent.C file
flatmax@592 24 #include "CARState.H"
flatmax@592 25 #include "AGCCoeff.H"
flatmax@592 26 #include "AGCParam.H"
flatmax@592 27 #include "AGCState.H"
flatmax@592 28 #include "IHCCoeff.H"
flatmax@592 29 #include "IHCParam.H"
flatmax@592 30 #include "IHCState.H"
flatmax@592 31
flatmax@593 32 #include "CARFACCommon.H"
flatmax@593 33
flatmax@592 34 /**
flatmax@592 35 \author {Matt Flax <flatmax\@>}
flatmax@592 36 \date 2013.02.08
flatmax@592 37
flatmax@592 38 This class is inherited by the CAR, AGC and IHC classes.
flatmax@592 39 This class groups Parameters, Coefficient and State classes.
flatmax@592 40 */
flatmax@592 41 template <class COEFFTYPE, class PARAMTYPE, class STATETYPE>
flatmax@592 42 class EarComponent {
flatmax@592 43 protected:
flatmax@592 44 COEFFTYPE coeff;
flatmax@592 45 PARAMTYPE param;
flatmax@592 46 STATETYPE state;
flatmax@592 47 public:
flatmax@593 48 EarComponent() {}
flatmax@592 49 virtual ~EarComponent(){}
flatmax@592 50 };
flatmax@592 51
flatmax@592 52 #endif // EARCOMPONENT_H_