Mercurial > hg > aimc
view branches/carfac_cpp/include/AGC.h @ 564:9c4c3675c3f8
* Added class Ear, and moved the CARFAC members AGC CAR IHC into Ear. CARFAC now holds an array of Ear. TBD what is best.
* Moved the files around, and introduced a makefile that builds unittests using GTest. (Note, GTest path is configured in makefile atm.).
- two moronic tests implemented. :)
author | Ulf.Hammarqvist@gmail.com |
---|---|
date | Sun, 20 May 2012 22:36:47 +0000 |
parents | |
children | f3dde307f4b8 |
line wrap: on
line source
#ifndef AGC_H_ #define AGC_H_ #include "CARFAC_common.h" class AGC_parameters { public: AGC_parameters(): n_stages_(4), time_constants_({0.002*1, 0.002*4, 0.002*16, 0.002*64}), agc_stage_gain_(2), decimation_({8, 2, 2, 2}), agc1_scales_({1.0, 1.4, 2.0, 2.8}), agc2_scales_({1.6, 2.25, 3.2, 4.5}), detect_scale_(0.25), agc_mix_coeff_(0.5){ // do nothing more } virtual ~AGC_parameters(){ // do nothing } int n_stages_; FloatArray time_constants_; float agc_stage_gain_; FloatArray decimation_; FloatArray agc1_scales_; FloatArray agc2_scales_; float detect_scale_; float agc_mix_coeff_; }; class AGC_coefficients { public: AGC_coefficients(AGC_parameters*, float, int); virtual ~AGC_coefficients(); int n_ch_; int n_agc_stages_; float agc_stage_gain_; FloatArray agc_epsilon_; FloatArray decimation_; FloatArray agc_polez1_; FloatArray agc_polez2_; FloatArray agc_spatial_iterations_; FloatMatrix agc_spatial_fir_; FloatArray agc_spatial_n_taps_; FloatArray agc_mix_coeffs_; float agc_gain_; float detect_scale_; private: AGC_coefficients(); FloatArray Build_FIR_coeffs(float, float, int*, int*); }; #endif /* AGC_H_ */