This host NED module models a host using an IEEE 802.15.4A correlation receiver.
Author: Jérôme Rousselot
Citation of the following publication is appreciated if you use the MiXiM UWB PHY model for a publication of your own. J. Rousselot, J.-D. Decotignie, An ultra-wideband impulse radio PHY layer model for network simulation. SIMULATION January 2011 vol. 87 no. 1-2 82-112.
For more information, see also:
[1] J. Rousselot, J.-D. Decotignie, An ultra-wideband impulse radio PHY layer model for network simulation. SIMULATION January 2011 vol. 87 no. 1-2 82-112. http://dx.doi.org/10.1177/0037549710377767.
[2] J. Rousselot, Ultra Low Power Communication Protocols for UWB Impulse Radio Wireless Sensor Networks. EPFL Thesis 4720, 2010. http://infoscience.epfl.ch/record/147987.
[3] J. Rousselot, J.-D. Decotignie, A High-Precision Ultra Wideband Impulse Radio Physical Layer Model for Network Simulation. Second International Omnet++ Workshop,Simu'TOOLS, Rome, March 2009. http://portal.acm.org/citation.cfm?id=1537714.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.
| ieee802154a (network) |
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. |
| Name | Type | Default value | Description |
|---|---|---|---|
| numHosts | double |
total number of hosts in the network |
| Name | Value | Description |
|---|---|---|
| display | bgb=356,318,white;bgp=10,10 |
| Name | Direction | Size | Description |
|---|---|---|---|
| radioIn | input |
| Name | Type | Default value | Description |
|---|---|---|---|
| utility.coreDebug | bool |
debug switch for the base framework |
|
| batteryStats.debug | bool |
write per-activity and per-device statistics to omnetpp.sca (if false, only total energy and lifetime are written) |
|
| batteryStats.detail | bool |
subscribe to battery status and record time series data in omnetpp.vec (resolution depends on battery's publishDelta) |
|
| batteryStats.timeSeries | bool | ||
| battery.debug | bool | ||
| battery.nominal | double |
nominal battery capacity |
|
| battery.capacity | double |
battery capacity |
|
| battery.voltage | double |
nominal voltage |
|
| battery.resolution | double |
capacity is updated at least every resolution time |
|
| battery.publishDelta | double |
if > 0, capacity is published to the BB each publishTime interval |
|
| battery.publishTime | double |
number of modules that will draw energy from the battery |
|
| battery.numDevices | int | ||
| mobility.coreDebug | bool |
debug switch for the core framework |
|
| mobility.x | double |
x coordinate of the nodes' position (-1 = random) |
|
| mobility.y | double |
y coordinate of the nodes' position (-1 = random) |
|
| mobility.z | double |
z coordinate of the nodes' position (-1 = random) |
|
| nic.phy.coreDebug | bool |
debug switch for core framework |
|
| nic.phy.recordStats | bool | false |
enable/disable tracking of statistics (eg. cOutvectors) |
| nic.phy.headerLength | int | 0 |
defines the length of the phy header (/preamble) |
| nic.phy.usePropagationDelay | bool |
Should transmission delay be simulated? |
|
| nic.phy.thermalNoise | double |
the strength of the thermal noise [dBm] |
|
| nic.phy.useThermalNoise | bool |
should thermal noise be considered? |
|
| nic.phy.analogueModels | xml |
Specification of the analogue models to use and their parameters |
|
| nic.phy.decider | xml |
Specification of the decider to use and its parameters |
|
| nic.phy.sensitivity | double |
The sensitivity of the physical layer [dBm] |
|
| nic.phy.maxTXPower | double |
The maximum transimission power of the physical layer [mW] |
|
| nic.phy.timeRXToTX | double | 0 |
switchTimes [s]: |
| nic.phy.timeRXToSleep | double | 0 | |
| nic.phy.timeTXToRX | double | 0 | |
| nic.phy.timeTXToSleep | double | 0 | |
| nic.phy.timeSleepToRX | double | 0 | |
| nic.phy.timeSleepToTX | double | 0 | |
| nic.phy.radioMinAtt | double | 1.0 |
radios gain factor (attenuation) while receiving |
| nic.phy.radioMaxAtt | double | 0.0 |
radios gain factor (attenuation) while not receiving |
| nic.phy.nbRadioChannels | int | 1 |
Number of available radio channels. Defaults to single channel radio. |
| nic.phy.initialRadioChannel | int | 0 |
Initial radio channel. |
| nic.mac.notAffectedByHostState | bool | false | |
| nic.mac.coreDebug | bool |
debug switch |
|
| nic.mac.headerLength | double |
length of the MAC packet header (in bits) |
|
| nic.mac.debug | bool | false |
debug switch |
| nic.mac.stats | bool | true | |
| nic.mac.trace | bool | false | |
| nic.mac.RSDecoder | bool | true | |
| nic.mac.packetsAlwaysValid | bool | false | |
| nic.mac.PRF | int | 4 |
Pulse repetition frequency, either 4 or 16 MHz currently |
| nic.mac.minBE | int | 3 |
min backoff exponent |
| nic.mac.maxBE | int | 8 |
max backoff exponent |
| net.notAffectedByHostState | bool | false | |
| net.coreDebug | bool |
debug switch for core framework |
|
| net.stats | bool | true |
stats switch |
| net.headerLength | double | 0 |
length of the network packet header (in bits) |
| net.trace | bool | false |
debug switch |
| net.networkID | int | 0 |
network ID, allows coexistence tests |
| arp.coreDebug | bool |
debug switch for the core framework |
|
| arp.debug | bool | false |
enable debugging for this module |
| arp.offset | int | 0 |
Adds an offset to node addresses |
| app.debug | bool |
debug switch |
|
| app.stats | bool |
stats switch |
|
| app.trace | bool |
trace switch |
|
| app.trafficParam | double |
mean time between packets (poisson arrival rate) |
|
| app.nodeAddr | double |
node address |
|
| app.dstAddr | double |
packet destination node address |
|
| app.flood | bool |
send packets continuously |
|
| app.payloadSize | double |
number of bytes per packet |
|
| app.nbPackets | double |
number of packets to generate |
// // This host NED module models a host using an IEEE 802.15.4A correlation receiver. // // @author Jérôme Rousselot // // Citation of the following publication is appreciated if you use the MiXiM UWB PHY model // for a publication of your own. // J. Rousselot, J.-D. Decotignie, An ultra-wideband impulse radio PHY // layer model for network simulation. SIMULATION January 2011 vol. 87 no. 1-2 82-112. // // For more information, see also: // // [1] J. Rousselot, J.-D. Decotignie, An ultra-wideband impulse radio PHY // layer model for network simulation. SIMULATION January 2011 vol. 87 no. // 1-2 82-112. <a href="http://dx.doi.org/10.1177/0037549710377767">http://dx.doi.org/10.1177/0037549710377767</a>. // // [2] J. Rousselot, Ultra Low Power Communication Protocols for UWB // Impulse Radio Wireless Sensor Networks. EPFL Thesis 4720, 2010. // <a href="http://infoscience.epfl.ch/record/147987">http://infoscience.epfl.ch/record/147987</a>. // // [3] J. Rousselot, J.-D. Decotignie, A High-Precision Ultra Wideband Impulse Radio Physical Layer Model // for Network Simulation. Second International Omnet++ Workshop,Simu'TOOLS, Rome, March 2009. // <a href="http://portal.acm.org/citation.cfm?id=1537714">http://portal.acm.org/citation.cfm?id=1537714</a>. // module Host802154A { parameters: double numHosts; // total number of hosts in the network @display("bgb=356,318,white;bgp=10,10"); gates: input radioIn; submodules: utility: BaseUtility { parameters: @display("p=292,60;i=block/blackboard"); } stats: phyPER { @display("p=202,257"); } batteryStats: BatteryStats { @display("p=292,257;i=block/circle"); } battery: SimpleBattery { @display("p=292,186;i=block/control"); } mobility: BaseMobility { parameters: @display("p=292,120;i=block/cogwheel"); } nic: Nic802154A { parameters: @display("b=32,30;p=86,265;i=block/ifcard"); } net: DummyRoute { parameters: @display("p=86,159"); } arp: ArpHost { parameters: @display("p=202,186"); } app: TestApplication { parameters: @display("p=86,60;i=block/app"); } connections: net.lowerGateOut --> nic.upperGateIn; net.lowerGateIn <-- nic.upperGateOut; net.lowerControlOut --> nic.upperControlIn; net.lowerControlIn <-- nic.upperControlOut; net.upperGateOut --> app.lowerGateIn; net.upperGateIn <-- app.lowerGateOut; net.upperControlOut --> app.lowerControlIn; net.upperControlIn <-- app.lowerControlOut; radioIn --> nic.radioIn; }