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