propagation: doxygen fixes
This commit is contained in:
@@ -58,14 +58,19 @@ public:
|
||||
* 'stream'. Return the number of streams (possibly zero) that
|
||||
* have been assigned.
|
||||
*
|
||||
* \param stream
|
||||
* \param stream first stream index to use
|
||||
* \return the number of stream indices assigned by this model
|
||||
*/
|
||||
int64_t AssignStreams (int64_t stream);
|
||||
protected:
|
||||
/**
|
||||
* Assign a fixed random variable stream number to the random variables used by this model.
|
||||
*
|
||||
* Subclasses must implement this; those not using random variables
|
||||
* can return zero
|
||||
* can return zero.
|
||||
*
|
||||
* \param stream first stream index to use
|
||||
* \return the number of stream indices assigned by this model
|
||||
*/
|
||||
virtual int64_t DoAssignStreams (int64_t stream) = 0;
|
||||
};
|
||||
|
||||
@@ -33,7 +33,12 @@ namespace ns3 {
|
||||
|
||||
/**
|
||||
* \defgroup propagation Propagation Models
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \ingroup propagation
|
||||
* \ingroup tests
|
||||
* \defgroup propagation-tests Propagation module tests
|
||||
*/
|
||||
|
||||
class MobilityModel;
|
||||
@@ -112,9 +117,12 @@ public:
|
||||
|
||||
protected:
|
||||
/**
|
||||
* Assign a fixed random variable stream number to the random variables used by this model.
|
||||
*
|
||||
* Subclasses must implement this; those not using random variables
|
||||
* can return zero
|
||||
* \param stream the stream index offset start
|
||||
* can return zero.
|
||||
*
|
||||
* \param stream first stream index to use
|
||||
* \return the number of stream indices assigned by this model
|
||||
*/
|
||||
virtual int64_t DoAssignStreams (int64_t stream) = 0;
|
||||
|
||||
@@ -26,8 +26,10 @@
|
||||
namespace ns3 {
|
||||
|
||||
/**
|
||||
* \brief Base class for the 3GPP propagation models
|
||||
*/
|
||||
* \ingroup propagation
|
||||
*
|
||||
* \brief Base class for the 3GPP propagation models
|
||||
*/
|
||||
class ThreeGppPropagationLossModel : public PropagationLossModel
|
||||
{
|
||||
public:
|
||||
@@ -101,15 +103,6 @@ private:
|
||||
Ptr<MobilityModel> a,
|
||||
Ptr<MobilityModel> b) const override;
|
||||
|
||||
/**
|
||||
* If this model uses objects of type RandomVariableStream,
|
||||
* set the stream numbers to the integers starting with the offset
|
||||
* 'stream'. Return the number of streams (possibly zero) that
|
||||
* have been assigned.
|
||||
*
|
||||
* \param stream
|
||||
* \return the number of stream indices assigned by this model
|
||||
*/
|
||||
virtual int64_t DoAssignStreams (int64_t stream) override;
|
||||
|
||||
/**
|
||||
@@ -391,15 +384,6 @@ public:
|
||||
ThreeGppUmaPropagationLossModel & operator = (const ThreeGppUmaPropagationLossModel &) = delete;
|
||||
|
||||
private:
|
||||
/**
|
||||
* If this model uses objects of type RandomVariableStream,
|
||||
* set the stream numbers to the integers starting with the offset
|
||||
* 'stream'. Return the number of streams (possibly zero) that
|
||||
* have been assigned.
|
||||
*
|
||||
* \param stream
|
||||
* \return the number of stream indices assigned by this model
|
||||
*/
|
||||
virtual int64_t DoAssignStreams (int64_t stream) override;
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,6 +32,8 @@ using namespace ns3;
|
||||
NS_LOG_COMPONENT_DEFINE ("ChannelConditionModelsTest");
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the 3GPP channel condition models. It determines the
|
||||
* channel condition multiple times, estimates the LOS probability and
|
||||
* compares it with the value given by the formulas in 3GPP TR 38.901,
|
||||
@@ -263,6 +265,8 @@ ThreeGppChannelConditionModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test suite for the channel condition models
|
||||
*/
|
||||
class ChannelConditionModelsTestSuite : public TestSuite
|
||||
@@ -277,4 +281,5 @@ ChannelConditionModelsTestSuite::ChannelConditionModelsTestSuite ()
|
||||
AddTestCase (new ThreeGppChannelConditionModelTestCase, TestCase::QUICK);
|
||||
}
|
||||
|
||||
static ChannelConditionModelsTestSuite ChannelConditionModelsTestSuite;
|
||||
/// Static variable for test initialization
|
||||
static ChannelConditionModelsTestSuite g_channelConditionModelsTestSuite;
|
||||
|
||||
@@ -33,22 +33,43 @@ using namespace ns3;
|
||||
|
||||
NS_LOG_COMPONENT_DEFINE ("ItuR1411LosPropagationLossModelTest");
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief ItuR1411LosPropagationLossModel Test Case
|
||||
*
|
||||
*/
|
||||
class ItuR1411LosPropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* \param freq carrier frequency in Hz
|
||||
* \param dist 2D distance between UT and BS in meters
|
||||
* \param hb height of BS in meters
|
||||
* \param hm height of UT in meters
|
||||
* \param refValue reference loss value
|
||||
* \param name TestCase name
|
||||
*/
|
||||
ItuR1411LosPropagationLossModelTestCase (double freq, double dist, double hb, double hm, double refValue, std::string name);
|
||||
virtual ~ItuR1411LosPropagationLossModelTestCase ();
|
||||
|
||||
private:
|
||||
virtual void DoRun (void);
|
||||
|
||||
/**
|
||||
* Create a MobilityModel
|
||||
* \param index mobility model index
|
||||
* \return a new MobilityModel
|
||||
*/
|
||||
Ptr<MobilityModel> CreateMobilityModel (uint16_t index);
|
||||
|
||||
double m_freq;
|
||||
double m_dist;
|
||||
double m_hb;
|
||||
double m_hm;
|
||||
double m_lossRef;
|
||||
|
||||
double m_freq; //!< carrier frequency in Hz
|
||||
double m_dist; //!< 2D distance between UT and BS in meters
|
||||
double m_hb; //!< height of BS in meters
|
||||
double m_hm; //!< height of UT in meters
|
||||
double m_lossRef; //!< reference loss
|
||||
};
|
||||
|
||||
ItuR1411LosPropagationLossModelTestCase::ItuR1411LosPropagationLossModelTestCase (double freq, double dist, double hb, double hm, double refValue, std::string name)
|
||||
@@ -92,7 +113,12 @@ ItuR1411LosPropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief ItuR1411LosPropagationLossModel TestSuite
|
||||
*
|
||||
*/
|
||||
class ItuR1411LosPropagationLossModelTestSuite : public TestSuite
|
||||
{
|
||||
public:
|
||||
@@ -108,16 +134,9 @@ ItuR1411LosPropagationLossModelTestSuite::ItuR1411LosPropagationLossModelTestSui
|
||||
LogComponentEnable ("ItuR1411LosPropagationLossModelTest", LOG_LEVEL_ALL);
|
||||
|
||||
// reference values obtained with the octave scripts in src/propagation/test/reference/
|
||||
|
||||
AddTestCase (new ItuR1411LosPropagationLossModelTestCase (2.1140e9, 100, 30, 1, 81.005, "freq=2114MHz, dist=100m"), TestCase::QUICK);
|
||||
|
||||
AddTestCase (new ItuR1411LosPropagationLossModelTestCase (1999e6, 200, 30, 1, 87.060, "freq=1999MHz, dist=200m"), TestCase::QUICK);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// Static variable for test initialization
|
||||
static ItuR1411LosPropagationLossModelTestSuite g_ituR1411LosTestSuite;
|
||||
|
||||
@@ -33,24 +33,47 @@ using namespace ns3;
|
||||
|
||||
NS_LOG_COMPONENT_DEFINE ("ItuR1411NlosOverRooftopPropagationLossModelTest");
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief ItuR1411NlosOverRooftopPropagationLossModel Test Case
|
||||
*
|
||||
*/
|
||||
class ItuR1411NlosOverRooftopPropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* \param freq carrier frequency in Hz
|
||||
* \param dist 2D distance between UT and BS in meters
|
||||
* \param hb height of BS in meters
|
||||
* \param hm height of UT in meters
|
||||
* \param env environment type
|
||||
* \param city city type
|
||||
* \param refValue reference loss value
|
||||
* \param name TestCase name
|
||||
*/
|
||||
ItuR1411NlosOverRooftopPropagationLossModelTestCase (double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name);
|
||||
virtual ~ItuR1411NlosOverRooftopPropagationLossModelTestCase ();
|
||||
|
||||
private:
|
||||
virtual void DoRun (void);
|
||||
|
||||
/**
|
||||
* Create a MobilityModel
|
||||
* \param index mobility model index
|
||||
* \return a new MobilityModel
|
||||
*/
|
||||
Ptr<MobilityModel> CreateMobilityModel (uint16_t index);
|
||||
|
||||
double m_freq;
|
||||
double m_dist;
|
||||
double m_hb;
|
||||
double m_hm;
|
||||
EnvironmentType m_env;
|
||||
CitySize m_city;
|
||||
double m_lossRef;
|
||||
|
||||
double m_freq; //!< carrier frequency in Hz
|
||||
double m_dist; //!< 2D distance between UT and BS in meters
|
||||
double m_hb; //!< height of BS in meters
|
||||
double m_hm; //!< height of UT in meters
|
||||
EnvironmentType m_env; //!< environment type
|
||||
CitySize m_city; //!< city type
|
||||
double m_lossRef; //!< reference loss
|
||||
};
|
||||
|
||||
ItuR1411NlosOverRooftopPropagationLossModelTestCase::ItuR1411NlosOverRooftopPropagationLossModelTestCase (double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name)
|
||||
@@ -98,7 +121,12 @@ ItuR1411NlosOverRooftopPropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief ItuR1411NlosOverRooftopPropagationLossModel TestSuite
|
||||
*
|
||||
*/
|
||||
class ItuR1411NlosOverRooftopPropagationLossModelTestSuite : public TestSuite
|
||||
{
|
||||
public:
|
||||
@@ -106,21 +134,15 @@ public:
|
||||
};
|
||||
|
||||
|
||||
|
||||
ItuR1411NlosOverRooftopPropagationLossModelTestSuite::ItuR1411NlosOverRooftopPropagationLossModelTestSuite ()
|
||||
: TestSuite ("itu-r-1411-nlos-over-rooftop", SYSTEM)
|
||||
{
|
||||
|
||||
LogComponentEnable ("ItuR1411NlosOverRooftopPropagationLossModelTest", LOG_LEVEL_ALL);
|
||||
|
||||
// reference values obtained with the octave scripts in src/propagation/test/reference/
|
||||
|
||||
AddTestCase (new ItuR1411NlosOverRooftopPropagationLossModelTestCase (2.1140e9, 900, 30, 1, UrbanEnvironment, LargeCity, 143.68, "f=2114Mhz, dist=900, urban large city"), TestCase::QUICK);
|
||||
|
||||
AddTestCase (new ItuR1411NlosOverRooftopPropagationLossModelTestCase (1.865e9, 500, 30, 1, UrbanEnvironment, LargeCity, 132.84, "f=2114Mhz, dist=900, urban large city"), TestCase::QUICK);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// Static variable for test initialization
|
||||
static ItuR1411NlosOverRooftopPropagationLossModelTestSuite g_ituR1411NlosOverRooftopTestSuite;
|
||||
|
||||
@@ -33,21 +33,41 @@ using namespace ns3;
|
||||
|
||||
NS_LOG_COMPONENT_DEFINE ("Kun2600MhzPropagationLossModelTest");
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief Kun2600MhzPropagationLossModel Test Case
|
||||
*
|
||||
*/
|
||||
class Kun2600MhzPropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* \param dist 2D distance between UT and BS in meters
|
||||
* \param hb height of BS in meters
|
||||
* \param hm height of UT in meters
|
||||
* \param refValue reference loss value
|
||||
* \param name TestCase name
|
||||
*/
|
||||
Kun2600MhzPropagationLossModelTestCase (double dist, double hb, double hm, double refValue, std::string name);
|
||||
virtual ~Kun2600MhzPropagationLossModelTestCase ();
|
||||
|
||||
private:
|
||||
virtual void DoRun (void);
|
||||
|
||||
/**
|
||||
* Create a MobilityModel
|
||||
* \param index mobility model index
|
||||
* \return a new MobilityModel
|
||||
*/
|
||||
Ptr<MobilityModel> CreateMobilityModel (uint16_t index);
|
||||
|
||||
double m_dist;
|
||||
double m_hb;
|
||||
double m_hm;
|
||||
double m_lossRef;
|
||||
|
||||
double m_dist; //!< 2D distance between UT and BS in meters
|
||||
double m_hb; //!< height of BS in meters
|
||||
double m_hm; //!< height of UT in meters
|
||||
double m_lossRef; //!< reference loss
|
||||
};
|
||||
|
||||
Kun2600MhzPropagationLossModelTestCase::Kun2600MhzPropagationLossModelTestCase (double dist, double hb, double hm, double refValue, std::string name)
|
||||
@@ -90,6 +110,12 @@ Kun2600MhzPropagationLossModelTestCase::DoRun (void)
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief Kun2600MhzPropagationLossModel TestSuite
|
||||
*
|
||||
*/
|
||||
class Kun2600MhzPropagationLossModelTestSuite : public TestSuite
|
||||
{
|
||||
public:
|
||||
@@ -101,14 +127,10 @@ public:
|
||||
Kun2600MhzPropagationLossModelTestSuite::Kun2600MhzPropagationLossModelTestSuite ()
|
||||
: TestSuite ("kun-2600-mhz", SYSTEM)
|
||||
{
|
||||
|
||||
LogComponentEnable ("Kun2600MhzPropagationLossModelTest", LOG_LEVEL_ALL);
|
||||
|
||||
AddTestCase (new Kun2600MhzPropagationLossModelTestCase (2000, 30, 1, 121.83, "dist=2000m"), TestCase::QUICK);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// Static variable for test initialization
|
||||
static Kun2600MhzPropagationLossModelTestSuite g_kun2600MhzTestSuite;
|
||||
|
||||
@@ -33,24 +33,46 @@ using namespace ns3;
|
||||
|
||||
NS_LOG_COMPONENT_DEFINE ("OkumuraHataPropagationLossModelTest");
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief OkumuraHataPropagationLossModel Test Case
|
||||
*/
|
||||
class OkumuraHataPropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* \param freq carrier frequency in Hz
|
||||
* \param dist 2D distance between UT and BS in meters
|
||||
* \param hb height of BS in meters
|
||||
* \param hm height of UT in meters
|
||||
* \param env environment type
|
||||
* \param city city type
|
||||
* \param refValue reference loss value
|
||||
* \param name TestCase name
|
||||
*/
|
||||
OkumuraHataPropagationLossModelTestCase (double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name);
|
||||
virtual ~OkumuraHataPropagationLossModelTestCase ();
|
||||
|
||||
private:
|
||||
virtual void DoRun (void);
|
||||
|
||||
/**
|
||||
* Create a MobilityModel
|
||||
* \param index mobility model index
|
||||
* \return a new MobilityModel
|
||||
*/
|
||||
Ptr<MobilityModel> CreateMobilityModel (uint16_t index);
|
||||
|
||||
double m_freq;
|
||||
double m_dist;
|
||||
double m_hb;
|
||||
double m_hm;
|
||||
EnvironmentType m_env;
|
||||
CitySize m_city;
|
||||
double m_lossRef;
|
||||
|
||||
double m_freq; //!< carrier frequency in Hz
|
||||
double m_dist; //!< 2D distance between UT and BS in meters
|
||||
double m_hb; //!< height of BS in meters
|
||||
double m_hm; //!< height of UT in meters
|
||||
EnvironmentType m_env; //!< environment type
|
||||
CitySize m_city; //!< city type
|
||||
double m_lossRef; //!< reference loss
|
||||
};
|
||||
|
||||
OkumuraHataPropagationLossModelTestCase::OkumuraHataPropagationLossModelTestCase (double freq, double dist, double hb, double hm, EnvironmentType env, CitySize city, double refValue, std::string name)
|
||||
@@ -98,44 +120,40 @@ OkumuraHataPropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief OkumuraHataPropagationLossModel TestSuite
|
||||
*
|
||||
* This TestSuite tests the following cases:
|
||||
* - UrbanEnvironment - Large City (original OH and COST231 OH)
|
||||
* - UrbanEnvironment - Small City (original OH and COST231 OH)
|
||||
* - SubUrbanEnvironment (original OH only)
|
||||
* - OpenAreasEnvironment (original OH only)
|
||||
*/
|
||||
class OkumuraHataPropagationLossModelTestSuite : public TestSuite
|
||||
{
|
||||
public:
|
||||
OkumuraHataPropagationLossModelTestSuite ();
|
||||
};
|
||||
|
||||
|
||||
|
||||
OkumuraHataPropagationLossModelTestSuite::OkumuraHataPropagationLossModelTestSuite ()
|
||||
: TestSuite ("okumura-hata", SYSTEM)
|
||||
{
|
||||
|
||||
LogComponentEnable ("OkumuraHataPropagationLossModelTest", LOG_LEVEL_ALL);
|
||||
|
||||
|
||||
// reference values obtained with the octave scripts in src/propagation/test/reference/
|
||||
|
||||
|
||||
double freq = 869e6; // this will use the original OH model
|
||||
|
||||
AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, UrbanEnvironment, LargeCity, 137.93, "original OH Urban Large city"), TestCase::QUICK);
|
||||
|
||||
AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, UrbanEnvironment, SmallCity, 137.88, "original OH Urban small city"), TestCase::QUICK);
|
||||
|
||||
AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, SubUrbanEnvironment, LargeCity, 128.03, "original OH SubUrban"), TestCase::QUICK);
|
||||
|
||||
AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, OpenAreasEnvironment, LargeCity, 110.21, "original OH OpenAreas"), TestCase::QUICK);
|
||||
|
||||
|
||||
freq = 2.1140e9; // this will use the extended COST231 OH model
|
||||
|
||||
AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, UrbanEnvironment, LargeCity, 148.55, "COST231 OH Urban Large city"), TestCase::QUICK);
|
||||
|
||||
AddTestCase (new OkumuraHataPropagationLossModelTestCase (freq, 2000, 30, 1, UrbanEnvironment, SmallCity, 150.64, "COST231 OH Urban small city and suburban"), TestCase::QUICK);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// Static variable for test initialization
|
||||
static OkumuraHataPropagationLossModelTestSuite g_okumuraHataTestSuite;
|
||||
|
||||
@@ -36,6 +36,8 @@ using namespace ns3;
|
||||
NS_LOG_COMPONENT_DEFINE ("ProbabilisticV2vChannelConditionModelsTest");
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the V2V Urban channel condition models using a fully
|
||||
* probabilistic model to determine LOS, NLOS and NLOSv states. The test
|
||||
* determines the channel condition multiple times,
|
||||
@@ -226,6 +228,8 @@ V2vUrbanProbChCondModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the V2V Highway channel condition models using a fully
|
||||
* probabilistic model to determine LOS, NLOS and NLOSv states. The test
|
||||
* determines the channel condition multiple times,
|
||||
@@ -434,6 +438,8 @@ V2vHighwayProbChCondModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test suite for the probabilistic V2V channel condition model
|
||||
*
|
||||
* The tests V2vUrbanProbChCondModelTestCase and
|
||||
@@ -458,4 +464,5 @@ ProbabilisticV2vChCondModelsTestSuite::ProbabilisticV2vChCondModelsTestSuite ()
|
||||
AddTestCase (new V2vHighwayProbChCondModelTestCase, TestCase::QUICK); // test for a fully probabilistic model (NLOS vs LOS vs NLOSv), in V2V highway scenario*/
|
||||
}
|
||||
|
||||
static ProbabilisticV2vChCondModelsTestSuite probabilisticV2vChCondModelsTestSuite;
|
||||
/// Static variable for test initialization
|
||||
static ProbabilisticV2vChCondModelsTestSuite g_probabilisticV2vChCondModelsTestSuite;
|
||||
|
||||
@@ -33,7 +33,19 @@ NS_LOG_COMPONENT_DEFINE ("PropagationLossModelsTest");
|
||||
// This is a simple test to validate propagation loss models of ns-3 wifi.
|
||||
// See the chapter in the ns-3 testing and validation guide for more detail
|
||||
// ===========================================================================
|
||||
//
|
||||
|
||||
|
||||
/**
|
||||
* \ingroup propagation
|
||||
* \defgroup propagation-test Propagation module tests
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief FriisPropagationLossModel Test
|
||||
*/
|
||||
class FriisPropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
@@ -43,13 +55,15 @@ public:
|
||||
private:
|
||||
virtual void DoRun (void);
|
||||
|
||||
/// Test vector
|
||||
typedef struct {
|
||||
Vector m_position;
|
||||
double m_pt; // dBm
|
||||
double m_pr; // W
|
||||
double m_tolerance;
|
||||
Vector m_position; //!< Test node position
|
||||
double m_pt; //!< Tx power [dBm]
|
||||
double m_pr; //!< Rx power [W]
|
||||
double m_tolerance; //!< Tolerance
|
||||
} TestVector;
|
||||
|
||||
/// Test vectors
|
||||
TestVectors<TestVector> m_testVectors;
|
||||
};
|
||||
|
||||
@@ -132,6 +146,11 @@ FriisPropagationLossModelTestCase::DoRun (void)
|
||||
|
||||
// Added for Two-Ray Ground Model - tomhewer@mac.com
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief TwoRayGroundPropagationLossModel Test
|
||||
*/
|
||||
class TwoRayGroundPropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
@@ -141,14 +160,15 @@ public:
|
||||
private:
|
||||
virtual void DoRun (void);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Vector m_position;
|
||||
double m_pt; // dBm
|
||||
double m_pr; // W
|
||||
double m_tolerance;
|
||||
/// Test vector
|
||||
typedef struct {
|
||||
Vector m_position; //!< Test node position
|
||||
double m_pt; //!< Tx power [dBm]
|
||||
double m_pr; //!< Rx power [W]
|
||||
double m_tolerance; //!< Tolerance
|
||||
} TestVector;
|
||||
|
||||
/// Test vectors
|
||||
TestVectors<TestVector> m_testVectors;
|
||||
};
|
||||
|
||||
@@ -261,6 +281,11 @@ TwoRayGroundPropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief LogDistancePropagationLossModel Test
|
||||
*/
|
||||
class LogDistancePropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
@@ -270,13 +295,15 @@ public:
|
||||
private:
|
||||
virtual void DoRun (void);
|
||||
|
||||
/// Test vector
|
||||
typedef struct {
|
||||
Vector m_position;
|
||||
double m_pt; // dBm
|
||||
double m_pr; // W
|
||||
double m_tolerance;
|
||||
Vector m_position; //!< Test node position
|
||||
double m_pt; //!< Tx power [dBm]
|
||||
double m_pr; //!< Rx power [W]
|
||||
double m_tolerance; //!< Tolerance
|
||||
} TestVector;
|
||||
|
||||
/// Test vectors
|
||||
TestVectors<TestVector> m_testVectors;
|
||||
};
|
||||
|
||||
@@ -348,6 +375,11 @@ LogDistancePropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief MatrixPropagationLossModel Test
|
||||
*/
|
||||
class MatrixPropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
@@ -396,6 +428,11 @@ MatrixPropagationLossModelTestCase::DoRun (void)
|
||||
Simulator::Destroy ();
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief RangePropagationLossModel Test
|
||||
*/
|
||||
class RangePropagationLossModelTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
@@ -436,6 +473,18 @@ RangePropagationLossModelTestCase::DoRun (void)
|
||||
Simulator::Destroy ();
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief Propagation models TestSuite
|
||||
*
|
||||
* This TestSuite tests the following models:
|
||||
* - FriisPropagationLossModel
|
||||
* - TwoRayGroundPropagationLossModel
|
||||
* - LogDistancePropagationLossModel
|
||||
* - MatrixPropagationLossModel
|
||||
* - RangePropagationLossModel
|
||||
*/
|
||||
class PropagationLossModelsTestSuite : public TestSuite
|
||||
{
|
||||
public:
|
||||
@@ -452,4 +501,5 @@ PropagationLossModelsTestSuite::PropagationLossModelsTestSuite ()
|
||||
AddTestCase (new RangePropagationLossModelTestCase, TestCase::QUICK);
|
||||
}
|
||||
|
||||
static PropagationLossModelsTestSuite propagationLossModelsTestSuite;
|
||||
/// Static variable for test initialization
|
||||
static PropagationLossModelsTestSuite g_propagationLossModelsTestSuite;
|
||||
|
||||
@@ -36,6 +36,8 @@ using namespace ns3;
|
||||
NS_LOG_COMPONENT_DEFINE ("ThreeGppPropagationLossModelsTest");
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the class ThreeGppRmaPropagationLossModel.
|
||||
* It computes the pathloss between two nodes and compares it with the value
|
||||
* obtained using the formula in 3GPP TR 38.901, Table 7.4.1-1.
|
||||
@@ -193,6 +195,8 @@ ThreeGppRmaPropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the class ThreeGppUmaPropagationLossModel.
|
||||
* It computes the pathloss between two nodes and compares it with the value
|
||||
* obtained using the formula in 3GPP TR 38.901, Table 7.4.1-1.
|
||||
@@ -350,6 +354,8 @@ ThreeGppUmaPropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the class ThreeGppUmiStreetCanyonPropagationLossModel.
|
||||
* It computes the pathloss between two nodes and compares it with the value
|
||||
* obtained using the formula in 3GPP TR 38.901, Table 7.4.1-1.
|
||||
@@ -501,6 +507,8 @@ ThreeGppUmiPropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the class ThreeGppIndoorOfficePropagationLossModel.
|
||||
* It computes the pathloss between two nodes and compares it with the value
|
||||
* obtained using the formula in 3GPP TR 38.901, Table 7.4.1-1.
|
||||
@@ -658,6 +666,8 @@ ThreeGppIndoorOfficePropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the class ThreeGppV2vUrbanPropagationLossModel.
|
||||
* It computes the pathloss between two nodes and compares it with the value
|
||||
* obtained using the formula in 3GPP TR 37.885 Table 6.2.1-1 for v2v
|
||||
@@ -811,6 +821,8 @@ ThreeGppV2vUrbanPropagationLossModelTestCase::DoRun (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test case for the class ThreeGppV2vHighwayPropagationLossModel.
|
||||
* It computes the pathloss between two nodes and compares it with the value
|
||||
* obtained using the formula in 3GPP TR 37.885 Table 6.2.1-1 for v2v
|
||||
@@ -963,7 +975,11 @@ ThreeGppV2vHighwayPropagationLossModelTestCase::DoRun (void)
|
||||
Simulator::Destroy ();
|
||||
}
|
||||
|
||||
// Test to check if the shadowing fading is correctly computed
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* Test to check if the shadowing fading is correctly computed
|
||||
*/
|
||||
class ThreeGppShadowingTestCase : public TestCase
|
||||
{
|
||||
public:
|
||||
@@ -981,6 +997,7 @@ private:
|
||||
* \param hBs the BS height in meters
|
||||
* \param hUt the UT height in meters
|
||||
* \param distance the intial distance between the BS and the UT
|
||||
* \param shadowingEnabled true if shadowging must be enabled
|
||||
*/
|
||||
void RunTest (uint16_t testNum, std::string propagationLossModelType, double hBs, double hUt, double distance, bool shadowingEnabled);
|
||||
|
||||
@@ -993,6 +1010,10 @@ private:
|
||||
*/
|
||||
void EvaluateLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b, uint8_t testNum);
|
||||
|
||||
/**
|
||||
* Change the channel condition model
|
||||
* \param ccm the new ChannelConditionModel
|
||||
*/
|
||||
void ChangeChannelCondition (Ptr<ChannelConditionModel> ccm);
|
||||
|
||||
/**
|
||||
@@ -1207,6 +1228,20 @@ ThreeGppShadowingTestCase::DoRun (void)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \ingroup propagation-tests
|
||||
*
|
||||
* \brief 3GPP Propagation models TestSuite
|
||||
*
|
||||
* This TestSuite tests the following models:
|
||||
* - ThreeGppRmaPropagationLossModel
|
||||
* - ThreeGppUmaPropagationLossModel
|
||||
* - ThreeGppUmiPropagationLossModel
|
||||
* - ThreeGppIndoorOfficePropagationLossModel
|
||||
* - ThreeGppV2vUrbanPropagationLossModel
|
||||
* - ThreeGppV2vHighwayPropagationLossModel
|
||||
* - ThreeGppShadowing
|
||||
*/
|
||||
class ThreeGppPropagationLossModelsTestSuite : public TestSuite
|
||||
{
|
||||
public:
|
||||
@@ -1225,4 +1260,5 @@ ThreeGppPropagationLossModelsTestSuite::ThreeGppPropagationLossModelsTestSuite (
|
||||
AddTestCase (new ThreeGppShadowingTestCase, TestCase::QUICK);
|
||||
}
|
||||
|
||||
static ThreeGppPropagationLossModelsTestSuite propagationLossModelsTestSuite;
|
||||
/// Static variable for test initialization
|
||||
static ThreeGppPropagationLossModelsTestSuite g_propagationLossModelsTestSuite;
|
||||
|
||||
Reference in New Issue
Block a user