- do not use StatisticsProvider

- make cheap and accurate trackers

git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1040 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-06-20 10:55:26 +00:00
parent aab65930bc
commit dce7a3cade
2 changed files with 42 additions and 19 deletions
+12 -7
View File
@@ -4,6 +4,7 @@
#pragma once
#include <cpp/radio/Vector.hpp>
#include <cpp/radio/statistics/SlidingMinMax.hpp>
#include "IMinMax.hpp"
namespace Radio
@@ -13,16 +14,20 @@ namespace Metrics
class Tracker
{
static const size_t NUM_QUADRRANTS = 4;
public:
Tracker(IMinMax const &statsProvider);
virtual ~Tracker();
void process(ComplexScalar const &x);
ComplexScalar const* trackers() const;
Tracker(RealScalar rho, RealScalar smoothness=0.5);
virtual ~Tracker();
void process(ComplexScalar const &x);
ComplexScalar const* trackers() const;
private:
IMinMax const &m_prov_minMax;
ComplexScalar m_trackers[4];
RVec m_mags;
RealScalar m_rho;
RealScalar m_smoothness;
ComplexScalar m_trackers[NUM_QUADRRANTS];
size_t getQuadrant(ComplexScalar const &x);
};
} // Metrics