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 #include <stdint.h>
24 
25 #ifdef ENABLE_GSL
26 #include <gsl/gsl_math.h>
27 #include <gsl/gsl_integration.h>
28 #include <gsl/gsl_cdf.h>
29 #include <gsl/gsl_sf_bessel.h>
30 #endif
31 
32 namespace ns3 {
33 
34 #ifdef ENABLE_GSL
35 typedef struct FunctionParameterType
36 {
37  double beta;
38  double n;
39 } FunctionParameters;
40 
41 double IntegralFunction (double x, void *params);
42 #endif
43 
68 {
69 public:
76  static double DqpskFunction (double x);
84  static double GetDsssDbpskSuccessRate (double sinr, uint32_t nbits);
92  static double GetDsssDqpskSuccessRate (double sinr,uint32_t nbits);
101  static double GetDsssDqpskCck5_5SuccessRate (double sinr,uint32_t nbits);
110  static double GetDsssDqpskCck11SuccessRate (double sinr,uint32_t nbits);
111 #ifdef ENABLE_GSL
112  static double SymbolErrorProb16Cck (double e2);
113  static double SymbolErrorProb256Cck (double e1);
114 #else
115 protected:
116  static const double WLAN_SIR_PERFECT;
117  static const double WLAN_SIR_IMPOSSIBLE;
118 #endif
119 };
120 
121 } // namespace ns3
122 
123 #endif /* DSSS_ERROR_RATE_MODEL_H */
static double GetDsssDqpskCck11SuccessRate(double sinr, uint32_t nbits)
Return the chunk success rate of the differential encoded QPSK for 11Mbps data rate.
static const double WLAN_SIR_PERFECT
static double GetDsssDqpskSuccessRate(double sinr, uint32_t nbits)
Return the chunk success rate of the differential encoded QPSK.
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, uint32_t nbits)
Return the chunk success rate of the differential encoded QPSK for 5.5Mbps data rate.
static const double WLAN_SIR_IMPOSSIBLE
static double DqpskFunction(double x)
A function DQPSK.
static double GetDsssDbpskSuccessRate(double sinr, uint32_t nbits)
Return the chunk success rate of the differential BPSK.