Compound Module Ieee802154NarrowbandScalarRadio

Package: inet.physicallayer.ieee802154.packetlevel
File: src/inet/physicallayer/ieee802154/packetlevel/Ieee802154NarrowbandScalarRadio.ned

(no description)

IAntenna ITransmitter IReceiver IEnergyConsumer

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

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

Extends:

Name Type Description
FlatRadioBase compound module

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

Parameters:

Name Type Default value Description
antennaType string "IsotropicAntenna"

NED type of the antenna model

transmitterType string "Ieee802154NarrowbandScalarTransmitter"

NED type of the transmitter model

receiverType string "Ieee802154NarrowbandScalarReceiver"

NED type of the receiver model

energyConsumerType string ""

NED type of the energy consumer model

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

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

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

carrierFrequency double 2450 MHz

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

bandwidth double 0.25 MHz

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

Properties:

Name Value Description
class Radio
display i=block/wrxtx

Gates:

Name Direction Size Description
upperLayerIn input
upperLayerOut output
radioIn input

Signals:

Name Type Unit
receptionStateChanged long
bitErrorRate
radioModeChanged long
transmittedSignalPartChanged long
packetReceivedFromUpper cPacket
receivedSignalPartChanged long
packetErrorRate
symbolErrorRate
packetSentToUpper cPacket
transmissionStateChanged long
listeningChanged
minSNIR

Statistics:

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

Source code:

module Ieee802154NarrowbandScalarRadio extends FlatRadioBase
{
    parameters:
        antennaType = default("IsotropicAntenna");
        transmitterType = default("Ieee802154NarrowbandScalarTransmitter");
        receiverType = default("Ieee802154NarrowbandScalarReceiver");

        carrierFrequency = 2450 MHz;

        // B_20dB ATmega256RFR2 (page 564)
        // *.bandwidth = default(2.8 MHz);
        // what is meant by bandwidth here?
        // the B_20dB bandwidth would lead to far too low BERs
        bandwidth = default(0.25 MHz);

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

        // PHY Header, 802.15.4-2006 (page 43)
        // 4 octets Preamble
        // 1 octet SFD
        // 7 bit Frame length
        // 1 bit Reserved
        *.headerBitLength = (4*8 + 1*8 + 7 + 1) * 1 b;

        // 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);

        @class(Radio);
}