21 #include <ns3/constant-position-mobility-model.h>
22 #include <ns3/double.h>
24 #include <ns3/itu-r-1411-nlos-over-rooftop-propagation-loss-model.h>
26 #include <ns3/string.h>
65 void DoRun()
override;
120 CreateObject<ItuR1411NlosOverRooftopPropagationLossModel>();
122 propagationLossModel->SetAttribute(
"Environment",
EnumValue(
m_env));
125 double loss = propagationLossModel->GetLoss(mma, mmb);
147 :
TestSuite(
"itu-r-1411-nlos-over-rooftop", SYSTEM)
160 "f=2114Mhz, dist=900, urban large city"),
170 "f=2114Mhz, dist=900, urban large city"),
ItuR1411NlosOverRooftopPropagationLossModel Test Case.
double m_hb
height of BS in meters
double m_freq
carrier frequency in Hz
double m_dist
2D distance between UT and BS in meters
double m_lossRef
reference loss
ItuR1411NlosOverRooftopPropagationLossModelTestCase(double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name)
Constructor.
~ItuR1411NlosOverRooftopPropagationLossModelTestCase() override
double m_hm
height of UT in meters
void DoRun() override
Implementation to actually run this TestCase.
EnvironmentType m_env
environment type
Ptr< MobilityModel > CreateMobilityModel(uint16_t index)
Create a MobilityModel.
ItuR1411NlosOverRooftopPropagationLossModel TestSuite.
ItuR1411NlosOverRooftopPropagationLossModelTestSuite()
This class can be used to hold variables of floating point type such as 'double' or 'float'.
Hold variables of type enum.
void SetPosition(const Vector &position)
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
EnvironmentType
The type of propagation environment.
CitySize
The size of the city in which propagation takes place.
#define NS_TEST_ASSERT_MSG_EQ_TOL(actual, limit, tol, msg)
Test that actual and expected (limit) values are equal to plus or minus some tolerance and report and...
static ItuR1411NlosOverRooftopPropagationLossModelTestSuite g_ituR1411NlosOverRooftopTestSuite
Static variable for test initialization.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void LogComponentEnable(const std::string &name, LogLevel level)
Enable the logging output associated with that log component.
@ LOG_LEVEL_ALL
Print everything.