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-fdbet-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_FDBET_FF_MAC_SCHEDULER_H
12
#define LENA_TEST_FDBET_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
LenaFdBetFfMacSchedulerTestCase1
:
public
TestCase
31
{
32
public
:
33
/**
34
* Constructor
35
*
36
* \param nUser number of UE nodes
37
* \param dist distance between nodes
38
* \param thrRefDl DL throughput reference
39
* \param thrRefUl UL throughput reference
40
* \param errorModelEnabled error model enabled?
41
*/
42
LenaFdBetFfMacSchedulerTestCase1
(uint16_t nUser,
43
double
dist,
44
double
thrRefDl,
45
double
thrRefUl,
46
bool
errorModelEnabled);
47
~LenaFdBetFfMacSchedulerTestCase1
()
override
;
48
49
private
:
50
/**
51
* Builds the test name string based on provided parameter values
52
*
53
* \param nUser number of UE nodes
54
* \param dist distance between nodes
55
* \returns name string
56
*/
57
static
std::string
BuildNameString
(uint16_t nUser,
double
dist);
58
void
DoRun
()
override
;
59
uint16_t
m_nUser
;
///< number of UE nodes
60
double
m_dist
;
///< distance between the nodes
61
double
m_thrRefDl
;
///< DL throughput reference
62
double
m_thrRefUl
;
///< UL throughput reference
63
bool
m_errorModelEnabled
;
///< error model enabled?
64
};
65
66
/**
67
* \ingroup lte-test
68
*
69
* \brief Test case is similar to the one defined in
70
* LenaFdBetFfMacSchedulerTestCase1, with the difference that UEs are
71
* placed in such a way to experience different SINRs from eNodeB.
72
*/
73
class
LenaFdBetFfMacSchedulerTestCase2
:
public
TestCase
74
{
75
public
:
76
/**
77
* Constructor
78
*
79
* \param dist distance between nodes
80
* \param achievableRateDl DL achievable rate
81
* \param estThrFdBetUl UL estimated throughput bet UL
82
* \param errorModelEnabled error model enabled?
83
*/
84
LenaFdBetFfMacSchedulerTestCase2
(std::vector<double> dist,
85
std::vector<uint32_t> achievableRateDl,
86
std::vector<uint32_t> estThrFdBetUl,
87
bool
errorModelEnabled);
88
~LenaFdBetFfMacSchedulerTestCase2
()
override
;
89
90
private
:
91
/**
92
* Builds the test name string based on provided parameter values
93
*
94
* \param nUser number of UE nodes
95
* \param dist distance between nodes
96
* \returns name string
97
*/
98
static
std::string
BuildNameString
(uint16_t nUser, std::vector<double> dist);
99
void
DoRun
()
override
;
100
uint16_t
m_nUser
;
///< number of UE nodes
101
std::vector<double>
m_dist
;
///< distance between the nodes
102
std::vector<uint32_t>
m_achievableRateDl
;
///< DL achievable rate
103
std::vector<uint32_t>
m_estThrFdBetUl
;
///< estimated throughput FDBET UL
104
bool
m_errorModelEnabled
;
///< specifies whether the error model is enabled
105
};
106
107
/**
108
* \ingroup lte-test
109
*
110
* \brief Test suite for FDBetFfMacScheduler test case.
111
*/
112
113
class
LenaTestFdBetFfMacSchedulerSuite
:
public
TestSuite
114
{
115
public
:
116
LenaTestFdBetFfMacSchedulerSuite
();
117
};
118
119
#endif
/* LENA_TEST_FDBET_FF_MAC_SCHEDULER_H */
LenaFdBetFfMacSchedulerTestCase1
This system test program creates different test cases with a single eNB and several UEs,...
Definition
lte-test-fdbet-ff-mac-scheduler.h:31
LenaFdBetFfMacSchedulerTestCase1::BuildNameString
static std::string BuildNameString(uint16_t nUser, double dist)
Builds the test name string based on provided parameter values.
Definition
lte-test-fdbet-ff-mac-scheduler.cc:196
LenaFdBetFfMacSchedulerTestCase1::~LenaFdBetFfMacSchedulerTestCase1
~LenaFdBetFfMacSchedulerTestCase1() override
Definition
lte-test-fdbet-ff-mac-scheduler.cc:217
LenaFdBetFfMacSchedulerTestCase1::LenaFdBetFfMacSchedulerTestCase1
LenaFdBetFfMacSchedulerTestCase1(uint16_t nUser, double dist, double thrRefDl, double thrRefUl, bool errorModelEnabled)
Constructor.
Definition
lte-test-fdbet-ff-mac-scheduler.cc:203
LenaFdBetFfMacSchedulerTestCase1::m_thrRefUl
double m_thrRefUl
UL throughput reference.
Definition
lte-test-fdbet-ff-mac-scheduler.h:62
LenaFdBetFfMacSchedulerTestCase1::m_errorModelEnabled
bool m_errorModelEnabled
error model enabled?
Definition
lte-test-fdbet-ff-mac-scheduler.h:63
LenaFdBetFfMacSchedulerTestCase1::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-fdbet-ff-mac-scheduler.h:59
LenaFdBetFfMacSchedulerTestCase1::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-fdbet-ff-mac-scheduler.cc:222
LenaFdBetFfMacSchedulerTestCase1::m_dist
double m_dist
distance between the nodes
Definition
lte-test-fdbet-ff-mac-scheduler.h:60
LenaFdBetFfMacSchedulerTestCase1::m_thrRefDl
double m_thrRefDl
DL throughput reference.
Definition
lte-test-fdbet-ff-mac-scheduler.h:61
LenaFdBetFfMacSchedulerTestCase2
Test case is similar to the one defined in LenaFdBetFfMacSchedulerTestCase1, with the difference that...
Definition
lte-test-fdbet-ff-mac-scheduler.h:74
LenaFdBetFfMacSchedulerTestCase2::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-fdbet-ff-mac-scheduler.cc:403
LenaFdBetFfMacSchedulerTestCase2::m_errorModelEnabled
bool m_errorModelEnabled
specifies whether the error model is enabled
Definition
lte-test-fdbet-ff-mac-scheduler.h:104
LenaFdBetFfMacSchedulerTestCase2::m_dist
std::vector< double > m_dist
distance between the nodes
Definition
lte-test-fdbet-ff-mac-scheduler.h:101
LenaFdBetFfMacSchedulerTestCase2::~LenaFdBetFfMacSchedulerTestCase2
~LenaFdBetFfMacSchedulerTestCase2() override
Definition
lte-test-fdbet-ff-mac-scheduler.cc:398
LenaFdBetFfMacSchedulerTestCase2::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-fdbet-ff-mac-scheduler.h:100
LenaFdBetFfMacSchedulerTestCase2::BuildNameString
static std::string BuildNameString(uint16_t nUser, std::vector< double > dist)
Builds the test name string based on provided parameter values.
Definition
lte-test-fdbet-ff-mac-scheduler.cc:372
LenaFdBetFfMacSchedulerTestCase2::m_achievableRateDl
std::vector< uint32_t > m_achievableRateDl
DL achievable rate.
Definition
lte-test-fdbet-ff-mac-scheduler.h:102
LenaFdBetFfMacSchedulerTestCase2::m_estThrFdBetUl
std::vector< uint32_t > m_estThrFdBetUl
estimated throughput FDBET UL
Definition
lte-test-fdbet-ff-mac-scheduler.h:103
LenaFdBetFfMacSchedulerTestCase2::LenaFdBetFfMacSchedulerTestCase2
LenaFdBetFfMacSchedulerTestCase2(std::vector< double > dist, std::vector< uint32_t > achievableRateDl, std::vector< uint32_t > estThrFdBetUl, bool errorModelEnabled)
Constructor.
Definition
lte-test-fdbet-ff-mac-scheduler.cc:384
LenaTestFdBetFfMacSchedulerSuite
Test suite for FDBetFfMacScheduler test case.
Definition
lte-test-fdbet-ff-mac-scheduler.h:114
LenaTestFdBetFfMacSchedulerSuite::LenaTestFdBetFfMacSchedulerSuite
LenaTestFdBetFfMacSchedulerSuite()
Definition
lte-test-fdbet-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-fdbet-ff-mac-scheduler.h
Generated on Fri Nov 8 2024 13:59:03 for ns-3 by
1.11.0