ENERGY MONITOR 0.2
Loading...
Searching...
No Matches
_current Class Reference

#include <electric.h>

Inheritance diagram for _current:
signal

Public Member Functions

 _current (signal sig)
 
 _current ()
 
- Public Member Functions inherited from signal
const maximas_minimasget_valMaximas () const
 get value peaks in the signal
 
const maximas_minimasget_valMinimas () const
 get value troughs in the signal
 
const maximas_minimasget_dvBdtMaximas () const
 
const maximas_minimasget_dvBdtMinimas () const
 
const bool isTimeAnalysed ()
 check if the signal was analysed in the time domain
 
bool dataViable ()
 
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)
 
bool loadData (v_container _data)
 load data first two columns from a dataTable structure into this signal with order (time,value)
 
bool loadData (std::vector< double > time, std::vector< double > vals)
 load data from a time vector and a values vector
 
bool analyse ()
 generalized huge analysis in the time domain fetches basic 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
 
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
 
bool importSignal (std::string name, std::string fileLocation=settings.get_setting("signal","import_path"))
 import a signal in the .sig binary format
 
void set_trigger_level (double v)
 sets the trigger level for the trigger level based frequency calculation
 
void set_hysteresis (double upThreshold, double lowThreshold)
 sets the hysteresis parameters for the hysteresis trigger frequency calculations
 
const _analyticsget_analytics () const
 get analytics of the time_domain analysed signal
 
const v_containerget_signal_data () const
 get any values in the signal data table
 
void make_subsignals (std::vector< pattern > &pattern, _subSignals &sig)
 a function that keeps generating subsignals based on the pattern provided that holds pattern start time and pattern endtime
 
_subSignalssubSignal_periodBased ()
 get the subSignals generated from this signal based on their periodic times pattern
 
_subSignalssubSignal_valueBased ()
 get the subSignals generated from this signal based on their rms for periods times pattern
 

Additional Inherited Members

- Protected Types inherited from signal
enum  freq_calc_t { triggerLevel = 1 , peakNdtrough = 2 , triggerHysteresis = 3 }
 decide the frequency calculation type More...
 
enum class  pattern_type { periodic = 1 , transient = 2 }
 
using json = nlohmann::json
 
- Protected Member Functions inherited from signal
void putValue (double val, int row, int col)
 easy abstracted values insersion
 
double getValue (int row, int col)
 easy abstracted values extraction
 
void refreshData ()
 refresh the dataTable that we use
 
double _dvBdt (double v1, double v2, double t1, double t2)
 
double _dv2Bdt2 (double v1, double v2, double v3, double t1, double t2)
 
double _vdt (double v1, double v2, double t1, double t2)
 
bool pre_analyze ()
 Makes variable data out of the time-value data such as slopes and areas wrt to time.
 
void interpolate ()
 INTERPOLATIONS FOR FIXING LOW SAMPLE SIGNALS/DIFFERENT SAMPLING RATES.
 
bool soft_analyze ()
 soft time tomain analysis
 
bool update_local_maximas_minimas ()
 EVALUATE MAXIMAS/MINIMAS using SLOPE DATA.
 
bool post_local_maximas_minimas ()
 filter local MAXIMAS and MINIMAS and update ptp data (only top maximas and lowest minimas)
 
bool frequency_peakNdtrough ()
 calculate frequency based on Local maximas and minimas and their times respectively
 
bool frequency_triggerLevel ()
 calculate frequency based on crossing trigger level times
 
bool frequency_triggerHysteresis ()
 calculate the base_frequency with hysteresis added for noise ignorance
 
bool deduce_baseFrequency ()
 deduce base frequency + angular + number of periods for the signal
 
bool deduce_avg_rms ()
 rms and avg based on integer number of signals analysis only
 
bool update_slope_maximas_minimas ()
 VALUES ANALYTICS THAT EVALUATE MAXIMAS_MINIMAS using SLOPE DATA.
 
bool period_pattern_analysis ()
 analyse regions of the signal basesd on their periodic times (connected similar periodic times = 1 continous signal) periodic time rapid change/phase shifts in a period = transients; connected transients are considered a singular non periodic signal;
 
bool pattern_analyze ()
 analyse changes in the signal and store any continous patterns detected for future interval Based signal analysis
 
std::vector< double[2]> forrierTransform (signal base_sig)
 
- Protected Attributes inherited from signal
struct signal::_analytics analytics
 
double min_max_accuracy = stod(settings.get_setting("signal","min_max_accuracy"))
 
double maxima_diff_rounding = stod(settings.get_setting("signal","maxima_diff_rounding"))
 
double minima_diff_rounding = stod(settings.get_setting("signal","minima_diff_rounding"))
 
bool smaller_extremas_ignored = stoi(settings.get_setting("signal","smaller_extremas_ignored"))
 
double period_diff_accuracy = stod(settings.get_setting("signal","period_diff_accuracy"))
 
bool periodic_avg_rms = stoi(settings.get_setting("signal","periodic_avg&rms"))
 
int frequency_calc_type = stoi(settings.get_setting("signal","frequency_calc_type"))
 
v_container signal_data
 
maximas_minimas val_maximas
 
maximas_minimas val_minimas
 
maximas_minimas dvBdt_maximas
 
maximas_minimas dvBdt_minimas
 
std::vector< double > rising_trigger_times
 rising edges detected are stored here mainly used by trigger level frequency calculation and hysteresis frequency calculation
 
std::vector< double > falling_trigger_times
 rising edges detected are stored here mainly used by trigger level frequency calculation and hysteresis frequency calculation
 
std::vector< double > rising_periods
 rising edges detected are stored here mainly used by trigger level frequency calculation and hysteresis frequency calculation
 
std::vector< double > falling_periods
 rising edges detected are stored here mainly used by trigger level frequency calculation and hysteresis frequency calculation
 
std::vector< patternperiods_pattern
 
struct signal::_subSignals subSignals_period_based
 
struct signal::_subSignals subSignals_value_based
 
double _trigger_level = 0
 signal value for detecting edges and calculating frequency based on
 
double _hysteresis_high_threshold = 5
 
double _hysteresis_low_threshold = -5
 
int minimum_periodic_periodNum = stoi(settings.get_setting("signal", "minimum_periodic_periodNum") )
 
bool timeDomain_analysed = false
 
bool data_viable = false
 

Detailed Description

Definition at line 14 of file electric.h.

Constructor & Destructor Documentation

◆ _current() [1/2]

_current::_current ( signal sig)
inline

Definition at line 16 of file electric.h.

◆ _current() [2/2]

_current::_current ( )
inline

Definition at line 18 of file electric.h.


The documentation for this class was generated from the following file: