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

inet::physicallayer::Ieee80211OFDMSymbol::Ieee80211OFDMSymbol ( const std::vector< const APSKSymbol * > &  subcarrierSymbols)
inline
std::vector< const APSKSymbol * > subcarrierSymbols
Definition: Ieee80211OFDMSymbol.h:31
inet::physicallayer::Ieee80211OFDMSymbol::Ieee80211OFDMSymbol ( )
inline
36 { subcarrierSymbols.resize(53, nullptr); } // (48 + 4 + 1), but one of them is skipped.
std::vector< const APSKSymbol * > subcarrierSymbols
Definition: Ieee80211OFDMSymbol.h:31

Member Function Documentation

void inet::physicallayer::Ieee80211OFDMSymbol::clearSymbols ( )
inline
40 { subcarrierSymbols.resize(53, nullptr); }
std::vector< const APSKSymbol * > subcarrierSymbols
Definition: Ieee80211OFDMSymbol.h:31
const std::vector<const APSKSymbol *>& inet::physicallayer::Ieee80211OFDMSymbol::getSubCarrierSymbols ( ) const
inline
void inet::physicallayer::Ieee80211OFDMSymbol::pushAPSKSymbol ( const APSKSymbol apskSymbol,
int  subcarrierIndex 
)

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

25 {
26  if (subcarrierIndex >= 53)
27  throw cRuntimeError("Out of range with subcarrierIndex = %d", subcarrierIndex);
28  subcarrierSymbols[subcarrierIndex] = apskSymbol;
29 }
std::vector< const APSKSymbol * > subcarrierSymbols
Definition: Ieee80211OFDMSymbol.h:31
int inet::physicallayer::Ieee80211OFDMSymbol::symbolSize ( ) const
inline

Referenced by inet::physicallayer::Ieee80211OFDMErrorModel::corruptOFDMSymbol().

38 { return subcarrierSymbols.size(); }
std::vector< const APSKSymbol * > subcarrierSymbols
Definition: Ieee80211OFDMSymbol.h:31

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const Ieee80211OFDMSymbol symbol 
)
friend
32 {
33  if (symbol.subcarrierSymbols[0])
34  out << *symbol.subcarrierSymbols[0];
35  else
36  out << "UNDEFINED SYMBOL";
37  for (unsigned int i = 1; i < symbol.subcarrierSymbols.size(); i++)
38  if (symbol.subcarrierSymbols[i])
39  out << " " << *symbol.subcarrierSymbols[i];
40  else
41  out << " UNDEFINED SYMBOL";
42  return out;
43 }

Member Data Documentation

std::vector<const APSKSymbol *> inet::physicallayer::Ieee80211OFDMSymbol::subcarrierSymbols
protected

The documentation for this class was generated from the following files: