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

a log distance propagation model. More...

#include <propagation-loss-model.h>

+ Inheritance diagram for ns3::LogDistancePropagationLossModel:
+ Collaboration diagram for ns3::LogDistancePropagationLossModel:

Public Member Functions

 LogDistancePropagationLossModel ()
double GetPathLossExponent (void) const
void SetPathLossExponent (double n)
void SetReference (double referenceDistance, double referenceLoss)
- Public Member Functions inherited from ns3::PropagationLossModel
 PropagationLossModel ()
virtual ~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.
void SetNext (Ptr< PropagationLossModel > next)
 Enables a chain of loss models to act on the signal.
- Public Member Functions inherited from ns3::Object
 Object ()
virtual ~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 Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 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
virtual ~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)
 This method returns the TypeId associated to ns3::LogDistancePropagationLossModel.

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 DoStart (void)
virtual void NotifyNewAggregate (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.

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

Constructor & Destructor Documentation

ns3::LogDistancePropagationLossModel::LogDistancePropagationLossModel ( )

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

ns3::LogDistancePropagationLossModel::LogDistancePropagationLossModel ( const LogDistancePropagationLossModel o)
private

Member Function Documentation

static Ptr<PropagationLossModel> ns3::LogDistancePropagationLossModel::CreateDefaultReference ( void  )
staticprivate
int64_t ns3::LogDistancePropagationLossModel::DoAssignStreams ( int64_t  stream)
privatevirtual

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)

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

References ns3::MobilityModel::GetDistanceFrom(), m_exponent, m_referenceDistance, m_referenceLoss, and NS_LOG_DEBUG.

+ Here is the call graph for this function:

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

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

References m_exponent.

TypeId ns3::LogDistancePropagationLossModel::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::LogDistancePropagationLossModel.

This object is accessible through the following paths with Config::Set and Config::Connect:

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

Attributes defined for this type:

  • 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 defined for this type.

Reimplemented from ns3::PropagationLossModel.

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

References m_exponent, m_referenceDistance, m_referenceLoss, and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

LogDistancePropagationLossModel& ns3::LogDistancePropagationLossModel::operator= ( const LogDistancePropagationLossModel o)
private
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.

References m_exponent.

void ns3::LogDistancePropagationLossModel::SetReference ( double  referenceDistance,
double  referenceLoss 
)

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

References m_referenceDistance, and m_referenceLoss.

Member Data Documentation

double ns3::LogDistancePropagationLossModel::m_exponent
private
double ns3::LogDistancePropagationLossModel::m_referenceDistance
private

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

Referenced by DoCalcRxPower(), GetTypeId(), and SetReference().

double ns3::LogDistancePropagationLossModel::m_referenceLoss
private

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

Referenced by DoCalcRxPower(), GetTypeId(), and SetReference().


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