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-cqi-generation.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014 Piotr Gawlowicz
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Piotr Gawlowicz <gawlowicz.p@gmail.com>
7
*
8
*/
9
10
#ifndef LTE_TEST_CQI_GENERATION_H
11
#define LTE_TEST_CQI_GENERATION_H
12
13
#include "ns3/lte-common.h"
14
#include "ns3/test.h"
15
16
using namespace
ns3
;
17
18
/**
19
* \ingroup lte-test
20
*
21
* \brief Lte Cqi Generation Test Suite
22
*/
23
24
class
LteCqiGenerationTestSuite
:
public
TestSuite
25
{
26
public
:
27
LteCqiGenerationTestSuite
();
28
};
29
30
/**
31
* \ingroup lte-test
32
*
33
* \brief This is the test case for testing different configuration of CQI generation.
34
* The topology consists of the two UEs and two eNbs. UEs have the same position,
35
* while eNodeBs are at the same distance from both UEs. The checking whether CQI is
36
* generated properly for two different cases: when PDCCH is used for the CQI
37
* estimation and when PDSCH is used for CQI estimation.
38
*/
39
40
class
LteCqiGenerationTestCase
:
public
TestCase
41
{
42
public
:
43
/**
44
* Constructor
45
*
46
* \param name reference name
47
* \param usePdcchForCqiGeneration use PDCCH for CQI generation
48
* \param dlMcs DL MCS
49
* \param ulMcs UL MCS
50
*/
51
LteCqiGenerationTestCase
(std::string name,
52
bool
usePdcchForCqiGeneration,
53
uint16_t dlMcs,
54
uint16_t ulMcs);
55
~LteCqiGenerationTestCase
()
override
;
56
57
/**
58
* \brief DL Scheduling function
59
* \param dlInfo DL info
60
*/
61
void
DlScheduling
(
DlSchedulingCallbackInfo
dlInfo);
62
63
/**
64
* \brief UL Scheduling function
65
* \param frameNo frame number
66
* \param subframeNo subframe number
67
* \param rnti the RNTI
68
* \param mcs the MCS
69
* \param sizeTb size
70
*/
71
void
UlScheduling
(
uint32_t
frameNo,
72
uint32_t
subframeNo,
73
uint16_t rnti,
74
uint8_t mcs,
75
uint16_t sizeTb);
76
77
private
:
78
void
DoRun
()
override
;
79
80
bool
m_usePdschForCqiGeneration
;
///< use PDCCH for CQI generation
81
uint16_t
m_dlMcs
;
///< the DL MCS
82
uint16_t
m_ulMcs
;
///< the UL MCS
83
};
84
85
/**
86
* \ingroup lte-test
87
*
88
* \brief This test is very similar to LteCqiGenerationTestCase. The difference is that in this
89
* test is enabled the downlink power control.
90
*/
91
92
class
LteCqiGenerationDlPowerControlTestCase
:
public
TestCase
93
{
94
public
:
95
/**
96
* Constructor
97
*
98
* \param name reference name
99
* \param cell0Pa cell # 0 PA
100
* \param cell1Pa cell # 1 PA
101
* \param dlMcs DL MCS
102
* \param ulMcs UL MCS
103
*/
104
LteCqiGenerationDlPowerControlTestCase
(std::string name,
105
uint8_t cell0Pa,
106
uint8_t cell1Pa,
107
uint16_t dlMcs,
108
uint16_t ulMcs);
109
~LteCqiGenerationDlPowerControlTestCase
()
override
;
110
111
/**
112
* \brief DL Scheduling function
113
* \param dlInfo DL info
114
*/
115
void
DlScheduling
(
DlSchedulingCallbackInfo
dlInfo);
116
117
/**
118
* \brief UL Scheduling function
119
* \param frameNo frame number
120
* \param subframeNo subframe number
121
* \param rnti the RNTI
122
* \param mcs the MCS
123
* \param sizeTb size
124
*/
125
void
UlScheduling
(
uint32_t
frameNo,
126
uint32_t
subframeNo,
127
uint16_t rnti,
128
uint8_t mcs,
129
uint16_t sizeTb);
130
131
private
:
132
void
DoRun
()
override
;
133
134
uint8_t
m_cell0Pa
;
///< cell #0 PA
135
uint8_t
m_cell1Pa
;
///< cell #1 PA
136
137
uint16_t
m_dlMcs
;
///< the DL MCS
138
uint16_t
m_ulMcs
;
///< the UL MCS
139
};
140
141
#endif
/* LTE_TEST_CQI_GENERATION_H */
LteCqiGenerationDlPowerControlTestCase
This test is very similar to LteCqiGenerationTestCase.
Definition
lte-test-cqi-generation.h:93
LteCqiGenerationDlPowerControlTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-cqi-generation.cc:329
LteCqiGenerationDlPowerControlTestCase::m_cell0Pa
uint8_t m_cell0Pa
cell #0 PA
Definition
lte-test-cqi-generation.h:134
LteCqiGenerationDlPowerControlTestCase::DlScheduling
void DlScheduling(DlSchedulingCallbackInfo dlInfo)
DL Scheduling function.
Definition
lte-test-cqi-generation.cc:301
LteCqiGenerationDlPowerControlTestCase::LteCqiGenerationDlPowerControlTestCase
LteCqiGenerationDlPowerControlTestCase(std::string name, uint8_t cell0Pa, uint8_t cell1Pa, uint16_t dlMcs, uint16_t ulMcs)
Constructor.
Definition
lte-test-cqi-generation.cc:282
LteCqiGenerationDlPowerControlTestCase::~LteCqiGenerationDlPowerControlTestCase
~LteCqiGenerationDlPowerControlTestCase() override
Definition
lte-test-cqi-generation.cc:296
LteCqiGenerationDlPowerControlTestCase::m_ulMcs
uint16_t m_ulMcs
the UL MCS
Definition
lte-test-cqi-generation.h:138
LteCqiGenerationDlPowerControlTestCase::UlScheduling
void UlScheduling(uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb)
UL Scheduling function.
Definition
lte-test-cqi-generation.cc:313
LteCqiGenerationDlPowerControlTestCase::m_dlMcs
uint16_t m_dlMcs
the DL MCS
Definition
lte-test-cqi-generation.h:137
LteCqiGenerationDlPowerControlTestCase::m_cell1Pa
uint8_t m_cell1Pa
cell #1 PA
Definition
lte-test-cqi-generation.h:135
LteCqiGenerationTestCase
This is the test case for testing different configuration of CQI generation.
Definition
lte-test-cqi-generation.h:41
LteCqiGenerationTestCase::UlScheduling
void UlScheduling(uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb)
UL Scheduling function.
Definition
lte-test-cqi-generation.cc:171
LteCqiGenerationTestCase::~LteCqiGenerationTestCase
~LteCqiGenerationTestCase() override
Definition
lte-test-cqi-generation.cc:154
LteCqiGenerationTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-cqi-generation.cc:187
LteCqiGenerationTestCase::m_ulMcs
uint16_t m_ulMcs
the UL MCS
Definition
lte-test-cqi-generation.h:82
LteCqiGenerationTestCase::m_usePdschForCqiGeneration
bool m_usePdschForCqiGeneration
use PDCCH for CQI generation
Definition
lte-test-cqi-generation.h:80
LteCqiGenerationTestCase::DlScheduling
void DlScheduling(DlSchedulingCallbackInfo dlInfo)
DL Scheduling function.
Definition
lte-test-cqi-generation.cc:159
LteCqiGenerationTestCase::m_dlMcs
uint16_t m_dlMcs
the DL MCS
Definition
lte-test-cqi-generation.h:81
LteCqiGenerationTestCase::LteCqiGenerationTestCase
LteCqiGenerationTestCase(std::string name, bool usePdcchForCqiGeneration, uint16_t dlMcs, uint16_t ulMcs)
Constructor.
Definition
lte-test-cqi-generation.cc:142
LteCqiGenerationTestSuite
Lte Cqi Generation Test Suite.
Definition
lte-test-cqi-generation.h:25
LteCqiGenerationTestSuite::LteCqiGenerationTestSuite
LteCqiGenerationTestSuite()
TestSuite.
Definition
lte-test-cqi-generation.cc:80
ns3::TestCase
encapsulates test code
Definition
test.h:1050
ns3::TestSuite
A suite of tests to run.
Definition
test.h:1267
uint32_t
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::DlSchedulingCallbackInfo
DlSchedulingCallbackInfo structure.
Definition
lte-common.h:226
src
lte
test
lte-test-cqi-generation.h
Generated on Fri Nov 8 2024 13:59:03 for ns-3 by
1.11.0