5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
lena-lte-comparison.h
1// Copyright (c) 2020 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#include "ns3/nstime.h"
6
7#include <ostream>
8#include <string>
9
10#ifndef LENA_LTE_COMPARISON_H
11#define LENA_LTE_COMPARISON_H
12
13namespace ns3
14{
15
16struct Parameters
17{
18 friend std::ostream& operator<<(std::ostream& os, const Parameters& parameters);
19
20 bool Validate() const;
21
22 uint16_t numOuterRings = 3;
23 uint16_t ueNumPergNb = 2;
24 bool logging = false;
25 bool traces = false;
26 std::string simulator = "5GLENA";
27 std::string scenario = "UMa";
28 std::string radioNetwork = "NR"; // LTE or NR
29 std::string operationMode = "TDD"; // TDD or FDD
30 std::string baseStationFile = ""; // path to file of tower/site coordinates
31 bool useSiteFile = false; // whether to use baseStationFile parameter,
32 // or to use numOuterRings parameter to create a scenario
33
34 // Simulation parameters. Please don't use double to indicate seconds, use
35 // milliseconds and integers to avoid representation errors.
36 Time appGenerationTime = MilliSeconds(1000);
37 Time udpAppStartTime = MilliSeconds(400);
38 std::string direction = "DL";
39
40 // Spectrum parameters. We will take the input from the command line, and then
41 // we will pass them inside the NR module.
42 uint16_t numerologyBwp = 0;
43 std::string pattern =
44 "F|F|F|F|F|F|F|F|F|F|"; // Pattern can be e.g. "DL|S|UL|UL|DL|DL|S|UL|UL|DL|"
45 uint32_t bandwidthMHz = 20;
46
47 // Where we will store the output files.
48 std::string simTag = "default";
49 std::string outputDir = "./";
50
51 // Error models
52 std::string errorModel = "";
53
54 bool calibration = true;
55 bool enableUlPc = false;
56 std::string powerAllocation = "UniformPowerAllocUsed";
57
58 uint32_t trafficScenario = 0;
59
60 std::string scheduler = "PF";
61 uint32_t freqScenario = 0;
62
63 double downtiltAngle = 0;
64
65 double xMinRem = -2000.0;
66 double xMaxRem = 2000.0;
67 uint16_t xResRem = 100;
68 double yMinRem = -2000.0;
69 double yMaxRem = 2000.0;
70 uint16_t yResRem = 100;
71 double zRem = 1.5;
72 bool dlRem = false;
73 bool ulRem = false;
74 uint32_t remSector = 0;
75
76 Time progressInterval = Seconds(1);
77};
78
79extern void LenaLteComparison(const Parameters& params);
80
81} // namespace ns3
82
83#endif // LENA_LTE_COMPARISON_H