StateBasedEpEnergyConsumer

Package: inet.physicallayer.wireless.common.energyconsumer

StateBasedEpEnergyConsumer

simple module

This module 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.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Known subclasses

Name Type Description
Ieee80211StateBasedEpEnergyConsumer simple module

This 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.

SensorStateBasedEpEnergyConsumer simple module (no description)

Parameters

Name Type Default value Description
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
display i=block/cogwheel
class StateBasedEpEnergyConsumer

Signals

Name Type Unit
powerConsumptionChanged double

Statistics

Name Title Source Record Unit Interpolation Mode
powerConsumption Power consumption powerConsumptionChanged vector W sample-hold

Direct method calls (observed)

call tofunctioninfo
IdealEpEnergyStorageinet::power::IdealEpEnergyStorage::addEnergyConsumeraddEnergyConsumer
IdealEpEnergyStorageinet::power::IdealEpEnergyStorage::receiveSignalpowerConsumptionChanged
SimpleEpEnergyStorageinet::power::SimpleEpEnergyStorage::addEnergyConsumeraddEnergyConsumer
SimpleEpEnergyStorageinet::power::SimpleEpEnergyStorage::receiveSignalpowerConsumptionChanged

Called methods (observed)

functioninfocall from
inet::physicallayer::StateBasedEpEnergyConsumer::receiveSignalradioModeChangedApskScalarRadio, Ieee80211ScalarRadio, UnitDiskRadio
inet::physicallayer::StateBasedEpEnergyConsumer::receiveSignalreceivedSignalPartChangedApskScalarRadio, Ieee80211ScalarRadio, UnitDiskRadio
inet::physicallayer::StateBasedEpEnergyConsumer::receiveSignalreceptionStateChangedApskScalarRadio, Ieee80211ScalarRadio, UnitDiskRadio
inet::physicallayer::StateBasedEpEnergyConsumer::receiveSignaltransmissionStateChangedApskScalarRadio, Ieee80211ScalarRadio, UnitDiskRadio
inet::physicallayer::StateBasedEpEnergyConsumer::receiveSignaltransmittedSignalPartChangedApskScalarRadio, Ieee80211ScalarRadio, UnitDiskRadio

Source code

//
// This module 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 like IEpEnergyConsumer
{
    parameters:
        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