25 #ifndef PROPAGATION_LOSS_MODEL_H
26 #define PROPAGATION_LOSS_MODEL_H
28 #include "ns3/object.h"
29 #include "ns3/random-variable-stream.h"
52 static TypeId GetTypeId (
void);
104 virtual double DoCalcRxPower (
double txPowerDbm,
125 static TypeId GetTypeId (
void);
133 virtual double DoCalcRxPower (
double txPowerDbm,
183 static TypeId GetTypeId (
void);
224 virtual double DoCalcRxPower (
double txPowerDbm,
228 double DbmToW (
double dbm)
const;
229 double DbmFromW (
double w)
const;
231 static const double PI;
235 double m_minDistance;
269 static TypeId GetTypeId (
void);
317 virtual double DoCalcRxPower (
double txPowerDbm,
321 double DbmToW (
double dbm)
const;
322 double DbmFromW (
double w)
const;
324 static const double PI;
328 double m_minDistance;
329 double m_heightAboveZ;
355 static TypeId GetTypeId (
void);
368 void SetReference (
double referenceDistance,
double referenceLoss);
380 double m_referenceDistance;
381 double m_referenceLoss;
427 static TypeId GetTypeId (
void);
436 virtual double DoCalcRxPower (
double txPowerDbm,
449 double m_referenceLoss;
475 static TypeId GetTypeId (
void);
485 virtual double DoCalcRxPower (
double txPowerDbm,
517 static TypeId GetTypeId (
void);
531 virtual double DoCalcRxPower (
double txPowerDbm,
548 static TypeId GetTypeId (
void);
567 virtual double DoCalcRxPower (
double txPowerDbm,
593 static TypeId GetTypeId (
void);
598 virtual double DoCalcRxPower (
double txPowerDbm,
void SetFrequency(double frequency)
void SetDefaultLoss(double)
Set default loss (in dB, positive) to be used, infinity if not set.
void SetPathLossExponent(double n)
void SetNext(Ptr< PropagationLossModel > next)
Enables a chain of loss models to act on the signal.
a Two-Ray Ground propagation loss model ported from NS2
double GetFrequency(void) const
double GetMinDistance(void) const
The propagation loss depends only on the distance (range) between transmitter and receiver...
double m_default
default loss
double GetPathLossExponent(void) const
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
virtual int64_t DoAssignStreams(int64_t stream)
A log distance path loss propagation model with three distance fields. This model is the same as ns3:...
void SetMinDistance(double minDistance)
virtual int64_t DoAssignStreams(int64_t stream)
Ptr< PropagationLossModel > GetNext()
Gets the next PropagationLossModel in the chain of loss models that act on the signal.
double CalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
The propagation loss follows a random distribution.
virtual int64_t DoAssignStreams(int64_t stream)
void SetMinDistance(double minDistance)
a Friis propagation loss model
virtual int64_t DoAssignStreams(int64_t stream)
Nakagami-m fast fading propagation loss model.
void SetSystemLoss(double systemLoss)
double GetMinDistance(void) const
double GetSystemLoss(void) const
Modelize the propagation loss through a transmission medium.
double GetSystemLoss(void) const
void SetLoss(Ptr< MobilityModel > a, Ptr< MobilityModel > b, double loss, bool symmetric=true)
Set loss (in dB, positive) between pair of ns-3 objects (typically, nodes).
virtual int64_t DoAssignStreams(int64_t stream)
virtual int64_t DoAssignStreams(int64_t stream)
void SetFrequency(double frequency)
void SetHeightAboveZ(double heightAboveZ)
virtual int64_t DoAssignStreams(int64_t stream)
a base class which provides memory management and object aggregation
void SetSystemLoss(double systemLoss)
a log distance propagation model.
a unique identifier for an interface.
The propagation loss is fixed for each pair of nodes and doesn't depend on their actual positions...
int64_t AssignStreams(int64_t stream)
double GetFrequency(void) const
virtual int64_t DoAssignStreams(int64_t stream)
std::map< MobilityPair, double > m_loss
Fixed loss between pair of nodes.
virtual int64_t DoAssignStreams(int64_t stream)=0