Ieee80211LayeredOfdmReceiver

Package: inet.physicallayer.wireless.ieee80211.bitlevel

Ieee80211LayeredOfdmReceiver

compound module

Implements an IEEE 802.11 OFDM receiver. The implementation details are based on the following standard: IEEE Std 802.11-2012 PART 11: WIRELESS LAN MAC AND PHY SPECIFICATIONS

Please check the ~Ieee80211LayeredOfdmTransmitter documentation first, since this receiver module is symmetric to it.

analogModel : like IReceiverAnalogModel

IReceiverAnalogModel: The receiver analog model describes the connecting piece between the technology-dependent part of...

Source:
analogModel: <default("")> like IReceiverAnalogModel if typename != "" {
    @display("p=100,100");
} errorModel : like ILayeredErrorModel

Source:
errorModel: <default("")> like ILayeredErrorModel if typename != "" {
    @display("p=300,400");
} dataDecoder : like IDecoder

IDecoder: Interface for decoders in wireless communications.

Source:
dataDecoder: <default("")> like IDecoder if typename != "" {
    @display("p=100,100");
} signalDecoder : like IDecoder

IDecoder: Interface for decoders in wireless communications.

Source:
signalDecoder: <default("")> like IDecoder if typename != "" {
    @display("p=300,100");
} signalDemodulator : like IDemodulator

IDemodulator: Module interface for demodulators in wireless communication systems.

Source:
signalDemodulator: <default("")> like IDemodulator if typename != "" {
    @display("p=300,200");
} dataDemodulator : like IDemodulator

IDemodulator: Module interface for demodulators in wireless communication systems.

Source:
dataDemodulator: <default("")> like IDemodulator if typename != "" {
    @display("p=100,200");
} pulseFilter : like IPulseFilter

IPulseFilter: Module interface for pulse filters in wireless communication systems.

Source:
pulseFilter: <default("")> like IPulseFilter if typename != "" {
    @display("p=100,300");
} analogDigitalConverter : like IAnalogDigitalConverter

IAnalogDigitalConverter: Converts analog signal representations to digital sample representations in wireless communication...

Source:
analogDigitalConverter: <default("")> like IAnalogDigitalConverter if typename != "" {
    @display("p=100,400");
}

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
SnirReceiverBase compound module

Serves as a base module for SNIR receiver 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

ignoreInterference bool false

True means interfering transmissions are ignored when determining whether a reception is successful or not

signalAnalogRepresentation string "scalar"
snirThreshold double

Reception is not successful if the SNIR is below this threshold (unsuccessful reception)

snirThresholdMode string "min"
isCompliant bool true
levelOfDetail string "symbol"
energyDetection double

TODO @unit(W) + dBm/dBW <--> W

sensitivity double

TODO @unit(W) + dBm/dBW <--> W

centerFrequency double
bandwidth double
channelSpacing double

Properties

Name Value Description
class Ieee80211LayeredOfdmReceiver
display i=block/rx

Source code

//
// Implements an IEEE 802.11 OFDM receiver.
// The implementation details are based on the following standard:
// IEEE Std 802.11-2012 PART 11: WIRELESS LAN MAC AND PHY SPECIFICATIONS
//
// Please check the ~Ieee80211LayeredOfdmTransmitter documentation first, since
// this receiver module is symmetric to it.
//
module Ieee80211LayeredOfdmReceiver extends SnirReceiverBase like IReceiver
{
    parameters:
        bool isCompliant = default(true);
        string levelOfDetail @enum("packet","bit","symbol","sample") = default("symbol");
        double energyDetection @unit(dBm); // TODO @unit(W) + dBm/dBW <--> W
        double sensitivity @unit(dBm); // TODO @unit(W) + dBm/dBW <--> W
        double centerFrequency @unit(Hz);
        double bandwidth @unit(Hz);
        double channelSpacing @unit(Hz);
        @class(Ieee80211LayeredOfdmReceiver);

        @display("i=block/rx");
    submodules:
        errorModel: <default("")> like ILayeredErrorModel if typename != "" {
            @display("p=300,400");
        }
        dataDecoder: <default("")> like IDecoder if typename != "" {
            @display("p=100,100");
        }
        signalDecoder: <default("")> like IDecoder if typename != "" {
            @display("p=300,100");
        }
        signalDemodulator: <default("")> like IDemodulator if typename != "" {
            @display("p=300,200");
        }
        dataDemodulator: <default("")> like IDemodulator if typename != "" {
            @display("p=100,200");
        }
        pulseFilter: <default("")> like IPulseFilter if typename != "" {
            @display("p=100,300");
        }
        analogDigitalConverter: <default("")> like IAnalogDigitalConverter if typename != "" {
            @display("p=100,400");
        }
}

File: src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmReceiver.ned