21 #include <ns3/constant-position-mobility-model.h>
22 #include <ns3/double.h>
25 #include <ns3/okumura-hata-propagation-loss-model.h>
26 #include <ns3/string.h>
64 void DoRun()
override;
118 CreateObject<OkumuraHataPropagationLossModel>();
120 propagationLossModel->SetAttribute(
"Environment",
EnumValue(
m_env));
123 double loss = propagationLossModel->GetLoss(mma, mmb);
162 "original OH Urban Large city"),
171 "original OH Urban small city"),
180 "original OH SubUrban"),
189 "original OH OpenAreas"),
200 "COST231 OH Urban Large city"),
210 "COST231 OH Urban small city and suburban"),
OkumuraHataPropagationLossModel Test Case.
EnvironmentType m_env
environment type
~OkumuraHataPropagationLossModelTestCase() override
double m_hm
height of UT in meters
Ptr< MobilityModel > CreateMobilityModel(uint16_t index)
Create a MobilityModel.
OkumuraHataPropagationLossModelTestCase(double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name)
Constructor.
double m_freq
carrier frequency in Hz
void DoRun() override
Implementation to actually run this TestCase.
double m_hb
height of BS in meters
double m_dist
2D distance between UT and BS in meters
double m_lossRef
reference loss
OkumuraHataPropagationLossModel TestSuite.
OkumuraHataPropagationLossModelTestSuite()
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...
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.
static OkumuraHataPropagationLossModelTestSuite g_okumuraHataTestSuite
Static variable for test initialization.