Ieee80211OfdmInterleaver

Package: inet.physicallayer.wireless.ieee80211.bitlevel

Ieee80211OfdmInterleaver

compound module

The ~Ieee80211OfdmInterleaver is defined by a two-step permutation. The first permutation ensures that adjacent coded bits are mapped onto nonadjacent subcarriers. The second ensures that adjacent coded bits are mapped alternately onto less and more significant bits of the constellation and, thereby, long runs of low reliability (LSB) bits are avoided. (IEEE 802.11, 18.3.5.7 Data interleaving)

The module has two modulation-dependent parameters: the number of coded bits per subcarrier (or constellation size, N_{BPSC}) and the number of coded bits per symbol (N_{CBPS}).

The latter is simply N_{BPSC} multiplied by the number of subcarriers in a symbol.

Inheritance diagram

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

Extends

Name Type Description
Module compound module

Base module for all INET compound 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

numberOfCodedBitsPerSymbol int
numberOfCodedBitsPerSubcarrier int

Properties

Name Value Description
class Ieee80211OfdmInterleaverModule
display i=block/switch

Source code

// The ~Ieee80211OfdmInterleaver is defined by a two-step permutation.
// The first permutation ensures that adjacent coded bits are mapped
// onto nonadjacent subcarriers. The second ensures that adjacent coded
// bits are mapped alternately onto less and more significant bits of the
// constellation and, thereby, long runs of low reliability (LSB) bits are
// avoided. (IEEE 802.11, 18.3.5.7 Data interleaving)
//
// The module has two modulation-dependent parameters: the number of coded bits
// per subcarrier (or constellation size, N_{BPSC}) and the number of coded bits
// per symbol (N_{CBPS}).
//
// The latter is simply N_{BPSC} multiplied by the number of subcarriers in a symbol.
//
module Ieee80211OfdmInterleaver extends Module like IInterleaver
{
    parameters:
        int numberOfCodedBitsPerSymbol;
        int numberOfCodedBitsPerSubcarrier;
        @class(Ieee80211OfdmInterleaverModule);
        @display("i=block/switch");
}

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