A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::LogDistancePropagationLossModel Class Reference

a log distance propagation model. More...

#include <propagation-loss-model.h>

+ Inheritance diagram for ns3::LogDistancePropagationLossModel:

Public Member Functions

double GetPathLossExponent (void) const
 
void SetPathLossExponent (double n)
 
void SetReference (double referenceDistance, double referenceLoss)
 
- Public Member Functions inherited from ns3::PropagationLossModel
int64_t AssignStreams (int64_t stream)
 
double CalcRxPower (double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
 
Ptr< PropagationLossModelGetNext ()
 Gets the next PropagationLossModel in the chain of loss models that act on the signal. More...
 
void SetNext (Ptr< PropagationLossModel > next)
 Enables a chain of loss models to act on the signal. More...
 
- Public Member Functions inherited from ns3::Object
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- Public Member Functions inherited from ns3::ObjectBase
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::PropagationLossModel
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Private Member Functions

 LogDistancePropagationLossModel (const LogDistancePropagationLossModel &o)
 
virtual int64_t DoAssignStreams (int64_t stream)
 
virtual double DoCalcRxPower (double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
 
LogDistancePropagationLossModeloperator= (const LogDistancePropagationLossModel &o)
 

Static Private Member Functions

static Ptr< PropagationLossModelCreateDefaultReference (void)
 

Private Attributes

double m_exponent
 
double m_referenceDistance
 
double m_referenceLoss
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 
virtual void DoInitialize (void)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 

Detailed Description

a log distance propagation model.

This model calculates the reception power with a so-called log-distance propagation model: $ L = L_0 + 10 n log_{10}(\frac{d}{d_0})$

where:

  • $ n $ : the path loss distance exponent
  • $ d_0 $ : reference distance (m)
  • $ L_0 $ : path loss at reference distance (dB)
  • $ d $ : distance (m)
  • $ L $ : path loss (dB)

When the path loss is requested at a distance smaller than the reference distance, the tx power is returned.

Config Paths

ns3::LogDistancePropagationLossModel is accessible through the following paths with Config::Set and Config::Connect:

  • /ChannelList/[i]/$ns3::WifiChannel/$ns3::YansWifiChannel/PropagationLossModel/$ns3::LogDistancePropagationLossModel
  • /ChannelList/[i]/$ns3::YansWifiChannel/PropagationLossModel/$ns3::LogDistancePropagationLossModel
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Channel/$ns3::YansWifiChannel/PropagationLossModel/$ns3::LogDistancePropagationLossModel

Attributes

  • Exponent: The exponent of the Path Loss propagation model
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 3
    • Flags: construct write read
  • ReferenceDistance: The distance at which the reference loss is calculated (m)
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read
  • ReferenceLoss: The reference loss at reference distance (dB). (Default is Friis at 1m with 5.15 GHz)
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 46.6777
    • Flags: construct write read

No TraceSources are defined for this type.

Definition at line 352 of file propagation-loss-model.h.

Member Function Documentation

int64_t ns3::LogDistancePropagationLossModel::DoAssignStreams ( int64_t  stream)
privatevirtual

Subclasses must implement this; those not using random variables can return zero

Implements ns3::PropagationLossModel.

Definition at line 533 of file propagation-loss-model.cc.

double ns3::LogDistancePropagationLossModel::DoCalcRxPower ( double  txPowerDbm,
Ptr< MobilityModel a,
Ptr< MobilityModel b 
) const
privatevirtual

The formula is: rx = 10 * log (Pr0(tx)) - n * 10 * log (d/d0)

Pr0: rx power at reference distance d0 (W) d0: reference distance: 1.0 (m) d: distance (m) tx: tx power (dB) rx: dB

Which, in our case is:

rx = rx0(tx) - 10 * n * log (d/d0)

Implements ns3::PropagationLossModel.

Definition at line 502 of file propagation-loss-model.cc.

References ns3::MobilityModel::GetDistanceFrom(), and NS_LOG_DEBUG.

double ns3::LogDistancePropagationLossModel::GetPathLossExponent ( void  ) const
Returns
the current path loss exponent.

Definition at line 496 of file propagation-loss-model.cc.

void ns3::LogDistancePropagationLossModel::SetPathLossExponent ( double  n)
Parameters
nthe path loss exponent. Set the path loss exponent.

Definition at line 485 of file propagation-loss-model.cc.


The documentation for this class was generated from the following files: