Ieee802154NarrowbandRadio

Package: inet.physicallayer.wireless.ieee802154.packetlevel

compound module Ieee802154NarrowbandRadio

(no description)

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

Ieee802154NarrowbandInterface

compound module

Implements an IEEE 802.15.4 narrowband network interface.

Known subclasses

Name

Type

Description

Ieee802154NarrowbandDimensionalRadio

compound module

(no description)

Ieee802154NarrowbandScalarRadio

compound module

(no description)

Ieee802154NarrowbandUnitDiskRadio

compound module

(no description)

Extends

Name

Type

Description

FlatRadioBase

compound module

Serves as a base module for flat radio models.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

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

signalAnalogRepresentation

string

“scalar”

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

Properties

Name

Value

Description

class

FlatRadioBase

display

i=block/wrxtx

Gates

Name

Direction

Size

Description

upperLayerIn

input

upperLayerOut

output

radioIn

input

Signals

Name

Type

Unit

Description

listeningChanged

packetDropped

cPacket

packetReceivedFromLower

cPacket

packetReceivedFromUpper

cPacket

packetSentToLower

cPacket

packetSentToUpper

cPacket

radioModeChanged

long

receivedSignalPartChanged

long

receptionEnded

receptionStarted

receptionStateChanged

long

transmissionEnded

transmissionStarted

transmissionStateChanged

long

transmittedSignalPartChanged

long

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

bitErrorRate

Bit error rate

bitErrorRate(packetSentToUpper)

histogram

minSnir

Min SNIR

minimumSnir(packetSentToUpper)

histogram

packetErrorRate

Packet error rate

packetErrorRate(packetSentToUpper)

histogram

radioMode

Radio mode

radioModeChanged

count,vector

sample-hold

receptionState

Radio reception state

receptionStateChanged

count,vector

sample-hold

symbolErrorRate

Symbol error rate

symbolErrorRate(packetSentToUpper)

histogram

transmissionState

Radio transmission state

transmissionStateChanged

count,vector

sample-hold

Source code

module Ieee802154NarrowbandRadio extends FlatRadioBase
{
    parameters:
        transmitter.typename = default("Ieee802154NarrowbandTransmitter");
        receiver.typename = default("Ieee802154NarrowbandReceiver");

        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 bits
        transmitter.preambleDuration = (4*8/4) * 16 us;

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

        // 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(-100 dBm);

        // 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(-120 dBm);

        // Minimum SNIR
        // -8 dB results in 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.24 mW);

        @class(FlatRadioBase);
}

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