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-pf-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
*/
9
10
#ifndef LENA_TEST_PF_FF_MAC_SCHEDULER_H
11
#define LENA_TEST_PF_FF_MAC_SCHEDULER_H
12
13
#include "ns3/simulator.h"
14
#include "ns3/test.h"
15
16
using namespace
ns3
;
17
18
/**
19
* \ingroup lte-test
20
*
21
* \brief This system test program creates different test cases with a single eNB and
22
* several UEs, all having the same Radio Bearer specification. In each test
23
* case, the UEs see the same SINR from the eNB; different test cases are
24
* implemented obtained by using different SINR values and different numbers of
25
* UEs. The test consists on checking that the obtained throughput performance
26
* is equal among users is consistent with the definition of proportional
27
* fair scheduling
28
*/
29
class
LenaPfFfMacSchedulerTestCase1
:
public
TestCase
30
{
31
public
:
32
/**
33
* Constructor
34
*
35
* \param nUser the number of UE nodes
36
* \param dist the distance between nodes
37
* \param thrRefDl the DL throughput reference
38
* \param thrRefUl the UL throughput reference
39
* \param errorModelEnabled if true the error model is enabled
40
*/
41
LenaPfFfMacSchedulerTestCase1
(uint16_t nUser,
42
double
dist,
43
double
thrRefDl,
44
double
thrRefUl,
45
bool
errorModelEnabled);
46
~LenaPfFfMacSchedulerTestCase1
()
override
;
47
48
private
:
49
/**
50
* Build name string
51
* \param nUser the number of UE nodes
52
* \param dist the distance between nodes
53
* \returns the name string
54
*/
55
static
std::string
BuildNameString
(uint16_t nUser,
double
dist);
56
void
DoRun
()
override
;
57
uint16_t
m_nUser
;
///< number of UE nodes
58
double
m_dist
;
///< the distance between nodes
59
double
m_thrRefDl
;
///< the DL throughput reference
60
double
m_thrRefUl
;
///< the UL throughput reference
61
bool
m_errorModelEnabled
;
///< whether error model is enabled
62
};
63
64
/**
65
* \ingroup lte-test
66
*
67
* \brief Lena PfFf Mac Scheduler Test Case 2
68
*/
69
class
LenaPfFfMacSchedulerTestCase2
:
public
TestCase
70
{
71
public
:
72
/**
73
* Constructor
74
*
75
* \param dist the distance between nodes
76
* \param estThrPfDl the estimated DL throughput PF
77
* \param estThrPfUl the estimated UL throughput PF
78
* \param errorModelEnabled if true the error model is enabled
79
*/
80
LenaPfFfMacSchedulerTestCase2
(std::vector<double> dist,
81
std::vector<uint32_t> estThrPfDl,
82
std::vector<uint32_t> estThrPfUl,
83
bool
errorModelEnabled);
84
~LenaPfFfMacSchedulerTestCase2
()
override
;
85
86
private
:
87
/**
88
* Builds the test name string based on provided parameter values
89
* \param nUser the number of UE nodes
90
* \param dist the distance between nodes
91
* \returns the name string
92
*/
93
static
std::string
BuildNameString
(uint16_t nUser, std::vector<double> dist);
94
void
DoRun
()
override
;
95
uint16_t
m_nUser
;
///< number of UE nodes
96
std::vector<double>
m_dist
;
///< the distance between nodes
97
std::vector<uint32_t>
m_estThrPfDl
;
///< the estimated DL throughput
98
std::vector<uint32_t>
m_estThrPfUl
;
///< the estimated UL throughput
99
bool
m_errorModelEnabled
;
///< indicates whether the error model is enabled
100
};
101
102
/**
103
* \ingroup lte-test
104
*
105
* \brief PfFfMacScheduler test suite
106
*/
107
108
class
LenaTestPfFfMacSchedulerSuite
:
public
TestSuite
109
{
110
public
:
111
LenaTestPfFfMacSchedulerSuite
();
112
};
113
114
#endif
/* LENA_TEST_PF_FF_MAC_SCHEDULER_H */
LenaPfFfMacSchedulerTestCase1
This system test program creates different test cases with a single eNB and several UEs,...
Definition
lte-test-pf-ff-mac-scheduler.h:30
LenaPfFfMacSchedulerTestCase1::BuildNameString
static std::string BuildNameString(uint16_t nUser, double dist)
Build name string.
Definition
lte-test-pf-ff-mac-scheduler.cc:213
LenaPfFfMacSchedulerTestCase1::m_errorModelEnabled
bool m_errorModelEnabled
whether error model is enabled
Definition
lte-test-pf-ff-mac-scheduler.h:61
LenaPfFfMacSchedulerTestCase1::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-pf-ff-mac-scheduler.h:57
LenaPfFfMacSchedulerTestCase1::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-pf-ff-mac-scheduler.cc:239
LenaPfFfMacSchedulerTestCase1::m_thrRefUl
double m_thrRefUl
the UL throughput reference
Definition
lte-test-pf-ff-mac-scheduler.h:60
LenaPfFfMacSchedulerTestCase1::m_thrRefDl
double m_thrRefDl
the DL throughput reference
Definition
lte-test-pf-ff-mac-scheduler.h:59
LenaPfFfMacSchedulerTestCase1::~LenaPfFfMacSchedulerTestCase1
~LenaPfFfMacSchedulerTestCase1() override
Definition
lte-test-pf-ff-mac-scheduler.cc:234
LenaPfFfMacSchedulerTestCase1::LenaPfFfMacSchedulerTestCase1
LenaPfFfMacSchedulerTestCase1(uint16_t nUser, double dist, double thrRefDl, double thrRefUl, bool errorModelEnabled)
Constructor.
Definition
lte-test-pf-ff-mac-scheduler.cc:220
LenaPfFfMacSchedulerTestCase1::m_dist
double m_dist
the distance between nodes
Definition
lte-test-pf-ff-mac-scheduler.h:58
LenaPfFfMacSchedulerTestCase2
Lena PfFf Mac Scheduler Test Case 2.
Definition
lte-test-pf-ff-mac-scheduler.h:70
LenaPfFfMacSchedulerTestCase2::LenaPfFfMacSchedulerTestCase2
LenaPfFfMacSchedulerTestCase2(std::vector< double > dist, std::vector< uint32_t > estThrPfDl, std::vector< uint32_t > estThrPfUl, bool errorModelEnabled)
Constructor.
Definition
lte-test-pf-ff-mac-scheduler.cc:400
LenaPfFfMacSchedulerTestCase2::m_estThrPfUl
std::vector< uint32_t > m_estThrPfUl
the estimated UL throughput
Definition
lte-test-pf-ff-mac-scheduler.h:98
LenaPfFfMacSchedulerTestCase2::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-pf-ff-mac-scheduler.h:95
LenaPfFfMacSchedulerTestCase2::m_errorModelEnabled
bool m_errorModelEnabled
indicates whether the error model is enabled
Definition
lte-test-pf-ff-mac-scheduler.h:99
LenaPfFfMacSchedulerTestCase2::m_estThrPfDl
std::vector< uint32_t > m_estThrPfDl
the estimated DL throughput
Definition
lte-test-pf-ff-mac-scheduler.h:97
LenaPfFfMacSchedulerTestCase2::m_dist
std::vector< double > m_dist
the distance between nodes
Definition
lte-test-pf-ff-mac-scheduler.h:96
LenaPfFfMacSchedulerTestCase2::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-pf-ff-mac-scheduler.cc:388
LenaPfFfMacSchedulerTestCase2::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-pf-ff-mac-scheduler.cc:418
LenaPfFfMacSchedulerTestCase2::~LenaPfFfMacSchedulerTestCase2
~LenaPfFfMacSchedulerTestCase2() override
Definition
lte-test-pf-ff-mac-scheduler.cc:413
LenaTestPfFfMacSchedulerSuite
PfFfMacScheduler test suite.
Definition
lte-test-pf-ff-mac-scheduler.h:109
LenaTestPfFfMacSchedulerSuite::LenaTestPfFfMacSchedulerSuite
LenaTestPfFfMacSchedulerSuite()
Definition
lte-test-pf-ff-mac-scheduler.cc:46
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-pf-ff-mac-scheduler.h
Generated on Fri Nov 8 2024 13:59:04 for ns-3 by
1.11.0