114 inline void putValue(
double val,
int row,
int col){
199 double _dvBdt(
double v1,
double v2,
double t1,
double t2);
200 double _dv2Bdt2(
double v1,
double v2,
double v3,
double t1,
double t2);
201 double _vdt(
double v1,
double v2,
double t1,
double t2);
297 bool loadData(std::vector<double> time,std::vector<double> vals);
string get_setting(string class_name, string setting)
HELD_DATA getData(int row, int col) const
return the data at some address
void insertData(HELD_DATA d, unsigned int row, unsigned int col)
inserts a value to a cell of dataTable instance with that address
void refresh()
refreshes the data Table for any mistake probability or bad handling
signal class the parent class for every other signal or any form of time-sorted (time,...
const maximas_minimas * get_valMaximas() const
get value peaks in the signal
struct signal::_subSignals subSignals_period_based
bool exportSignal(std::string name, bool export_all=false, sig_exp expType=sig_exp::csv, std::string fileLocation=settings.get_setting("signal","export_path"))
export the signal data to a specific file
void make_subsignals(std::vector< pattern > &pattern, _subSignals &sig)
a function that keeps generating subsignals based on the pattern provided that holds pattern start ti...
double _vdt(double v1, double v2, double t1, double t2)
bool frequency_triggerHysteresis()
calculate the base_frequency with hysteresis added for noise ignorance
const bool isTimeAnalysed()
check if the signal was analysed in the time domain
bool smaller_extremas_ignored
bool deduce_avg_rms()
rms and avg based on integer number of signals analysis only
maximas_minimas val_maximas
maximas_minimas val_minimas
bool period_pattern_analysis()
analyse regions of the signal basesd on their periodic times (connected similar periodic times = 1 co...
const _analytics * get_analytics() const
get analytics of the time_domain analysed signal
double _hysteresis_high_threshold
bool deduce_baseFrequency()
deduce base frequency + angular + number of periods for the signal
int minimum_periodic_periodNum
double period_diff_accuracy
void refreshData()
refresh the dataTable that we use
std::vector< double > rising_trigger_times
rising edges detected are stored here mainly used by trigger level frequency calculation and hysteres...
double maxima_diff_rounding
bool frequency_triggerLevel()
calculate frequency based on crossing trigger level times
bool update_local_maximas_minimas()
EVALUATE MAXIMAS/MINIMAS using SLOPE DATA.
bool pdf_export(std::string name, std::string file_address=settings.get_setting("signal","export_path"))
export valuable signal report (images and text)//in the pdf format
_subSignals * subSignal_periodBased()
get the subSignals generated from this signal based on their periodic times pattern
bool pattern_analyze()
analyse changes in the signal and store any continous patterns detected for future interval Based sig...
bool update_slope_maximas_minimas()
VALUES ANALYTICS THAT EVALUATE MAXIMAS_MINIMAS using SLOPE DATA.
const v_container * get_signal_data() const
get any values in the signal data table
_subSignals * subSignal_valueBased()
get the subSignals generated from this signal based on their rms for periods times pattern
bool frequency_peakNdtrough()
calculate frequency based on Local maximas and minimas and their times respectively
std::vector< pattern > periods_pattern
void interpolate()
INTERPOLATIONS FOR FIXING LOW SAMPLE SIGNALS/DIFFERENT SAMPLING RATES.
double minima_diff_rounding
struct signal::_subSignals subSignals_value_based
void putValue(double val, int row, int col)
easy abstracted values insersion
void set_hysteresis(double upThreshold, double lowThreshold)
sets the hysteresis parameters for the hysteresis trigger frequency calculations
bool pre_analyze()
Makes variable data out of the time-value data such as slopes and areas wrt to time.
maximas_minimas dvBdt_minimas
bool soft_analyze()
soft time tomain analysis
freq_calc_t
decide the frequency calculation type
bool loadData(std::string name, std::string fileLocation=settings.get_setting("signal","import_path"))
load data from a file directly if it has the following format (time,value)
const maximas_minimas * get_valMinimas() const
get value troughs in the signal
double _dvBdt(double v1, double v2, double t1, double t2)
std::vector< double[2]> forrierTransform(signal base_sig)
std::vector< double > falling_trigger_times
rising edges detected are stored here mainly used by trigger level frequency calculation and hysteres...
void set_trigger_level(double v)
sets the trigger level for the trigger level based frequency calculation
bool analyse()
generalized huge analysis in the time domain fetches basic data
bool post_local_maximas_minimas()
filter local MAXIMAS and MINIMAS and update ptp data (only top maximas and lowest minimas)
double _dv2Bdt2(double v1, double v2, double v3, double t1, double t2)
bool importSignal(std::string name, std::string fileLocation=settings.get_setting("signal","import_path"))
import a signal in the .sig binary format
std::vector< double > falling_periods
rising edges detected are stored here mainly used by trigger level frequency calculation and hysteres...
const maximas_minimas * get_dvBdtMaximas() const
double getValue(int row, int col)
easy abstracted values extraction
std::vector< double > rising_periods
rising edges detected are stored here mainly used by trigger level frequency calculation and hysteres...
double _hysteresis_low_threshold
const maximas_minimas * get_dvBdtMinimas() const
maximas_minimas dvBdt_maximas
double _trigger_level
signal value for detecting edges and calculating frequency based on
struct signal::_analytics analytics
wrap the core folder / include base helper methods and macros used accross the program
dataTable_order
represent the column order of elements in signal_table
double base_angular_frequency
base frequency but angular
double avg_sample_time
average sampling time of the signal
double thd
total harmonic distorsion for the signal (will be supported with fft implementation)
double dc_offset
dc_offset of the signal
double max_val
absolute maximum value
double duty_cycle
duty cycle of the signal
double min_ptp
min peak to peak
double base_frequency
base frequency of the signal
unsigned int samples_num
number of samples that the signal holds
double timeStart
the start time of the signal
double avg_min_val
average value of troughs
double periodic_time
periodic_time of the signal
double max_val_time
absolute maximum value time
double avg_ptp
avg peak to peak
double avg_max_val
average value of peaks
double timeEnd
the time end of the signal
double rms
rms for the signal
double min_val_time
absolute minimum value time
double max_ptp
max peak to peak
double min_val
absolute minimum value
double avg
avg of the signal
unsigned int transients_count
unsigned int unique_periods_count
std::vector< signal > subSignals
(time, value) representation of peaks and troughs of a signal
std::vector< double > value
std::vector< double > time
double pattern_start_time
pattern(double s_time, double e_time)
unsigned int periodsCount