9#ifndef YANS_ERROR_RATE_MODEL_H
10#define YANS_ERROR_RATE_MODEL_H
58 uint8_t numRxAntennas,
60 uint16_t staId)
const override;
70 double GetBpskBer(
double snr,
MHz_u signalSpread, uint64_t phyRate)
const;
81 double GetQamBer(
double snr,
unsigned int m,
MHz_u signalSpread, uint64_t phyRate)
const;
120 double CalculatePd(
double ber,
unsigned int d)
const;
the interface for Wifi's error models
a unique identifier for an interface.
represent a single transmission mode
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
double GetBpskBer(double snr, MHz_u signalSpread, uint64_t phyRate) const
Return BER of BPSK with the given parameters.
double GetFecBpskBer(double snr, uint64_t nbits, MHz_u signalSpread, uint64_t phyRate, uint32_t dFree, uint32_t adFree) const
double DoGetChunkSuccessRate(WifiMode mode, const WifiTxVector &txVector, double snr, uint64_t nbits, uint8_t numRxAntennas, WifiPpduField field, uint16_t staId) const override
A pure virtual method that must be implemented in the subclass.
static TypeId GetTypeId()
Get the type ID.
double Binomial(uint32_t k, double p, uint32_t n) const
Return Binomial distribution for a given k, p, and n.
double CalculatePdEven(double ber, unsigned int d) const
uint32_t Factorial(uint32_t k) const
Return k!
double CalculatePdOdd(double ber, unsigned int d) const
double CalculatePd(double ber, unsigned int d) const
double GetFecQamBer(double snr, uint64_t nbits, MHz_u signalSpread, uint64_t phyRate, uint32_t m, uint32_t dfree, uint32_t adFree, uint32_t adFreePlusOne) const
double GetQamBer(double snr, unsigned int m, MHz_u signalSpread, uint64_t phyRate) const
Return BER of QAM-m with the given parameters.
WifiPpduField
The type of PPDU field (grouped for convenience)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
double MHz_u
MHz weak type.