INET Framework for OMNeT++/OMNEST
inet::physicallayer::Ieee80211VhtCompliantCodes Class Reference

#include <Ieee80211VhtCode.h>

Static Public Member Functions

static const Ieee80211VhtCodegetCompliantCode (const Ieee80211ConvolutionalCode *convolutionalCode, const Ieee80211OfdmModulation *stream1Modulation, const Ieee80211OfdmModulation *stream2Modulation, const Ieee80211OfdmModulation *stream3Modulation, const Ieee80211OfdmModulation *stream4Modulation, const Ieee80211OfdmModulation *stream5Modulation, const Ieee80211OfdmModulation *stream6Modulation, const Ieee80211OfdmModulation *stream7Modulation, const Ieee80211OfdmModulation *stream8Modulation, Hz bandwidth, bool withScrambling=true)
 

Member Function Documentation

◆ getCompliantCode()

const Ieee80211VhtCode * inet::physicallayer::Ieee80211VhtCompliantCodes::getCompliantCode ( const Ieee80211ConvolutionalCode convolutionalCode,
const Ieee80211OfdmModulation stream1Modulation,
const Ieee80211OfdmModulation stream2Modulation,
const Ieee80211OfdmModulation stream3Modulation,
const Ieee80211OfdmModulation stream4Modulation,
const Ieee80211OfdmModulation stream5Modulation,
const Ieee80211OfdmModulation stream6Modulation,
const Ieee80211OfdmModulation stream7Modulation,
const Ieee80211OfdmModulation stream8Modulation,
Hz  bandwidth,
bool  withScrambling = true 
)
static
27 {
28  std::vector<unsigned int> numberOfCodedBitsPerSpatialStreams;
29  if (stream1Modulation)
30  numberOfCodedBitsPerSpatialStreams.push_back(stream1Modulation->getSubcarrierModulation()->getCodeWordSize());
31  if (stream2Modulation)
32  numberOfCodedBitsPerSpatialStreams.push_back(stream2Modulation->getSubcarrierModulation()->getCodeWordSize());
33  if (stream3Modulation)
34  numberOfCodedBitsPerSpatialStreams.push_back(stream3Modulation->getSubcarrierModulation()->getCodeWordSize());
35  if (stream4Modulation)
36  numberOfCodedBitsPerSpatialStreams.push_back(stream4Modulation->getSubcarrierModulation()->getCodeWordSize());
37  if (stream5Modulation)
38  numberOfCodedBitsPerSpatialStreams.push_back(stream5Modulation->getSubcarrierModulation()->getCodeWordSize());
39  if (stream6Modulation)
40  numberOfCodedBitsPerSpatialStreams.push_back(stream6Modulation->getSubcarrierModulation()->getCodeWordSize());
41  if (stream7Modulation)
42  numberOfCodedBitsPerSpatialStreams.push_back(stream7Modulation->getSubcarrierModulation()->getCodeWordSize());
43  if (stream8Modulation)
44  numberOfCodedBitsPerSpatialStreams.push_back(stream8Modulation->getSubcarrierModulation()->getCodeWordSize());
45  return withScrambling ? new Ieee80211VhtCode(convolutionalCode, new Ieee80211VhtInterleaving(numberOfCodedBitsPerSpatialStreams, bandwidth), &Ieee80211OfdmCompliantCodes::ofdmScrambling) :
46  new Ieee80211VhtCode(convolutionalCode, new Ieee80211VhtInterleaving(numberOfCodedBitsPerSpatialStreams, bandwidth), nullptr);
47 }

Referenced by inet::physicallayer::Ieee80211VhtCompliantModes::getCompliantMode(), and inet::physicallayer::Ieee80211Vhtmcs::Ieee80211Vhtmcs().


The documentation for this class was generated from the following files:
inet::physicallayer::Ieee80211OfdmCompliantCodes::ofdmScrambling
static const AdditiveScrambling ofdmScrambling
Definition: Ieee80211OfdmCode.h:54