Package: inet.physicallayer.wireless.ieee802154.packetlevel
Ieee802154NarrowbandRadio
compound module(no description)
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) |
Extends
Name | Type | Description |
---|---|---|
FlatRadioBase | compound module |
This module servces as a base module for flat radio models. |
Parameters
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" |
Properties
Name | Value | Description |
---|---|---|
display | i=block/wrxtx | |
class | FlatRadioBase |
Gates
Name | Direction | Size | Description |
---|---|---|---|
upperLayerIn | input | ||
upperLayerOut | output | ||
radioIn | input |
Signals
Name | Type | Unit |
---|---|---|
receptionStateChanged | long | |
radioModeChanged | long | |
transmissionStarted | ||
receptionEnded | ||
transmittedSignalPartChanged | long | |
receptionStarted | ||
packetReceivedFromUpper | cPacket | |
receivedSignalPartChanged | long | |
packetSentToUpper | cPacket | |
transmissionStateChanged | long | |
listeningChanged | ||
transmissionEnded |
Statistics
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 { parameters: string signalAnalogRepresentation @enum("scalar","dimensional") = default("scalar"); transmitter.typename = default(signalAnalogRepresentation == "scalar" ? "Ieee802154NarrowbandScalarTransmitter" : signalAnalogRepresentation == "dimensional" ? "Ieee802154NarrowbandDimensionalTransmitter" : ""); receiver.typename = default(signalAnalogRepresentation == "scalar" ? "Ieee802154NarrowbandScalarReceiver" : signalAnalogRepresentation == "dimensional" ? "Ieee802154NarrowbandDimensionalReceiver" : ""); 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); @class(FlatRadioBase); }File: src/inet/physicallayer/wireless/ieee802154/packetlevel/Ieee802154NarrowbandRadio.ned