A Discrete-Event Network Simulator
API
dsss-error-rate-model.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2010 The Boeing Company
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Gary Pei <guangyu.pei@boeing.com>
19  */
20 
21 #ifndef DSS_ERROR_RATE_MODEL_H
22 #define DSS_ERROR_RATE_MODEL_H
23 
24 #ifdef HAVE_GSL
25 #include <gsl/gsl_math.h>
26 #include <gsl/gsl_integration.h>
27 #include <gsl/gsl_cdf.h>
28 #include <gsl/gsl_sf_bessel.h>
29 #endif
30 
31 namespace ns3 {
32 
33 #ifdef HAVE_GSL
34 typedef struct FunctionParameterType
35 {
36  double beta;
37  double n;
38 } FunctionParameters;
39 
40 double IntegralFunction (double x, void *params);
41 #endif
42 
67 {
68 public:
76  static double DqpskFunction (double x);
85  static double GetDsssDbpskSuccessRate (double sinr, uint64_t nbits);
94  static double GetDsssDqpskSuccessRate (double sinr,uint64_t nbits);
104  static double GetDsssDqpskCck5_5SuccessRate (double sinr,uint64_t nbits);
114  static double GetDsssDqpskCck11SuccessRate (double sinr,uint64_t nbits);
115 #ifdef HAVE_GSL
116  static double SymbolErrorProb16Cck (double e2);
117  static double SymbolErrorProb256Cck (double e1);
118 #else
119 
120 
121 protected:
123  static const double WLAN_SIR_PERFECT;
125  static const double WLAN_SIR_IMPOSSIBLE;
126 #endif
127 };
128 
129 } //namespace ns3
130 
131 #endif /* DSSS_ERROR_RATE_MODEL_H */
static const double WLAN_SIR_PERFECT
WLAN perfect.
static double GetDsssDbpskSuccessRate(double sinr, uint64_t nbits)
Return the chunk success rate of the differential BPSK.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
an implementation of DSSS error rate modelThe 802.11b modulations:
static double GetDsssDqpskCck5_5SuccessRate(double sinr, uint64_t nbits)
Return the chunk success rate of the differential encoded QPSK for 5.5Mbps data rate.
static const double WLAN_SIR_IMPOSSIBLE
WLAN impossible.
static double DqpskFunction(double x)
A function DQPSK.
static double GetDsssDqpskSuccessRate(double sinr, uint64_t nbits)
Return the chunk success rate of the differential encoded QPSK.
static double GetDsssDqpskCck11SuccessRate(double sinr, uint64_t nbits)
Return the chunk success rate of the differential encoded QPSK for 11Mbps data rate.