annotate C++/AGC.H @ 648:1c2a5868f23a

Fix memory leak in CARFAC. Also get rid of most uses of auto, which tend to hurt readability unless the type name is particularly long, especially when it masks pointers.
author ronw@google.com
date Tue, 11 Jun 2013 21:41:53 +0000
parents c692afd86cc9
children
rev   line source
flatmax@632 1
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 AGC_H_
flatmax@592 20 #define AGC_H_
flatmax@592 21
flatmax@592 22 #include "EarComponent.H" // includes the various {CAR, IHC, AGC} {Coeff, Param, State} .H files
flatmax@592 23
flatmax@592 24 /**
flatmax@592 25 \author {Matt Flax <flatmax\@>}
flatmax@592 26 \date 2013.02.08
flatmax@592 27
flatmax@592 28 Automatic Gain Control
flatmax@592 29 */
flatmax@592 30 class AGC : EarComponent<AGCCoeff, AGCParam, AGCState> {
flatmax@592 31 public:
flatmax@592 32 AGC();
flatmax@592 33 virtual ~AGC();
flatmax@601 34
flatmax@601 35 /** Method to design the automatic gain control coefficients
flatmax@601 36 \param fs The sample rate in Hz
flatmax@601 37 \param n_ch The number of channels. The CAR.coeff are one row per channel
flatmax@601 38 */
flatmax@601 39 void designAGC(FP_TYPE fs, int n_ch);
flatmax@592 40 };
flatmax@592 41
flatmax@592 42 #endif // AGC_H_