owlps/owlps-positioning/src/fbcm.cc
Matteo Cypriani c731bf578f [Positioning] Add positioning algorithm Basic FRBHM
Add class FRBHMBasic, which derives FBCM and RADAR.

ReferencePoint: Add functions friis_index_for_ap() and
friis_indexes_for_ap() (that takes code away from
Stock::update_all_friis_indexes()).

CartographyAlgorithm and MultilaterationAlgorithm now extend
PositioningAlgorithm with "public virtual" instead of "public".

CartographyAlgorithm: select_point() must now return a ReferencePoint.

MultilaterationMethod: Add pure virtual function multilaterate_2d().

MinMax: Add function multilaterate_2d().

MultilaterationAlgorithm: Add function multilaterate_2d() to map
MultilaterationMethod::multilaterate_2d().

Makefile: Fix some dependencies.
2011-03-16 14:36:24 +01:00

19 lines
447 B
C++

#include "fbcm.hh"
float FBCM::estimate_distance(const Measurement &measurement)
{
double constant_term = make_constant_term(measurement) ;
const float &average_ss = measurement.get_average_ss() ;
const AccessPoint *ap = measurement.get_ap() ;
return pow(10, (constant_term - average_ss) /
(10 * friis_index(ap))) ;
}
inline float FBCM::friis_index(const AccessPoint *const ap) const
{
return ap->get_friis_index() ;
}