A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-test-mimo.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 */
8
9#ifndef LENA_TEST_MIMO_H
10#define LENA_TEST_MIMO_H
11
12#include "ns3/simulator.h"
13#include "ns3/test.h"
14
15namespace ns3
16{
18}
19
20using namespace ns3;
21
22/**
23 * \ingroup lte-test
24 *
25 * \brief This system test program creates different test cases with a
26 * single eNB and single UE. The traffic is configured to be in saturation
27 * mode. It is checked if the throughput reaches the expected values
28 * when MIMO is used.
29 */
31{
32 public:
33 /**
34 * Constructor
35 *
36 * \param dist the distance
37 * \param estThrDl the estimated throughput DL
38 * \param schedulerType the scheduler type
39 * \param useIdealRrc true if use ideal RRC
40 */
41 LenaMimoTestCase(uint16_t dist,
42 std::vector<uint32_t> estThrDl,
43 std::string schedulerType,
44 bool useIdealRrc);
45 ~LenaMimoTestCase() override;
46
47 private:
48 void DoRun() override;
49
50 /**
51 * Get RLC buffer sample
52 * \param rlcStats Ptr<RadioBearerStatsCalculator>
53 * \param imsi the IMSI
54 * \param rnti the RNTI
55 */
56 void GetRlcBufferSample(Ptr<RadioBearerStatsCalculator> rlcStats, uint64_t imsi, uint8_t rnti);
57
58 /**
59 * Builds the test name string based on provided parameter values
60 * \param dist the distance
61 * \param schedulerType the scheduler type
62 * \param useIdealRrc if true use the ideal RRC
63 * \returns the name string
64 */
65 static std::string BuildNameString(uint16_t dist, std::string schedulerType, bool useIdealRrc);
66 uint16_t m_dist; ///< the distance
67 std::vector<uint32_t> m_estThrDl; ///< estimated throughput DL
68 std::string m_schedulerType; ///< the scheduler type
69 bool m_useIdealRrc; ///< whether to use the ideal RRC
70
71 std::vector<uint64_t> m_dlDataRxed; ///< DL data received
72};
73
74/**
75 * \ingroup lte-test
76 *
77 * \brief Lena Test Mimo Suite
78 */
79
81{
82 public:
84};
85
86#endif /* LENA_TEST_MIMO_H */
This system test program creates different test cases with a single eNB and single UE.
void DoRun() override
Implementation to actually run this TestCase.
~LenaMimoTestCase() override
void GetRlcBufferSample(Ptr< RadioBearerStatsCalculator > rlcStats, uint64_t imsi, uint8_t rnti)
Get RLC buffer sample.
std::string m_schedulerType
the scheduler type
LenaMimoTestCase(uint16_t dist, std::vector< uint32_t > estThrDl, std::string schedulerType, bool useIdealRrc)
Constructor.
bool m_useIdealRrc
whether to use the ideal RRC
std::vector< uint64_t > m_dlDataRxed
DL data received.
std::vector< uint32_t > m_estThrDl
estimated throughput DL
uint16_t m_dist
the distance
static std::string BuildNameString(uint16_t dist, std::string schedulerType, bool useIdealRrc)
Builds the test name string based on provided parameter values.
Lena Test Mimo Suite.
Smart pointer class similar to boost::intrusive_ptr.
This class is an ns-3 trace sink that performs the calculation of PDU statistics for uplink and downl...
encapsulates test code
Definition test.h:1050
A suite of tests to run.
Definition test.h:1267
Every class exported by the ns3 library is enclosed in the ns3 namespace.