NarrowbandRadioBase

Package: inet.physicallayer.base.packetlevel

NarrowbandRadioBase

compound module

This module servces as a base module for narrowband radio models.

antenna : like IAntenna

IAntenna: The antenna model describes the physical device (a part of the radio) which converts electric...

Source:
antenna: <antennaType> like IAntenna {
    parameters:
        @display("p=100,50");
} transmitter : like ITransmitter

ITransmitter: The transmitter model describes the physical process which converts packets into electric signals.

Source:
transmitter: <transmitterType> like ITransmitter {
    parameters:
        @display("p=100,150");
} receiver : like IReceiver

IReceiver: The receiver model describes the physical process which converts electric signals into packets.

Source:
receiver: <receiverType> like IReceiver {
    parameters:
        @display("p=100,250");
} energyConsumer : like IEnergyConsumer

IEnergyConsumer: The energy consumer models describe the energy consumption process of devices over time.

Source:
energyConsumer: <energyConsumerType> like IEnergyConsumer if energyConsumerType != "" {
    parameters:
        @display("p=100,350");
}

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Known subclasses

Name Type Description
FlatRadioBase compound module

This module servces as a base module for flat radio models.

Extends

Name Type Description
Radio compound module

The radio model describes the physical device that is capable of transmitting and receiving signals on the medium. It contains an antenna model, a transmitter model, a receiver model, and an energy consumer model.

Parameters

Name Type Default value Description
antennaType string

NED type of the antenna model

transmitterType string

NED type of the transmitter model

receiverType string

NED type of the receiver model

energyConsumerType string ""

NED type of the energy consumer model

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

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

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

carrierFrequency double

center frequency of the band where the radio transmits and receives signals on the medium

bandwidth double

bandwidth of the band where the radio transmits and receives signals on the medium

Properties

Name Value Description
class Radio
display i=block/wrxtx

Gates

Name Direction Size Description
upperLayerIn input
upperLayerOut output
radioIn input

Signals

Name Type Unit
receptionStateChanged long
bitErrorRate
radioModeChanged long
transmittedSignalPartChanged long
packetReceivedFromUpper cPacket
receivedSignalPartChanged long
packetErrorRate
symbolErrorRate
packetSentToUpper cPacket
transmissionStateChanged long
listeningChanged
minSNIR

Statistics

Name Title Source Record Unit Interpolation Mode
receptionState Radio reception state receptionStateChanged count, vector sample-hold
bitErrorRate Bit error rate bitErrorRate histogram
radioMode Radio mode radioModeChanged count, vector sample-hold
packetErrorRate Packet error rate packetErrorRate histogram
symbolErrorRate Symbol error rate symbolErrorRate histogram
transmissionState Radio transmission state transmissionStateChanged count, vector sample-hold
minSNIR Min SNIR minSNIR histogram

Source code

//
// This module servces as a base module for narrowband radio models.
//
module NarrowbandRadioBase extends Radio
{
    parameters:
        double carrierFrequency @unit(Hz);     // center frequency of the band where the radio transmits and receives signals on the medium
        double bandwidth @unit(Hz);            // bandwidth of the band where the radio transmits and receives signals on the medium
        *.carrierFrequency = this.carrierFrequency; // passed down to transmitter and receiver by default
        *.bandwidth = this.bandwidth;               // passed down to transmitter and receiver by default
}
File: src/inet/physicallayer/base/packetlevel/NarrowbandRadioBase.ned