ns-3
ns3::WifiRadioEnergyModel Class Reference

A WiFi radio energy model. More...

#include <wifi-radio-energy-model.h>

Inheritance diagram for ns3::WifiRadioEnergyModel:
Collaboration diagram for ns3::WifiRadioEnergyModel:

List of all members.

Public Types

typedef Callback< void > WifiRadioEnergyDepletionCallback
- Public Types inherited from ns3::DeviceEnergyModel
typedef Callback< void, int > ChangeStateCallback

Public Member Functions

virtual void SetEnergySource (Ptr< EnergySource > source)
 Sets pointer to EnergySouce installed on node.
virtual double GetTotalEnergyConsumption (void) const
double GetIdleCurrentA (void) const
void SetIdleCurrentA (double idleCurrentA)
double GetCcaBusyCurrentA (void) const
void SetCcaBusyCurrentA (double ccaBusyCurrentA)
double GetTxCurrentA (void) const
void SetTxCurrentA (double txCurrentA)
double GetRxCurrentA (void) const
void SetRxCurrentA (double rxCurrentA)
double GetSwitchingCurrentA (void) const
void SetSwitchingCurrentA (double switchingCurrentA)
WifiPhy::State GetCurrentState (void) const
void SetEnergyDepletionCallback (WifiRadioEnergyDepletionCallback callback)
virtual void ChangeState (int newState)
 Changes state of the WifiRadioEnergyMode.
virtual void HandleEnergyDepletion (void)
 Handles energy depletion.
WifiRadioEnergyModelPhyListenerGetPhyListener (void)
- Public Member Functions inherited from ns3::DeviceEnergyModel
double GetCurrentA (void) 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::WifiRadioEnergyModel.

Detailed Description

A WiFi radio energy model.

4 states are defined for the radio: TX, RX, IDLE, SLEEP. Default state is IDLE. The different types of transactions that are defined are:

  1. Tx: State goes from IDLE to TX, radio is in TX state for TX_duration, then state goes from TX to IDLE.
  2. Rx: State goes from IDLE to RX, radio is in RX state for RX_duration, then state goes from RX to IDLE.
  3. Go_to_Sleep: State goes from IDLE to SLEEP.
  4. End_of_Sleep: State goes from SLEEP to IDLE. The class keeps track of what state the radio is currently in.

Energy calculation: For each transaction, this model notifies EnergySource object. The EnergySource object will query this model for the total current. Then the EnergySource object uses the total current to calculate energy.

Default values for power consumption are based on CC2420 radio chip, with supply voltage as 2.5V and currents as 17.4 mA (TX), 18.8 mA (RX), 20 uA (sleep) and 426 uA (idle).


Member Typedef Documentation

Callback type for energy depletion handling.


Member Function Documentation

void ns3::WifiRadioEnergyModel::ChangeState ( int  newState)
virtual
WifiPhy::State ns3::WifiRadioEnergyModel::GetCurrentState ( void  ) const
Returns:
Current state.
WifiRadioEnergyModelPhyListener * ns3::WifiRadioEnergyModel::GetPhyListener ( void  )
Returns:
Pointer to the PHY listener.
double ns3::WifiRadioEnergyModel::GetTotalEnergyConsumption ( void  ) const
virtual
Returns:
Total energy consumption of the wifi device.

Implements DeviceEnergyModel::GetTotalEnergyConsumption.

Implements ns3::DeviceEnergyModel.

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

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

Attributes defined for this type:

  • IdleCurrentA: The default radio Idle current in Ampere.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.000426
    • Flags: construct write read
  • CcaBusyCurrentA: The default radio CCA Busy State current in Ampere.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.000426
    • Flags: construct write read
  • TxCurrentA: The radio Tx current in Ampere.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.0174
    • Flags: construct write read
  • RxCurrentA: The radio Rx current in Ampere.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.0197
    • Flags: construct write read
  • SwitchingCurrentA: The default radio Channel Switch current in Ampere.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.000426
    • Flags: construct write read

TraceSources defined for this type:

  • TotalEnergyConsumption: Total energy consumption of the radio device.

Reimplemented from ns3::DeviceEnergyModel.

References ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().

void ns3::WifiRadioEnergyModel::HandleEnergyDepletion ( void  )
virtual

Handles energy depletion.

Implements DeviceEnergyModel::HandleEnergyDepletion

Implements ns3::DeviceEnergyModel.

References NS_LOG_DEBUG.

void ns3::WifiRadioEnergyModel::SetEnergyDepletionCallback ( WifiRadioEnergyDepletionCallback  callback)
Parameters:
callbackCallback function.

Sets callback for energy depletion handling.

References NS_LOG_DEBUG, and NS_LOG_FUNCTION.

void ns3::WifiRadioEnergyModel::SetEnergySource ( Ptr< EnergySource source)
virtual

Sets pointer to EnergySouce installed on node.

Parameters:
sourcePointer to EnergySource installed on node.

Implements DeviceEnergyModel::SetEnergySource.

Implements ns3::DeviceEnergyModel.

References NS_ASSERT, and NS_LOG_FUNCTION.


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