Test frequency reuse algorithm by teleporing 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... | |
virtual | ~LteFrAreaTestCase () |
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 (void) const |
TestCase & | operator= (const TestCase &)=delete |
Protected Member Functions | |
virtual void | DoRun (void) |
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 TestCsse. More... | |
bool | IsStatusFailure (void) const |
Check if any tests failed. More... | |
bool | IsStatusSuccess (void) 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 (void) const |
Check if this run should assert on failure. More... | |
bool | MustContinueOnFailure (void) 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 telport 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 teleporing 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 200 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 483 of file lte-test-frequency-reuse.cc.
References m_dlBandwidth, m_ulBandwidth, m_usedWrongDlRbg, and m_usedWrongUlRbg.
|
virtual |
Definition at line 492 of file lte-test-frequency-reuse.cc.
void LteFrAreaTestCase::DlDataRxStart | ( | Ptr< const SpectrumValue > | spectrumValue | ) |
DL data receive start function.
spectrumValue | the DL receive specturm value |
Definition at line 496 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 DlDataRxStartNofiticationArea().
|
protectedvirtual |
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 627 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 611 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 619 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 576 of file lte-test-frequency-reuse.cc.
References m_teleportTime, m_ueMobility, ns3::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::MobilityModel::SetPosition(), and sample-rng-plot::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 585 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 sample-rng-plot::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 597 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 sample-rng-plot::x.
Referenced by LteDistributedFfrAreaTestCase::DoRun().
void LteFrAreaTestCase::UlDataRxStart | ( | Ptr< const SpectrumValue > | spectrumValue | ) |
UL data receive start function.
spectrumValue | the UL receive specturm value |
Definition at line 528 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 UlDataRxStartNofiticationArea().
|
protected |
the DL bandwidth
Definition at line 266 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 272 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SetDlExpectedValues(), TeleportUe(), and TeleportUe2().
|
protected |
the expected DL per RB
Definition at line 273 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SetDlExpectedValues(), TeleportUe(), and TeleportUe2().
|
protected |
expected UL power
Definition at line 277 of file lte-test-frequency-reuse.h.
Referenced by SetUlExpectedValues(), and UlDataRxStart().
|
protected |
expected UL per RB
Definition at line 278 of file lte-test-frequency-reuse.h.
Referenced by SetUlExpectedValues(), and UlDataRxStart().
|
protected |
the scheduler type
Definition at line 264 of file lte-test-frequency-reuse.h.
Referenced by LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
|
protected |
the telport time
Definition at line 269 of file lte-test-frequency-reuse.h.
Referenced by DlDataRxStart(), SimpleTeleportUe(), TeleportUe(), TeleportUe2(), and UlDataRxStart().
|
protected |
the UE mobility model
Definition at line 270 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 267 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 275 of file lte-test-frequency-reuse.h.
|
protected |
used wrong DL RBG?
Definition at line 274 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 280 of file lte-test-frequency-reuse.h.
|
protected |
used wrong UL RBG?
Definition at line 279 of file lte-test-frequency-reuse.h.
Referenced by LteFrAreaTestCase(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), and UlDataRxStart().