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