Network ieee802154a

Package: org.mixim.examples.ieee802154a
File: examples/ieee802154a/ieee802154a.ned

This example illustrates the use of the IEEE 802.15.4A UWB-IR simulation model implemented in MiXiM. The omnetpp.ini files comprises two scenarios. Both scenarios involve only two hosts.

The first scenario, named BERDistance, configures one host to sends ($nbPackets) packets to the other. The distance ($distance) between the two nodes is changed at each run. This is performed for two channel models (Ghassemzadeh-LOS and NLOS) so that the difference between a Line of Sight and a Non Line of Sight environment can be seen.

The second scenario is simpler. It only sends one packet at each time, and iterates over five channel models: Ghassemzadeh-LOS, Ghassemzadeh-NLOS, CM1, CM2 and CM5. It allows to see the simulator representation of the maximum pulse amplitude over time, as modified by the various channel models.

To run the scenarios, compile mixim, open a terminal and go to examples/ieee80154a. There, type: ./runBERDistance.sh to execute all runs of the Bit Error Rate over Distance scenario. The "run" script expects to find opp_run in the path. Thus, make sure to have $OMNET_PATH/bin in your path.

You can also try: ./runChannelPlots.sh to execute all runs of the channelPlots scenario.

The results can be analyzed from within Omnet++. In the examples/ieee802154a directory, open the files BERDistance.anf or channelPlots.anf (depending on the scenario that you ran before). At the bottom of the window, switch from the Inputs tab to the Datasets tab. In the BERDistance.anf file, you will find a "scatter chart BER_Distance" item. Double-click on it to generate the graph.

In the channelPlots.anf file, there are several graphs. Opening "line chart Ghassemzadeh LOS" will show the packet as modified by the Ghassemzadeh LOS channel model. Compare it with "line chart CM2" to see the impact of the Power Delay Profile. By default, the view does not allow to see the pulse shapes, because of the ultra short duration (2 ns per pulse). Zoom repeatedly until you see a triangular shape, by holding down the "Ctrl" touch and drawing a zoom box with the mouse around the area to enlarge.

For more information, please refer to: * the Omnet++ documentation at www.omnetpp.org/documentation and the user guide. * the MiXiM documentation * UWB-IR NED modules documentation and source code.

Questions should be send to the Omnet++ mailing-list: omnetpp@googlegroups.com.

acknowledgment


this work was supported (in part) by the National Competence Center in Research on Mobile Information and Communication Systems NCCR-MICS, a center supported by the Swiss National Science Foundation under grant number 5005-67322.

IConnectionManager IWorldUtility Host802154A

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

ieee802154a Host802154A

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

ieee802154a BaseNetwork

Extends:

Name Type Description
BaseNetwork network (no description)

Parameters:

Name Type Default value Description
playgroundSizeX double

x size of the area the nodes are in (in meters)

playgroundSizeY double

y size of the area the nodes are in (in meters)

playgroundSizeZ double

z size of the area the nodes are in (in meters)

cmType string "org.mixim.base.connectionManager.ConnectionManager"

connection manager to use

wuType string "org.mixim.base.modules.BaseWorldUtility"

world utility to use

numHosts int

total number of hosts in the network

Properties:

Name Value Description
isNetwork
display bgb=$playgroundSizeX,$playgroundSizeY,white;bgp=0,0

Unassigned submodule parameters:

Name Type Default value Description
connectionManager.coreDebug bool

debug switch for core framework

connectionManager.sendDirect bool

send directly to the node or create separate gates for every connection

connectionManager.pMax double

maximum sending power used for this network [mW]

connectionManager.sat double

minimum signal attenuation threshold [dBm]

connectionManager.alpha double

minimum path loss coefficient

connectionManager.carrierFrequency double

minimum carrier frequency of the channel [Hz]

world.useTorus bool

use the playground as torus?

node.netwl.stats bool

stats switch

node.netwl.headerLength int

length of the network packet header (in bits)

node.tranl.stats bool

stats switch

node.tranl.headerLength int

length of the network packet header (in bits)

