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 rngRun rng run
38 */
39 LenaDataPhyErrorModelTestCase(uint16_t nUser,
40 uint16_t dist,
41 double blerRef,
42 uint16_t toleranceRxPackets,
43 uint32_t rngRun);
45
46 private:
47 void DoRun() override;
48 /**
49 * Builds the test name string based on provided parameter values
50 * @param nUser the number of UE nodes
51 * @param dist the distance between nodes
52 * @param rngRun the rng run
53 * @returns the name string
54 */
55 static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t rngRun);
56 uint16_t m_nUser; ///< number of UE nodes
57 double m_dist; ///< the distance between nodes
58 double m_blerRef; ///< the expected BLER
59 uint16_t m_toleranceRxPackets; ///< receive packet tolerance loss
60 uint32_t m_rngRun; ///< the rng run
61};
62
63/**
64 * @ingroup lte-test
65 *
66 * @brief Lena Dl Ctrl Phy Error Model Test Case
67 */
69{
70 public:
71 /**
72 * Constructor
73 *
74 * @param nEnb the number of ENB nodes
75 * @param dist the distance between nodes
76 * @param blerRef expected BLER
77 * @param toleranceRxPackets receive packet loss tolerance
78 * @param rngRun rng number
79 */
81 uint16_t dist,
82 double blerRef,
83 uint16_t toleranceRxPackets,
84 uint32_t rngRun);
86
87 private:
88 void DoRun() override;
89 /**
90 * Build name string
91 * @param nUser the number of UE nodes
92 * @param dist the distance between nodes
93 * @param rngRun the rng run
94 * @returns the name string
95 */
96 static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t rngRun);
97 uint16_t m_nEnb; ///< the number of ENB nodes
98 double m_dist; ///< the distance between nodes
99 double m_blerRef; ///< the expected BLER
100 uint16_t m_toleranceRxPackets; ///< receive packet tolerance loss
101 uint32_t m_rngRun; ///< the rng run number
102};
103
104/**
105 * @ingroup lte-test
106 *
107 * @brief Lena Test Phy Error Model Suite
108 */
110{
111 public:
113};
114
115#endif /* LENA_TEST_PHY_ERROR_MODEL_H */
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.
LenaDataPhyErrorModelTestCase(uint16_t nUser, uint16_t dist, double blerRef, uint16_t toleranceRxPackets, uint32_t rngRun)
Constructor.
uint16_t m_toleranceRxPackets
receive packet tolerance loss
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.
double m_dist
the distance between nodes
uint16_t m_toleranceRxPackets
receive packet tolerance loss
LenaDlCtrlPhyErrorModelTestCase(uint16_t nEnb, uint16_t dist, double blerRef, uint16_t toleranceRxPackets, uint32_t rngRun)
Constructor.
TestCase(const TestCase &)=delete
Caller graph was not generated because of its size.
TestSuite(std::string name, Type type=Type::UNIT)
Construct a new test suite.
Definition test.cc:494
Every class exported by the ns3 library is enclosed in the ns3 namespace.