- implemented Tracker class

- refactored IMinMAx, Statistics

git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1036 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-06-18 14:05:39 +00:00
parent dea5ae345d
commit 4d13e8e41f
5 changed files with 30 additions and 2 deletions
+17
View File
@@ -15,8 +15,25 @@ Tracker::~Tracker()
{
}
ComplexScalar const* Tracker::trackers() const
{
return m_trackers;
}
void Tracker::process(ComplexScalar const &x)
{
radio_float_t alpha = 0.002;
radio_float_t beta = 1.0 - alpha;
radio_float_t min_i = m_prov_minMax.min_i();
radio_float_t min_q = m_prov_minMax.min_q();
radio_float_t max_i = m_prov_minMax.max_i();
radio_float_t max_q = m_prov_minMax.max_q();
m_trackers[0] = beta*m_trackers[0] + alpha*ComplexScalar(max_i, min_q);
m_trackers[1] = beta*m_trackers[1] + alpha*ComplexScalar(max_i, max_q);
m_trackers[2] = beta*m_trackers[2] + alpha*ComplexScalar(min_i, max_q);
m_trackers[3] = beta*m_trackers[3] + alpha*ComplexScalar(min_i, min_q);
}
} // Metrics