Browse Source

update

master
zhaohe 1 year ago
parent
commit
2c8bd88200
  1. 15
      a8k_opt_algo.cpp
  2. 1
      a8k_opt_algo.hpp

15
a8k_opt_algo.cpp

@ -1,7 +1,7 @@
#include "a8k_opt_algo.hpp"
#include <stdarg.h>
#ifdef BUILD_IN_QT
void zos_log(const char* fmt, ...);
#define ZLOGI(fmt, ...) zos_log("INFO " fmt "\n", ##__VA_ARGS__);
@ -9,6 +9,14 @@ void zos_log(const char* fmt, ...);
#define ZLOGE(fmt, ...) zos_log("ERRO " fmt "\n", ##__VA_ARGS__);
#define ZLOGW(fmt, ...) zos_log("WARN " fmt "\n", ##__VA_ARGS__);
#else
#define ZLOGI(fmt, ...) ;
#define ZLOGD(fmt, ...) ;
#define ZLOGE(fmt, ...) ;
#define ZLOGW(fmt, ...) ;
#endif
namespace a8k_opt_algo {
using namespace std;
@ -287,8 +295,8 @@ void findpeak(vector<float>& data, int32_t search_start, int32_t search_end, Pea
// find_peak_start
// 从pos向前找20个点,从低于均值线的坐标开始找,找到diff2的最大值
retpeak.peak_pos = peakpos;
retpeak.peak_start_pos = findPeakTurnPoint(data, peakpos - 20, peakpos) - 4;//-4 是经验数值
retpeak.peak_end_pos = findPeakTurnPoint(data, peakpos, peakpos + 20) + 4;//+4 是经验数值
retpeak.peak_start_pos = findPeakTurnPoint(data, peakpos - 20, peakpos) - 4; //-4 是经验数值
retpeak.peak_end_pos = findPeakTurnPoint(data, peakpos, peakpos + 20) + 4; //+4 是经验数值
retpeak.area = computePeakArea(data, retpeak.peak_start_pos, retpeak.peak_end_pos);
retpeak.find_peak = true;
@ -302,6 +310,7 @@ void a8k_opt_algo_process(vector<float>& ogigin_val, OptAlgoResult& result) {
vector<float> subsample = sub_sampling(super, 24);
ZLOGI("subsample size:%d", subsample.size());
result.input = ogigin_val;
m_cxt.raw = subsample;
m_cxt.avg = subsample;
m_cxt.diff = least_square_method_differentiate(m_cxt.avg, 5); // 最小二乘法求曲线斜率集合

1
a8k_opt_algo.hpp

@ -55,6 +55,7 @@ class OptAlgoResult {
/**
* @brief
*/
vector<float> input; // 1200 压缩后的数据
vector<float> displayData; // 250 压缩后的数据
/**

Loading…
Cancel
Save