A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
lte-test-phy-error-model.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: Marco Miozzo <marco.miozzo@cttc.es>
18
*/
19
20
#ifndef LENA_TEST_PHY_ERROR_MODEL_H
21
#define LENA_TEST_PHY_ERROR_MODEL_H
22
23
#include <ns3/nstime.h>
24
#include <ns3/simulator.h>
25
#include <ns3/test.h>
26
27
using namespace
ns3
;
28
29
/**
30
* \ingroup lte-test
31
*
32
* \brief This system test program creates different test cases with a single eNB and
33
* several UEs, all having the same Radio Bearer specification. In each test
34
* case, the UEs see the same SINR from the eNB; different test cases are
35
* implemented obtained by using different SINR values and different numbers of
36
* UEs. The test consists on ...
37
*/
38
class
LenaDataPhyErrorModelTestCase
:
public
TestCase
39
{
40
public
:
41
/**
42
* Constructor
43
*
44
* \param nUser the number of UE nodes
45
* \param dist the distance between nodes
46
* \param blerRef expected BLER
47
* \param toleranceRxPackets receive packet loss tolerance
48
* \param statsStartTime the start time for collecting statistics
49
* \param rngRun rng run
50
*/
51
LenaDataPhyErrorModelTestCase
(uint16_t nUser,
52
uint16_t dist,
53
double
blerRef,
54
uint16_t toleranceRxPackets,
55
Time
statsStartTime,
56
uint32_t
rngRun);
57
~LenaDataPhyErrorModelTestCase
()
override
;
58
59
private
:
60
void
DoRun
()
override
;
61
/**
62
* Builds the test name string based on provided parameter values
63
* \param nUser the number of UE nodes
64
* \param dist the distance between nodes
65
* \param rngRun the rng run
66
* \returns the name string
67
*/
68
static
std::string
BuildNameString
(uint16_t nUser, uint16_t dist,
uint32_t
rngRun);
69
uint16_t
m_nUser
;
///< number of UE nodes
70
double
m_dist
;
///< the distance between nodes
71
double
m_blerRef
;
///< the expected BLER
72
uint16_t
m_toleranceRxPackets
;
///< receive packet tolerance loss
73
Time
m_statsStartTime
;
///< Extra time in the beginning of simulation to allow RRC connection
74
///< establishment + SRS
75
uint32_t
m_rngRun
;
///< the rng run
76
};
77
78
/**
79
* \ingroup lte-test
80
*
81
* \brief Lena Dl Ctrl Phy Error Model Test Case
82
*/
83
class
LenaDlCtrlPhyErrorModelTestCase
:
public
TestCase
84
{
85
public
:
86
/**
87
* Constructor
88
*
89
* \param nEnb the number of ENB nodes
90
* \param dist the distance between nodes
91
* \param blerRef expected BLER
92
* \param toleranceRxPackets receive packet loss tolerance
93
* \param statsStartTime the start time for collecting statistics
94
* \param rngRun rng number
95
*/
96
LenaDlCtrlPhyErrorModelTestCase
(uint16_t nEnb,
97
uint16_t dist,
98
double
blerRef,
99
uint16_t toleranceRxPackets,
100
Time
statsStartTime,
101
uint32_t
rngRun);
102
~LenaDlCtrlPhyErrorModelTestCase
()
override
;
103
104
private
:
105
void
DoRun
()
override
;
106
/**
107
* Build name string
108
* \param nUser the number of UE nodes
109
* \param dist the distance between nodes
110
* \param rngRun the rng run
111
* \returns the name string
112
*/
113
static
std::string
BuildNameString
(uint16_t nUser, uint16_t dist,
uint32_t
rngRun);
114
uint16_t
m_nEnb
;
///< the number of ENB nodes
115
double
m_dist
;
///< the distance between nodes
116
double
m_blerRef
;
///< the expected BLER
117
uint16_t
m_toleranceRxPackets
;
///< receive packet tolerance loss
118
Time
m_statsStartTime
;
///< Extra time in the beginning of simulation to allow RRC connection
119
///< establishment + SRS
120
uint32_t
m_rngRun
;
///< the rng run number
121
};
122
123
/**
124
* \ingroup lte-test
125
*
126
* \brief Lena Test Phy Error Model Suite
127
*/
128
class
LenaTestPhyErrorModelSuite
:
public
TestSuite
129
{
130
public
:
131
LenaTestPhyErrorModelSuite
();
132
};
133
134
#endif
/* LENA_TEST_PHY_ERROR_MODEL_H */
LenaDataPhyErrorModelTestCase
This system test program creates different test cases with a single eNB and several UEs,...
Definition:
lte-test-phy-error-model.h:39
LenaDataPhyErrorModelTestCase::BuildNameString
static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t rngRun)
Builds the test name string based on provided parameter values.
Definition:
lte-test-phy-error-model.cc:132
LenaDataPhyErrorModelTestCase::m_rngRun
uint32_t m_rngRun
the rng run
Definition:
lte-test-phy-error-model.h:75
LenaDataPhyErrorModelTestCase::m_nUser
uint16_t m_nUser
number of UE nodes
Definition:
lte-test-phy-error-model.h:69
LenaDataPhyErrorModelTestCase::m_dist
double m_dist
the distance between nodes
Definition:
lte-test-phy-error-model.h:70
LenaDataPhyErrorModelTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition:
lte-test-phy-error-model.cc:160
LenaDataPhyErrorModelTestCase::~LenaDataPhyErrorModelTestCase
~LenaDataPhyErrorModelTestCase() override
Definition:
lte-test-phy-error-model.cc:155
LenaDataPhyErrorModelTestCase::m_blerRef
double m_blerRef
the expected BLER
Definition:
lte-test-phy-error-model.h:71
LenaDataPhyErrorModelTestCase::m_toleranceRxPackets
uint16_t m_toleranceRxPackets
receive packet tolerance loss
Definition:
lte-test-phy-error-model.h:72
LenaDataPhyErrorModelTestCase::m_statsStartTime
Time m_statsStartTime
Extra time in the beginning of simulation to allow RRC connection establishment + SRS.
Definition:
lte-test-phy-error-model.h:73
LenaDlCtrlPhyErrorModelTestCase
Lena Dl Ctrl Phy Error Model Test Case.
Definition:
lte-test-phy-error-model.h:84
LenaDlCtrlPhyErrorModelTestCase::m_blerRef
double m_blerRef
the expected BLER
Definition:
lte-test-phy-error-model.h:116
LenaDlCtrlPhyErrorModelTestCase::m_nEnb
uint16_t m_nEnb
the number of ENB nodes
Definition:
lte-test-phy-error-model.h:114
LenaDlCtrlPhyErrorModelTestCase::BuildNameString
static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t rngRun)
Build name string.
Definition:
lte-test-phy-error-model.cc:288
LenaDlCtrlPhyErrorModelTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition:
lte-test-phy-error-model.cc:316
LenaDlCtrlPhyErrorModelTestCase::m_statsStartTime
Time m_statsStartTime
Extra time in the beginning of simulation to allow RRC connection establishment + SRS.
Definition:
lte-test-phy-error-model.h:118
LenaDlCtrlPhyErrorModelTestCase::m_rngRun
uint32_t m_rngRun
the rng run number
Definition:
lte-test-phy-error-model.h:120
LenaDlCtrlPhyErrorModelTestCase::m_dist
double m_dist
the distance between nodes
Definition:
lte-test-phy-error-model.h:115
LenaDlCtrlPhyErrorModelTestCase::m_toleranceRxPackets
uint16_t m_toleranceRxPackets
receive packet tolerance loss
Definition:
lte-test-phy-error-model.h:117
LenaDlCtrlPhyErrorModelTestCase::~LenaDlCtrlPhyErrorModelTestCase
~LenaDlCtrlPhyErrorModelTestCase() override
Definition:
lte-test-phy-error-model.cc:311
LenaTestPhyErrorModelSuite
Lena Test Phy Error Model Suite.
Definition:
lte-test-phy-error-model.h:129
LenaTestPhyErrorModelSuite::LenaTestPhyErrorModelSuite
LenaTestPhyErrorModelSuite()
Definition:
lte-test-phy-error-model.cc:59
ns3::TestCase
encapsulates test code
Definition:
test.h:1061
ns3::TestSuite
A suite of tests to run.
Definition:
test.h:1273
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition:
nstime.h:105
uint32_t
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
lte
test
lte-test-phy-error-model.h
Generated on Tue May 28 2024 23:37:51 for ns-3 by
1.9.6