5G-LENA nr-v3.3-120-gdac69c56
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-spectrum-phy-test.h
1// Copyright (c) 2020 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5// An essential include is test.h
6#include "ns3/spectrum-propagation-loss-model.h"
7#include "ns3/test.h"
8
18namespace ns3
19{
20
21class MobilityModel;
22
28class NoLossSpectrumPropagationLossModel : public SpectrumPropagationLossModel
29{
30 public:
33
38 static TypeId GetTypeId();
39
40 protected:
41 int64_t DoAssignStreams(int64_t stream) override;
42
43 private:
44 Ptr<SpectrumValue> DoCalcRxPowerSpectralDensity(Ptr<const SpectrumSignalParameters> params,
45 Ptr<const MobilityModel> a,
46 Ptr<const MobilityModel> b) const override;
47};
48
49class SetNoisePsdTestCase : public TestCase
50{
51 public:
53 SetNoisePsdTestCase(double txPower,
54 double bandwidth,
55 double noiseFigureFirst,
56 double noiseFigureSecond,
57 double expectedSnrFirst,
58 double expectedSnrSecond,
59 uint8_t numerology);
61 ~SetNoisePsdTestCase() override;
62
66 void SaveSnr(double snr);
67
68 private:
72 void DoRun() override;
73
77 void DoEvaluateTest();
78
79 std::vector<double>
80 m_snr;
81 double m_txPower;
82 double m_bandwidth;
83 double m_noiseFigureFirst;
85 double m_noiseFigureSecond;
87 double m_expectedSnrFirst;
88 double
89 m_expectedSnrSecond;
90 uint8_t m_numerology;
91};
92
97class NrSpectrumPhyTestSuite : public TestSuite
98{
99 public:
102};
103
104} // namespace ns3
No loss spectrum propagation loss model created for testing purposes. As its name says,...
static TypeId GetTypeId()
Get the type ID.
void SaveSnr(double snr)
Save SNR value in the list of values.