SignalTag.msg

Msg File src/inet/physicallayer/wireless/common/contract/packetlevel/SignalTag.msg

Name Type Description
SignalTagBase class

This is an abstract base class that should not be directly added as a tag.

SignalPowerTagBase class

This is an abstract base class that should not be directly added as a tag.

SignalPowerReq class

This request determines the average analog signal power that should be used to transmit the packet. It may be present on a packet from the application to the phyisical layer.

SignalPowerInd class

This indication specifies the average analog signal power that was detected during receiving the packet. It may be present on a packet from the phyiscal layer to the application.

SignalBandTagBase class

This is an abstract base class that should not be directly added as a tag.

SignalBandReq class

This request determines the signal band that should be used to transmit the packet. It may be present on a packet from the application to the phyisical layer.

SignalBandInd class

This indication specifies the signal band that was used to receive the packet. It may be present on a packet from the phyiscal layer to the application.

SignalBitrateTagBase class

This is an abstract base class that should not be directly added as a tag.

SignalBitrateReq class

This request determines the bitrates for various parts of the signal that should be used to transmit the packet. It may be present on a packet from the application to the phyisical layer.

SignalBitrateInd class

This indication specifies the bitrates for various parts of the signal that was used to receive the packet. It may be present on a packet from the phyiscal layer to the application.

SnirInd class

This indication specifies the signal to noise ratio that was detected during receiving the packet. It may be present on a packet from the phyiscal layer to the application.

ErrorRateInd class

This indication specifies various error rates that was computed during receiving the packet. It may be present on a packet from the phyiscal layer to the application.

SignalTimeInd class

This indication specifies the timing of the received signal. It may be present on a packet from the phyiscal layer to the application.

Source code

//
// Copyright (C) 2020 OpenSim Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
//

import inet.common.INETDefs;
import inet.common.TagBase;
import inet.common.Units;

cplusplus{{
#include "inet/physicallayer/wireless/common/base/packetlevel/PhysicalLayerDefs.h"
}}

namespace inet;

//
// This is an abstract base class that should not be directly added as a tag.
//
class SignalTagBase extends TagBase
{
}

//
// This is an abstract base class that should not be directly added as a tag.
//
class SignalPowerTagBase extends SignalTagBase
{
    W power = W(NaN); // specifies signal power in Watts
}

//
// This request determines the average analog signal power that should be used to transmit the packet.
// It may be present on a packet from the application to the phyisical layer.
//
class SignalPowerReq extends SignalPowerTagBase
{
}

//
// This indication specifies the average analog signal power that was detected during receiving the packet.
// It may be present on a packet from the phyiscal layer to the application.
//
class SignalPowerInd extends SignalPowerTagBase
{
}

//
// This is an abstract base class that should not be directly added as a tag.
//
class SignalBandTagBase extends SignalTagBase
{
    Hz centerFrequency = Hz(NaN); // carrier frequency in the range (0, +infinity) or NaN if not set.
    Hz bandwidth = Hz(NaN);        // bandwidth in the rage (0, +infinity) or NaN if not set.
}

//
// This request determines the signal band that should be used to transmit the packet.
// It may be present on a packet from the application to the phyisical layer.
//
class SignalBandReq extends SignalBandTagBase
{
}

//
// This indication specifies the signal band that was used to receive the packet.
// It may be present on a packet from the phyiscal layer to the application.
//
class SignalBandInd extends SignalBandTagBase
{
}

//
// This is an abstract base class that should not be directly added as a tag.
//
class SignalBitrateTagBase extends SignalTagBase
{
    bps preambleBitrate = bps(NaN); // preamble bitrate in the range (0, +infinity) or NaN if not set.
    bps headerBitrate = bps(NaN);   // header bitrate in the range (0, +infinity) or NaN if not set.
    bps dataBitrate = bps(NaN);     // data bitrate in the range (0, +infinity) or NaN if not set.
}

//
// This request determines the bitrates for various parts of the signal that should be used to transmit the packet.
// It may be present on a packet from the application to the phyisical layer.
//
class SignalBitrateReq extends SignalBitrateTagBase
{
}

//
// This indication specifies the bitrates for various parts of the signal that was used to receive the packet.
// It may be present on a packet from the phyiscal layer to the application.
//
class SignalBitrateInd extends SignalBitrateTagBase
{
}

//
// This indication specifies the signal to noise ratio that was detected during receiving the packet.
// It may be present on a packet from the phyiscal layer to the application.
//
class SnirInd extends SignalTagBase
{
    double minimumSnir = NaN; // minimum signal to noise plus interference ratio in the range (0, +infinity) or NaN if unknown.
    double maximumSnir = NaN; // maximum signal to noise plus interference ratio in the range (0, +infinity) or NaN if unknown.
    double averageSnir = NaN; // average signal to noise plus interference ratio in the range (0, +infinity) or NaN if unknown.
}

//
// This indication specifies various error rates that was computed during receiving the packet.
// It may be present on a packet from the phyiscal layer to the application.
//
class ErrorRateInd extends SignalTagBase
{
    double packetErrorRate = NaN; // packet error rate (probability) in the range [0, 1] or NaN if unknown.
    double bitErrorRate = NaN;    // bit error rate (probability) in the range [0, 1] or NaN if unknown.
    double symbolErrorRate = NaN; // symbol error rate (probability) in the range [0, 1] or NaN if unknown.
}

//
// This indication specifies the timing of the received signal.
// It may be present on a packet from the phyiscal layer to the application.
//
class SignalTimeInd extends SignalTagBase
{
    simtime_t startTime;
    simtime_t endTime;
}