Package: inet.physicallayer.ieee802154.packetlevel


compound module

(no description)

IAntenna ITransmitter IReceiver IEnergyConsumer

Inheritance diagram

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

Known subclasses

Name Type Description
Ieee802154NarrowbandDimensionalRadio compound module (no description)
Ieee802154NarrowbandScalarRadio compound module (no description)


Name Type Description
FlatRadioBase compound module

This module servces as a base module for flat radio models.


Name Type Default value Description
radioMediumModule string "radioMedium"

module path of the medium module where this radio communicates

energySourceModule string ""

module path of the energy source module which provides energy to the radio

initialRadioMode string "off"
switchingTimes string "ms 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"

time parameters to switch between radio modes

sendRawBytes bool false

when true packets are serialized into a sequence of bytes before sending out

separateTransmissionParts bool false

when enabled the transmission of preamble, header and data part are simulated separately

separateReceptionParts bool false

when enabled the reception of preamble, header and data part are simulated separately

displayCommunicationRange bool false

if true communication range is displayed as a blue circle around the node

displayInterferenceRange bool false

if true interference range is displayed as a gray circle around the node

centerFrequency double 2450 MHz

center frequency of the band where the radio transmits and receives signals on the medium

bandwidth double 2.8 MHz

bandwidth of the band where the radio transmits and receives signals on the medium

signalAnalogRepresentation string "scalar"


Name Value Description
display i=block/wrxtx
class FlatRadioBase


Name Direction Size Description
upperLayerIn input
upperLayerOut output
radioIn input


Name Type Unit
receptionStateChanged long
radioModeChanged long
transmittedSignalPartChanged long
packetReceivedFromUpper cPacket
receivedSignalPartChanged long
packetSentToUpper cPacket
transmissionStateChanged long


Name Title Source Record Unit Interpolation Mode
receptionState Radio reception state receptionStateChanged count, vector sample-hold
bitErrorRate Bit error rate bitErrorRate(packetSentToUpper) histogram
radioMode Radio mode radioModeChanged count, vector sample-hold
packetErrorRate Packet error rate packetErrorRate(packetSentToUpper) histogram
symbolErrorRate Symbol error rate symbolErrorRate(packetSentToUpper) histogram
transmissionState Radio transmission state transmissionStateChanged count, vector sample-hold
minSnir Min SNIR minimumSnir(packetSentToUpper) histogram

Source code

module Ieee802154NarrowbandRadio extends FlatRadioBase
        string signalAnalogRepresentation @enum("scalar","dimensional") = default("scalar");
        transmitter.typename = default(signalAnalogRepresentation == "scalar" ? "Ieee802154ScalarTransmitter" : signalAnalogRepresentation == "dimensional" ? "Ieee802154DimensionalTransmitter" : "");
        receiver.typename = default(signalAnalogRepresentation == "scalar" ? "Ieee802154ScalarReceiver" : signalAnalogRepresentation == "dimensional" ? "Ieee802154DimensionalReceiver" : "");

        centerFrequency = default(2450 MHz);

        // B_20dB ATmega256RFR2 (page 564)
        bandwidth = default(2.8 MHz);

        // 802.15.4-2006 (page 28)
        *.bitrate = default(250 kbps);

        // PHY Header (without preamble), 802.15.4-2006 (page 43)
        // 1 octet SFD
        // 7 bit Frame length
        // 1 bit Reserved
        *.headerLength = (1*8 + 7 + 1) * 1 b;

        // Preamble
        // 4 octets Preamble
        // 1 symbol of 16us -> 4 bit
        transmitter.preambleDuration = (4*8/4) * 16 us;

        // RSSI sensitivity (ATmega256RFR2, page 566)
        receiver.energyDetection = default(-90dBm);

        // Receiver sensitivity (ATmega256RFR2, page 565)
        // TODO That is not quite true, because sensitivity
        //      is defined as the input signal power that yields
        //      a PER < 1% for a PSDU of 20 octets, but INET handles it
        //      as minimum reception power.
        receiver.sensitivity = default(-100dBm);

        // There is no fixed boundary, because of the
        // DSSS and the capture effect. Taking the sensitivity minus some
        // arbitrary value as an approximate guess.
        receiver.minInterferencePower = default(-120dBm);

        // Minimum SNIR
        // -8 dB results into 98% PER for a PSDU of 20 octets
        receiver.snirThreshold = default(-8 dB);

        // TX Output power (typ. 3.5 dBm, ATmega256RFR2, page 564)
        transmitter.power = default(2.24mW);


File: src/inet/physicallayer/ieee802154/packetlevel/Ieee802154NarrowbandRadio.ned