38     .AddConstructor<YansErrorRateModel> ()
 
   50   return std::log (val) / std::log (2.0);
 
   55   double EbNo = snr * signalSpread / phyRate;
 
   56   double z = std::sqrt (EbNo);
 
   57   double ber = 0.5 * erfc (z);
 
   64   double EbNo = snr * signalSpread / phyRate;
 
   65   double z = std::sqrt ((1.5 * 
Log2 (m) * EbNo) / (m - 1.0));
 
   66   double z1 = ((1.0 - 1.0 / std::sqrt (m)) * erfc (z));
 
   67   double z2 = 1 - std::pow ((1 - z1), 2.0);
 
   68   double ber = z2 / 
Log2 (m);
 
   69   NS_LOG_INFO (
"Qam m=" << m << 
" rate=" << phyRate << 
" snr=" << snr << 
" ber=" << ber);
 
   86   double retval = 
Factorial (n) / (
Factorial (k) * 
Factorial (n - k)) * std::pow (p, static_cast<double> (k)) * std::pow (1 - p, static_cast<double> (n - k));
 
   93   unsigned int dstart = (d + 1) / 2;
 
   94   unsigned int dend = d;
 
   97   for (
unsigned int i = dstart; i < dend; i++)
 
  107   unsigned int dstart = d / 2 + 1;
 
  108   unsigned int dend = d;
 
  111   for (
unsigned int i = dstart; i < dend; i++)
 
  115   pd += 0.5 * 
Binomial (d / 2, ber, d);
 
  137                                    uint32_t signalSpread, uint32_t phyRate,
 
  138                                    uint32_t dFree, uint32_t adFree)
 const 
  140   double ber = 
GetBpskBer (snr, signalSpread, phyRate);
 
  146   double pmu = adFree * pd;
 
  147   pmu = std::min (pmu, 1.0);
 
  148   double pms = std::pow (1 - pmu, nbits);
 
  154                                   uint32_t signalSpread,
 
  156                                   uint32_t m, uint32_t dFree,
 
  157                                   uint32_t adFree, uint32_t adFreePlusOne)
 const 
  159   double ber = 
GetQamBer (snr, m, signalSpread, phyRate);
 
  166   double pmu = adFree * pd;
 
  169   pmu += adFreePlusOne * pd;
 
  170   pmu = std::min (pmu, 1.0);
 
  171   double pms = std::pow (1 - pmu, static_cast<double> (nbits));
 
static TypeId GetTypeId(void)
 
double CalculatePdEven(double ber, unsigned int d) const 
 
static double GetDsssDqpskCck11SuccessRate(double sinr, uint32_t nbits)
 
double CalculatePd(double ber, unsigned int d) const 
 
double GetFecBpskBer(double snr, double nbits, uint32_t signalSpread, uint32_t phyRate, uint32_t dFree, uint32_t adFree) const 
 
enum WifiModulationClass GetModulationClass() const 
 
#define NS_ASSERT(condition)
 
double CalculatePdOdd(double ber, unsigned int d) const 
 
#define NS_LOG_COMPONENT_DEFINE(name)
 
double GetQamBer(double snr, unsigned int m, uint32_t signalSpread, uint32_t phyRate) const 
 
static double GetDsssDqpskSuccessRate(double sinr, uint32_t nbits)
 
represent a single transmission modeA WifiMode is implemented by a single integer which is used to lo...
 
the interface for Wifi's error models 
 
double GetFecQamBer(double snr, uint32_t nbits, uint32_t signalSpread, uint32_t phyRate, uint32_t m, uint32_t dfree, uint32_t adFree, uint32_t adFreePlusOne) const 
 
NS_OBJECT_ENSURE_REGISTERED(AntennaModel)
 
enum WifiCodeRate GetCodeRate(void) const 
 
virtual double GetChunkSuccessRate(WifiMode mode, double snr, uint32_t nbits) const 
 
uint32_t GetBandwidth(void) const 
 
uint8_t GetConstellationSize(void) const 
 
uint64_t GetPhyRate(void) const 
 
double Log2(double val) const 
 
uint32_t Factorial(uint32_t k) const 
 
static double GetDsssDqpskCck5_5SuccessRate(double sinr, uint32_t nbits)
 
double GetBpskBer(double snr, uint32_t signalSpread, uint32_t phyRate) const 
 
double Binomial(uint32_t k, double p, uint32_t n) const 
 
static double GetDsssDbpskSuccessRate(double sinr, uint32_t nbits)
 
a unique identifier for an interface. 
 
uint64_t GetDataRate(void) const 
 
TypeId SetParent(TypeId tid)