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) |
| 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 |
|---|---|---|---|
| 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 | Description |
|---|---|---|---|---|---|---|
| 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: 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