A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::lorawan::LinearLoraTxCurrentModel Class Reference

A linear model of the transmission current for a LoRa device, based on the WiFi model. More...

#include "lora-tx-current-model.h"

+ Inheritance diagram for ns3::lorawan::LinearLoraTxCurrentModel:
+ Collaboration diagram for ns3::lorawan::LinearLoraTxCurrentModel:

Public Member Functions

 LinearLoraTxCurrentModel ()
 Default constructor.
 
 ~LinearLoraTxCurrentModel () override
 Destructor.
 
double CalcTxCurrent (double txPowerDbm) const override
 Get the current for transmission at this power.
 
double GetEta () const
 Get the power amplifier efficiency.
 
double GetStandbyCurrent () const
 Get the current in the STANDBY state.
 
double GetVoltage () const
 Get the supply voltage.
 
void SetEta (double eta)
 Set the power amplifier efficiency.
 
void SetStandbyCurrent (double idleCurrent)
 Set the current in the STANDBY state.
 
void SetVoltage (double voltage)
 Set the supply voltage.
 
- Public Member Functions inherited from ns3::lorawan::LoraTxCurrentModel
 LoraTxCurrentModel ()
 Default constructor.
 
 ~LoraTxCurrentModel () override
 Destructor.
 
virtual double CalcTxCurrent (double txPowerDbm) const =0
 Get the current for transmission at this power.
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor.
 
 ~Object () override
 Destructor.
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together.
 
void Dispose ()
 Dispose of this Object.
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated Object.
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object.
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId.
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object.
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one.
 
bool IsInitialized () const
 Check if the object has been initialized.
 
void UnidirectionalAggregateObject (Ptr< Object > other)
 Aggregate an Object to another Object.
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
virtual TypeId GetInstanceTypeId () const =0
 Get the most derived TypeId for this Object.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

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

Private Attributes

double m_eta
 ETA.
 
double m_idleCurrent
 Standby current.
 
double m_voltage
 Voltage.
 

Additional Inherited Members

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

Detailed Description

A linear model of the transmission current for a LoRa device, based on the WiFi model.

Definition at line 64 of file lora-tx-current-model.h.

Constructor & Destructor Documentation

◆ LinearLoraTxCurrentModel()

ns3::lorawan::LinearLoraTxCurrentModel::LinearLoraTxCurrentModel ( )

Default constructor.

Definition at line 83 of file lora-tx-current-model.cc.

References NS_LOG_FUNCTION.

◆ ~LinearLoraTxCurrentModel()

ns3::lorawan::LinearLoraTxCurrentModel::~LinearLoraTxCurrentModel ( )
override

Destructor.

Definition at line 88 of file lora-tx-current-model.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ CalcTxCurrent()

double ns3::lorawan::LinearLoraTxCurrentModel::CalcTxCurrent ( double  txPowerDbm) const
overridevirtual

Get the current for transmission at this power.

Parameters
txPowerDbmThe nominal tx power in dBm.
Returns
The transmit current (in Ampere).

Implements ns3::lorawan::LoraTxCurrentModel.

Definition at line 133 of file lora-tx-current-model.cc.

References ns3::lorawan::DbmToW(), m_eta, m_idleCurrent, m_voltage, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ GetEta()

double ns3::lorawan::LinearLoraTxCurrentModel::GetEta ( ) const

Get the power amplifier efficiency.

Returns
The power amplifier efficiency.

Definition at line 115 of file lora-tx-current-model.cc.

References m_eta.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetStandbyCurrent()

double ns3::lorawan::LinearLoraTxCurrentModel::GetStandbyCurrent ( ) const

Get the current in the STANDBY state.

Returns
The idle current value [Ampere].

Definition at line 127 of file lora-tx-current-model.cc.

References m_idleCurrent.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::lorawan::LinearLoraTxCurrentModel::GetTypeId ( )
static

Register this type.

Returns
The object TypeId.

Definition at line 55 of file lora-tx-current-model.cc.

References GetEta(), GetStandbyCurrent(), GetVoltage(), ns3::MakeDoubleAccessor(), SetEta(), ns3::TypeId::SetParent(), SetStandbyCurrent(), and SetVoltage().

+ Here is the call graph for this function:

◆ GetVoltage()

double ns3::lorawan::LinearLoraTxCurrentModel::GetVoltage ( ) const

Get the supply voltage.

Returns
The supply voltage [Volts].

Definition at line 121 of file lora-tx-current-model.cc.

References m_voltage.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetEta()

void ns3::lorawan::LinearLoraTxCurrentModel::SetEta ( double  eta)

Set the power amplifier efficiency.

Parameters
etaThe power amplifier efficiency.

Definition at line 94 of file lora-tx-current-model.cc.

References m_eta, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetStandbyCurrent()

void ns3::lorawan::LinearLoraTxCurrentModel::SetStandbyCurrent ( double  idleCurrent)

Set the current in the STANDBY state.

Parameters
idleCurrentThe idle current value [Ampere].

Definition at line 108 of file lora-tx-current-model.cc.

References m_idleCurrent, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetVoltage()

void ns3::lorawan::LinearLoraTxCurrentModel::SetVoltage ( double  voltage)

Set the supply voltage.

Parameters
voltageThe supply voltage [Volts].

Definition at line 101 of file lora-tx-current-model.cc.

References m_voltage, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_eta

double ns3::lorawan::LinearLoraTxCurrentModel::m_eta
private

ETA.

Definition at line 121 of file lora-tx-current-model.h.

Referenced by CalcTxCurrent(), GetEta(), and SetEta().

◆ m_idleCurrent

double ns3::lorawan::LinearLoraTxCurrentModel::m_idleCurrent
private

Standby current.

Definition at line 123 of file lora-tx-current-model.h.

Referenced by CalcTxCurrent(), GetStandbyCurrent(), and SetStandbyCurrent().

◆ m_voltage

double ns3::lorawan::LinearLoraTxCurrentModel::m_voltage
private

Voltage.

Definition at line 122 of file lora-tx-current-model.h.

Referenced by CalcTxCurrent(), GetVoltage(), and SetVoltage().


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