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