eis/eqpalg/.do_not_use/stat.bk/FFTStat.cpp

45 lines
1.3 KiB
C++
Raw Permalink Normal View History

#include <eqpalg/stat_tools/FFTStat.h>
/**
* @brief Construct a new FFTStat::FFTStat object
* @param ruleId My Param doc
*/
FFTStat::FFTStat(std::string ruleId) {
dest_value_ = 0;
this->rule_id_ = ruleId;
}
int FFTStat::ParseData(std::vector<double> raw_data_fft) {
this->raw_data_fft_ = raw_data_fft_;
}
int FFTStat::ParseData(std::vector<double> raw_data_fft_,
std::vector<double> raw_data_compare) {
this->raw_data_compare_ = raw_data_compare;
this->raw_data_fft_ = raw_data_fft_;
}
unsigned long FFTStat::GetMaxMagnitudeIndex() {
}
double FFTStat::GetComparevalue(int comp_index) {
auto data = mix_cc::FFT_(raw_data_fft_, {});
return std::abs(data[comp_index]);
}
double FFTStat::StorageToDB2(double value) {
db_com_.insert_value("T_RULE_SAMPLE",
{{"DATA", std::to_string(value)},
{"SAMPLEDATE", mix_cc::mix_time_t(time(0)).to_db2_str()},
{"RULEID", rule_id_}});
}
double FFTStat::LoadFromDB2() {
auto data =
db_com_.query_value("T_RULE_SAMPLE", {}, {{"RULEID", rule_id_, "="}},
"ORDER BY SAMPLEDATE FETCH FIRST 50 ROWS ONLY");
for (auto &x : data) {
this->dest_value_ += x.at("DATA").as_double();
}
dest_value_ = dest_value_ / data.size();
return dest_value_;
}