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-interference.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: Manuel Requena <manuel.requena@cttc.es>
7
* Nicola Baldo <nbaldo@cttc.es>
8
*/
9
10
#ifndef LTE_TEST_INTERFERENCE_H
11
#define LTE_TEST_INTERFERENCE_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 Test suite for interference test.
22
*/
23
class
LteInterferenceTestSuite
:
public
TestSuite
24
{
25
public
:
26
LteInterferenceTestSuite
();
27
};
28
29
/**
30
* \ingroup lte-test
31
*
32
* \brief Test that SINR calculation and MCS selection works fine in a
33
* multi-cell interference scenario.
34
*/
35
class
LteInterferenceTestCase
:
public
TestCase
36
{
37
public
:
38
/**
39
* Constructor
40
*
41
* \param name the reference name
42
* \param d1 distance between ENB and UE
43
* \param d2 distance between ENB and other UE
44
* \param dlSinr the DL SINR
45
* \param ulSinr the UL SINR
46
* \param dlSe the DL se
47
* \param ulSe the UL se
48
* \param dlMcs the DL MCS
49
* \param ulMcs the UL MCS
50
*/
51
LteInterferenceTestCase
(std::string name,
52
double
d1,
53
double
d2,
54
double
dlSinr,
55
double
ulSinr,
56
double
dlSe,
57
double
ulSe,
58
uint16_t dlMcs,
59
uint16_t ulMcs);
60
~LteInterferenceTestCase
()
override
;
61
62
/**
63
* DL scheduling function
64
* \param dlInfo the DL info
65
*/
66
void
DlScheduling
(
DlSchedulingCallbackInfo
dlInfo);
67
68
/**
69
* UL scheduling function
70
* \param frameNo the frame number
71
* \param subframeNo the subframe number
72
* \param rnti the RNTI
73
* \param mcs the MCS
74
* \param sizeTb
75
*/
76
void
UlScheduling
(
uint32_t
frameNo,
77
uint32_t
subframeNo,
78
uint16_t rnti,
79
uint8_t mcs,
80
uint16_t sizeTb);
81
82
private
:
83
void
DoRun
()
override
;
84
85
double
m_d1
;
///< distance between UE and ENB
86
double
m_d2
;
///< distance between UE and other ENB
87
double
m_expectedDlSinrDb
;
///< expected DL SINR in dB
88
double
m_expectedUlSinrDb
;
///< expected UL SINR in dB
89
uint16_t
m_dlMcs
;
///< the DL MCS
90
uint16_t
m_ulMcs
;
///< the UL MCS
91
};
92
93
#endif
/* LTE_TEST_INTERFERENCE_H */
LteInterferenceTestCase
Test that SINR calculation and MCS selection works fine in a multi-cell interference scenario.
Definition
lte-test-interference.h:36
LteInterferenceTestCase::LteInterferenceTestCase
LteInterferenceTestCase(std::string name, double d1, double d2, double dlSinr, double ulSinr, double dlSe, double ulSe, uint16_t dlMcs, uint16_t ulMcs)
Constructor.
Definition
lte-test-interference.cc:189
LteInterferenceTestCase::~LteInterferenceTestCase
~LteInterferenceTestCase() override
Definition
lte-test-interference.cc:208
LteInterferenceTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-interference.cc:213
LteInterferenceTestCase::m_expectedDlSinrDb
double m_expectedDlSinrDb
expected DL SINR in dB
Definition
lte-test-interference.h:87
LteInterferenceTestCase::m_dlMcs
uint16_t m_dlMcs
the DL MCS
Definition
lte-test-interference.h:89
LteInterferenceTestCase::UlScheduling
void UlScheduling(uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb)
UL scheduling function.
Definition
lte-test-interference.cc:369
LteInterferenceTestCase::m_expectedUlSinrDb
double m_expectedUlSinrDb
expected UL SINR in dB
Definition
lte-test-interference.h:88
LteInterferenceTestCase::DlScheduling
void DlScheduling(DlSchedulingCallbackInfo dlInfo)
DL scheduling function.
Definition
lte-test-interference.cc:356
LteInterferenceTestCase::m_d2
double m_d2
distance between UE and other ENB
Definition
lte-test-interference.h:86
LteInterferenceTestCase::m_ulMcs
uint16_t m_ulMcs
the UL MCS
Definition
lte-test-interference.h:90
LteInterferenceTestCase::m_d1
double m_d1
distance between UE and ENB
Definition
lte-test-interference.h:85
LteInterferenceTestSuite
Test suite for interference test.
Definition
lte-test-interference.h:24
LteInterferenceTestSuite::LteInterferenceTestSuite
LteInterferenceTestSuite()
TestSuite.
Definition
lte-test-interference.cc:56
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-interference.h
Generated on Fri Nov 8 2024 13:59:04 for ns-3 by
1.11.0