#include <Ieee80211ErrorModelBase.h>
|
| | Ieee80211ErrorModelBase () |
| |
| virtual double | computePacketErrorRate (const ISnir *snir, IRadioSignal::SignalPart part) const override |
| | Returns the packet error rate based on SNIR, modulation, FEC encoding and any other physical layer characteristics. More...
|
| |
| virtual double | computeBitErrorRate (const ISnir *snir, IRadioSignal::SignalPart part) const override |
| | Returns the bit error rate based on SNIR, modulation, FEC encoding and any other physical layer characteristics. More...
|
| |
| virtual double | computeSymbolErrorRate (const ISnir *snir, IRadioSignal::SignalPart part) const override |
| | Returns the symbol error rate based on SNIR, modulation, and any other physical layer characteristics. More...
|
| |
| virtual | ~IPrintableObject () |
| |
| virtual std::ostream & | printToStream (std::ostream &stream, int level, int evFlags=0) const |
| | Prints this object to the provided output stream. More...
|
| |
| virtual std::string | printToString () const |
| |
| virtual std::string | printToString (int level, int evFlags=0) const |
| |
| virtual std::string | getInfoStringRepresentation (int evFlags=0) const |
| |
| virtual std::string | getDetailStringRepresentation (int evFlags=0) const |
| |
| virtual std::string | getDebugStringRepresentation (int evFlags=0) const |
| |
| virtual std::string | getTraceStringRepresentation (int evFlags=0) const |
| |
| virtual std::string | getCompleteStringRepresentation (int evFlags=0) const |
| |
|
| virtual double | getHeaderSuccessRate (const IIeee80211Mode *mode, unsigned int bitLength, double snir) const =0 |
| |
| virtual double | getDataSuccessRate (const IIeee80211Mode *mode, unsigned int bitLength, double snir) const =0 |
| |
| virtual Packet * | computeCorruptedPacket (const Packet *packet, double ber) const override |
| |
| virtual double | getDsssDbpskSuccessRate (unsigned int bitLength, double snir) const |
| |
| virtual double | getDsssDqpskSuccessRate (unsigned int bitLength, double snir) const |
| |
| virtual double | getDsssDqpskCck5_5SuccessRate (unsigned int bitLength, double snir) const |
| |
| virtual double | getDsssDqpskCck11SuccessRate (unsigned int bitLength, double snir) const |
| |
| virtual void | initialize (int stage) override |
| |
| virtual double | getScalarSnir (const ISnir *snir) const |
| |
| virtual bool | hasProbabilisticError (b length, double ber) const |
| |
| virtual Packet * | corruptBits (const Packet *packet, double ber, bool &isCorrupted) const |
| |
| virtual Packet * | corruptBytes (const Packet *packet, double ber, bool &isCorrupted) const |
| |
| virtual Packet * | corruptChunks (const Packet *packet, double ber, bool &isCorrupted) const |
| |
| virtual Packet * | corruptPacket (const Packet *packet, bool &isCorrupted) const |
| |
| virtual Packet * | computeCorruptedPacket (const ISnir *snir) const override |
| |
|
| enum | CorruptionMode {
CorruptionMode::CM_UNDEFINED = -1,
CorruptionMode::CM_PACKET,
CorruptionMode::CM_CHUNK,
CorruptionMode::CM_BYTE,
CorruptionMode::CM_BIT
} |
| |
| enum | SnirMode { SnirMode::SM_UNDEFINED = -1,
SnirMode::SM_MIN,
SnirMode::SM_MEAN
} |
| |
| enum | PrintLevel {
PRINT_LEVEL_TRACE,
PRINT_LEVEL_DEBUG,
PRINT_LEVEL_DETAIL,
PRINT_LEVEL_INFO,
PRINT_LEVEL_COMPLETE = INT_MIN
} |
| |
| enum | PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0),
PRINT_FLAG_MULTILINE = (1 << 1)
} |
| |
◆ Ieee80211ErrorModelBase()
| inet::physicallayer::Ieee80211ErrorModelBase::Ieee80211ErrorModelBase |
( |
| ) |
|
◆ computeBitErrorRate()
◆ computeCorruptedPacket()
| Packet * inet::physicallayer::Ieee80211ErrorModelBase::computeCorruptedPacket |
( |
const Packet * |
packet, |
|
|
double |
ber |
|
) |
| const |
|
overrideprotectedvirtual |
◆ computePacketErrorRate()
Returns the packet error rate based on SNIR, modulation, FEC encoding and any other physical layer characteristics.
Implements inet::physicallayer::IErrorModel.
24 auto transmission = snir->getReception()->getTransmission();
25 auto flatTransmission =
dynamic_cast<const FlatTransmissionBase *
>(transmission);
26 auto ieee80211Transmission = check_and_cast<const Ieee80211TransmissionBase *>(transmission);
27 auto mode = ieee80211Transmission->getMode();
28 auto headerLength = flatTransmission !=
nullptr ? flatTransmission->getHeaderLength() : mode->getHeaderMode()->getLength();
29 auto dataLength = flatTransmission !=
nullptr ? flatTransmission->getDataLength() : mode->getDataMode()->getCompleteLength(transmission->getPacket()->getTotalLength() - headerLength);
35 return 1.0 - headerSuccessRate * dataSuccessRate;
39 return 1.0 - headerSuccessRate;
41 return 1.0 - dataSuccessRate;
Referenced by inet::physicallayer::Ieee80211OfdmErrorModel::computePacketModel().
◆ computeSymbolErrorRate()
◆ getDataSuccessRate()
| virtual double inet::physicallayer::Ieee80211ErrorModelBase::getDataSuccessRate |
( |
const IIeee80211Mode * |
mode, |
|
|
unsigned int |
bitLength, |
|
|
double |
snir |
|
) |
| const |
|
protectedpure virtual |
◆ getDsssDbpskSuccessRate()
| double inet::physicallayer::Ieee80211ErrorModelBase::getDsssDbpskSuccessRate |
( |
unsigned int |
bitLength, |
|
|
double |
snir |
|
) |
| const |
|
protectedvirtual |
◆ getDsssDqpskCck11SuccessRate()
| double inet::physicallayer::Ieee80211ErrorModelBase::getDsssDqpskCck11SuccessRate |
( |
unsigned int |
bitLength, |
|
|
double |
snir |
|
) |
| const |
|
protectedvirtual |
◆ getDsssDqpskCck5_5SuccessRate()
| double inet::physicallayer::Ieee80211ErrorModelBase::getDsssDqpskCck5_5SuccessRate |
( |
unsigned int |
bitLength, |
|
|
double |
snir |
|
) |
| const |
|
protectedvirtual |
◆ getDsssDqpskSuccessRate()
| double inet::physicallayer::Ieee80211ErrorModelBase::getDsssDqpskSuccessRate |
( |
unsigned int |
bitLength, |
|
|
double |
snir |
|
) |
| const |
|
protectedvirtual |
◆ getHeaderSuccessRate()
| virtual double inet::physicallayer::Ieee80211ErrorModelBase::getHeaderSuccessRate |
( |
const IIeee80211Mode * |
mode, |
|
|
unsigned int |
bitLength, |
|
|
double |
snir |
|
) |
| const |
|
protectedpure virtual |
◆ sirImpossible
| double inet::physicallayer::Ieee80211ErrorModelBase::sirImpossible = 0.1 |
|
protected |
◆ sirPerfect
| double inet::physicallayer::Ieee80211ErrorModelBase::sirPerfect = 10.0 |
|
protected |
◆ spectralEfficiency1bit
| double inet::physicallayer::Ieee80211ErrorModelBase::spectralEfficiency1bit = 2000000.0 / 1000000.0 |
|
protected |
◆ spectralEfficiency2bit
| double inet::physicallayer::Ieee80211ErrorModelBase::spectralEfficiency2bit = 2000000.0 / 1000000.0 / 2.0 |
|
protected |
The documentation for this class was generated from the following files: