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>
30 #include <ns3/mobility-model.h>
31 #include <ns3/mobility-building-info.h>
32 #include <ns3/constant-position-mobility-model.h>
54 :
TestSuite (
"buildings-shadowing-test", SYSTEM)
78 :
TestCase (
"SHADOWING calculation: " + name),
79 m_mobilityModelIndex1 (m1),
80 m_mobilityModelIndex2 (m2),
106 std::vector<double> loss;
108 double sumSquared = 0.0;
110 for (
int i = 0; i < samples; i++)
113 loss.push_back (propagationLossModel->DoCalcRxPower (0.0, mma, mmb) +
m_lossRef);
114 sum += loss.at (loss.size () - 1);
115 sumSquared += (loss.at (loss.size () - 1) * loss.at (loss.size () - 1));
117 double mean = sum / samples;
118 double sigma = std::sqrt (sumSquared / samples - (mean * mean));
120 double ci = (2.575829303549 * sigma) / std::sqrt (samples);
122 NS_LOG_INFO (
"Mean from simulation " << mean <<
", sigma " << sigma <<
", reference value " <<
m_sigmaRef <<
", CI(99%) " << ci);
146 double henbHeight = 10.0;
153 mm = CreateObject<ConstantPositionMobilityModel> ();
158 mm = CreateObject<ConstantPositionMobilityModel> ();
163 mm = CreateObject<ConstantPositionMobilityModel> ();
168 mm = CreateObject<ConstantPositionMobilityModel> ();
173 mm = CreateObject<ConstantPositionMobilityModel> ();
178 mm = CreateObject<ConstantPositionMobilityModel> ();
183 mm = CreateObject<ConstantPositionMobilityModel> ();
188 mm = CreateObject<ConstantPositionMobilityModel> ();
193 mm = CreateObject<ConstantPositionMobilityModel> ();
198 mm = CreateObject<ConstantPositionMobilityModel> ();
203 mm = CreateObject<ConstantPositionMobilityModel> ();