Nakagami-m fast fading propagation loss model. More...
#include <propagation-loss-model.h>
Public Member Functions | |
NakagamiPropagationLossModel () | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::NakagamiPropagationLossModel. | |
Private Member Functions | |
NakagamiPropagationLossModel (const NakagamiPropagationLossModel &o) | |
NakagamiPropagationLossModel & | operator= (const NakagamiPropagationLossModel &o) |
virtual double | DoCalcRxPower (double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const |
Private Attributes | |
double | m_distance1 |
double | m_distance2 |
double | m_m0 |
double | m_m1 |
double | m_m2 |
Nakagami-m fast fading propagation loss model.
The Nakagami-m distribution is applied to the power level. The probability density function is defined as
with the fading depth parameter and
the average received power.
It is implemented by either a ns3::GammaVariable or a ns3::ErlangVariable random variable.
Like in ns3::ThreeLogDistancePropagationLossModel, the m parameter is varied over three distance fields:
For m = 1 the Nakagami-m distribution equals the Rayleigh distribution. Thus this model also implements Rayleigh distribution based fast fading.
Definition at line 318 of file propagation-loss-model.h.
ns3::NakagamiPropagationLossModel::NakagamiPropagationLossModel | ( | ) |
Definition at line 454 of file propagation-loss-model.cc.
ns3::NakagamiPropagationLossModel::NakagamiPropagationLossModel | ( | const NakagamiPropagationLossModel & | o | ) | [private] |
double ns3::NakagamiPropagationLossModel::DoCalcRxPower | ( | double | txPowerDbm, | |
Ptr< MobilityModel > | a, | |||
Ptr< MobilityModel > | b | |||
) | const [private, virtual] |
Implements ns3::PropagationLossModel.
Definition at line 458 of file propagation-loss-model.cc.
References ns3::GammaVariable::GetSingleValue(), ns3::ErlangVariable::GetSingleValue(), m_distance1, m_distance2, m_m0, m_m1, m_m2, NS_ASSERT, and NS_LOG_DEBUG.
TypeId ns3::NakagamiPropagationLossModel::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::NakagamiPropagationLossModel.
Attributes defined for this type:
No TraceSources defined for this type.
Reimplemented from ns3::PropagationLossModel.
Definition at line 417 of file propagation-loss-model.cc.
References ns3::TypeId::AddAttribute(), m_distance1, m_distance2, m_m0, m_m1, m_m2, and ns3::TypeId::SetParent().
NakagamiPropagationLossModel& ns3::NakagamiPropagationLossModel::operator= | ( | const NakagamiPropagationLossModel & | o | ) | [private] |
double ns3::NakagamiPropagationLossModel::m_distance1 [private] |
Definition at line 335 of file propagation-loss-model.h.
Referenced by DoCalcRxPower(), and GetTypeId().
double ns3::NakagamiPropagationLossModel::m_distance2 [private] |
Definition at line 336 of file propagation-loss-model.h.
Referenced by DoCalcRxPower(), and GetTypeId().
double ns3::NakagamiPropagationLossModel::m_m0 [private] |
Definition at line 338 of file propagation-loss-model.h.
Referenced by DoCalcRxPower(), and GetTypeId().
double ns3::NakagamiPropagationLossModel::m_m1 [private] |
Definition at line 339 of file propagation-loss-model.h.
Referenced by DoCalcRxPower(), and GetTypeId().
double ns3::NakagamiPropagationLossModel::m_m2 [private] |
Definition at line 340 of file propagation-loss-model.h.
Referenced by DoCalcRxPower(), and GetTypeId().