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-cqa-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: Biljana Bojovic<bbojovic@cttc.es>
7
* Dizhi Zhou <dizhi.zhou@gmail.com>
8
* Marco Miozzo <marco.miozzo@cttc.es>,
9
* Nicola Baldo <nbaldo@cttc.es>
10
*
11
*/
12
13
#ifndef LENA_TEST_CQA_FF_MAC_SCHEDULER_H
14
#define LENA_TEST_CQA_FF_MAC_SCHEDULER_H
15
16
#include "ns3/simulator.h"
17
#include "ns3/test.h"
18
19
using namespace
ns3
;
20
21
/**
22
* \ingroup lte-test
23
*
24
* \brief This is a system test program. The test is based on a scenario with single eNB and several
25
* UEs. The goal of the test is validating if the obtained throughput performance is consistent with
26
* the definition of CQA scheduler.
27
*/
28
29
class
LenaCqaFfMacSchedulerTestCase1
:
public
TestCase
30
{
31
public
:
32
/**
33
* Constructor
34
*
35
* \param nUser number of UE nodes
36
* \param dist distance between nodes
37
* \param thrRefDl DL throughput reference
38
* \param thrRefUl UL throughput reference
39
* \param packetSize packet size
40
* \param interval time interval
41
* \param errorModelEnabled error model enabled?
42
*/
43
LenaCqaFfMacSchedulerTestCase1
(uint16_t nUser,
44
double
dist,
45
double
thrRefDl,
46
double
thrRefUl,
47
uint16_t
packetSize
,
48
uint16_t interval,
49
bool
errorModelEnabled);
50
~LenaCqaFfMacSchedulerTestCase1
()
override
;
51
52
private
:
53
/**
54
* Builds the test name string based on provided parameter values
55
*
56
* \param nUser number of UE nodes
57
* \param dist distance between nodes
58
* \returns 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
;
///< distance between the nodes
64
uint16_t
m_packetSize
;
///< packet size in bytes
65
uint16_t
m_interval
;
///< interval time in ms
66
double
m_thrRefDl
;
///< estimated downlink throughput
67
double
m_thrRefUl
;
///< estimated uplink throughput
68
bool
m_errorModelEnabled
;
///< whether error model is enabled
69
};
70
71
/**
72
* \ingroup lte-test
73
*
74
* \brief This is a system test program. The test is based on a scenario with single eNB and several
75
* UEs. The goal of the test is validating if the obtained throughput performance is consistent with
76
* the definition of CQA scheduler when the UEs with different SINRs.
77
*/
78
79
class
LenaCqaFfMacSchedulerTestCase2
:
public
TestCase
80
{
81
public
:
82
/**
83
* Constructor
84
*
85
* \param dist distance between nodes
86
* \param estThrCqaDl estimated CQA throughput in the downlink
87
* \param packetSize packet size
88
* \param interval the UDP packet time interval
89
* \param errorModelEnabled whether the error model enabled is enabled in the test case
90
*/
91
LenaCqaFfMacSchedulerTestCase2
(std::vector<double> dist,
92
std::vector<uint32_t> estThrCqaDl,
93
std::vector<uint16_t>
packetSize
,
94
uint16_t interval,
95
bool
errorModelEnabled);
96
~LenaCqaFfMacSchedulerTestCase2
()
override
;
97
98
private
:
99
/**
100
* Builds the test name string based on provided parameter values
101
*
102
* \param nUser number of UE nodes
103
* \param dist distance between nodes
104
* \returns name string
105
*/
106
static
std::string
BuildNameString
(uint16_t nUser, std::vector<double> dist);
107
void
DoRun
()
override
;
108
uint16_t
m_nUser
;
///< number of UE nodes
109
std::vector<double>
m_dist
;
///< distance between the nodes
110
std::vector<uint16_t>
m_packetSize
;
///< packet size in bytes
111
uint16_t
m_interval
;
///< UDP interval time in ms
112
std::vector<uint32_t>
m_estThrCqaDl
;
///< estimated throughput CQA DL
113
bool
m_errorModelEnabled
;
///< whether the error model is enabled
114
};
115
116
/**
117
* \ingroup lte-test
118
*
119
* \brief The test suite for testing CQA scheduler functionality
120
*/
121
122
class
LenaTestCqaFfMacSchedulerSuite
:
public
TestSuite
123
{
124
public
:
125
LenaTestCqaFfMacSchedulerSuite
();
126
};
127
128
#endif
/* LENA_TEST_CQA_FF_MAC_SCHEDULER_H */
LenaCqaFfMacSchedulerTestCase1
This is a system test program.
Definition
lte-test-cqa-ff-mac-scheduler.h:30
LenaCqaFfMacSchedulerTestCase1::m_dist
double m_dist
distance between the nodes
Definition
lte-test-cqa-ff-mac-scheduler.h:63
LenaCqaFfMacSchedulerTestCase1::~LenaCqaFfMacSchedulerTestCase1
~LenaCqaFfMacSchedulerTestCase1() override
Definition
lte-test-cqa-ff-mac-scheduler.cc:287
LenaCqaFfMacSchedulerTestCase1::m_interval
uint16_t m_interval
interval time in ms
Definition
lte-test-cqa-ff-mac-scheduler.h:65
LenaCqaFfMacSchedulerTestCase1::m_thrRefUl
double m_thrRefUl
estimated uplink throughput
Definition
lte-test-cqa-ff-mac-scheduler.h:67
LenaCqaFfMacSchedulerTestCase1::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-cqa-ff-mac-scheduler.h:62
LenaCqaFfMacSchedulerTestCase1::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-cqa-ff-mac-scheduler.cc:292
LenaCqaFfMacSchedulerTestCase1::m_packetSize
uint16_t m_packetSize
packet size in bytes
Definition
lte-test-cqa-ff-mac-scheduler.h:64
LenaCqaFfMacSchedulerTestCase1::LenaCqaFfMacSchedulerTestCase1
LenaCqaFfMacSchedulerTestCase1(uint16_t nUser, double dist, double thrRefDl, double thrRefUl, uint16_t packetSize, uint16_t interval, bool errorModelEnabled)
Constructor.
Definition
lte-test-cqa-ff-mac-scheduler.cc:269
LenaCqaFfMacSchedulerTestCase1::m_thrRefDl
double m_thrRefDl
estimated downlink throughput
Definition
lte-test-cqa-ff-mac-scheduler.h:66
LenaCqaFfMacSchedulerTestCase1::BuildNameString
static std::string BuildNameString(uint16_t nUser, double dist)
Builds the test name string based on provided parameter values.
Definition
lte-test-cqa-ff-mac-scheduler.cc:262
LenaCqaFfMacSchedulerTestCase1::m_errorModelEnabled
bool m_errorModelEnabled
whether error model is enabled
Definition
lte-test-cqa-ff-mac-scheduler.h:68
LenaCqaFfMacSchedulerTestCase2
This is a system test program.
Definition
lte-test-cqa-ff-mac-scheduler.h:80
LenaCqaFfMacSchedulerTestCase2::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-cqa-ff-mac-scheduler.h:108
LenaCqaFfMacSchedulerTestCase2::m_errorModelEnabled
bool m_errorModelEnabled
whether the error model is enabled
Definition
lte-test-cqa-ff-mac-scheduler.h:113
LenaCqaFfMacSchedulerTestCase2::m_interval
uint16_t m_interval
UDP interval time in ms.
Definition
lte-test-cqa-ff-mac-scheduler.h:111
LenaCqaFfMacSchedulerTestCase2::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-cqa-ff-mac-scheduler.cc:530
LenaCqaFfMacSchedulerTestCase2::m_dist
std::vector< double > m_dist
distance between the nodes
Definition
lte-test-cqa-ff-mac-scheduler.h:109
LenaCqaFfMacSchedulerTestCase2::~LenaCqaFfMacSchedulerTestCase2
~LenaCqaFfMacSchedulerTestCase2() override
Definition
lte-test-cqa-ff-mac-scheduler.cc:557
LenaCqaFfMacSchedulerTestCase2::LenaCqaFfMacSchedulerTestCase2
LenaCqaFfMacSchedulerTestCase2(std::vector< double > dist, std::vector< uint32_t > estThrCqaDl, std::vector< uint16_t > packetSize, uint16_t interval, bool errorModelEnabled)
Constructor.
Definition
lte-test-cqa-ff-mac-scheduler.cc:542
LenaCqaFfMacSchedulerTestCase2::m_packetSize
std::vector< uint16_t > m_packetSize
packet size in bytes
Definition
lte-test-cqa-ff-mac-scheduler.h:110
LenaCqaFfMacSchedulerTestCase2::m_estThrCqaDl
std::vector< uint32_t > m_estThrCqaDl
estimated throughput CQA DL
Definition
lte-test-cqa-ff-mac-scheduler.h:112
LenaCqaFfMacSchedulerTestCase2::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-cqa-ff-mac-scheduler.cc:562
LenaTestCqaFfMacSchedulerSuite
The test suite for testing CQA scheduler functionality.
Definition
lte-test-cqa-ff-mac-scheduler.h:123
LenaTestCqaFfMacSchedulerSuite::LenaTestCqaFfMacSchedulerSuite
LenaTestCqaFfMacSchedulerSuite()
Definition
lte-test-cqa-ff-mac-scheduler.cc:56
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-cqa-ff-mac-scheduler.h
Generated on Fri Nov 8 2024 13:59:03 for ns-3 by
1.11.0