Ulf@564: #ifndef AGC_H_ Ulf@564: #define AGC_H_ Ulf@564: Ulf@564: #include "CARFAC_common.h" Ulf@564: Ulf@564: class AGC_parameters { Ulf@564: public: Ulf@586: AGC_parameters(); Ulf@564: Ulf@564: int n_stages_; Ulf@564: FloatArray time_constants_; Ulf@564: float agc_stage_gain_; Ulf@564: FloatArray decimation_; Ulf@564: FloatArray agc1_scales_; Ulf@564: FloatArray agc2_scales_; Ulf@564: float detect_scale_; Ulf@564: float agc_mix_coeff_; Ulf@564: }; Ulf@564: Ulf@564: class AGC_coefficients { Ulf@564: public: Ulf@590: AGC_coefficients(AGC_parameters* AGC_params_p, Ulf@590: float fs, int n_ch); Ulf@564: Ulf@564: int n_ch_; Ulf@564: int n_agc_stages_; Ulf@564: float agc_stage_gain_; Ulf@564: FloatArray agc_epsilon_; Ulf@564: FloatArray decimation_; Ulf@564: FloatArray agc_polez1_; Ulf@564: FloatArray agc_polez2_; Ulf@564: FloatArray agc_spatial_iterations_; Ulf@564: FloatMatrix agc_spatial_fir_; Ulf@564: FloatArray agc_spatial_n_taps_; Ulf@564: FloatArray agc_mix_coeffs_; Ulf@564: float agc_gain_; Ulf@564: float detect_scale_; Ulf@564: Ulf@564: private: Ulf@590: FloatArray Build_FIR_coeffs(float var, float mn, int* ptr_iters, int* ptr_taps); Ulf@564: }; Ulf@564: Ulf@564: #endif /* AGC_H_ */