NED File src/inet/physicallayer/wireless/common/energyconsumer/StateBasedEpEnergyConsumer.ned¶
Name |
Type |
Description |
|---|---|---|
simple 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. |
Source code¶
//
// Copyright (C) 2013 OpenSim Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
//
package inet.physicallayer.wireless.common.energyconsumer;
import inet.common.SimpleModule;
import inet.power.contract.IEpEnergyConsumer;
//
// 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);
}