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_ */
|