diff --git a/owlps-positioning/src/accesspoint.cc b/owlps-positioning/src/accesspoint.cc index 025f8a3..e6fb4d0 100644 --- a/owlps-positioning/src/accesspoint.cc +++ b/owlps-positioning/src/accesspoint.cc @@ -5,6 +5,18 @@ using namespace std ; +/* *** Operations *** */ + + +double AccessPoint::friis_constant_term() const +{ + double wavelength = + static_cast(PosUtil::LIGHT_SPEED) / frequency ; + return antenna_gain + 20 * log10(wavelength) - 20 * log10(4 * M_PI) ; +} + + + /* *** Operators *** */ diff --git a/owlps-positioning/src/accesspoint.hh b/owlps-positioning/src/accesspoint.hh index 7c3ab70..d42ea99 100644 --- a/owlps-positioning/src/accesspoint.hh +++ b/owlps-positioning/src/accesspoint.hh @@ -67,6 +67,12 @@ public: void set_friis_index(const float _friis_index) ; //@} + /** @name Operations */ + //@{ + /// Returns the Friis formula's constant term + double friis_constant_term(void) const ; + //@} + /** @name Operators */ //@{ AccessPoint& operator=(const AccessPoint &source) ;