INET Framework for OMNeT++/OMNEST
|
Model the error rate for different modulations. More...
#include <Ieee80211YansErrorModel.h>
Public Member Functions | |
virtual std::ostream & | printToStream (std::ostream &stream, int level) const override |
Prints this object to the provided output stream. More... | |
Public Member Functions inherited from inet::physicallayer::Ieee80211ErrorModelBase | |
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... | |
Public Member Functions inherited from inet::physicallayer::IPrintableObject | |
virtual | ~IPrintableObject () |
virtual std::string | getInfoStringRepresentation () const |
virtual std::string | getDetailStringRepresentation () const |
virtual std::string | getDebugStringRepresentation () const |
virtual std::string | getTraceStringRepresentation () const |
virtual std::string | getCompleteStringRepresentation () const |
Protected Member Functions | |
double | getBpskBer (double snr, Hz signalSpread, bps phyRate) const |
double | getQamBer (double snr, unsigned int m, Hz signalSpread, bps phyRate) const |
uint32_t | factorial (uint32_t k) const |
double | binomialCoefficient (uint32_t k, double p, uint32_t n) const |
double | calculatePdOdd (double ber, unsigned int d) const |
double | calculatePdEven (double ber, unsigned int d) const |
double | calculatePd (double ber, unsigned int d) const |
double | getFecBpskBer (double snr, double nbits, Hz signalSpread, bps phyRate, uint32_t dFree, uint32_t adFree) const |
double | getFecQamBer (double snr, uint32_t nbits, Hz signalSpread, bps phyRate, uint32_t m, uint32_t dfree, uint32_t adFree, uint32_t adFreePlusOne) const |
virtual double | getOFDMAndERPOFDMChunkSuccessRate (const APSKModulationBase *subcarrierModulation, const ConvolutionalCode *convolutionalCode, unsigned int bitLength, bps gorssBitrate, Hz bandwidth, double snr) const |
virtual double | getDSSSAndHrDSSSChunkSuccessRate (bps bitrate, unsigned int bitLength, double snr) const |
virtual double | getHeaderSuccessRate (const IIeee80211Mode *mode, unsigned int bitLength, double snr) const override |
virtual double | getDataSuccessRate (const IIeee80211Mode *mode, unsigned int bitLength, double snr) const override |
Additional Inherited Members | |
Public Types inherited from inet::physicallayer::IPrintableObject | |
enum | PrintLevel { PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO, PRINT_LEVEL_COMPLETE = INT_MIN } |
Model the error rate for different modulations.
A packet of interest (e.g., a packet can potentially be received by the MAC) is divided into chunks. Each chunk is related to an start/end receiving event. For each chunk, it calculates the ratio (SINR) between received power of packet of interest and summation of noise and interfering power of all the other incoming packets. Then, it will calculate the success rate of the chunk based on BER of the modulation. The success reception rate of the packet is derived from the success rate of all chunks.
The 802.11b modulations:
|
protected |
Referenced by calculatePdEven(), and calculatePdOdd().
|
protected |
Referenced by getFecBpskBer(), and getFecQamBer().
|
protected |
Referenced by calculatePd().
|
protected |
Referenced by calculatePd().
|
protected |
Referenced by binomialCoefficient().
|
protected |
Referenced by getFecBpskBer().
|
overrideprotectedvirtual |
Implements inet::physicallayer::Ieee80211ErrorModelBase.
|
protectedvirtual |
Referenced by getDataSuccessRate(), and getHeaderSuccessRate().
|
protected |
Referenced by getOFDMAndERPOFDMChunkSuccessRate().
|
protected |
Referenced by getOFDMAndERPOFDMChunkSuccessRate().
|
overrideprotectedvirtual |
Implements inet::physicallayer::Ieee80211ErrorModelBase.
|
protectedvirtual |
Referenced by getDataSuccessRate(), and getHeaderSuccessRate().
|
protected |
Referenced by getFecQamBer().
|
inlineoverridevirtual |
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.