74 lines
1.9 KiB
C
74 lines
1.9 KiB
C
|
#ifndef GTL_MATH_DELTA_PHASE_SPEC_H
|
||
|
#define GTL_MATH_DELTA_PHASE_SPEC_H
|
||
|
|
||
|
#include <QObject>
|
||
|
|
||
|
#include "core/gtl_device.h"
|
||
|
#include "core/gtl_analog_data.h"
|
||
|
|
||
|
#include "gtl_math_spec.h"
|
||
|
|
||
|
#include "math_global.h"
|
||
|
|
||
|
|
||
|
namespace gtl
|
||
|
{
|
||
|
namespace math
|
||
|
{
|
||
|
|
||
|
class MATH_EXPORT delta_phase_spec : public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
Q_PROPERTY(qreal frequency READ frequency WRITE set_frequency NOTIFY frequency_changed);
|
||
|
Q_PROPERTY(qreal max_frequency READ max_frequency WRITE set_max_frequency NOTIFY max_frequency_changed);
|
||
|
Q_PROPERTY(qreal resolution READ resolution WRITE set_resolution NOTIFY resolution_changed);
|
||
|
Q_PROPERTY(qreal value READ value() NOTIFY value_changed);
|
||
|
|
||
|
public:
|
||
|
delta_phase_spec(gtl::analog_data *ref, gtl::analog_data *data);
|
||
|
~delta_phase_spec();
|
||
|
|
||
|
qreal frequency() const;
|
||
|
void set_frequency(qreal value);
|
||
|
|
||
|
qreal max_frequency() const;
|
||
|
void set_max_frequency(qreal value);
|
||
|
|
||
|
qreal resolution() const;
|
||
|
void set_resolution(qreal value);
|
||
|
|
||
|
qreal overlap() const;
|
||
|
void set_overlap(int value);
|
||
|
|
||
|
|
||
|
private:
|
||
|
int _ref_max_idx;
|
||
|
int _data_max_idx;
|
||
|
gtl::math::spec* _ref_spec = NULL;
|
||
|
gtl::math::spec* _data_spec = NULL;
|
||
|
qreal _phase;
|
||
|
qreal _freq;
|
||
|
qreal _max_freq;
|
||
|
|
||
|
gtl::device* _device;
|
||
|
|
||
|
private slots:
|
||
|
void calculate();
|
||
|
|
||
|
signals:
|
||
|
void value_changed();
|
||
|
void frequency_changed();
|
||
|
void max_frequency_changed();
|
||
|
void resolution_changed();
|
||
|
void overlap_changed();
|
||
|
|
||
|
public slots:
|
||
|
qreal value();
|
||
|
};
|
||
|
|
||
|
} // namespace math
|
||
|
} // namespace gtl
|
||
|
|
||
|
#endif // GTL_MATH_DELTA_PHASE_SPEC_H
|