5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
lena-v1-utils.h
1// Copyright (c) 2020 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#ifndef LENA_V1_UTILS_H
6#define LENA_V1_UTILS_H
7
8#include "sinr-output-stats.h"
9
10#include "ns3/hexagonal-grid-scenario-helper.h"
11#include "ns3/lte-module.h"
12#include "ns3/nr-module.h"
13
14namespace ns3
15{
16
17class SinrOutputStats;
18class PowerOutputStats;
19class SlotOutputStats;
20
21class LenaV1Utils
22{
23 public:
24 static void SetLenaV1SimulatorParameters(const double sector0AngleRad,
25 std::string scenario,
26 NodeContainer enbSector1Container,
27 NodeContainer enbSector2Container,
28 NodeContainer enbSector3Container,
29 NodeContainer ueSector1Container,
30 NodeContainer ueSector2Container,
31 NodeContainer ueSector3Container,
32 Ptr<PointToPointEpcHelper>& epcHelper,
33 Ptr<LteHelper>& lteHelper,
34 NetDeviceContainer& enbSector1NetDev,
35 NetDeviceContainer& enbSector2NetDev,
36 NetDeviceContainer& enbSector3NetDev,
37 NetDeviceContainer& ueSector1NetDev,
38 NetDeviceContainer& ueSector2NetDev,
39 NetDeviceContainer& ueSector3NetDev,
40 bool calibration,
41 bool enableUlPc,
42 SinrOutputStats* sinrStats,
43 PowerOutputStats* powerStats,
44 const std::string& scheduler,
45 uint32_t bandwidthMHz,
46 uint32_t freqScenario,
47 double downtiltAngle);
48
49 static void ReportSinrLena(SinrOutputStats* stats,
50 uint16_t cellId,
51 uint16_t rnti,
52 double power,
53 double avgSinr,
54 uint8_t bwpId);
55 static void ReportPowerLena(PowerOutputStats* stats, uint16_t rnti, Ptr<SpectrumValue> txPsd);
56};
57
58} // namespace ns3
59
60#endif // LENA_V1_UTILS_H