node.sessl.stats bool

stats switch

node.sessl.headerLength int

length of the network packet header (in bits)

node.presl.stats bool

stats switch

node.presl.headerLength int

length of the network packet header (in bits)

node.appl.headerLength int

length of the application message header (in bits)

node.batteryStats.notAffectedByHostState bool true
node.batteryStats.debug bool false

write per-activity and per-device statistics to omnetpp.sca (if false, only total energy and lifetime are written)

node.batteryStats.detail bool true

subscribe to battery status and record time series data in omnetpp.vec (resolution depends on battery's publishDelta)

node.batteryStats.timeSeries bool false
node.battery.debug bool false
node.battery.nominal double

nominal battery capacity

node.battery.capacity double

battery capacity

node.battery.voltage double

nominal voltage

node.battery.resolution double

capacity is updated at least every resolution time

node.battery.publishDelta double

if > 0, capacity is published to the BB each publishTime interval

node.battery.publishTime double

number of modules that will draw energy from the battery

node.battery.numDevices int

Source code:

//
//This example illustrates the use of the IEEE 802.15.4A UWB-IR
//simulation model implemented in MiXiM.
//The omnetpp.ini files comprises two scenarios. Both scenarios
//involve only two hosts.
//
//The first scenario, named BERDistance, configures one host to
//sends ($nbPackets) packets to the other. The distance ($distance)
//between the two nodes is changed at each run. This is performed
//for two channel models (Ghassemzadeh-LOS and NLOS) so that the
//difference between a Line of Sight and a Non Line of Sight
//environment can be seen. 
//
//The second scenario is simpler. It only sends one packet at each
//time, and iterates over five channel models: Ghassemzadeh-LOS, 
//Ghassemzadeh-NLOS, CM1, CM2 and CM5.
//It allows to see the simulator representation of the maximum
//pulse amplitude over time, as modified by the various channel
//models.
//
//To run the scenarios, compile mixim, open a terminal and go to
//examples/ieee80154a. There, type:
//./runBERDistance.sh 
//to execute all runs of the Bit Error Rate over Distance scenario.
//The "run" script expects to find opp_run in the path. Thus, make sure 
//to have $OMNET_PATH/bin in your path. 
//
//You can also try:
//./runChannelPlots.sh
//to execute all runs of the channelPlots scenario.
//
//The results can be analyzed from within Omnet++. In the
//examples/ieee802154a directory, open the files BERDistance.anf
//or channelPlots.anf (depending on the scenario that you ran before).
//At the bottom of the window, switch from the Inputs tab to the Datasets
//tab. In the BERDistance.anf file, you will find a "scatter chart BER_Distance"
//item. Double-click on it to generate the graph.
//
//In the channelPlots.anf file, there are several graphs. Opening
//"line chart Ghassemzadeh LOS" will show the packet as modified by the 
//Ghassemzadeh LOS channel model. Compare it with "line chart CM2" to see
//the impact of the Power Delay Profile. By default, the view does not allow
//to see the pulse shapes, because of the ultra short duration (2 ns per pulse).
//Zoom repeatedly until you see a triangular shape, by holding down the "Ctrl"
//touch and drawing a zoom box with the mouse around the area to enlarge.
//
//For more information, please refer to:
//* the Omnet++ documentation at www.omnetpp.org/documentation and the user guide.
//* the MiXiM documentation
//* UWB-IR NED modules documentation and source code.
//
//Questions should be send to the Omnet++ mailing-list: omnetpp@googlegroups.com.
//
//acknowledgment 
//--------------
//this work was supported (in part) by the National Competence
//Center in Research on Mobile Information and Communication Systems
//NCCR-MICS, a center supported by the Swiss National Science
//Foundation under grant number 5005-67322.
// 
network ieee802154a extends BaseNetwork
{
    parameters:
        int numHosts; // total number of hosts in the network

    submodules:
        node[numHosts]: Host802154A {
            parameters:
                numHosts = numHosts;
                @display("p=50,50;i=device/wifilaptop;is=vs");

        }
}