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

The COST-Hata-Model is the most often cited of the COST 231 models. More...

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

+ Inheritance diagram for ns3::Cost231PropagationLossModel:
+ Collaboration diagram for ns3::Cost231PropagationLossModel:

Public Types

enum  Environment { SubUrban, MediumCity, Metropolitan }
 

Public Member Functions

 Cost231PropagationLossModel ()
 
double GetBSAntennaHeight (void) const
 
Environment GetEnvironment (void) const
 
double GetLambda (void) const
 
double GetLoss (Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
 
double GetMinDistance (void) const
 
double GetShadowing (void)
 
double GetSSAntennaHeight (void) const
 
void SetBSAntennaHeight (double height)
 
void SetEnvironment (Environment env)
 
void SetLambda (double lambda)
 
void SetLambda (double frequency, double speed)
 
void SetMinDistance (double minDistance)
 
void SetShadowing (double shadowing)
 
void SetSSAntennaHeight (double height)
 
- Public Member Functions inherited from ns3::PropagationLossModel
 PropagationLossModel ()
 
virtual ~PropagationLossModel ()
 
int64_t AssignStreams (int64_t stream)
 If this loss model uses objects of type RandomVariableStream, set the stream numbers to the integers starting with the offset 'stream'. More...
 
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
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 Run the DoDispose methods of this object and all the objects aggregated to it. More...
 
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)
 This method calls the virtual DoInitialize method on all the objects aggregated to this object. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
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)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

virtual int64_t DoAssignStreams (int64_t stream)
 Subclasses must implement this; those not using random variables can return zero. More...
 
