Compound Module IdealRadio

Package: inet.physicallayer.idealradio
File: src/inet/physicallayer/idealradio/IdealRadio.ned

This radio model provides a very simple but fast and predictable physical layer behavior. It must be used in conjunction with the IdealRadioMedium model.

The idea behind this radio model is to describe transmissions with a few distance based parameters: communication range, interference range, and detection range. Whether the reception is successful or not, depends on the distance between the transmitter and the receiver. This model is similar to the unit disk radio, but it's also more general than that. The ideal model also supports an ideal communication channel where all transmissions are received sucessfully independent of distance and interfering transmissions.

See also IdealRadioMedium, IdealAnalogModel, IdealTransmitter, and IdealReceiver.

IAntenna ITransmitter IReceiver IEnergyConsumer

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

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

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 "IsotropicAntenna"

NED type of the antenna model

transmitterType string "IdealTransmitter"

NED type of the transmitter model

receiverType string "IdealReceiver"

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

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 radio model provides a very simple but fast and predictable physical
// layer behavior. It must be used in conjunction with the ~IdealRadioMedium
// model.
//
// The idea behind this radio model is to describe transmissions with a few
// distance based parameters: communication range, interference range, and
// detection range. Whether the reception is successful or not, depends on the
// distance between the transmitter and the receiver. This model is similar to
// the unit disk radio, but it's also more general than that. The ideal model
// also supports an ideal communication channel where all transmissions are
// received sucessfully independent of distance and interfering transmissions.
//
// See also ~IdealRadioMedium, ~IdealAnalogModel, ~IdealTransmitter, and
// ~IdealReceiver.
//
module IdealRadio extends Radio
{
    parameters:
        antennaType = default("IsotropicAntenna");
        transmitterType = default("IdealTransmitter");
        receiverType = default("IdealReceiver");
        separateTransmissionParts = default(false);
        separateReceptionParts = default(false);
}