Mercurial > hg > aimc
view branches/carfac_cpp/include/AGC.h @ 695:2e3672df5698
Simple integration test between CARFAC and SAI.
The interface between the two classes is pretty clunky because of the
way CARFACOutput stores things. We should work on this, probably by
rotating the outer two dimensions of CARFACOutput (i.e. store outputs
in containers with sizes n_ears x n_samples x n_channels instead of
n_samples x n_ears x n_channels).
author | ronw@google.com |
---|---|
date | Wed, 26 Jun 2013 23:35:47 +0000 |
parents | 057946a60b91 |
children |
line wrap: on
line source
#ifndef AGC_H_ #define AGC_H_ #include "CARFAC_common.h" class AGC_parameters { public: AGC_parameters(); 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* AGC_params_p, float fs, int n_ch); 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: FloatArray Build_FIR_coeffs(float var, float mn, int* ptr_iters, int* ptr_taps); }; #endif /* AGC_H_ */