为无线网写的ENERGY模型
The ns-3 Energy Framework is composed of 3 parts: Energy Source, Device Energy Model and Energy Harvester.The framework is implemented into the src/energy/models folder
1 Energy Source
- The Energy Source represents the power supply on each node.
- A node can have one or more energy sources, andeach energy source can be connected to multiple device energy models.(拖根电线给节点)
- 可以在没电时预警,反馈电量信息给节点
- 这里还实现了电池的损耗和恢复参数
/* energy source */
BasicEnergySourceHelper basicSourceHelper;
// configure energy source
basicSourceHelper.Set ("BasicEnergySourceInitialEnergyJ", DoubleValue (0.1));
// install source
EnergySourceContainer sources = basicSourceHelper.Install (c);//给节点安装energy source
/* device energy model */
WifiRadioEnergyModelHelper radioEnergyHelper;
// configure radio energy model
radioEnergyHelper.Set ("TxCurrentA", DoubleValue (0.0174));
// install device model
DeviceEnergyModelContainer deviceModels = radioEnergyHelper.Install (devices, sources);
2 Device Energy Model
The Device Energy Model is the energy consumption model of a device installed on the node. It is designed to be a state based model where each device is assumed to have a number of states, and each state is associated with a power consumption value.
Whenever the state of the device changes, the corresponding Device Energy Model will notify the Energy Source of the new current draw of the device. The Energy Source will then calculate the new total current draw and update the remaining energy.
- 连接Energy Source与node
3 Energy Harvester
The energy harvester represents the elements that harvest energy from the environment and recharge the Energy Source to which it is connected.
4 WiFi Radio Energy Model
- Device Energy Model 的版本,我们的任务就是实现一个类似的模型!
- The WiFi Radio Energy Model is the energy consumption model of a Wifi net device. It provides a state for each of the available states of the PHY layer: Idle, CcaBusy, Tx, Rx,ChannelSwitch, Sleep. 每个状态对应一个电流值
- A Wifi Radio Energy Model PHY Listener is registered to the Wifi PHY in order to be notified of every Wifi PHY state transition.At every transition, the energy consumed in the previous state is computed and the energy source is notified in order to update its remaining energy.
用法
//安装
/* energy source */
BasicEnergySourceHelper basicSourceHelper;
// configure energy source
basicSourceHelper.Set ("BasicEnergySourceInitialEnergyJ", DoubleValue (1.0));
// install source
EnergySourceContainer sources = basicSourceHelper.Install (c);
/* device energy model */
WifiRadioEnergyModelHelper radioEnergyHelper;
// configure radio energy model
radioEnergyHelper.Set ("TxCurrentA", DoubleValue (0.0174));
radioEnergyHelper.Set ("RxCurrentA", DoubleValue (0.0197));
// install device model
DeviceEnergyModelContainer deviceModels = radioEnergyHelper.Install (devices, sources);
/* energy harvester */
BasicEnergyHarvesterHelper basicHarvesterHelper;
// configure energy harvester
basicHarvesterHelper.Set ("PeriodicHarvestedPowerUpdateInterval", TimeValue (Seconds (harvestingUpdateInterval)));
basicHarvesterHelper.Set ("HarvestablePower", StringValue ("ns3::UniformRandomVariable[Min=0.0|Max=0.1]"));
// install harvester on all energy sources
EnergyHarvesterContainer harvesters = basicHarvesterHelper.Install (sources);
属性
-
Basic Energy Source
- BasicEnergySourceInitialEnergyJ: Initial energy stored in basic energy source//起始能量
- BasicEnergySupplyVoltageV: Initial supply voltage for basic energy source//起始电压
- PeriodicEnergyUpdateInterval: Time between two consecutive periodic energy updates//能量更新周期
-
RV Battery Model
- RvBatteryModelPeriodicEnergyUpdateInterval: RV battery model sampling interval
- RvBatteryModelOpenCircuitVoltage: RV battery model open circuit voltage.
- RvBatteryModelCutoffVoltage: RV battery model cutoff voltage.
- RvBatteryModelAlphaValue: RV battery model alpha value.
- RvBatteryModelBetaValue: RV battery model beta value.
- RvBatteryModelNumOfTerms: The number of terms of the infinite sum for estimating battery level.
-
WiFi Radio Energy Model
- IdleCurrentA: The default radio Idle current in Ampere.
- CcaBusyCurrentA: The default radio CCA Busy State current in Ampere.
- TxCurrentA: The radio Tx current in Ampere.
- RxCurrentA: The radio Rx current in Ampere.
- SwitchingCurrentA: The default radio Channel Switch current in Ampere.
- SleepCurrentA: The radio Sleep current in Ampere.
- TxCurrentModel: A pointer to the attached tx current model
-
Basic Energy Harvester
- PeriodicHarvestedPowerUpdateInterval: Time between two consecutive periodic updates of the harvested power.
- HarvestablePower: Random variables that represents the amount of power that is provided by the energy harvester.
Tracing
-
Basic Energy Source
RemainingEnergy: Remaining energy at BasicEnergySource.
-
RV Battery Model
- RvBatteryModelBatteryLevel: RV battery model battery level.
- RvBatteryModelBatteryLifetime: RV battery model battery lifetime.
-
WiFi Radio Energy Model
TotalEnergyConsumption: Total energy consumption of the radio device.
-
Basic Energy Harvester
- HarvestedPower: Current power provided by the BasicEnergyHarvester.
- TotalEnergyHarvested: Total energy harvested by the BasicEnergyHarvester.
注意根据TypeId m_tid在创建指针时的重要性