#include <Ieee80211OFDMDemodulator.h>
inet::physicallayer::Ieee80211OFDMDemodulator::Ieee80211OFDMDemodulator |
( |
const Ieee80211OFDMModulation * |
subcarrierModulation | ) |
|
const Ieee80211OFDMModulation * subcarrierModulation
Definition: Ieee80211OFDMDemodulator.h:37
const IReceptionBitModel * inet::physicallayer::Ieee80211OFDMDemodulator::createBitModel |
( |
const BitVector * |
bitRepresentation, |
|
|
int |
signalFieldBitLength, |
|
|
bps |
signalFieldBitRate, |
|
|
int |
dataFieldBitLength, |
|
|
bps |
dataFieldBitRate |
|
) |
| const |
|
protected |
Referenced by demodulate().
62 return new ReceptionBitModel(signalFieldLength, signalFieldBitRate, dataFieldLength, dataFieldBitRate, bitRepresentation);
Implements inet::physicallayer::IDemodulator.
Referenced by inet::physicallayer::Ieee80211LayeredOFDMReceiver::createSignalFieldBitModel(), and inet::physicallayer::Ieee80211OFDMDemodulatorModule::demodulate().
72 const std::vector<const ISymbol *> *symbols = symbolModel->getSymbols();
73 BitVector *bitRepresentation =
new BitVector();
74 for (
auto & symbols_i : *symbols) {
75 const Ieee80211OFDMSymbol *symbol =
dynamic_cast<const Ieee80211OFDMSymbol *
>(symbols_i);
77 for (
unsigned int j = 0; j < bits.getSize(); j++)
78 bitRepresentation->appendBit(bits.getBit(j));
const IReceptionBitModel * createBitModel(const BitVector *bitRepresentation, int signalFieldBitLength, bps signalFieldBitRate, int dataFieldBitLength, bps dataFieldBitRate) const
Definition: Ieee80211OFDMDemodulator.cc:60
compose< b, pow< s,-1 > > bps
Definition: Units.h:985
BitVector demodulateSymbol(const Ieee80211OFDMSymbol *signalSymbol) const
Definition: Ieee80211OFDMDemodulator.cc:43
#define NaN
Definition: INETMath.h:103
Referenced by demodulate().
45 std::vector<const APSKSymbol *> apskSymbols = signalSymbol->getSubCarrierSymbols();
48 for (
unsigned int i = 0; i < apskSymbols.size(); i++) {
50 const APSKSymbol *apskSymbol = apskSymbols.at(i);
52 for (
unsigned int j = 0; j < bits.getSize(); j++)
56 EV_DEBUG <<
"The field symbols has been demodulated into the following bit stream: " << field << endl;
const APSKModulationBase * getSubcarrierModulation() const
Definition: Ieee80211OFDMModulation.h:34
void appendBit(bool value)
Definition: ShortBitVector.h:66
bool isPilotOrDcSubcarrier(int i) const
Definition: Ieee80211OFDMDemodulator.cc:65
virtual ShortBitVector demapToBitRepresentation(const APSKSymbol *symbol) const
Definition: APSKModulationBase.cc:77
const Ieee80211OFDMModulation * subcarrierModulation
Definition: Ieee80211OFDMDemodulator.h:37
bool inet::physicallayer::Ieee80211OFDMDemodulator::isPilotOrDcSubcarrier |
( |
int |
i | ) |
const |
|
protected |
Referenced by demodulateSymbol().
67 return i == 5 || i == 19 || i == 33 || i == 47 || i == 26;
std::ostream & inet::physicallayer::Ieee80211OFDMDemodulator::printToStream |
( |
std::ostream & |
stream, |
|
|
int |
level |
|
) |
| const |
|
overridevirtual |
Prints this object to the provided output stream.
Function calls to operator<< with pointers or references either const or not are all forwarded to this function.
Reimplemented from inet::physicallayer::IPrintableObject.
Referenced by inet::physicallayer::Ieee80211OFDMDemodulatorModule::printToStream().
37 stream <<
"Ieee80211OFDMDemodulator";
std::string printObjectToString(const IPrintableObject *object, int level)
Definition: IPrintableObject.h:73
Definition: IPrintableObject.h:34
const Ieee80211OFDMModulation * subcarrierModulation
Definition: Ieee80211OFDMDemodulator.h:37
The documentation for this class was generated from the following files: