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

#include <buildings-propagation-loss-model.h>

+ Inheritance diagram for ns3::BuildingsPropagationLossModel:

Classes

class  ShadowingLoss
 

Public Member Functions

virtual double DoCalcRxPower (double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
 
virtual double GetLoss (Ptr< MobilityModel > a, Ptr< MobilityModel > b) const =0
 
- 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)
 

Protected Member Functions

virtual int64_t DoAssignStreams (int64_t stream)
 
double EvaluateSigma (Ptr< BuildingsMobilityModel > a, Ptr< BuildingsMobilityModel > b) const
 
double ExternalWallLoss (Ptr< BuildingsMobilityModel > a) const
 
double GetShadowing (Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
 
double HeightLoss (Ptr< BuildingsMobilityModel > n) const
 
double InternalWallsLoss (Ptr< BuildingsMobilityModel > a, Ptr< BuildingsMobilityModel > b) const
 
- 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)
 

Protected Attributes

double m_lossInternalWall
 
Ptr< NormalRandomVariablem_randVariable
 
std::map< Ptr< MobilityModel >
, std::map< Ptr< MobilityModel >
, ShadowingLoss > > 
m_shadowingLossMap
 
double m_shadowingSigmaExtWalls
 
double m_shadowingSigmaIndoor
 
double m_shadowingSigmaOutdoor
 

Detailed Description

This model provides means for simulating the following propagation phenomena in the presence of buildings:

  • shadowing (indoor, outdoor)
  • external wall penetration loss
  • internal wall penetration loss

The distance-dependent component of propagation loss is deferred to derived classes which are expected to implement the GetLoss method.

Warning
This model works only with BuildingsMobilityModel

Config Paths

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

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

Attributes

  • ShadowSigmaOutdoor: Standard deviation of the normal distribution used for calculate the shadowing for outdoor nodes
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 7
    • Flags: construct write read
  • ShadowSigmaIndoor: Standard deviation of the normal distribution used for calculate the shadowing for indoor nodes
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 8
    • Flags: construct write read
  • ShadowSigmaExtWalls: Standard deviation of the normal distribution used for calculate the shadowing due to ext walls
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 5
    • Flags: construct write read
  • InternalWallLoss: Additional loss for each internal wall [dB]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 5
    • Flags: construct write read

No TraceSources are defined for this type.

Definition at line 55 of file buildings-propagation-loss-model.h.

Member Function Documentation

int64_t ns3::BuildingsPropagationLossModel::DoAssignStreams ( int64_t  stream)
protectedvirtual

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

Implements ns3::PropagationLossModel.

Definition at line 222 of file buildings-propagation-loss-model.cc.

virtual double ns3::BuildingsPropagationLossModel::GetLoss ( Ptr< MobilityModel a,
Ptr< MobilityModel b 
) const
pure virtual
Parameters
athe mobility model of the source
bthe mobility model of the destination
Returns
the propagation loss (in dBm)

Implemented in ns3::HybridBuildingsPropagationLossModel, and ns3::OhBuildingsPropagationLossModel.


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