|
|
@ -14,7 +14,7 @@ namespace a8k_opt_algo { |
|
|
|
using namespace std; |
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
|
* 预处理 * |
|
|
|
* * |
|
|
|
***********************************************************************************************************************/ |
|
|
|
typedef enum { |
|
|
|
kOptErr_suc, |
|
|
@ -39,33 +39,33 @@ ecode_t F_A8kOptAlgoPreProcess(vector<float> ogigin_val, |
|
|
|
OptAlgoPreProcessResult& result); |
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
|
* 数据分析 * |
|
|
|
* * |
|
|
|
***********************************************************************************************************************/ |
|
|
|
class PeakInfo { |
|
|
|
public: |
|
|
|
bool find_peak; // 是否找到峰
|
|
|
|
float area; // 峰面积
|
|
|
|
int peak_pos; // 峰位置
|
|
|
|
int peak_start_pos; // 峰开始位置
|
|
|
|
int peak_end_pos; // 峰结束位置
|
|
|
|
bool find_peak; //
|
|
|
|
float area; //
|
|
|
|
int peak_pos; //
|
|
|
|
int peak_start_pos; //
|
|
|
|
int peak_end_pos; //
|
|
|
|
}; |
|
|
|
|
|
|
|
class OptAlgoResult { |
|
|
|
public: |
|
|
|
/**
|
|
|
|
* @brief 原始数据 |
|
|
|
* @brief |
|
|
|
*/ |
|
|
|
vector<float> input; // 1200 压缩后的数据
|
|
|
|
vector<float> displayData; // 250 压缩后的数据
|
|
|
|
vector<float> input; //
|
|
|
|
vector<float> displayData; //
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief 峰的信息 |
|
|
|
* @brief |
|
|
|
*/ |
|
|
|
PeakInfo pin040; // 峰040的信息
|
|
|
|
PeakInfo pin080; // 峰080的信息
|
|
|
|
PeakInfo pin120; // 峰120的信息
|
|
|
|
PeakInfo pin160; // 峰160的信息
|
|
|
|
PeakInfo pin200; // 峰200的信息
|
|
|
|
PeakInfo pin040; //
|
|
|
|
PeakInfo pin080; //
|
|
|
|
PeakInfo pin120; //
|
|
|
|
PeakInfo pin160; //
|
|
|
|
PeakInfo pin200; //
|
|
|
|
}; |
|
|
|
|
|
|
|
ecode_t A8kOptAlgoProcess(vector<float> ogigin_val, OptAlgoResult& result); |
|
|
@ -78,8 +78,8 @@ class PorcessContext { |
|
|
|
public: |
|
|
|
vector<float> raw; //
|
|
|
|
vector<float> avg; //
|
|
|
|
vector<float> diff; // 一阶斜率
|
|
|
|
vector<float> diffX2; // 二阶斜率
|
|
|
|
vector<float> diff; //
|
|
|
|
vector<float> diffX2; //
|
|
|
|
float agvline; //
|
|
|
|
}; |
|
|
|
|
|
|
|