annotate src/AGC.h @ 496:5a5fc3a6051b carfac_cpp

* SUGGESTED re-factor of the FIR_coeffs calls (old code remains in commented out form for easy comparison). * Minor changes to CARFAC and IHC corresponding to MATLAB refactoring
author Ulf.Hammarqvist@gmail.com
date Mon, 09 Apr 2012 09:43:02 +0000
parents 24828350536a
children
rev   line source
Ulf@477 1 #ifndef AGC_H_
Ulf@477 2 #define AGC_H_
Ulf@477 3
Ulf@484 4 #include "CARFAC_common.h"
Ulf@479 5
Ulf@477 6 class AGC_parameters {
Ulf@477 7 public:
Ulf@484 8 AGC_parameters():
Ulf@484 9 n_stages_(4),
Ulf@484 10 time_constants_({0.002*1, 0.002*4, 0.002*16, 0.002*64}),
Ulf@484 11 agc_stage_gain_(2),
Ulf@484 12 decimation_({8, 2, 2, 2}),
Ulf@484 13 agc1_scales_({1.0, 1.4, 2.0, 2.8}),
Ulf@484 14 agc2_scales_({1.6, 2.25, 3.2, 4.5}),
Ulf@484 15 detect_scale_(0.25),
Ulf@484 16 agc_mix_coeff_(0.5){
Ulf@484 17 // do nothing more
Ulf@483 18 }
Ulf@479 19
Ulf@484 20 virtual ~AGC_parameters(){
Ulf@484 21 // do nothing
Ulf@484 22 }
Ulf@480 23
Ulf@483 24 int n_stages_;
Ulf@483 25 FloatArray time_constants_;
Ulf@483 26 float agc_stage_gain_;
Ulf@483 27 FloatArray decimation_;
Ulf@483 28 FloatArray agc1_scales_;
Ulf@483 29 FloatArray agc2_scales_;
Ulf@483 30 float detect_scale_;
Ulf@483 31 float agc_mix_coeff_;
Ulf@477 32 };
Ulf@477 33
Ulf@477 34 class AGC_coefficients {
Ulf@477 35 public:
Ulf@483 36 AGC_coefficients(AGC_parameters*, float, int);
Ulf@483 37 virtual ~AGC_coefficients();
Ulf@484 38
pfh1976@493 39 int n_ch_;
pfh1976@493 40 int n_agc_stages_;
pfh1976@493 41 float agc_stage_gain_;
pfh1976@493 42 FloatArray agc_epsilon_;
pfh1976@493 43 FloatArray decimation_;
pfh1976@493 44 FloatArray agc_polez1_;
pfh1976@493 45 FloatArray agc_polez2_;
pfh1976@493 46 FloatArray agc_spatial_iterations_;
Ulf@494 47 FloatMatrix agc_spatial_fir_;
pfh1976@493 48 FloatArray agc_spatial_n_taps_;
pfh1976@493 49 FloatArray agc_mix_coeffs_;
pfh1976@493 50 float agc_gain_;
Ulf@484 51 float detect_scale_;
pfh1976@493 52
Ulf@481 53 private:
Ulf@484 54 AGC_coefficients();
Ulf@496 55 // FloatArray FIR_coeffs(int, float, float, int, bool*);
Ulf@496 56 FloatArray Build_FIR_coeffs(float, float, int*, int*);
Ulf@477 57 };
Ulf@477 58
Ulf@477 59 #endif /* AGC_H_ */