Ieee802154NarrowbandRadio¶
Package: inet.physicallayer.wireless.ieee802154.packetlevel
compound module Ieee802154NarrowbandRadio
(no description)
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Implements an IEEE 802.15.4 narrowband network interface. |
Known subclasses¶
Name |
Type |
Description |
|---|---|---|
compound module |
(no description) |
|
compound module |
(no description) |
|
compound module |
(no description) |
Extends¶
Name |
Type |
Description |
|---|---|---|
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