From b952dc94ab3e46af5afe592d2c440bc8d35f55dd Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Tue, 19 Jun 2012 17:13:27 +0200 Subject: [PATCH] [Positioner] Measurement: rename variance variables We compute only the variance for the milliwatt values, so the variance-related variables are renamed with the _mw suffix. --- owlps-positioner/src/measurement.cc | 24 +++++++++--------- owlps-positioner/src/measurement.hh | 38 ++++++++++++++--------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/owlps-positioner/src/measurement.cc b/owlps-positioner/src/measurement.cc index f39bf10..0907537 100644 --- a/owlps-positioner/src/measurement.cc +++ b/owlps-positioner/src/measurement.cc @@ -108,15 +108,15 @@ void Measurement::merge(const Measurement &source) /** * - #ap is not deleted, only initialised to NULL. * - #ss_list is cleared. - * - #average_dbm, #average_mw and #variance are reset to 0. + * - #average_dbm, #average_mw and #variance_mw are reset to 0. */ void Measurement::clear() { ss_list.clear() ; average_dbm = 0 ; average_mw = 0 ; - variance = 0 ; - variance_m2 = 0 ; + variance_mw = 0 ; + variance_mw_m2 = 0 ; ap = NULL ; } @@ -137,12 +137,12 @@ float Measurement::similarity(const Measurement &source) const return ss_square_distance(source) ; if (algorithm == "interval") - return 1 / nb_in_interval(source, get_std_deviation()) ; + return 1 / nb_in_interval(source, get_std_deviation_mw()) ; /* Note: this score ranges from 0 (excluded) to 1 (obviously). */ if (algorithm == "interval2") { - float std_dev = get_std_deviation() ; + float std_dev = get_std_deviation_mw() ; float interval1 = nb_in_interval(source, 0.674 * std_dev) ; float interval2 = nb_in_interval(source, std_dev) ; /* Explanation: with a normal distribution, we normally have: @@ -184,8 +184,8 @@ void Measurement::recalculate_average() { average_dbm = 0 ; average_mw = 0 ; - variance = 0 ; - variance_m2 = 0 ; + variance_mw = 0 ; + variance_mw_m2 = 0 ; for (map::const_iterator i = ss_list.begin() ; i != ss_list.end() ; ++i) @@ -204,9 +204,9 @@ void Measurement::update_average(ss_t ss_dbm) average_dbm = 10.0 * log10(average_mw) ; // Update the variance: - variance_m2 += delta * (ss_mw - average_mw) ; + variance_mw_m2 += delta * (ss_mw - average_mw) ; if (ss_list.size() > 1) - variance = variance_m2 / (ss_list.size() - 1) ; + variance_mw = variance_mw_m2 / (ss_list.size() - 1) ; } @@ -223,8 +223,8 @@ Measurement& Measurement::operator=(const Measurement &m) ss_list = m.ss_list ; average_dbm = m.average_dbm ; average_mw = m.average_mw ; - variance = m.variance ; - variance_m2 = m.variance_m2 ; + variance_mw = m.variance_mw ; + variance_mw_m2 = m.variance_mw_m2 ; return *this ; } @@ -288,7 +288,7 @@ ostream &operator<<(ostream &os, const Measurement &m) os << static_cast(i->second) << '(' << i->first << ')' ; } - os << " [AVG=" << m.average_dbm << "]" ; + os << " [AVG_dBm=" << m.average_dbm << ";AVG_mW=" << m.average_mw << ";VAR_mW=" << m.variance_mw << ";STD_mW=" << m.get_std_deviation_mw() << "]" ; return os ; } diff --git a/owlps-positioner/src/measurement.hh b/owlps-positioner/src/measurement.hh index 8f0ceea..9e77671 100644 --- a/owlps-positioner/src/measurement.hh +++ b/owlps-positioner/src/measurement.hh @@ -29,12 +29,12 @@ protected: float average_dbm ; /// Average of all the captured signal strengths (mW) float average_mw ; - /// Variance of all the captured signal strengths - float variance ; + /// Variance of all the captured signal strengths (mW) + float variance_mw ; private: /// Intermediate variable used to compute the variance - float variance_m2 ; + float variance_mw_m2 ; protected: @@ -54,12 +54,12 @@ protected: public: Measurement(const AccessPoint *_ap = NULL): ap(const_cast(_ap)), average_dbm(0), - average_mw(0), variance(0), variance_m2(0) {} + average_mw(0), variance_mw(0), variance_mw_m2(0) {} Measurement(const Measurement &source): ap(source.ap), ss_list(source.ss_list), average_dbm(source.average_dbm), average_mw(source.average_mw), - variance(source.variance), variance_m2(0) {} + variance_mw(source.variance_mw), variance_mw_m2(0) {} ~Measurement(void) ; @@ -72,9 +72,9 @@ public: /// Returns the mean of the SS list, in dBm float get_average_dbm() const ; /// Returns the variance of the SS list - float get_variance() const ; + float get_variance_mw() const ; /// Returns the standard deviation of the SS list - float get_std_deviation() const ; + float get_std_deviation_mw() const ; /// Returns the number of SS in the SS list int get_nb_ss() const ; //@} @@ -101,10 +101,10 @@ public: float ss_square_distance(const Measurement &source) const ; /// Computes the distance to another SS value (in dBm) float ss_square_distance(const float &ss_dbm) const ; - /// Computes the distance to another Measurement's variance - float variance_square_distance(const Measurement &source) const ; - /// Computes the distance to another variance value - float variance_square_distance(const float &var) const ; + /// Computes the distance to another Measurement's variance (mW) + float variance_mw_square_distance(const Measurement &source) const ; + /// Computes the distance to another variance value in mW + float variance_mw_square_distance(const float &var) const ; //@} /** @name Operators */ @@ -142,15 +142,15 @@ inline float Measurement::get_average_dbm() const } -inline float Measurement::get_variance() const +inline float Measurement::get_variance_mw() const { - return variance ; + return variance_mw ; } -inline float Measurement::get_std_deviation() const +inline float Measurement::get_std_deviation_mw() const { - return sqrt(variance) ; + return sqrt(variance_mw) ; } @@ -188,16 +188,16 @@ inline float Measurement::ss_square_distance(const float &ss_dbm) const inline float Measurement:: -variance_square_distance(const Measurement &source) const +variance_mw_square_distance(const Measurement &source) const { - return variance_square_distance(source.variance) ; + return variance_mw_square_distance(source.variance_mw) ; } inline float Measurement:: -variance_square_distance(const float &var) const +variance_mw_square_distance(const float &var) const { - return ((var - variance) * (var - variance)) ; + return ((var - variance_mw) * (var - variance_mw)) ; }