# HG changeset patch # User Alexander Krotov # Date 1482944396 -10800 # Wed Dec 28 19:59:56 2016 +0300 # Node ID 2134d137732bdce8e2d64b9bb6a16ab6d35aa28c # Parent dcd27fbd53d580a0652209efe644160188829792 propagation: Fix Cost231PropagationLossModel model (closes #2001) diff -r dcd27fbd53d5 -r 2134d137732b src/propagation/model/cost231-propagation-loss-model.cc --- a/src/propagation/model/cost231-propagation-loss-model.cc Wed Dec 28 17:44:48 2016 +0300 +++ b/src/propagation/model/cost231-propagation-loss-model.cc Wed Dec 28 19:59:56 2016 +0300 @@ -41,8 +41,8 @@ .SetGroupName ("Propagation") .AddConstructor () .AddAttribute ("Lambda", - "The wavelength (default is 2.3 GHz at 300 000 km/s).", - DoubleValue (300000000.0 / 2.3e9), + "The wavelength (default is 2.3 GHz at 299 792 km/s).", + DoubleValue (299792458 / 2.3e9), MakeDoubleAccessor (&Cost231PropagationLossModel::m_lambda), MakeDoubleChecker ()) .AddAttribute ("Frequency", @@ -64,13 +64,17 @@ "The distance under which the propagation model refuses to give results (m) ", DoubleValue (0.5), MakeDoubleAccessor (&Cost231PropagationLossModel::SetMinDistance, &Cost231PropagationLossModel::GetMinDistance), + MakeDoubleChecker ()) + .AddAttribute ("Shadowing", + "The Cm term of eq. 4.4.3 in the COST 231 final report. ", + DoubleValue (3.0), + MakeDoubleAccessor (&Cost231PropagationLossModel::SetShadowing, &Cost231PropagationLossModel::GetShadowing), MakeDoubleChecker ()); return tid; } Cost231PropagationLossModel::Cost231PropagationLossModel () { - m_shadowing = 10; } void @@ -81,7 +85,7 @@ } double -Cost231PropagationLossModel::GetShadowing (void) +Cost231PropagationLossModel::GetShadowing (void) const { return m_shadowing; } @@ -95,7 +99,8 @@ Cost231PropagationLossModel::SetLambda (double lambda) { m_lambda = lambda; - m_frequency = 300000000 / lambda; + const double C = 299792458; + m_frequency = C / lambda; } double diff -r dcd27fbd53d5 -r 2134d137732b src/propagation/model/cost231-propagation-loss-model.h --- a/src/propagation/model/cost231-propagation-loss-model.h Wed Dec 28 17:44:48 2016 +0300 +++ b/src/propagation/model/cost231-propagation-loss-model.h Wed Dec 28 19:59:56 2016 +0300 @@ -114,12 +114,14 @@ */ double GetLambda (void) const; /** - * Get the shadowing value + * Get the shadowing value used for the \f$ C_m \f$ term + * of eq. 4.4.3 in the COST 231 final report. * \returns the shadowing value */ - double GetShadowing (void); + double GetShadowing (void) const; /** - * Set the shadowing value + * Set the shadowing value. This value is used for the \f$ C_m \f$ term + * of eq. 4.4.3 in the COST 231 final report. * \param shadowing the shadowing value */ void SetShadowing (double shadowing);