ns-3
ns3::BuildingsPropagationLossModel Class Reference

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

Inheritance diagram for ns3::BuildingsPropagationLossModel:
Collaboration diagram for ns3::BuildingsPropagationLossModel:

List of all members.

Classes

class  ShadowingLoss

Public Member Functions

virtual double GetLoss (Ptr< MobilityModel > a, Ptr< MobilityModel > b) const =0
virtual double DoCalcRxPower (double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
- Public Member Functions inherited from ns3::PropagationLossModel
void SetNext (Ptr< PropagationLossModel > next)
 Enables a chain of loss models to act on the signal.
double CalcRxPower (double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
- Public Member Functions inherited from ns3::Object
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Dispose (void)
void AggregateObject (Ptr< Object > other)
AggregateIterator GetAggregateIterator (void) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
uint32_t GetReferenceCount (void) const
- Public Member Functions inherited from ns3::ObjectBase
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
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::BuildingsPropagationLossModel.

Protected Member Functions

double ExternalWallLoss (Ptr< BuildingsMobilityModel > a) const
double HeightLoss (Ptr< BuildingsMobilityModel > n) const
double InternalWallsLoss (Ptr< BuildingsMobilityModel > a, Ptr< BuildingsMobilityModel > b) const
double GetShadowing (Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
double EvaluateSigma (Ptr< BuildingsMobilityModel > a, Ptr< BuildingsMobilityModel > b) const

Protected Attributes

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

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

Member Function Documentation

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.

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

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

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::BuildingsPropagationLossModel

Attributes defined for this type:

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

Reimplemented from ns3::PropagationLossModel.

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

References ns3::TypeId::SetParent().


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