A Discrete-Event Network Simulator
API
Public Member Functions | Static Public Member Functions | List of all members
ns3::FriisSpectrumPropagationLossModel Class Reference

Friis spectrum propagation loss model. More...

#include "friis-spectrum-propagation-loss.h"

+ Inheritance diagram for ns3::FriisSpectrumPropagationLossModel:

Public Member Functions

 FriisSpectrumPropagationLossModel ()
 
 ~FriisSpectrumPropagationLossModel ()
 
double CalculateLoss (double f, double d) const
 Return the propagation loss L according to a simplified version of Friis' formula in which antenna gains are unitary. More...
 
virtual Ptr< SpectrumValueDoCalcRxPowerSpectralDensity (Ptr< const SpectrumValue > txPsd, Ptr< const MobilityModel > a, Ptr< const MobilityModel > b) const
 
- Public Member Functions inherited from ns3::SpectrumPropagationLossModel
 SpectrumPropagationLossModel ()
 
virtual ~SpectrumPropagationLossModel ()
 
Ptr< SpectrumValueCalcRxPowerSpectralDensity (Ptr< const SpectrumValue > txPsd, Ptr< const MobilityModel > a, Ptr< const MobilityModel > b) const
 This method is to be called to calculate. More...
 
void SetNext (Ptr< SpectrumPropagationLossModel > next)
 Used to chain various instances of SpectrumPropagationLossModel. More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default 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 operator. 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
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::SpectrumPropagationLossModel
static TypeId GetTypeId ()
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::SpectrumPropagationLossModel
virtual void DoDispose ()
 Destructor implementation. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

Friis spectrum propagation loss model.


Introspection did not find any typical Config paths.

The propagation loss is calculated according to a simplified version of Friis' formula in which antenna gains are unitary:

$ L = \frac{4 \pi * d * f}{C^2}$

where C = 3e8 m/s is the light speed in the vacuum. The intended use is to calculate Prx = Ptx * G


No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 40 bytes (on a 64-bit architecture).

Definition at line 45 of file friis-spectrum-propagation-loss.h.

Constructor & Destructor Documentation

◆ FriisSpectrumPropagationLossModel()

ns3::FriisSpectrumPropagationLossModel::FriisSpectrumPropagationLossModel ( )

Definition at line 31 of file friis-spectrum-propagation-loss.cc.

◆ ~FriisSpectrumPropagationLossModel()

ns3::FriisSpectrumPropagationLossModel::~FriisSpectrumPropagationLossModel ( )

Definition at line 35 of file friis-spectrum-propagation-loss.cc.

Member Function Documentation

◆ CalculateLoss()

double ns3::FriisSpectrumPropagationLossModel::CalculateLoss ( double  f,
double  d 
) const

Return the propagation loss L according to a simplified version of Friis' formula in which antenna gains are unitary.

Parameters
ffrequency in Hz
ddistance in m
Returns
if Prx < Ptx then return Prx; else return Ptx

Definition at line 78 of file friis-spectrum-propagation-loss.cc.

References f(), and NS_ASSERT.

Referenced by DoCalcRxPowerSpectralDensity().

◆ DoCalcRxPowerSpectralDensity()

Ptr< SpectrumValue > ns3::FriisSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity ( Ptr< const SpectrumValue txPsd,
Ptr< const MobilityModel a,
Ptr< const MobilityModel b 
) const
virtual
Parameters
txPsdset of values Vs frequency representing the transmission power. See SpectrumChannel for details.
asender mobility
breceiver mobility
Returns
set of values Vs frequency representing the received power in the same units used for the txPower parameter.

Implements ns3::SpectrumPropagationLossModel.

Definition at line 53 of file friis-spectrum-propagation-loss.cc.

References CalculateLoss(), ns3::SpectrumValue::ConstBandsBegin(), ns3::SpectrumValue::ConstBandsEnd(), NS_ASSERT, ns3::SpectrumValue::ValuesBegin(), and ns3::SpectrumValue::ValuesEnd().

◆ GetTypeId()

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

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