-
Notifications
You must be signed in to change notification settings - Fork 26
/
Calibration.h
63 lines (46 loc) · 1.48 KB
/
Calibration.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#ifndef CalibrationH
#define CalibrationH
#include "types.h"
class CCalibration
{
private:
complexf m_ideal_short;
complexf m_ideal_open;
complexf m_ideal_load;
complexf m_ideal_isolation;
complexf m_ideal_through;
double m_short_l0;
double m_short_l1;
double m_short_l2;
double m_short_l3;
double m_short_length;
double m_open_c0;
double m_open_c1;
double m_open_c2;
double m_open_c3;
double m_open_length;
double m_load_r;
double m_load_l;
double m_load_c;
double m_load_length;
double m_through_length;
void __fastcall interpolateErrorTerms(t_calibration &calibration, std::vector <t_data_point> &points, const bool linear);
public:
CCalibration();
bool m_use_ideal_short;
bool m_use_ideal_open;
bool m_use_ideal_load;
bool m_use_ideal_through;
// calibration data
t_calibration m_calibration;
std::vector <t_calibration_point> m_inter_cal; // interpolated calibration data
void __fastcall computeErrorTerms(t_calibration &calibration);
void __fastcall correct(std::vector <t_data_point> &points);
__property complexf idealShort = {read = m_ideal_short};
__property complexf idealOpen = {read = m_ideal_open};
__property complexf idealLoad = {read = m_ideal_load};
__property complexf idealIsolation = {read = m_ideal_isolation};
__property complexf idealThrough = {read = m_ideal_through};
};
extern CCalibration calibration_module;
#endif