StateBasedEpEnergyConsumer

Package: inet.physicallayer.wireless.common.energyconsumer

simple module StateBasedEpEnergyConsumer

Provides a radio power consumer model. The power consumption is determined by the radio mode, the transmitter state, and the receiver state using constant parameters.

inet.physicallayer.wireless.common.energyconsumer.StateBasedEpEnergyConsumerStateBasedEpEnergyConsumersimple

Inheritance diagram

Known subclasses

Name

Type

Description

SensorStateBasedEpEnergyConsumer

simple module

This energy consumption module extends StateBasedEpEnergyConsumer and provides default values suitable for use in low-power wireless sensor nodes. Values are roughly based on the datasheet for the CC2500 RF transceiver. Used for accurate battery life simulation in wireless sensor networks.

Ieee80211StateBasedEpEnergyConsumer

simple module

Provides a radio power consumer model for IEEE 802.11 radios. Default values are roughly based on CC3220 transceiver. The power consumption is determined by the radio mode, the transmitter state, and the receiver state using constant parameters.

Extends

Name

Type

Description

SimpleModule

simple module

Base module for all INET simple modules.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

energySourceModule

string

offPowerConsumption

double

0mW

sleepPowerConsumption

double

1mW

switchingPowerConsumption

double

1mW

receiverIdlePowerConsumption

double

2mW

receiverBusyPowerConsumption

double

5mW

receiverReceivingPowerConsumption

double

10mW

receiverReceivingPreamblePowerConsumption

double

receiverReceivingPowerConsumption

receiverReceivingHeaderPowerConsumption

double

receiverReceivingPowerConsumption

receiverReceivingDataPowerConsumption

double

receiverReceivingPowerConsumption

transmitterIdlePowerConsumption

double

2mW

transmitterTransmittingPowerConsumption

double

100mW

transmitterTransmittingPreamblePowerConsumption

double

transmitterTransmittingPowerConsumption

transmitterTransmittingHeaderPowerConsumption

double

transmitterTransmittingPowerConsumption

transmitterTransmittingDataPowerConsumption

double

transmitterTransmittingPowerConsumption

Properties

Name

Value

Description

class

StateBasedEpEnergyConsumer

display

i=block/cogwheel

Signals

Name

Type

Unit

Description

powerConsumptionChanged

double

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

powerConsumption

Power consumption

powerConsumptionChanged

vector

W

sample-hold

Source code

//
// Provides a radio power consumer model. The power consumption is
// determined by the radio mode, the transmitter state, and the receiver state
// using constant parameters.
//
simple StateBasedEpEnergyConsumer extends SimpleModule like IEpEnergyConsumer
{
    parameters:
        @class(StateBasedEpEnergyConsumer);
        string energySourceModule;
        double offPowerConsumption @unit(W) = default(0mW);
        double sleepPowerConsumption @unit(W) = default(1mW);
        double switchingPowerConsumption @unit(W) = default(1mW);
        double receiverIdlePowerConsumption @unit(W) = default(2mW);
        double receiverBusyPowerConsumption @unit(W) = default(5mW);
        double receiverReceivingPowerConsumption @unit(W) = default(10mW);
        double receiverReceivingPreamblePowerConsumption @unit(W) = default(receiverReceivingPowerConsumption);
        double receiverReceivingHeaderPowerConsumption @unit(W) = default(receiverReceivingPowerConsumption);
        double receiverReceivingDataPowerConsumption @unit(W) = default(receiverReceivingPowerConsumption);
        double transmitterIdlePowerConsumption @unit(W) = default(2mW);
        double transmitterTransmittingPowerConsumption @unit(W) = default(100mW);
        double transmitterTransmittingPreamblePowerConsumption @unit(W) = default(transmitterTransmittingPowerConsumption);
        double transmitterTransmittingHeaderPowerConsumption @unit(W) = default(transmitterTransmittingPowerConsumption);
        double transmitterTransmittingDataPowerConsumption @unit(W) = default(transmitterTransmittingPowerConsumption);
        @display("i=block/cogwheel");
        @class(StateBasedEpEnergyConsumer);
        @signal[powerConsumptionChanged](type=double);
        @statistic[powerConsumption](title="Power consumption"; source=powerConsumptionChanged; record=vector; interpolationmode=sample-hold; unit=W);
}

File: src/inet/physicallayer/wireless/common/energyconsumer/StateBasedEpEnergyConsumer.ned