A Discrete-Event Network Simulator
API
propagation-loss-model.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2005,2006,2007 INRIA
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19  * Contributions: Timo Bingmann <timo.bingmann@student.kit.edu>
20  * Contributions: Gary Pei <guangyu.pei@boeing.com> for fixed RSS
21  * Contributions: Tom Hewer <tomhewer@mac.com> for two ray ground model
22  * Pavel Boyko <boyko@iitp.ru> for matrix
23  */
24 
25 #ifndef PROPAGATION_LOSS_MODEL_H
26 #define PROPAGATION_LOSS_MODEL_H
27 
28 #include "ns3/object.h"
29 #include "ns3/random-variable-stream.h"
30 #include <map>
31 
32 namespace ns3 {
33 
39 class MobilityModel;
40 
50 {
51 public:
57  static TypeId GetTypeId (void);
58 
60  virtual ~PropagationLossModel ();
61 
71 
82 
92  double CalcRxPower (double txPowerDbm,
94  Ptr<MobilityModel> b) const;
95 
107  int64_t AssignStreams (int64_t stream);
108 
109 private:
123 
133  virtual double DoCalcRxPower (double txPowerDbm,
135  Ptr<MobilityModel> b) const = 0;
136 
141  virtual int64_t DoAssignStreams (int64_t stream) = 0;
142 
144 };
145 
152 {
153 public:
158  static TypeId GetTypeId (void);
159 
161  virtual ~RandomPropagationLossModel ();
162 
163 private:
177  virtual double DoCalcRxPower (double txPowerDbm,
179  Ptr<MobilityModel> b) const;
180  virtual int64_t DoAssignStreams (int64_t stream);
182 };
183 
262 {
263 public:
268  static TypeId GetTypeId (void);
276  void SetFrequency (double frequency);
282  void SetSystemLoss (double systemLoss);
283 
290  void SetMinLoss (double minLoss);
291 
295  double GetMinLoss (void) const;
296 
300  double GetFrequency (void) const;
304  double GetSystemLoss (void) const;
305 
306 private:
320 
321  virtual double DoCalcRxPower (double txPowerDbm,
323  Ptr<MobilityModel> b) const;
324  virtual int64_t DoAssignStreams (int64_t stream);
325 
331  double DbmToW (double dbm) const;
332 
338  double DbmFromW (double w) const;
339 
340  double m_lambda;
341  double m_frequency;
342  double m_systemLoss;
343  double m_minLoss;
344 };
345 
375 {
376 public:
381  static TypeId GetTypeId (void);
383 
390  void SetFrequency (double frequency);
391 
397  void SetSystemLoss (double systemLoss);
404  void SetMinDistance (double minDistance);
408  double GetMinDistance (void) const;
409 
413  double GetFrequency (void) const;
414 
418  double GetSystemLoss (void) const;
424  void SetHeightAboveZ (double heightAboveZ);
425 
426 private:
440 
441  virtual double DoCalcRxPower (double txPowerDbm,
443  Ptr<MobilityModel> b) const;
444  virtual int64_t DoAssignStreams (int64_t stream);
445 
451  double DbmToW (double dbm) const;
452 
458  double DbmFromW (double w) const;
459 
460  double m_lambda;
461  double m_frequency;
462  double m_systemLoss;
463  double m_minDistance;
464  double m_heightAboveZ;
465 };
466 
488 {
489 public:
494  static TypeId GetTypeId (void);
496 
501  void SetPathLossExponent (double n);
505  double GetPathLossExponent (void) const;
506 
512  void SetReference (double referenceDistance, double referenceLoss);
513 
514 private:
528 
529  virtual double DoCalcRxPower (double txPowerDbm,
531  Ptr<MobilityModel> b) const;
532  virtual int64_t DoAssignStreams (int64_t stream);
533 
539 
540  double m_exponent;
543 };
544 
586 {
587 public:
592  static TypeId GetTypeId (void);
594 
595  // Parameters are all accessible via attributes.
596 
597 private:
611 
612  virtual double DoCalcRxPower (double txPowerDbm,
614  Ptr<MobilityModel> b) const;
615  virtual int64_t DoAssignStreams (int64_t stream);
616 
617  double m_distance0;
618  double m_distance1;
619  double m_distance2;
620 
621  double m_exponent0;
622  double m_exponent1;
623  double m_exponent2;
624 
626 };
627 
656 {
657 public:
662  static TypeId GetTypeId (void);
663 
665 
666  // Parameters are all accessible via attributes.
667 
668 private:
682 
683  virtual double DoCalcRxPower (double txPowerDbm,
685  Ptr<MobilityModel> b) const;
686  virtual int64_t DoAssignStreams (int64_t stream);
687 
688  double m_distance1;
689  double m_distance2;
690 
691  double m_m0;
692  double m_m1;
693  double m_m2;
694 
697 };
698 
713 {
714 public:
719  static TypeId GetTypeId (void);
720 
722  virtual ~FixedRssLossModel ();
728  void SetRss (double rss);
729 
730 private:
744 
745  virtual double DoCalcRxPower (double txPowerDbm,
747  Ptr<MobilityModel> b) const;
748 
749  virtual int64_t DoAssignStreams (int64_t stream);
750  double m_rss;
751 };
752 
761 {
762 public:
767  static TypeId GetTypeId (void);
768 
770  virtual ~MatrixPropagationLossModel ();
771 
781  void SetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b, double loss, bool symmetric = true);
782 
787  void SetDefaultLoss (double defaultLoss);
788 
789 private:
803 
804  virtual double DoCalcRxPower (double txPowerDbm,
806  Ptr<MobilityModel> b) const;
807 
808  virtual int64_t DoAssignStreams (int64_t stream);
809 private:
810  double m_default;
811 
813  typedef std::pair< Ptr<MobilityModel>, Ptr<MobilityModel> > MobilityPair;
814 
815  std::map<MobilityPair, double> m_loss;
816 };
817 
829 {
830 public:
835  static TypeId GetTypeId (void);
837 private:
851  virtual double DoCalcRxPower (double txPowerDbm,
853  Ptr<MobilityModel> b) const;
854  virtual int64_t DoAssignStreams (int64_t stream);
855 private:
856  double m_range;
857 };
858 
859 } // namespace ns3
860 
861 #endif /* PROPAGATION_LOSS_MODEL_H */
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::TwoRayGroundPropagationLossModel::m_heightAboveZ
double m_heightAboveZ
antenna height above the node's Z coordinate
Definition: propagation-loss-model.h:464
ns3::FriisPropagationLossModel::GetSystemLoss
double GetSystemLoss(void) const
Definition: propagation-loss-model.cc:181
ns3::TwoRayGroundPropagationLossModel::m_minDistance
double m_minDistance
minimum distance for the model
Definition: propagation-loss-model.h:463
ns3::NakagamiPropagationLossModel
Nakagami-m fast fading propagation loss model.
Definition: propagation-loss-model.h:656
ns3::RangePropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:928
ns3::FixedRssLossModel::~FixedRssLossModel
virtual ~FixedRssLossModel()
Definition: propagation-loss-model.cc:783
ns3::TwoRayGroundPropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:449
ns3::NakagamiPropagationLossModel::operator=
NakagamiPropagationLossModel & operator=(const NakagamiPropagationLossModel &)
Copy constructor.
ns3::TwoRayGroundPropagationLossModel::m_systemLoss
double m_systemLoss
the system loss
Definition: propagation-loss-model.h:462
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::LogDistancePropagationLossModel::LogDistancePropagationLossModel
LogDistancePropagationLossModel(const LogDistancePropagationLossModel &)
Copy constructor.
ns3::FriisPropagationLossModel
a Friis propagation loss model
Definition: propagation-loss-model.h:262
ns3::FriisPropagationLossModel::FriisPropagationLossModel
FriisPropagationLossModel(const FriisPropagationLossModel &)
Copy constructor.
ns3::FriisPropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:146
ns3::TwoRayGroundPropagationLossModel::m_frequency
double m_frequency
the carrier frequency
Definition: propagation-loss-model.h:461
ns3::LogDistancePropagationLossModel::CreateDefaultReference
static Ptr< PropagationLossModel > CreateDefaultReference(void)
Creates a default reference loss model.
ns3::MatrixPropagationLossModel::m_loss
std::map< MobilityPair, double > m_loss
Propagation loss between pair of nodes.
Definition: propagation-loss-model.h:815
ns3::TwoRayGroundPropagationLossModel::m_lambda
double m_lambda
the carrier wavelength
Definition: propagation-loss-model.h:460
ns3::PropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)=0
Subclasses must implement this; those not using random variables can return zero.
ns3::MatrixPropagationLossModel::MobilityPair
std::pair< Ptr< MobilityModel >, Ptr< MobilityModel > > MobilityPair
Typedef: Mobility models pair.
Definition: propagation-loss-model.h:813
ns3::ThreeLogDistancePropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:548
ns3::FriisPropagationLossModel::operator=
FriisPropagationLossModel & operator=(const FriisPropagationLossModel &)
Copy constructor.
ns3::ThreeLogDistancePropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:640
ns3::LogDistancePropagationLossModel::LogDistancePropagationLossModel
LogDistancePropagationLossModel()
Definition: propagation-loss-model.cc:485
ns3::RandomPropagationLossModel
The propagation loss follows a random distribution.
Definition: propagation-loss-model.h:152
ns3::ThreeLogDistancePropagationLossModel
A log distance path loss propagation model with three distance fields.
Definition: propagation-loss-model.h:586
ns3::RangePropagationLossModel::m_range
double m_range
Maximum Transmission Range (meters)
Definition: propagation-loss-model.h:856
ns3::MatrixPropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:865
ns3::PropagationLossModel::CalcRxPower
double CalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account all the PropagationLossModel(s) chained to the current one.
Definition: propagation-loss-model.cc:73
ns3::PropagationLossModel
Models the propagation loss through a transmission medium.
Definition: propagation-loss-model.h:50
ns3::FriisPropagationLossModel::SetSystemLoss
void SetSystemLoss(double systemLoss)
Definition: propagation-loss-model.cc:176
ns3::PropagationLossModel::GetNext
Ptr< PropagationLossModel > GetNext()
Gets the next PropagationLossModel in the chain of loss models that act on the signal.
Definition: propagation-loss-model.cc:67
ns3::RandomPropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:135
ns3::PropagationLossModel::operator=
PropagationLossModel & operator=(const PropagationLossModel &)
Copy constructor.
ns3::LogDistancePropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:459
ns3::RangePropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:892
ns3::MatrixPropagationLossModel::~MatrixPropagationLossModel
virtual ~MatrixPropagationLossModel()
Definition: propagation-loss-model.cc:831
ns3::FriisPropagationLossModel::GetMinLoss
double GetMinLoss(void) const
Definition: propagation-loss-model.cc:191
ns3::FriisPropagationLossModel::m_minLoss
double m_minLoss
the minimum loss
Definition: propagation-loss-model.h:343
ns3::NakagamiPropagationLossModel::m_distance2
double m_distance2
Distance2.
Definition: propagation-loss-model.h:689
ns3::RangePropagationLossModel
The propagation loss depends only on the distance (range) between transmitter and receiver.
Definition: propagation-loss-model.h:829
ns3::RandomPropagationLossModel::RandomPropagationLossModel
RandomPropagationLossModel()
Definition: propagation-loss-model.cc:115
ns3::TwoRayGroundPropagationLossModel::SetFrequency
void SetFrequency(double frequency)
Definition: propagation-loss-model.cc:347
ns3::TwoRayGroundPropagationLossModel::GetSystemLoss
double GetSystemLoss(void) const
Definition: propagation-loss-model.cc:326
ns3::FixedRssLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:765
ns3::RandomPropagationLossModel::m_variable
Ptr< RandomVariableStream > m_variable
random generator
Definition: propagation-loss-model.h:181
ns3::NakagamiPropagationLossModel::m_m0
double m_m0
m for distances smaller than Distance1
Definition: propagation-loss-model.h:691
ns3::ThreeLogDistancePropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:599
ns3::Ptr< PropagationLossModel >
ns3::FriisPropagationLossModel::m_lambda
double m_lambda
the carrier wavelength
Definition: propagation-loss-model.h:340
ns3::LogDistancePropagationLossModel::SetReference
void SetReference(double referenceDistance, double referenceLoss)
Set the reference path loss at a given distance.
Definition: propagation-loss-model.cc:495
ns3::FriisPropagationLossModel::DbmFromW
double DbmFromW(double w) const
Transforms a Watt value to Dbm.
Definition: propagation-loss-model.cc:218
ns3::RandomPropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:102
ns3::MatrixPropagationLossModel::m_default
double m_default
default loss
Definition: propagation-loss-model.h:810
ns3::FixedRssLossModel::m_rss
double m_rss
the received signal strength
Definition: propagation-loss-model.h:750
ns3::ThreeLogDistancePropagationLossModel::ThreeLogDistancePropagationLossModel
ThreeLogDistancePropagationLossModel(const ThreeLogDistancePropagationLossModel &)
Copy constructor.
ns3::NakagamiPropagationLossModel::m_m1
double m_m1
m for distances smaller than Distance2
Definition: propagation-loss-model.h:692
ns3::NakagamiPropagationLossModel::NakagamiPropagationLossModel
NakagamiPropagationLossModel(const NakagamiPropagationLossModel &)
Copy constructor.
ns3::FixedRssLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:802
ns3::TwoRayGroundPropagationLossModel::GetMinDistance
double GetMinDistance(void) const
Definition: propagation-loss-model.cc:336
ns3::TwoRayGroundPropagationLossModel::GetFrequency
double GetFrequency(void) const
Definition: propagation-loss-model.cc:355
ns3::Object
A base class which provides memory management and object aggregation.
Definition: object.h:88
ns3::MatrixPropagationLossModel::SetDefaultLoss
void SetDefaultLoss(double defaultLoss)
Set the default propagation loss (in dB, positive) to be used, infinity if not set.
Definition: propagation-loss-model.cc:836
ns3::NakagamiPropagationLossModel::NakagamiPropagationLossModel
NakagamiPropagationLossModel()
Definition: propagation-loss-model.cc:696
ns3::FriisPropagationLossModel::FriisPropagationLossModel
FriisPropagationLossModel()
Definition: propagation-loss-model.cc:172
ns3::ThreeLogDistancePropagationLossModel::m_exponent2
double m_exponent2
The exponent for the third field.
Definition: propagation-loss-model.h:623
ns3::NakagamiPropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:701
ns3::PropagationLossModel::m_next
Ptr< PropagationLossModel > m_next
Next propagation loss model in the list.
Definition: propagation-loss-model.h:143
ns3::FriisPropagationLossModel::SetFrequency
void SetFrequency(double frequency)
Definition: propagation-loss-model.cc:197
ns3::NakagamiPropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:650
ns3::PropagationLossModel::SetNext
void SetNext(Ptr< PropagationLossModel > next)
Enables a chain of loss models to act on the signal.
Definition: propagation-loss-model.cc:61
ns3::PropagationLossModel::PropagationLossModel
PropagationLossModel(const PropagationLossModel &)
Copy constructor.
ns3::NakagamiPropagationLossModel::m_m2
double m_m2
m for distances greater than Distance2
Definition: propagation-loss-model.h:693
ns3::FriisPropagationLossModel::DbmToW
double DbmToW(double dbm) const
Transforms a Dbm value to Watt.
Definition: propagation-loss-model.cc:211
ns3::TwoRayGroundPropagationLossModel::TwoRayGroundPropagationLossModel
TwoRayGroundPropagationLossModel()
Definition: propagation-loss-model.cc:317
ns3::TwoRayGroundPropagationLossModel
a Two-Ray Ground propagation loss model ported from NS2
Definition: propagation-loss-model.h:375
ns3::ThreeLogDistancePropagationLossModel::ThreeLogDistancePropagationLossModel
ThreeLogDistancePropagationLossModel()
Definition: propagation-loss-model.cc:594
ns3::LogDistancePropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:507
ns3::ThreeLogDistancePropagationLossModel::operator=
ThreeLogDistancePropagationLossModel & operator=(const ThreeLogDistancePropagationLossModel &)
Copy constructor.
ns3::RandomPropagationLossModel::RandomPropagationLossModel
RandomPropagationLossModel(const RandomPropagationLossModel &)
Copy constructor.
ns3::PropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:42
ns3::TwoRayGroundPropagationLossModel::SetSystemLoss
void SetSystemLoss(double systemLoss)
Definition: propagation-loss-model.cc:321
ns3::ThreeLogDistancePropagationLossModel::m_exponent1
double m_exponent1
The exponent for the second field.
Definition: propagation-loss-model.h:622
ns3::LogDistancePropagationLossModel::m_exponent
double m_exponent
model exponent
Definition: propagation-loss-model.h:540
ns3::MatrixPropagationLossModel::MatrixPropagationLossModel
MatrixPropagationLossModel(const MatrixPropagationLossModel &)
Copy constructor.
ns3::ThreeLogDistancePropagationLossModel::m_referenceLoss
double m_referenceLoss
The reference loss at distance d0 (dB).
Definition: propagation-loss-model.h:625
ns3::TwoRayGroundPropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:375
ns3::LogDistancePropagationLossModel::GetPathLossExponent
double GetPathLossExponent(void) const
Definition: propagation-loss-model.cc:501
ns3::ThreeLogDistancePropagationLossModel::m_distance2
double m_distance2
Beginning of the third (far) distance field.
Definition: propagation-loss-model.h:619
ns3::LogDistancePropagationLossModel::m_referenceLoss
double m_referenceLoss
reference loss
Definition: propagation-loss-model.h:542
ns3::LogDistancePropagationLossModel
a log distance propagation model.
Definition: propagation-loss-model.h:488
ns3::FriisPropagationLossModel::m_systemLoss
double m_systemLoss
the system loss
Definition: propagation-loss-model.h:342
ns3::TwoRayGroundPropagationLossModel::TwoRayGroundPropagationLossModel
TwoRayGroundPropagationLossModel(const TwoRayGroundPropagationLossModel &)
Copy constructor.
ns3::LogDistancePropagationLossModel::operator=
LogDistancePropagationLossModel & operator=(const LogDistancePropagationLossModel &)
Copy constructor.
ns3::NakagamiPropagationLossModel::m_erlangRandomVariable
Ptr< ErlangRandomVariable > m_erlangRandomVariable
Erlang random variable.
Definition: propagation-loss-model.h:695
ns3::MatrixPropagationLossModel::MatrixPropagationLossModel
MatrixPropagationLossModel()
Definition: propagation-loss-model.cc:826
ns3::RandomPropagationLossModel::operator=
RandomPropagationLossModel & operator=(const RandomPropagationLossModel &)
Copy constructor.
ns3::TwoRayGroundPropagationLossModel::operator=
TwoRayGroundPropagationLossModel & operator=(const TwoRayGroundPropagationLossModel &)
Copy constructor.
ns3::ThreeLogDistancePropagationLossModel::m_distance1
double m_distance1
Beginning of the second (middle) distance field.
Definition: propagation-loss-model.h:618
ns3::FriisPropagationLossModel::m_frequency
double m_frequency
the carrier frequency
Definition: propagation-loss-model.h:341
ns3::RandomPropagationLossModel::~RandomPropagationLossModel
virtual ~RandomPropagationLossModel()
Definition: propagation-loss-model.cc:120
ns3::LogDistancePropagationLossModel::m_referenceDistance
double m_referenceDistance
reference distance
Definition: propagation-loss-model.h:541
ns3::PropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const =0
Returns the Rx Power taking into account only the particular PropagationLossModel.
ns3::FixedRssLossModel::operator=
FixedRssLossModel & operator=(const FixedRssLossModel &)
Copy constructor.
ns3::RandomPropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:125
ns3::TwoRayGroundPropagationLossModel::SetHeightAboveZ
void SetHeightAboveZ(double heightAboveZ)
Definition: propagation-loss-model.cc:341
ns3::NakagamiPropagationLossModel::m_gammaRandomVariable
Ptr< GammaRandomVariable > m_gammaRandomVariable
Gamma random variable.
Definition: propagation-loss-model.h:696
ns3::RangePropagationLossModel::operator=
RangePropagationLossModel & operator=(const RangePropagationLossModel &)
Copy constructor.
ns3::LogDistancePropagationLossModel::SetPathLossExponent
void SetPathLossExponent(double n)
Definition: propagation-loss-model.cc:490
ns3::ThreeLogDistancePropagationLossModel::m_exponent0
double m_exponent0
The exponent for the first field.
Definition: propagation-loss-model.h:621
ns3::TwoRayGroundPropagationLossModel::SetMinDistance
void SetMinDistance(double minDistance)
Definition: propagation-loss-model.cc:331
ns3::PropagationLossModel::PropagationLossModel
PropagationLossModel()
Definition: propagation-loss-model.cc:51
ns3::FixedRssLossModel::FixedRssLossModel
FixedRssLossModel(const FixedRssLossModel &)
Copy constructor.
ns3::FixedRssLossModel
Return a constant received power level independent of the transmit power.
Definition: propagation-loss-model.h:713
ns3::FriisPropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:225
ns3::PropagationLossModel::AssignStreams
int64_t AssignStreams(int64_t stream)
If this loss model uses objects of type RandomVariableStream, set the stream numbers to the integers ...
Definition: propagation-loss-model.cc:86
ns3::NakagamiPropagationLossModel::m_distance1
double m_distance1
Distance1.
Definition: propagation-loss-model.h:688
ns3::MatrixPropagationLossModel::operator=
MatrixPropagationLossModel & operator=(const MatrixPropagationLossModel &)
Copy constructor.
ns3::RangePropagationLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:912
ns3::NakagamiPropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:753
ns3::FixedRssLossModel::DoCalcRxPower
virtual double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Returns the Rx Power taking into account only the particular PropagationLossModel.
Definition: propagation-loss-model.cc:794
ns3::ThreeLogDistancePropagationLossModel::m_distance0
double m_distance0
Beginning of the first (near) distance field.
Definition: propagation-loss-model.h:617
ns3::FixedRssLossModel::FixedRssLossModel
FixedRssLossModel()
Definition: propagation-loss-model.cc:778
ns3::TwoRayGroundPropagationLossModel::DbmFromW
double DbmFromW(double w) const
Transforms a Watt value to Dbm.
Definition: propagation-loss-model.cc:368
ns3::LogDistancePropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:538
ns3::FriisPropagationLossModel::SetMinLoss
void SetMinLoss(double minLoss)
Definition: propagation-loss-model.cc:186
ns3::MatrixPropagationLossModel
The propagation loss is fixed for each pair of nodes and doesn't depend on their actual positions.
Definition: propagation-loss-model.h:761
ns3::MatrixPropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:812
ns3::MatrixPropagationLossModel::SetLoss
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).
Definition: propagation-loss-model.cc:842
ns3::TwoRayGroundPropagationLossModel::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: propagation-loss-model.cc:286
ns3::FriisPropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:275
ns3::RangePropagationLossModel::RangePropagationLossModel
RangePropagationLossModel()
Definition: propagation-loss-model.cc:907
ns3::FriisPropagationLossModel::GetFrequency
double GetFrequency(void) const
Definition: propagation-loss-model.cc:205
ns3::TwoRayGroundPropagationLossModel::DbmToW
double DbmToW(double dbm) const
Transforms a Dbm value to Watt.
Definition: propagation-loss-model.cc:361
sample-rng-plot.n
n
Definition: sample-rng-plot.py:37
ns3::FixedRssLossModel::SetRss
void SetRss(double rss)
Definition: propagation-loss-model.cc:788
ns3::PropagationLossModel::~PropagationLossModel
virtual ~PropagationLossModel()
Definition: propagation-loss-model.cc:56
ns3::MatrixPropagationLossModel::DoAssignStreams
virtual int64_t DoAssignStreams(int64_t stream)
Subclasses must implement this; those not using random variables can return zero.
Definition: propagation-loss-model.cc:882
ns3::RangePropagationLossModel::RangePropagationLossModel
RangePropagationLossModel(const RangePropagationLossModel &)
Copy constructor.