diff --git a/radio/metrics/IMinMax.hpp b/radio/metrics/IMinMax.hpp deleted file mode 100644 index 4bfe87a..0000000 --- a/radio/metrics/IMinMax.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _METRICS_IMINMAX_HPP_ -#define _METRICS_IMINMAX_HPP_ - -#pragma once - -#include - -namespace Radio -{ -namespace Metrics -{ -class IMinMax -{ -public: - virtual ~IMinMax() = default; - - virtual radio_float_t min_i() const = 0; - virtual radio_float_t min_q() const = 0; - virtual radio_float_t min_mag() const = 0; - - virtual radio_float_t max_i() const = 0; - virtual radio_float_t max_q() const = 0; - virtual radio_float_t max_mag() const = 0; -}; -} // Metrics -} // Radio - -#endif // _METRICS_IMINMAX_HPP_ \ No newline at end of file diff --git a/radio/metrics/Statistics.cpp b/radio/metrics/Statistics.cpp deleted file mode 100644 index bcb6f9d..0000000 --- a/radio/metrics/Statistics.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include "Statistics.hpp" -#include - -namespace Radio -{ -namespace Metrics -{ -Statistics::Statistics(radio_float_t updateInterval_minMax) -: m_provider_minMax(*this) -{ - SlidingMinMaxInit(&m_sl_min_I, updateInterval_minMax, (radio_float_t)1E12, -1); - SlidingMinMaxInit(&m_sl_min_Q, updateInterval_minMax, (radio_float_t)1E12, -1); - SlidingMinMaxInit(&m_sl_min_mag, updateInterval_minMax, (radio_float_t)1E12, -1); - SlidingMinMaxInit(&m_sl_max_I, updateInterval_minMax, (radio_float_t)1E12, +1); - SlidingMinMaxInit(&m_sl_max_Q, updateInterval_minMax, (radio_float_t)1E12, +1); - SlidingMinMaxInit(&m_sl_max_mag, updateInterval_minMax, (radio_float_t)1E12, +1); -} - -Statistics::~Statistics() -{ - SlidingMinMaxFree(&m_sl_min_I); - SlidingMinMaxFree(&m_sl_min_Q); - SlidingMinMaxFree(&m_sl_min_mag); - SlidingMinMaxFree(&m_sl_max_I); - SlidingMinMaxFree(&m_sl_max_Q); - SlidingMinMaxFree(&m_sl_max_mag); - -} - -IMinMax const& Statistics::minMax() const -{ - return m_provider_minMax; -} - -void Statistics::process(ComplexScalar const &x) -{ - SlidingMinMaxProcess(&m_sl_min_I, x.real()); - SlidingMinMaxProcess(&m_sl_min_Q, x.imag()); - SlidingMinMaxProcess(&m_sl_min_mag, CpxMagS(toCpx(x))); - SlidingMinMaxProcess(&m_sl_max_I, x.real()); - SlidingMinMaxProcess(&m_sl_max_Q, x.imag()); - SlidingMinMaxProcess(&m_sl_max_mag, CpxMagS(toCpx(x))); -} -} // Metrics -} // Radio diff --git a/radio/metrics/Statistics.hpp b/radio/metrics/Statistics.hpp deleted file mode 100644 index 2a0155b..0000000 --- a/radio/metrics/Statistics.hpp +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef _METRICS_STATISTICS_HPP_ -#define _METRICS_STATISTICS_HPP_ - -#pragma once - -#include -#include - -#include "IMinMax.hpp" - -namespace Radio -{ -namespace Metrics -{ -class Statistics -{ -public: - friend class MinMaxProvider; - Statistics(radio_float_t updateInterval_minMax); - ~Statistics(); - void process(ComplexScalar const &xin); - IMinMax const& minMax() const; - - class MinMaxProvider : public IMinMax - { - Statistics &m_parent; - public: - MinMaxProvider(Statistics &parent) - : m_parent(parent) - { - - } - radio_float_t min_i() const - { - return SlidingMinMaxGet(&m_parent.m_sl_min_I); - - } - radio_float_t min_q() const - { - return SlidingMinMaxGet(&m_parent.m_sl_min_Q); - } - radio_float_t min_mag() const - { - return SlidingMinMaxGet(&m_parent.m_sl_min_mag); - } - - radio_float_t max_i() const - { - return SlidingMinMaxGet(&m_parent.m_sl_max_I); - } - radio_float_t max_q() const - { - return SlidingMinMaxGet(&m_parent.m_sl_max_Q); - } - radio_float_t max_mag() const - { - return SlidingMinMaxGet(&m_parent.m_sl_max_mag); - } - }; - -private: - sl_minmax_t m_sl_min_I; - sl_minmax_t m_sl_min_Q; - sl_minmax_t m_sl_min_mag; - - sl_minmax_t m_sl_max_I; - sl_minmax_t m_sl_max_Q; - sl_minmax_t m_sl_max_mag; - MinMaxProvider m_provider_minMax; - -}; -} // Metrics -} // Radio - -#endif // _METRICS_STATISTICS_HPP_ \ No newline at end of file