A Discrete-Event Network Simulator
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 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Manuel Requena <manuel.requena@cttc.es>
18 * Nicola Baldo <nbaldo@cttc.es>
19 */
20
21#ifndef LTE_TEST_INTERFERENCE_H
22#define LTE_TEST_INTERFERENCE_H
23
24#include "ns3/lte-common.h"
25#include "ns3/test.h"
26
27using namespace ns3;
28
29/**
30 * \ingroup lte-test
31 *
32 * \brief Test suite for interference test.
33 */
35{
36 public:
38};
39
40/**
41 * \ingroup lte-test
42 *
43 * \brief Test that SINR calculation and MCS selection works fine in a
44 * multi-cell interference scenario.
45 */
47{
48 public:
49 /**
50 * Constructor
51 *
52 * \param name the reference name
53 * \param d1 distance between ENB and UE
54 * \param d2 distance between ENB and other UE
55 * \param dlSinr the DL SINR
56 * \param ulSinr the UL SINR
57 * \param dlSe the DL se
58 * \param ulSe the UL se
59 * \param dlMcs the DL MCS
60 * \param ulMcs the UL MCS
61 */
62 LteInterferenceTestCase(std::string name,
63 double d1,
64 double d2,
65 double dlSinr,
66 double ulSinr,
67 double dlSe,
68 double ulSe,
69 uint16_t dlMcs,
70 uint16_t ulMcs);
71 ~LteInterferenceTestCase() override;
72
73 /**
74 * DL scheduling function
75 * \param dlInfo the DL info
76 */
78
79 /**
80 * UL scheduling function
81 * \param frameNo the frame number
82 * \param subframeNo the subframe number
83 * \param rnti the RNTI
84 * \param mcs the MCS
85 * \param sizeTb
86 */
87 void UlScheduling(uint32_t frameNo,
88 uint32_t subframeNo,
89 uint16_t rnti,
90 uint8_t mcs,
91 uint16_t sizeTb);
92
93 private:
94 void DoRun() override;
95
96 double m_d1; ///< distance between UE and ENB
97 double m_d2; ///< distance between UE and other ENB
98 double m_expectedDlSinrDb; ///< expected DL SINR in dB
99 double m_expectedUlSinrDb; ///< expected UL SINR in dB
100 uint16_t m_dlMcs; ///< the DL MCS
101 uint16_t m_ulMcs; ///< the UL MCS
102};
103
104#endif /* LTE_TEST_INTERFERENCE_H */
Test that SINR calculation and MCS selection works fine in a multi-cell interference scenario.
void DoRun() override
Implementation to actually run this TestCase.
double m_expectedDlSinrDb
expected DL SINR in dB
void UlScheduling(uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb)
UL scheduling function.
double m_expectedUlSinrDb
expected UL SINR in dB
void DlScheduling(DlSchedulingCallbackInfo dlInfo)
DL scheduling function.
double m_d2
distance between UE and other ENB
double m_d1
distance between UE and ENB
Test suite for interference test.
encapsulates test code
Definition: test.h:1061
A suite of tests to run.
Definition: test.h:1268
Every class exported by the ns3 library is enclosed in the ns3 namespace.
DlSchedulingCallbackInfo structure.
Definition: lte-common.h:237