|
|
@ -6,7 +6,7 @@ |
|
|
|
#include "algo/zsimple_qrs.h" |
|
|
|
#include "znordic.h" |
|
|
|
|
|
|
|
#define REPORT_MEDIAN_WINDOWS_SIZE 151 // ±ØÐëÊÇÆæÊý |
|
|
|
#define REPORT_MEDIAN_WINDOWS_SIZE 101 // ±ØÐëÊÇÆæÊý |
|
|
|
|
|
|
|
LPFilterExt_t m_lp_filter; |
|
|
|
HPFilterExt_t m_hp_filter; |
|
|
@ -30,6 +30,21 @@ static int32_t m_frame_cnt; |
|
|
|
|
|
|
|
void ecg_algo_init() { ecg_algo_reset(); } |
|
|
|
|
|
|
|
void leadoff_data_process(int32_t indata) { |
|
|
|
zdata_statistics_push(&m_leadoff_statistics, indata); |
|
|
|
if (zdata_statistics_is_full(&m_leadoff_statistics)) { |
|
|
|
int32_t max = zdata_statistics_get_max(&m_leadoff_statistics); |
|
|
|
int32_t min = zdata_statistics_get_min(&m_leadoff_statistics); |
|
|
|
if (max - min < 6000) { |
|
|
|
m_leadoff = true; |
|
|
|
} else { |
|
|
|
m_leadoff = false; |
|
|
|
} |
|
|
|
} else { |
|
|
|
m_leadoff = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void report_data_process(int32_t indata) { |
|
|
|
m_frame_cnt++; |
|
|
|
float data = indata; |
|
|
@ -47,27 +62,11 @@ void report_data_process(int32_t indata) { |
|
|
|
data = delay_data - medianValue; |
|
|
|
data = SmoothingFilter_Update(&m_report_smoothing_filter, data); |
|
|
|
reportdata = data; |
|
|
|
} |
|
|
|
|
|
|
|
void leadoff_data_process(int32_t indata) { |
|
|
|
zdata_statistics_push(&m_leadoff_statistics, indata); |
|
|
|
if (zdata_statistics_is_full(&m_leadoff_statistics)) { |
|
|
|
int32_t max = zdata_statistics_get_max(&m_leadoff_statistics); |
|
|
|
int32_t min = zdata_statistics_get_min(&m_leadoff_statistics); |
|
|
|
if (max - min > 45000) { |
|
|
|
m_leadoff = true; |
|
|
|
} else { |
|
|
|
m_leadoff = false; |
|
|
|
} |
|
|
|
} else { |
|
|
|
m_leadoff = true; |
|
|
|
} |
|
|
|
leadoff_data_process(data); |
|
|
|
} |
|
|
|
|
|
|
|
void ecg_algo_process_data(int32_t indata) { |
|
|
|
leadoff_data_process(indata); |
|
|
|
report_data_process(indata); |
|
|
|
} |
|
|
|
void ecg_algo_process_data(int32_t indata) { report_data_process(indata); } |
|
|
|
|
|
|
|
void ecg_algo_reset() { |
|
|
|
LPFilterExt_init(&m_lp_filter, 40, SAMPLE_PERIOD_S, 5, true); |
|
|
|