IRadioMedium

Package: inet.physicallayer.wireless.common.contract.packetlevel

module interface IRadioMedium

The medium model describes the shared physical medium where communication takes place. It keeps track of radios, noise sources, ongoing transmissions, background noise, and other ongoing noises. The medium computes when, where, and how transmissions and noises arrive at receivers.

Inheritance diagram

Implemented by

Name

Type

Description

DimensionalRadioMedium

compound module

Radio medium model that uses dimensional representation (time and frequency domain) for signal power. Provides more accurate modeling of signal propagation, interference, and reception compared to scalar or unit disk models. Suitable for simulations requiring detailed physical layer behavior.

RadioMedium

compound module

The medium model describes the shared physical medium where communication takes place. It keeps track of radios, noise sources, ongoing transmissions, background noise, and other ongoing noises. The medium computes when, where and how transmissions and noises arrive at receivers. It also efficiently provides the set of interfering transmissions and noises for the receivers.

ScalarRadioMedium

compound module

Radio medium model that uses scalar representation for signal power. Provides a simpler and more computationally efficient alternative to dimensional models by representing signals as single scalar values rather than as functions of time and frequency. Suitable for simulations where detailed physical layer behavior is not required.

UnitDiskRadioMedium

compound module

This radio medium model provides a very simple but fast and predictable physical layer behavior. The idea behind this analog 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.

Ieee80211DimensionalRadioMedium

compound module

This radio medium model uses dimensional transmission power (that changes over time and/or frequency) in the analog representation. It must be used in conjunction with the dimensional analog model in radios.

Ieee80211RadioMedium

compound module

This radio medium model is part of the IEEE 802.11 physical layer model. It must be used in conjunction with the Ieee80211Radio model or other derived models.

Ieee80211ScalarRadioMedium

compound module

This radio medium model uses scalar transmission power in the analog representation. It must be used in conjunction with the analog model in radios.

Ieee802154UwbIrRadioMedium

compound module

(no description)

Ieee802154NarrowbandDimensionalRadioMedium

compound module

(no description)

Ieee802154NarrowbandScalarRadioMedium

compound module

(no description)

Properties

Name

Value

Description

display

i=misc/sun

Signals

Name

Type

Unit

Description

radioAdded

cModule

(type=IRadio)

radioRemoved

cModule

(type=IRadio)

signalAdded

cObject

(type=ITransmission)

signalArrivalEnded

cObject

(type=IReception)

signalArrivalStarted

cObject

(type=IReception)

signalDepartureEnded

cObject

(type=ITransmission)

signalDepartureStarted

cObject

(type=ITransmission)

signalRemoved

cObject

(type=ITransmission)

Source code

//
// The medium model describes the shared physical medium where communication
// takes place. It keeps track of radios, noise sources, ongoing transmissions,
// background noise, and other ongoing noises. The medium computes when, where,
// and how transmissions and noises arrive at receivers.
//
moduleinterface IRadioMedium
{
    parameters:
        @display("i=misc/sun");
        @signal[radioAdded](type=cModule);    // (type=IRadio)
        @signal[radioRemoved](type=cModule);    // (type=IRadio)
        @signal[signalAdded](type=cObject);    // (type=ITransmission)
        @signal[signalRemoved](type=cObject);    // (type=ITransmission)
        @signal[signalDepartureStarted](type=cObject);    // (type=ITransmission)
        @signal[signalDepartureEnded](type=cObject);    // (type=ITransmission)
        @signal[signalArrivalStarted](type=cObject);    // (type=IReception)
        @signal[signalArrivalEnded](type=cObject);    // (type=IReception)
}

File: src/inet/physicallayer/wireless/common/contract/packetlevel/IRadioMedium.ned