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-tdbet-ff-mac-scheduler.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Marco Miozzo <marco.miozzo@cttc.es>,
7
* Nicola Baldo <nbaldo@cttc.es>
8
* Dizhi Zhou <dizhi.zhou@gmail.com>
9
*/
10
11
#ifndef LENA_TEST_TDBET_FF_MAC_SCHEDULER_H
12
#define LENA_TEST_TDBET_FF_MAC_SCHEDULER_H
13
14
#include "ns3/simulator.h"
15
#include "ns3/test.h"
16
17
using namespace
ns3
;
18
19
/**
20
* \ingroup lte-test
21
*
22
* \brief This system test program creates different test cases with a single eNB and
23
* several UEs, all having the same Radio Bearer specification. In each test
24
* case, the UEs see the same SINR from the eNB; different test cases are
25
* implemented obtained by using different SINR values and different numbers of
26
* UEs. The test consists on checking that the obtained throughput performance
27
* is equal among users is consistent with the definition of blind equal throughput
28
* scheduling
29
*/
30
class
LenaTdBetFfMacSchedulerTestCase1
:
public
TestCase
31
{
32
public
:
33
/**
34
* Constructor
35
*
36
* \param nUser the number of UE nodes
37
* \param dist the distance between UE nodes and eNodeB
38
* \param thrRefDl DL reference throughput
39
* \param thrRefUl UL reference throughput
40
* \param errorModelEnabled indicates whether the error model is enabled
41
*/
42
LenaTdBetFfMacSchedulerTestCase1
(uint16_t nUser,
43
double
dist,
44
double
thrRefDl,
45
double
thrRefUl,
46
bool
errorModelEnabled);
47
~LenaTdBetFfMacSchedulerTestCase1
()
override
;
48
49
private
:
50
/**
51
* Builds the test name string based on provided parameter values
52
* \param nUser the number of UE nodes
53
* \param dist the distance between UE nodes and eNodeB
54
* \returns the name string
55
*/
56
static
std::string
BuildNameString
(uint16_t nUser,
double
dist);
57
void
DoRun
()
override
;
58
uint16_t
m_nUser
;
///< number of UE nodes
59
double
m_dist
;
///< the distance between UE nodes and eNodeB
60
double
m_thrRefDl
;
///< the DL throughput reference
61
double
m_thrRefUl
;
///< the UL throughput reference
62
bool
m_errorModelEnabled
;
///< indicates whether the error model is enabled
63
};
64
65
/**
66
* \ingroup lte-test
67
*
68
* \brief Lena TdBet Ff Mac Scheduler Test Case
69
*/
70
class
LenaTdBetFfMacSchedulerTestCase2
:
public
TestCase
71
{
72
public
:
73
/**
74
* Constructor
75
*
76
* \param dist the distance between nodes
77
* \param achievableRateDl the DL achievable rate
78
* \param estThrTdBetUl UL reference throughput
79
* \param errorModelEnabled indicates whether the error model is enabled
80
*/
81
LenaTdBetFfMacSchedulerTestCase2
(std::vector<double> dist,
82
std::vector<uint32_t> achievableRateDl,
83
std::vector<uint32_t> estThrTdBetUl,
84
bool
errorModelEnabled);
85
~LenaTdBetFfMacSchedulerTestCase2
()
override
;
86
87
private
:
88
/**
89
* Build name string
90
* \param nUser the number of UE nodes
91
* \param dist the distance between nodes
92
* \returns the name string
93
*/
94
static
std::string
BuildNameString
(uint16_t nUser, std::vector<double> dist);
95
void
DoRun
()
override
;
96
uint16_t
m_nUser
;
///< number of UE nodes
97
std::vector<double>
m_dist
;
///< the distance between nodes
98
std::vector<uint32_t>
m_achievableRateDl
;
///< DL achievable rate
99
std::vector<uint32_t>
m_estThrTdBetUl
;
///< etimated TDBET UL throughput
100
bool
m_errorModelEnabled
;
///< indicates whether the error model is enabled
101
};
102
103
/**
104
* \ingroup lte-test
105
*
106
* \brief Test suite for TdBetFfMacScheduler tests.
107
*/
108
class
LenaTestTdBetFfMacSchedulerSuite
:
public
TestSuite
109
{
110
public
:
111
LenaTestTdBetFfMacSchedulerSuite
();
112
};
113
114
#endif
/* LENA_TEST_TDBET_FF_MAC_SCHEDULER_H */
LenaTdBetFfMacSchedulerTestCase1
This system test program creates different test cases with a single eNB and several UEs,...
Definition
lte-test-tdbet-ff-mac-scheduler.h:31
LenaTdBetFfMacSchedulerTestCase1::~LenaTdBetFfMacSchedulerTestCase1
~LenaTdBetFfMacSchedulerTestCase1() override
Definition
lte-test-tdbet-ff-mac-scheduler.cc:217
LenaTdBetFfMacSchedulerTestCase1::m_errorModelEnabled
bool m_errorModelEnabled
indicates whether the error model is enabled
Definition
lte-test-tdbet-ff-mac-scheduler.h:62
LenaTdBetFfMacSchedulerTestCase1::BuildNameString
static std::string BuildNameString(uint16_t nUser, double dist)
Builds the test name string based on provided parameter values.
Definition
lte-test-tdbet-ff-mac-scheduler.cc:196
LenaTdBetFfMacSchedulerTestCase1::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-tdbet-ff-mac-scheduler.h:58
LenaTdBetFfMacSchedulerTestCase1::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-tdbet-ff-mac-scheduler.cc:222
LenaTdBetFfMacSchedulerTestCase1::m_thrRefUl
double m_thrRefUl
the UL throughput reference
Definition
lte-test-tdbet-ff-mac-scheduler.h:61
LenaTdBetFfMacSchedulerTestCase1::m_thrRefDl
double m_thrRefDl
the DL throughput reference
Definition
lte-test-tdbet-ff-mac-scheduler.h:60
LenaTdBetFfMacSchedulerTestCase1::LenaTdBetFfMacSchedulerTestCase1
LenaTdBetFfMacSchedulerTestCase1(uint16_t nUser, double dist, double thrRefDl, double thrRefUl, bool errorModelEnabled)
Constructor.
Definition
lte-test-tdbet-ff-mac-scheduler.cc:203
LenaTdBetFfMacSchedulerTestCase1::m_dist
double m_dist
the distance between UE nodes and eNodeB
Definition
lte-test-tdbet-ff-mac-scheduler.h:59
LenaTdBetFfMacSchedulerTestCase2
Lena TdBet Ff Mac Scheduler Test Case.
Definition
lte-test-tdbet-ff-mac-scheduler.h:71
LenaTdBetFfMacSchedulerTestCase2::BuildNameString
static std::string BuildNameString(uint16_t nUser, std::vector< double > dist)
Build name string.
Definition
lte-test-tdbet-ff-mac-scheduler.cc:377
LenaTdBetFfMacSchedulerTestCase2::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-tdbet-ff-mac-scheduler.cc:408
LenaTdBetFfMacSchedulerTestCase2::m_dist
std::vector< double > m_dist
the distance between nodes
Definition
lte-test-tdbet-ff-mac-scheduler.h:97
LenaTdBetFfMacSchedulerTestCase2::LenaTdBetFfMacSchedulerTestCase2
LenaTdBetFfMacSchedulerTestCase2(std::vector< double > dist, std::vector< uint32_t > achievableRateDl, std::vector< uint32_t > estThrTdBetUl, bool errorModelEnabled)
Constructor.
Definition
lte-test-tdbet-ff-mac-scheduler.cc:389
LenaTdBetFfMacSchedulerTestCase2::~LenaTdBetFfMacSchedulerTestCase2
~LenaTdBetFfMacSchedulerTestCase2() override
Definition
lte-test-tdbet-ff-mac-scheduler.cc:403
LenaTdBetFfMacSchedulerTestCase2::m_estThrTdBetUl
std::vector< uint32_t > m_estThrTdBetUl
etimated TDBET UL throughput
Definition
lte-test-tdbet-ff-mac-scheduler.h:99
LenaTdBetFfMacSchedulerTestCase2::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-tdbet-ff-mac-scheduler.h:96
LenaTdBetFfMacSchedulerTestCase2::m_errorModelEnabled
bool m_errorModelEnabled
indicates whether the error model is enabled
Definition
lte-test-tdbet-ff-mac-scheduler.h:100
LenaTdBetFfMacSchedulerTestCase2::m_achievableRateDl
std::vector< uint32_t > m_achievableRateDl
DL achievable rate.
Definition
lte-test-tdbet-ff-mac-scheduler.h:98
LenaTestTdBetFfMacSchedulerSuite
Test suite for TdBetFfMacScheduler tests.
Definition
lte-test-tdbet-ff-mac-scheduler.h:109
LenaTestTdBetFfMacSchedulerSuite::LenaTestTdBetFfMacSchedulerSuite
LenaTestTdBetFfMacSchedulerSuite()
Definition
lte-test-tdbet-ff-mac-scheduler.cc:47
ns3::TestCase
encapsulates test code
Definition
test.h:1050
ns3::TestSuite
A suite of tests to run.
Definition
test.h:1267
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
lte
test
lte-test-tdbet-ff-mac-scheduler.h
Generated on Fri Nov 8 2024 13:59:04 for ns-3 by
1.11.0