Simple Module StateBasedEpEnergyConsumer

Package: inet.physicallayer.energyconsumer
File: src/inet/physicallayer/energyconsumer/StateBasedEpEnergyConsumer.ned

C++ definition

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.

StateBasedEpEnergyConsumer

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

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

Extends:

Name Type Description
EpEnergyConsumerBase simple module

This is an abstract base module for power based energy consumer models. It defines shared signals and statistics.

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 sample-hold

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 extends EpEnergyConsumerBase
{
    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);
}