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

#include <Ieee80211OfdmSymbol.h>

Inheritance diagram for inet::physicallayer::Ieee80211OfdmSymbol:
inet::physicallayer::ISymbol

Public Member Functions

 Ieee80211OfdmSymbol (const std::vector< const ApskSymbol * > &subcarrierSymbols)
 
 Ieee80211OfdmSymbol ()
 
const std::vector< const ApskSymbol * > & getSubCarrierSymbols () const
 
int symbolSize () const
 
void pushApskSymbol (const ApskSymbol *apskSymbol, int subcarrierIndex)
 
void clearSymbols ()
 
- Public Member Functions inherited from inet::physicallayer::ISymbol
virtual ~ISymbol ()
 

Protected Attributes

std::vector< const ApskSymbol * > subcarrierSymbols
 

Friends

std::ostream & operator<< (std::ostream &out, const Ieee80211OfdmSymbol &symbol)
 

Constructor & Destructor Documentation

◆ Ieee80211OfdmSymbol() [1/2]

inet::physicallayer::Ieee80211OfdmSymbol::Ieee80211OfdmSymbol ( const std::vector< const ApskSymbol * > &  subcarrierSymbols)
inline

◆ Ieee80211OfdmSymbol() [2/2]

inet::physicallayer::Ieee80211OfdmSymbol::Ieee80211OfdmSymbol ( )
inline
26 { subcarrierSymbols.resize(53, nullptr); } // (48 + 4 + 1), but one of them is skipped.

Member Function Documentation

◆ clearSymbols()

void inet::physicallayer::Ieee80211OfdmSymbol::clearSymbols ( )
inline
30 { subcarrierSymbols.resize(53, nullptr); }

◆ getSubCarrierSymbols()

const std::vector<const ApskSymbol *>& inet::physicallayer::Ieee80211OfdmSymbol::getSubCarrierSymbols ( ) const
inline

◆ pushApskSymbol()

void inet::physicallayer::Ieee80211OfdmSymbol::pushApskSymbol ( const ApskSymbol apskSymbol,
int  subcarrierIndex 
)
15 {
16  if (subcarrierIndex >= 53)
17  throw cRuntimeError("Out of range with subcarrierIndex = %d", subcarrierIndex);
18  subcarrierSymbols[subcarrierIndex] = apskSymbol;
19 }

Referenced by inet::physicallayer::Ieee80211OfdmModulator::insertPilotSubcarriers(), and inet::physicallayer::Ieee80211OfdmModulator::modulate().

◆ symbolSize()

int inet::physicallayer::Ieee80211OfdmSymbol::symbolSize ( ) const
inline
28 { return subcarrierSymbols.size(); }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const Ieee80211OfdmSymbol symbol 
)
friend
22 {
23  if (symbol.subcarrierSymbols[0])
24  out << *symbol.subcarrierSymbols[0];
25  else
26  out << "UNDEFINED SYMBOL";
27  for (unsigned int i = 1; i < symbol.subcarrierSymbols.size(); i++)
28  if (symbol.subcarrierSymbols[i])
29  out << " " << *symbol.subcarrierSymbols[i];
30  else
31  out << " UNDEFINED SYMBOL";
32  return out;
33 }

Member Data Documentation

◆ subcarrierSymbols

std::vector<const ApskSymbol *> inet::physicallayer::Ieee80211OfdmSymbol::subcarrierSymbols
protected

The documentation for this class was generated from the following files:
inet::physicallayer::Ieee80211OfdmSymbol::subcarrierSymbols
std::vector< const ApskSymbol * > subcarrierSymbols
Definition: Ieee80211OfdmSymbol.h:21