virtual double DoCalcRxPower (double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
 

Private Attributes

double C
 
double m_BSAntennaHeight
 
Environment m_environment
 
double m_frequency
 
double m_lambda
 
double m_minDistance
 
double m_shadowing
 
double m_SSAntennaHeight
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
virtual void DoInitialize (void)
 This method is called only once by Object::Initialize. More...
 
virtual void NotifyNewAggregate (void)
 This method is invoked whenever two sets of objects are aggregated together. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 

Detailed Description

The COST-Hata-Model is the most often cited of the COST 231 models.

Also called the Hata Model PCS Extension, it is a radio propagation model that extends the Hata Model (which in turn is based on the Okumura Model) to cover a more elaborated range of frequencies. COST (COperation europ�enne dans le domaine de la recherche Scientifique et Technique) is a European Union Forum for cooperative scientific research which has developed this model accordingly to various experiments and researches. This model is applicable to urban areas. To further evaluate Path Loss in Suburban or Rural Quasi-open/Open Areas. Frequency: 1500 MHz to 2000 MHz Mobile Station Antenna Height: 1 up to 10m Base station Antenna Height: 30m to 200m Link Distance:up to 20 km

Config Paths

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

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

Attributes

  • Lambda: The wavelength (default is 2.3 GHz at 300 000 km/s).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.130435
    • Flags: construct write read
  • Frequency: The Frequency (default is 2.3 GHz).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 2.3e+09
    • Flags: construct write read
  • BSAntennaHeight: BS Antenna Height (default is 50m).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 50
    • Flags: construct write read
  • SSAntennaHeight: SS Antenna Height (default is 3m).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 3
    • Flags: construct write read
  • MinDistance: The distance under which the propagation model refuses to give results (m)
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.5
    • Flags: construct write read

No TraceSources are defined for this type.

Definition at line 50 of file cost231-propagation-loss-model.h.

Member Enumeration Documentation

Enumerator
SubUrban 
MediumCity 
Metropolitan 

Definition at line 56 of file cost231-propagation-loss-model.h.

Constructor & Destructor Documentation

ns3::Cost231PropagationLossModel::Cost231PropagationLossModel ( )

Definition at line 76 of file cost231-propagation-loss-model.cc.

References C, and m_shadowing.

Member Function Documentation

int64_t ns3::Cost231PropagationLossModel::DoAssignStreams ( int64_t  stream)
privatevirtual

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

Implements ns3::PropagationLossModel.

Definition at line 195 of file cost231-propagation-loss-model.cc.

double ns3::Cost231PropagationLossModel::DoCalcRxPower ( double  txPowerDbm,
Ptr< MobilityModel a,
Ptr< MobilityModel b 
) const
privatevirtual

Implements ns3::PropagationLossModel.

Definition at line 189 of file cost231-propagation-loss-model.cc.

References GetLoss().

+ Here is the call graph for this function:

double ns3::Cost231PropagationLossModel::GetBSAntennaHeight ( void  ) const

Definition at line 131 of file cost231-propagation-loss-model.cc.

References m_BSAntennaHeight.

Cost231PropagationLossModel::Environment ns3::Cost231PropagationLossModel::GetEnvironment ( void  ) const

Definition at line 154 of file cost231-propagation-loss-model.cc.

References m_environment.

double ns3::Cost231PropagationLossModel::GetLambda ( void  ) const

Definition at line 108 of file cost231-propagation-loss-model.cc.

References m_lambda.

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

Definition at line 160 of file cost231-propagation-loss-model.cc.

References C, ns3::MobilityModel::GetDistanceFrom(), m_BSAntennaHeight, m_frequency, m_minDistance, m_shadowing, m_SSAntennaHeight, and NS_LOG_DEBUG.

Referenced by DoCalcRxPower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ns3::Cost231PropagationLossModel::GetMinDistance ( void  ) const

Definition at line 119 of file cost231-propagation-loss-model.cc.

References m_minDistance.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

double ns3::Cost231PropagationLossModel::GetShadowing ( void  )

Definition at line 90 of file cost231-propagation-loss-model.cc.

References m_shadowing.

double ns3::Cost231PropagationLossModel::GetSSAntennaHeight ( void  ) const

Definition at line 143 of file cost231-propagation-loss-model.cc.

References m_SSAntennaHeight.

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

Definition at line 36 of file cost231-propagation-loss-model.cc.

References GetMinDistance(), m_BSAntennaHeight, m_frequency, m_lambda, m_SSAntennaHeight, SetMinDistance(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

void ns3::Cost231PropagationLossModel::SetBSAntennaHeight ( double  height)

Definition at line 125 of file cost231-propagation-loss-model.cc.

References m_BSAntennaHeight.

void ns3::Cost231PropagationLossModel::SetEnvironment ( Environment  env)

Definition at line 149 of file cost231-propagation-loss-model.cc.

References m_environment.

void ns3::Cost231PropagationLossModel::SetLambda ( double  lambda)

Definition at line 101 of file cost231-propagation-loss-model.cc.

References m_frequency, and m_lambda.

void ns3::Cost231PropagationLossModel::SetLambda ( double  frequency,
double  speed 
)

Definition at line 83 of file cost231-propagation-loss-model.cc.

References m_frequency, and m_lambda.

void ns3::Cost231PropagationLossModel::SetMinDistance ( double  minDistance)

Definition at line 114 of file cost231-propagation-loss-model.cc.

References m_minDistance.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

void ns3::Cost231PropagationLossModel::SetShadowing ( double  shadowing)

Definition at line 95 of file cost231-propagation-loss-model.cc.

References m_shadowing.

void ns3::Cost231PropagationLossModel::SetSSAntennaHeight ( double  height)

Definition at line 137 of file cost231-propagation-loss-model.cc.

References m_SSAntennaHeight.

Member Data Documentation

double ns3::Cost231PropagationLossModel::C
private

Definition at line 85 of file cost231-propagation-loss-model.h.

Referenced by Cost231PropagationLossModel(), and GetLoss().

double ns3::Cost231PropagationLossModel::m_BSAntennaHeight
private
Environment ns3::Cost231PropagationLossModel::m_environment
private

Definition at line 87 of file cost231-propagation-loss-model.h.

Referenced by GetEnvironment(), and SetEnvironment().

double ns3::Cost231PropagationLossModel::m_frequency
private

Definition at line 89 of file cost231-propagation-loss-model.h.

Referenced by GetLoss(), GetTypeId(), and SetLambda().

double ns3::Cost231PropagationLossModel::m_lambda
private

Definition at line 86 of file cost231-propagation-loss-model.h.

Referenced by GetLambda(), GetTypeId(), and SetLambda().

double ns3::Cost231PropagationLossModel::m_minDistance
private

Definition at line 88 of file cost231-propagation-loss-model.h.

Referenced by GetLoss(), GetMinDistance(), and SetMinDistance().

double ns3::Cost231PropagationLossModel::m_shadowing
private
double ns3::Cost231PropagationLossModel::m_SSAntennaHeight
private

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