A Discrete-Event Network Simulator
API
ns3::DsssErrorRateModel Class Reference

an implementation of DSSS error rate model More...

#include "dsss-error-rate-model.h"

+ Collaboration diagram for ns3::DsssErrorRateModel:

Static Public Member Functions

static double DqpskFunction (double x)
 A function DQPSK. More...
 
static double GetDsssDbpskSuccessRate (double sinr, uint64_t nbits)
 Return the chunk success rate of the differential BPSK. More...
 
static double GetDsssDqpskCck11SuccessRate (double sinr, uint64_t nbits)
 Return the chunk success rate of the differential encoded QPSK for 11Mbps data rate. More...
 
static double GetDsssDqpskCck5_5SuccessRate (double sinr, uint64_t nbits)
 Return the chunk success rate of the differential encoded QPSK for 5.5Mbps data rate. More...
 
static double GetDsssDqpskSuccessRate (double sinr, uint64_t nbits)
 Return the chunk success rate of the differential encoded QPSK. More...
 

Static Protected Attributes

static const double WLAN_SIR_IMPOSSIBLE = 0.1
 WLAN impossible. More...
 
static const double WLAN_SIR_PERFECT = 10.0
 WLAN perfect. More...
 

Detailed Description

an implementation of DSSS error rate model

The 802.11b modulations:

  • 1 Mbps mode is based on DBPSK. BER is from equation 5.2-69 from John G. Proakis Digital Communications, 2001 edition
  • 2 Mbps model is based on DQPSK. Equation 8 from "Tight bounds and accurate approximations for DQPSK transmission bit error rate", G. Ferrari and G.E. Corazza ELECTRONICS LETTERS, 40(20):1284-1285, September 2004
  • 5.5 Mbps and 11 Mbps are based on equations (18) and (17) from "Properties and performance of the IEEE 802.11b complementarycode-key signal sets", Michael B. Pursley and Thomas C. Royster. IEEE TRANSACTIONS ON COMMUNICATIONS, 57(2):440-449, February 2009.

This model is designed to run with highest accuracy using the GNU Scientific Library (GSL), but if GSL is not installed on the platform, will fall back to (slightly less accurate) Matlab-derived models for the CCK modulation types.

More detailed description and validation can be found in http://www.nsnam.org/~pei/80211b.pdf

Definition at line 72 of file dsss-error-rate-model.h.

Member Function Documentation

◆ DqpskFunction()

double ns3::DsssErrorRateModel::DqpskFunction ( double  x)
static

A function DQPSK.

Parameters
xthe input variable
Returns
DQPSK (x)

Definition at line 44 of file dsss-error-rate-model.cc.

References NS_LOG_FUNCTION_NOARGS, and two-ray-to-three-gpp-ch-calibration::x.

Referenced by GetDsssDqpskSuccessRate().

+ Here is the caller graph for this function:

◆ GetDsssDbpskSuccessRate()

double ns3::DsssErrorRateModel::GetDsssDbpskSuccessRate ( double  sinr,
uint64_t  nbits 
)
static

Return the chunk success rate of the differential BPSK.

Parameters
sinrthe SINR ratio (not dB) of the chunk
nbitsthe size of the chunk
Returns
the chunk success rate of the differential BPSK

Definition at line 52 of file dsss-error-rate-model.cc.

References NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::ErrorRateModel::GetChunkSuccessRate().

+ Here is the caller graph for this function:

◆ GetDsssDqpskCck11SuccessRate()

double ns3::DsssErrorRateModel::GetDsssDqpskCck11SuccessRate ( double  sinr,
uint64_t  nbits 
)
static

Return the chunk success rate of the differential encoded QPSK for 11Mbps data rate.

Parameters
sinrthe SINR ratio (not dB) of the chunk
nbitsthe size of the chunk
Returns
the chunk success rate of the differential encoded QPSK for

Definition at line 104 of file dsss-error-rate-model.cc.

References min, NS_LOG_DEBUG, NS_LOG_FUNCTION_NOARGS, NS_LOG_WARN, WLAN_SIR_IMPOSSIBLE, and WLAN_SIR_PERFECT.

Referenced by ns3::ErrorRateModel::GetChunkSuccessRate().

+ Here is the caller graph for this function:

◆ GetDsssDqpskCck5_5SuccessRate()

double ns3::DsssErrorRateModel::GetDsssDqpskCck5_5SuccessRate ( double  sinr,
uint64_t  nbits 
)
static

Return the chunk success rate of the differential encoded QPSK for 5.5Mbps data rate.

Parameters
sinrthe SINR ratio (not dB) of the chunk
nbitsthe size of the chunk
Returns
the chunk success rate of the differential encoded QPSK for

Definition at line 70 of file dsss-error-rate-model.cc.

References min, NS_LOG_FUNCTION_NOARGS, NS_LOG_WARN, WLAN_SIR_IMPOSSIBLE, and WLAN_SIR_PERFECT.

Referenced by ns3::ErrorRateModel::GetChunkSuccessRate().

+ Here is the caller graph for this function:

◆ GetDsssDqpskSuccessRate()

double ns3::DsssErrorRateModel::GetDsssDqpskSuccessRate ( double  sinr,
uint64_t  nbits 
)
static

Return the chunk success rate of the differential encoded QPSK.

Parameters
sinrthe SINR ratio (not dB) of the chunk
nbitsthe size of the chunk
Returns
the chunk success rate of the differential encoded QPSK.

Definition at line 61 of file dsss-error-rate-model.cc.

References DqpskFunction(), and NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::ErrorRateModel::GetChunkSuccessRate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ WLAN_SIR_IMPOSSIBLE

const double ns3::DsssErrorRateModel::WLAN_SIR_IMPOSSIBLE = 0.1
staticprotected

WLAN impossible.

Definition at line 130 of file dsss-error-rate-model.h.

Referenced by GetDsssDqpskCck11SuccessRate(), and GetDsssDqpskCck5_5SuccessRate().

◆ WLAN_SIR_PERFECT

const double ns3::DsssErrorRateModel::WLAN_SIR_PERFECT = 10.0
staticprotected

WLAN perfect.

Definition at line 128 of file dsss-error-rate-model.h.

Referenced by GetDsssDqpskCck11SuccessRate(), and GetDsssDqpskCck5_5SuccessRate().


The documentation for this class was generated from the following files: