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-pss-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_PSS_FF_MAC_SCHEDULER_H
12
#define LENA_TEST_PSS_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 token bank fair
28
* queue scheduling
29
*/
30
class
LenaPssFfMacSchedulerTestCase1
:
public
TestCase
31
{
32
public
:
33
/**
34
* Constructor
35
*
36
* \param nUser the number of UE nodes
37
* \param dist the distance between nodes
38
* \param thrRefDl the DL throughput reference
39
* \param thrRefUl the UL throughput reference
40
* \param packetSize the packet size
41
* \param interval the interval time
42
* \param errorModelEnabled if true the error model is enabled
43
*/
44
LenaPssFfMacSchedulerTestCase1
(uint16_t nUser,
45
double
dist,
46
double
thrRefDl,
47
double
thrRefUl,
48
uint16_t
packetSize
,
49
uint16_t interval,
50
bool
errorModelEnabled);
51
~LenaPssFfMacSchedulerTestCase1
()
override
;
52
53
private
:
54
/**
55
* Builds the test name string based on provided parameter values
56
* \param nUser the number of UE nodes
57
* \param dist the distance between nodes
58
* \returns the name string
59
*/
60
static
std::string
BuildNameString
(uint16_t nUser,
double
dist);
61
void
DoRun
()
override
;
62
uint16_t
m_nUser
;
///< number of UE nodes
63
double
m_dist
;
///< the distance between nodes
64
uint16_t
m_packetSize
;
///< the packet size in bytes
65
uint16_t
m_interval
;
///< the interval time in ms
66
double
m_thrRefDl
;
///< the DL throughput reference value
67
double
m_thrRefUl
;
///< the UL throughput reference value
68
bool
m_errorModelEnabled
;
///< indicates whether the error model is enabled
69
};
70
71
/**
72
* \ingroup lte-test
73
*
74
* \brief Similar to the LenaPssFfMacSchedulerTestCase1 with the difference that
75
* UEs are places in such a way to experience different SINRs. Test checks if the
76
* achieved throughput in such conditions has expected value.
77
*/
78
class
LenaPssFfMacSchedulerTestCase2
:
public
TestCase
79
{
80
public
:
81
/**
82
* Constructor
83
*
84
* \param dist the distance between nodes
85
* \param estThrPssDl the estimated DL throughput PSS
86
* \param packetSize the packet size
87
* \param interval the interval time
88
* \param errorModelEnabled if true the error model is enabled
89
*/
90
LenaPssFfMacSchedulerTestCase2
(std::vector<double> dist,
91
std::vector<uint32_t> estThrPssDl,
92
std::vector<uint16_t>
packetSize
,
93
uint16_t interval,
94
bool
errorModelEnabled);
95
~LenaPssFfMacSchedulerTestCase2
()
override
;
96
97
private
:
98
/**
99
* Builds the test name string based on provided parameter values
100
* \param nUser the number of UE nodes
101
* \param dist the distance between nodes
102
* \returns the name string
103
*/
104
static
std::string
BuildNameString
(uint16_t nUser, std::vector<double> dist);
105
void
DoRun
()
override
;
106
uint16_t
m_nUser
;
///< number of UE nodes
107
std::vector<double>
m_dist
;
///< the distance between nodes
108
std::vector<uint16_t>
m_packetSize
;
///< the packet size in bytes
109
uint16_t
m_interval
;
///< the interval time in ms
110
std::vector<uint32_t>
m_estThrPssDl
;
///< the DL estimated throughput PSS
111
bool
m_errorModelEnabled
;
///< indicates whether the error model is enabled
112
};
113
114
/**
115
* \ingroup lte-test
116
*
117
* \brief Lena Pss Ff Mac Scheduler Test Suite
118
*/
119
class
LenaTestPssFfMacSchedulerSuite
:
public
TestSuite
120
{
121
public
:
122
LenaTestPssFfMacSchedulerSuite
();
123
};
124
125
#endif
/* LENA_TEST_PSS_FF_MAC_SCHEDULER_H */
LenaPssFfMacSchedulerTestCase1
This system test program creates different test cases with a single eNB and several UEs,...
Definition
lte-test-pss-ff-mac-scheduler.h:31
LenaPssFfMacSchedulerTestCase1::m_interval
uint16_t m_interval
the interval time in ms
Definition
lte-test-pss-ff-mac-scheduler.h:65
LenaPssFfMacSchedulerTestCase1::m_packetSize
uint16_t m_packetSize
the packet size in bytes
Definition
lte-test-pss-ff-mac-scheduler.h:64
LenaPssFfMacSchedulerTestCase1::m_errorModelEnabled
bool m_errorModelEnabled
indicates whether the error model is enabled
Definition
lte-test-pss-ff-mac-scheduler.h:68
LenaPssFfMacSchedulerTestCase1::m_thrRefDl
double m_thrRefDl
the DL throughput reference value
Definition
lte-test-pss-ff-mac-scheduler.h:66
LenaPssFfMacSchedulerTestCase1::BuildNameString
static std::string BuildNameString(uint16_t nUser, double dist)
Builds the test name string based on provided parameter values.
Definition
lte-test-pss-ff-mac-scheduler.cc:260
LenaPssFfMacSchedulerTestCase1::m_thrRefUl
double m_thrRefUl
the UL throughput reference value
Definition
lte-test-pss-ff-mac-scheduler.h:67
LenaPssFfMacSchedulerTestCase1::m_dist
double m_dist
the distance between nodes
Definition
lte-test-pss-ff-mac-scheduler.h:63
LenaPssFfMacSchedulerTestCase1::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-pss-ff-mac-scheduler.h:62
LenaPssFfMacSchedulerTestCase1::LenaPssFfMacSchedulerTestCase1
LenaPssFfMacSchedulerTestCase1(uint16_t nUser, double dist, double thrRefDl, double thrRefUl, uint16_t packetSize, uint16_t interval, bool errorModelEnabled)
Constructor.
Definition
lte-test-pss-ff-mac-scheduler.cc:267
LenaPssFfMacSchedulerTestCase1::~LenaPssFfMacSchedulerTestCase1
~LenaPssFfMacSchedulerTestCase1() override
Definition
lte-test-pss-ff-mac-scheduler.cc:285
LenaPssFfMacSchedulerTestCase1::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-pss-ff-mac-scheduler.cc:290
LenaPssFfMacSchedulerTestCase2
Similar to the LenaPssFfMacSchedulerTestCase1 with the difference that UEs are places in such a way t...
Definition
lte-test-pss-ff-mac-scheduler.h:79
LenaPssFfMacSchedulerTestCase2::m_errorModelEnabled
bool m_errorModelEnabled
indicates whether the error model is enabled
Definition
lte-test-pss-ff-mac-scheduler.h:111
LenaPssFfMacSchedulerTestCase2::m_dist
std::vector< double > m_dist
the distance between nodes
Definition
lte-test-pss-ff-mac-scheduler.h:107
LenaPssFfMacSchedulerTestCase2::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-pss-ff-mac-scheduler.h:106
LenaPssFfMacSchedulerTestCase2::~LenaPssFfMacSchedulerTestCase2
~LenaPssFfMacSchedulerTestCase2() override
Definition
lte-test-pss-ff-mac-scheduler.cc:559
LenaPssFfMacSchedulerTestCase2::m_interval
uint16_t m_interval
the interval time in ms
Definition
lte-test-pss-ff-mac-scheduler.h:109
LenaPssFfMacSchedulerTestCase2::m_packetSize
std::vector< uint16_t > m_packetSize
the packet size in bytes
Definition
lte-test-pss-ff-mac-scheduler.h:108
LenaPssFfMacSchedulerTestCase2::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-pss-ff-mac-scheduler.cc:532
LenaPssFfMacSchedulerTestCase2::LenaPssFfMacSchedulerTestCase2
LenaPssFfMacSchedulerTestCase2(std::vector< double > dist, std::vector< uint32_t > estThrPssDl, std::vector< uint16_t > packetSize, uint16_t interval, bool errorModelEnabled)
Constructor.
Definition
lte-test-pss-ff-mac-scheduler.cc:544
LenaPssFfMacSchedulerTestCase2::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-pss-ff-mac-scheduler.cc:564
LenaPssFfMacSchedulerTestCase2::m_estThrPssDl
std::vector< uint32_t > m_estThrPssDl
the DL estimated throughput PSS
Definition
lte-test-pss-ff-mac-scheduler.h:110
LenaTestPssFfMacSchedulerSuite
Lena Pss Ff Mac Scheduler Test Suite.
Definition
lte-test-pss-ff-mac-scheduler.h:120
LenaTestPssFfMacSchedulerSuite::LenaTestPssFfMacSchedulerSuite
LenaTestPssFfMacSchedulerSuite()
Definition
lte-test-pss-ff-mac-scheduler.cc:54
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.
packetSize
static const uint32_t packetSize
Packet size generated at the AP.
Definition
wifi-power-adaptation-distance.cc:96
src
lte
test
lte-test-pss-ff-mac-scheduler.h
Generated on Fri Nov 8 2024 13:59:04 for ns-3 by
1.11.0