34 lines
740 B
C++
34 lines
740 B
C++
#include "measurement.hh"
|
|
|
|
void Measurement::addSsValue(const int &ssv)
|
|
{
|
|
float ss_mwatts = pow(10, (float) ssv / 10.0) + (ss_list.size() * pow(10, average_ss / 10.0));
|
|
|
|
ss_list.push_back(ssv);
|
|
average_ss = 10 * log10(ss_mwatts / ss_list.size());
|
|
}
|
|
|
|
float Measurement::getSsSquareDistance(const float &ss)const
|
|
{
|
|
return ((ss - average_ss) * (ss - average_ss));
|
|
}
|
|
|
|
ostream &operator<<(ostream &os, const Measurement &m)
|
|
{
|
|
unsigned int i;
|
|
|
|
os << m.mac_addr << "->";
|
|
if (m.ss_list.size() == 0)
|
|
os << "No values";
|
|
else
|
|
for (i = 0 ; i < m.ss_list.size() ; i++)
|
|
{
|
|
os << m.ss_list[i];
|
|
if (i < m.ss_list.size() - 1)
|
|
os << ";";
|
|
}
|
|
os << " [AVG=" << m.average_ss << "]";
|
|
|
|
return os;
|
|
}
|