22 #include <ns3/simulator.h>
24 #include <ns3/hybrid-buildings-propagation-loss-model.h>
25 #include <ns3/string.h>
26 #include <ns3/double.h>
27 #include <ns3/building.h>
29 #include <ns3/buildings-helper.h>
51 :
TestSuite (
"buildings-shadowing-test", SYSTEM)
75 :
TestCase (
"SHADOWING calculation: " + name),
76 m_mobilityModelIndex1 (m1),
77 m_mobilityModelIndex2 (m2),
103 std::vector<double> loss;
105 double sumSquared = 0.0;
107 for (
int i = 0; i < samples; i++)
110 loss.push_back (propagationLossModel->DoCalcRxPower (0.0, mma, mmb) +
m_lossRef);
111 sum += loss.at (loss.size () - 1);
112 sumSquared += (loss.at (loss.size () - 1) * loss.at (loss.size () - 1));
114 double mean = sum / samples;
115 double sigma = sqrt (sumSquared / samples - (mean * mean));
117 double ci = (2.575829303549 * sigma) / sqrt (samples);
119 NS_LOG_INFO (
"Mean from simulation " << mean <<
", sigma " << sigma <<
", reference value " <<
m_sigmaRef <<
", CI(99%) " << ci);
143 double henbHeight = 10.0;
150 mm = CreateObject<BuildingsMobilityModel> ();
155 mm = CreateObject<BuildingsMobilityModel> ();
160 mm = CreateObject<BuildingsMobilityModel> ();
165 mm = CreateObject<BuildingsMobilityModel> ();
170 mm = CreateObject<BuildingsMobilityModel> ();
175 mm = CreateObject<BuildingsMobilityModel> ();
180 mm = CreateObject<BuildingsMobilityModel> ();
185 mm = CreateObject<BuildingsMobilityModel> ();
190 mm = CreateObject<BuildingsMobilityModel> ();
195 mm = CreateObject<BuildingsMobilityModel> ();
200 mm = CreateObject<BuildingsMobilityModel> ();