Ieee80211OfdmModulator

Package: inet.physicallayer.wireless.ieee80211.bitlevel

Ieee80211OfdmModulator

simple module

C++ definition

This is an IEEE 802.11 OFDM modulator module. The implementation is based on the 18.3.5.8 Subcarrier modulation mapping section in IEEE 802.11-2012 Std.

It has only one parameter: the subcarrier modulation, which, in compliant mode, is one of the following constellation mappings (Table 18-7.):

  • BPSK
  • QPSK
  • 16-QAM
  • 64-QAM

However, it can be used with an arbitrary OFDM compatible constellation mapping.

Inheritance diagram

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

Extends

Name Type Description
SimpleModule simple module

Base module for all INET simple modules.

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

numSubcarriers int 52
subcarrierModulation string
pilotSubcarrierPolarityVectorOffset int

Properties

Name Value Description
class Ieee80211OfdmModulatorModule
display i=block/mac

Source code

// This is an IEEE 802.11 OFDM modulator module. The
// implementation is based on the 18.3.5.8 Subcarrier modulation
// mapping section in IEEE 802.11-2012 Std.
//
// It has only one parameter: the subcarrier modulation,
// which, in compliant mode, is one of the following constellation
// mappings (Table 18-7.):
// - BPSK
// - QPSK
// - 16-QAM
// - 64-QAM
//
// However, it can be used with an arbitrary OFDM compatible
// constellation mapping.
//
simple Ieee80211OfdmModulator extends SimpleModule like IModulator
{
    parameters:
        @class(Ieee80211OfdmModulatorModule);
        int numSubcarriers = default(52);
        string subcarrierModulation;
        int pilotSubcarrierPolarityVectorOffset;
        @display("i=block/mac");
}

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