A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-test-phy-error-model.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_PHY_ERROR_MODEL_H
10#define LENA_TEST_PHY_ERROR_MODEL_H
11
12#include <ns3/nstime.h>
13#include <ns3/simulator.h>
14#include <ns3/test.h>
15
16using namespace ns3;
17
18/**
19 * \ingroup lte-test
20 *
21 * \brief This system test program creates different test cases with a single eNB and
22 * several UEs, all having the same Radio Bearer specification. In each test
23 * case, the UEs see the same SINR from the eNB; different test cases are
24 * implemented obtained by using different SINR values and different numbers of
25 * UEs. The test consists on ...
26 */
28{
29 public:
30 /**
31 * Constructor
32 *
33 * \param nUser the number of UE nodes
34 * \param dist the distance between nodes
35 * \param blerRef expected BLER
36 * \param toleranceRxPackets receive packet loss tolerance
37 * \param statsStartTime the start time for collecting statistics
38 * \param rngRun rng run
39 */
40 LenaDataPhyErrorModelTestCase(uint16_t nUser,
41 uint16_t dist,
42 double blerRef,
43 uint16_t toleranceRxPackets,
44 Time statsStartTime,
45 uint32_t rngRun);
47
48 private:
49 void DoRun() override;
50 /**
51 * Builds the test name string based on provided parameter values
52 * \param nUser the number of UE nodes
53 * \param dist the distance between nodes
54 * \param rngRun the rng run
55 * \returns the name string
56 */
57 static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t rngRun);
58 uint16_t m_nUser; ///< number of UE nodes
59 double m_dist; ///< the distance between nodes
60 double m_blerRef; ///< the expected BLER
61 uint16_t m_toleranceRxPackets; ///< receive packet tolerance loss
62 Time m_statsStartTime; ///< Extra time in the beginning of simulation to allow RRC connection
63 ///< establishment + SRS
64 uint32_t m_rngRun; ///< the rng run
65};
66
67/**
68 * \ingroup lte-test
69 *
70 * \brief Lena Dl Ctrl Phy Error Model Test Case
71 */
73{
74 public:
75 /**
76 * Constructor
77 *
78 * \param nEnb the number of ENB nodes
79 * \param dist the distance between nodes
80 * \param blerRef expected BLER
81 * \param toleranceRxPackets receive packet loss tolerance
82 * \param statsStartTime the start time for collecting statistics
83 * \param rngRun rng number
84 */
86 uint16_t dist,
87 double blerRef,
88 uint16_t toleranceRxPackets,
89 Time statsStartTime,
90 uint32_t rngRun);
92
93 private:
94 void DoRun() override;
95 /**
96 * Build name string
97 * \param nUser the number of UE nodes
98 * \param dist the distance between nodes
99 * \param rngRun the rng run
100 * \returns the name string
101 */
102 static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t rngRun);
103 uint16_t m_nEnb; ///< the number of ENB nodes
104 double m_dist; ///< the distance between nodes
105 double m_blerRef; ///< the expected BLER
106 uint16_t m_toleranceRxPackets; ///< receive packet tolerance loss
107 Time m_statsStartTime; ///< Extra time in the beginning of simulation to allow RRC connection
108 ///< establishment + SRS
109 uint32_t m_rngRun; ///< the rng run number
110};
111
112/**
113 * \ingroup lte-test
114 *
115 * \brief Lena Test Phy Error Model Suite
116 */
118{
119 public:
121};
122
123#endif /* LENA_TEST_PHY_ERROR_MODEL_H */
This system test program creates different test cases with a single eNB and several UEs,...
LenaDataPhyErrorModelTestCase(uint16_t nUser, uint16_t dist, double blerRef, uint16_t toleranceRxPackets, Time statsStartTime, uint32_t rngRun)
Constructor.
static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t rngRun)
Builds the test name string based on provided parameter values.
uint16_t m_nUser
number of UE nodes
double m_dist
the distance between nodes
void DoRun() override
Implementation to actually run this TestCase.
uint16_t m_toleranceRxPackets
receive packet tolerance loss
Time m_statsStartTime
Extra time in the beginning of simulation to allow RRC connection establishment + SRS.
Lena Dl Ctrl Phy Error Model Test Case.
LenaDlCtrlPhyErrorModelTestCase(uint16_t nEnb, uint16_t dist, double blerRef, uint16_t toleranceRxPackets, Time statsStartTime, uint32_t rngRun)
Constructor.
uint16_t m_nEnb
the number of ENB nodes
static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t rngRun)
Build name string.
void DoRun() override
Implementation to actually run this TestCase.
Time m_statsStartTime
Extra time in the beginning of simulation to allow RRC connection establishment + SRS.
double m_dist
the distance between nodes
uint16_t m_toleranceRxPackets
receive packet tolerance loss
Lena Test Phy Error Model Suite.
encapsulates test code
Definition test.h:1050
A suite of tests to run.
Definition test.h:1267
Simulation virtual time values and global simulation resolution.
Definition nstime.h:94
Every class exported by the ns3 library is enclosed in the ns3 namespace.