Test frequency reuse algorithm by teleporting UEs to different parts of area and checking if the frequency is used according to the frequency pattern for different parts of area. More...
#include "lte-test-frequency-reuse.h"
Public Member Functions | |
LteFrAreaTestCase (std::string name, std::string schedulerType) | |
Constructor. More... | |
~LteFrAreaTestCase () override | |
void | DlDataRxStart (Ptr< const SpectrumValue > spectrumValue) |
DL data receive start function. More... | |
void | SetDlExpectedValues (double expectedPower, std::vector< bool > expectedDlRb) |
Set DL expected values function. More... | |
void | SetUlExpectedValues (double expectedPower, std::vector< bool > expectedDlRb) |
Set UL expected values function. More... | |
void | SimpleTeleportUe (uint32_t x, uint32_t y) |
Simple teleport UE function. More... | |
void | TeleportUe (uint32_t x, uint32_t y, double expectedPower, std::vector< bool > expectedDlRb) |
Teleport UE function. More... | |
void | TeleportUe2 (Ptr< Node > ueNode, uint32_t x, uint32_t y, double expectedPower, std::vector< bool > expectedDlRb) |
Teleport UE 2 function. More... | |
void | UlDataRxStart (Ptr< const SpectrumValue > spectrumValue) |
UL data receive start function. More... | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. More... | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Protected Member Functions | |
void | DoRun () override |
Implementation to actually run this TestCase. More... | |
Protected Member Functions inherited from ns3::TestCase | |
TestCase (std::string name) | |
Constructor. More... | |
void | AddTestCase (TestCase *testCase, TestDuration duration=QUICK) |
Add an individual child TestCase to this test suite. More... | |
TestCase * | GetParent () const |
Get the parent of this TestCase. More... | |
bool | IsStatusFailure () const |
Check if any tests failed. More... | |
bool | IsStatusSuccess () const |
Check if all tests passed. More... | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. More... | |
void | ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line) |
Log the failure of this TestCase. More... | |
bool | MustAssertOnFailure () const |
Check if this run should assert on failure. More... | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. More... | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. More... | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. More... | |
Protected Attributes | |
uint16_t | m_dlBandwidth |
the DL bandwidth More... | |
double | m_expectedDlPower |
the expected DL power More... | |
std::vector< bool > | m_expectedDlRb |
the expected DL per RB More... | |
double | m_expectedUlPower |
expected UL power More... | |
std::vector< bool > | m_expectedUlRb |
expected UL per RB More... | |
std::string | m_schedulerType |
the scheduler type More... | |
Time | m_teleportTime |
the teleport time More... | |
Ptr< MobilityModel > | m_ueMobility |
the UE mobility model More... | |
uint16_t | m_ulBandwidth |
the UL bandwidth More... | |
bool | m_usedWrongDlPower |
used wrong DL power? More... | |
bool | m_usedWrongDlRbg |
used wrong DL RBG? More... | |
bool | m_usedWrongUlPower |
used wrong UL power? More... | |
bool | m_usedWrongUlRbg |
used wrong UL RBG? More... | |
Additional Inherited Members | |
Public Types inherited from ns3::TestCase | |
enum | TestDuration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
Test frequency reuse algorithm by teleporting UEs to different parts of area and checking if the frequency is used according to the frequency pattern for different parts of area.
Test fails if the muted frequencies for a given part of area are being used by UE.
Definition at line 213 of file lte-test-frequency-reuse.h.
LteFrAreaTestCase::LteFrAreaTestCase | ( | std::string | name, |
std::string | schedulerType | ||
) |
Constructor.
name | the reference name |
schedulerType | the scheduler type |
Definition at line 799 of file lte-test-frequency-reuse.cc.
References m_dlBandwidth, m_ulBandwidth, m_usedWrongDlRbg, and m_usedWrongUlRbg.
|
override |
Definition at line 809 of file lte-test-frequency-reuse.cc.
void LteFrAreaTestCase::DlDataRxStart | ( | Ptr< const SpectrumValue > | spectrumValue | ) |
DL data receive start function.
spectrumValue | the DL receive spectrum value |
Definition at line 814 of file lte-test-frequency-reuse.cc.
References m_dlBandwidth, m_expectedDlPower, m_expectedDlRb, m_teleportTime, m_usedWrongDlRbg, ns3::MilliSeconds(), ns3::Now(), NS_LOG_DEBUG, and NS_TEST_ASSERT_MSG_EQ_TOL.
Referenced by DlDataRxStartNotificationArea().
|
overrideprotectedvirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Reimplemented in LteDistributedFfrAreaTestCase, LteEnhancedFfrAreaTestCase, LteSoftFfrAreaTestCase, LteSoftFrAreaTestCase, and LteStrictFrAreaTestCase.
Definition at line 956 of file lte-test-frequency-reuse.cc.
void LteFrAreaTestCase::SetDlExpectedValues | ( | double | expectedPower, |
std::vector< bool > | expectedDlRb | ||
) |
Set DL expected values function.
expectedPower | the expected power |
expectedDlRb | the expected DL pwr RB |
Definition at line 940 of file lte-test-frequency-reuse.cc.
References m_expectedDlPower, m_expectedDlRb, and NS_LOG_FUNCTION.
void LteFrAreaTestCase::SetUlExpectedValues | ( | double | expectedPower, |
std::vector< bool > | expectedDlRb | ||
) |
Set UL expected values function.
expectedPower | the expected power |
expectedDlRb | the expected DL pwr RB |
Definition at line 948 of file lte-test-frequency-reuse.cc.
References m_expectedUlPower, m_expectedUlRb, and NS_LOG_FUNCTION.
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
void LteFrAreaTestCase::SimpleTeleportUe | ( | uint32_t | x, |
uint32_t | y | ||
) |
Simple teleport UE function.
x | the X position |
y | the Y position |
Definition at line 900 of file lte-test-frequency-reuse.cc.
References m_teleportTime, m_ueMobility, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::MobilityModel::SetPosition(), and two-ray-to-three-gpp-ch-calibration::x.
void LteFrAreaTestCase::TeleportUe | ( | uint32_t | x, |
uint32_t | y, | ||
double | expectedPower, | ||
std::vector< bool > | expectedDlRb | ||
) |
Teleport UE function.
x | the X position |
y | the Y position |
expectedPower | the expected power |
expectedDlRb | the expected DL pwr RB |
Definition at line 909 of file lte-test-frequency-reuse.cc.
References m_expectedDlPower, m_expectedDlRb, m_teleportTime, m_ueMobility, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::MobilityModel::SetPosition(), and two-ray-to-three-gpp-ch-calibration::x.
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
void LteFrAreaTestCase::TeleportUe2 | ( | Ptr< Node > | ueNode, |
uint32_t | x, | ||
uint32_t | y, | ||
double | expectedPower, | ||
std::vector< bool > | expectedDlRb | ||
) |
Teleport UE 2 function.
ueNode | the UE node |
x | the X position |
y | the Y position |
expectedPower | the expected power |
expectedDlRb | the expected DL pwr RB |
Definition at line 923 of file lte-test-frequency-reuse.cc.
References ns3::Object::GetObject(), m_expectedDlPower, m_expectedDlRb, m_teleportTime, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::MobilityModel::SetPosition(), and two-ray-to-three-gpp-ch-calibration::x.
Referenced by LteDistributedFfrAreaTestCase::DoRun().
void LteFrAreaTestCase::UlDataRxStart | ( | Ptr< const SpectrumValue > | spectrumValue | ) |
UL data receive start function.
spectrumValue | the UL receive spectrum value |
Definition at line 849 of file lte-test-frequency-reuse.cc.
References m_expectedUlPower, m_expectedUlRb, m_teleportTime, m_usedWrongUlRbg, ns3::MilliSeconds(), ns3::Now(), NS_LOG_DEBUG, and NS_TEST_ASSERT_MSG_EQ_TOL.
Referenced by UlDataRxStartNotificationArea().
|
protected |
the DL bandwidth
Definition at line 282 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), DlDataRxStart(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
the expected DL power
Definition at line 288 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SetDlExpectedValues(), TeleportUe(), and TeleportUe2().
|
protected |
the expected DL per RB
Definition at line 289 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SetDlExpectedValues(), TeleportUe(), and TeleportUe2().
|
protected |
expected UL power
Definition at line 293 of file lte-test-frequency-reuse.h.
Referenced by SetUlExpectedValues(), and UlDataRxStart().
|
protected |
expected UL per RB
Definition at line 294 of file lte-test-frequency-reuse.h.
Referenced by SetUlExpectedValues(), and UlDataRxStart().
|
protected |
the scheduler type
Definition at line 280 of file lte-test-frequency-reuse.h.
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
the teleport time
Definition at line 285 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SimpleTeleportUe(), TeleportUe(), TeleportUe2(), and UlDataRxStart().
|
protected |
the UE mobility model
Definition at line 286 of file lte-test-frequency-reuse.h.
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), SimpleTeleportUe(), and TeleportUe().
|
protected |
the UL bandwidth
Definition at line 283 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
used wrong DL power?
Definition at line 291 of file lte-test-frequency-reuse.h.
|
protected |
used wrong DL RBG?
Definition at line 290 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), DlDataRxStart(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
used wrong UL power?
Definition at line 296 of file lte-test-frequency-reuse.h.
|
protected |
used wrong UL RBG?
Definition at line 295 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), and UlDataRxStart().