Test case for the ThreeGppSpectrumPropagationLossModelTest class. More...
Public Member Functions | |
| ThreeGppSpectrumPropagationLossModelTest (uint32_t txAntennaElements=4, uint32_t rxAntennaElements=4, uint32_t txPorts=1, uint32_t rxPorts=1) | |
| Constructor. | |
| ~ThreeGppSpectrumPropagationLossModelTest () override | |
| Destructor. | |
| Public Member Functions inherited from ns3::TestCase | |
| TestCase (const TestCase &)=delete | |
| Caller graph was not generated because of its size. | |
| virtual | ~TestCase () |
| Destructor. | |
| std::string | GetName () const |
| TestCase & | operator= (const TestCase &)=delete |
Private Member Functions | |
| void | CheckLongTermUpdate (CheckLongTermUpdateParams ¶ms) |
| Test of the long-term component is correctly updated when the update period expires. | |
| void | CheckUpdateAfterChangingPositionsAndBeamforming (const CheckLongTermUpdateParams ¶ms) |
| Test of the long-term component is correctly updated when the positions and beamforming change. | |
| void | DoBeamforming (Ptr< MobilityModel > thisMob, Ptr< PhasedArrayModel > thisAntenna, Ptr< MobilityModel > otherMob, Ptr< PhasedArrayModel > otherAntenna) |
| Perform beamforming from this node towards the other node. | |
| void | DoRun () override |
| Build the test scenario. | |
Private Attributes | |
| uint32_t | m_rxAntennaElements {4} |
| number of rows and columns of rx antenna array | |
| Ptr< SpectrumSignalParameters > | m_rxParamsOld |
| used as the input for the long-term update check after the update period expires | |
| uint32_t | m_rxPorts {1} |
| number of horizontal and vertical ports of rx antenna array | |
| uint32_t | m_txAntennaElements {4} |
| number of rows and columns of tx antenna array | |
| uint32_t | m_txPorts {1} |
| number of horizontal and vertical ports of tx antenna array | |
Additional Inherited Members | |
| Public Types inherited from ns3::TestCase | |
| enum class | Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
| How long the test takes to execute. More... | |
| Protected Member Functions inherited from ns3::TestCase | |
| TestCase (std::string name) | |
| Constructor. | |
| void | AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK) |
| Add an individual child TestCase to this test suite. | |
| TestCase * | GetParent () const |
| Get the parent of this TestCase. | |
| bool | IsStatusFailure () const |
| Check if any tests failed. | |
| bool | IsStatusSuccess () const |
| Check if all tests passed. | |
| void | SetDataDir (std::string directory) |
| Set the data directory where reference trace files can be found. | |
| 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. | |
| bool | MustAssertOnFailure () const |
| Check if this run should assert on failure. | |
| bool | MustContinueOnFailure () const |
| Check if this run should continue on failure. | |
| std::string | CreateDataDirFilename (std::string filename) |
| Construct the full path to a file in the data directory. | |
| std::string | CreateTempDirFilename (std::string filename) |
| Construct the full path to a file in a temporary directory. | |
Test case for the ThreeGppSpectrumPropagationLossModelTest class.
1) checks if the long term components for the direct and the reverse link are the same 2) checks if the long term component is updated when changing the beamforming vectors 3) checks if the long term is updated when changing the channel matrix
Definition at line 1218 of file three-gpp-channel-test-suite.cc.
| ThreeGppSpectrumPropagationLossModelTest::ThreeGppSpectrumPropagationLossModelTest | ( | uint32_t | txAntennaElements = 4, |
| uint32_t | rxAntennaElements = 4, | ||
| uint32_t | txPorts = 1, | ||
| uint32_t | rxPorts = 1 ) |
Constructor.
| txAntennaElements | the number of rows and columns of the antenna array of the transmitter |
| rxAntennaElements | the number of rows and columns of the antenna array of the receiver |
| txPorts | the number of vertical and horizontal ports of the antenna array of the transmitter |
| rxPorts | the number of vertical and horizontal ports of the antenna array of the receiver |
Definition at line 1283 of file three-gpp-channel-test-suite.cc.
References ns3::TestCase::TestCase(), m_rxAntennaElements, m_rxPorts, m_txAntennaElements, and m_txPorts.
|
override |
Destructor.
Definition at line 1296 of file three-gpp-channel-test-suite.cc.
|
private |
Test of the long-term component is correctly updated when the update period expires.
This function slightly moves the position of the tx node to allow the update to be performed.
| params | a structure that contains the set of parameters needed by CheckLongTermUpdate in order to perform calculations |
Definition at line 1341 of file three-gpp-channel-test-suite.cc.
References m_rxParamsOld, and NS_TEST_ASSERT_MSG_EQ.
Referenced by DoRun().
|
private |
Test of the long-term component is correctly updated when the positions and beamforming change.
| params | a structure that contains the set of parameters needed by CheckUpdateAfterChangingPositionsAndBeamforming in order to perform calculations |
Definition at line 1318 of file three-gpp-channel-test-suite.cc.
References m_rxParamsOld, and NS_TEST_ASSERT_MSG_EQ.
Referenced by DoRun().
|
private |
Perform beamforming from this node towards the other node.
| thisMob | the mobility model of this device |
| thisAntenna | the antenna object associated to thisDevice |
| otherMob | the mobility model of the other device |
| otherAntenna | the antenna array object of to otherDevice |
Definition at line 1301 of file three-gpp-channel-test-suite.cc.
Referenced by DoRun().
|
overrideprivatevirtual |
Build the test scenario.
Implements ns3::TestCase.
Definition at line 1360 of file three-gpp-channel-test-suite.cc.
References CheckLongTermUpdate(), CheckUpdateAfterChangingPositionsAndBeamforming(), ns3::Create(), ns3::CreateObject(), ns3::CreateObjectWithAttributes(), ns3::SpectrumValue5MhzFactory::CreateTxPowerSpectralDensity(), ns3::Simulator::Destroy(), DoBeamforming(), m_rxAntennaElements, m_rxPorts, m_txAntennaElements, m_txPorts, ns3::MilliSeconds(), nodes, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_EQ_TOL, ns3::Simulator::Run(), ns3::Simulator::Schedule(), and ns3::Config::SetDefault().
|
private |
number of rows and columns of rx antenna array
Definition at line 1276 of file three-gpp-channel-test-suite.cc.
Referenced by ThreeGppSpectrumPropagationLossModelTest(), and DoRun().
|
private |
used as the input for the long-term update check after the update period expires
Definition at line 1280 of file three-gpp-channel-test-suite.cc.
Referenced by CheckLongTermUpdate(), and CheckUpdateAfterChangingPositionsAndBeamforming().
|
private |
number of horizontal and vertical ports of rx antenna array
Definition at line 1278 of file three-gpp-channel-test-suite.cc.
Referenced by ThreeGppSpectrumPropagationLossModelTest(), and DoRun().
|
private |
number of rows and columns of tx antenna array
Definition at line 1275 of file three-gpp-channel-test-suite.cc.
Referenced by ThreeGppSpectrumPropagationLossModelTest(), and DoRun().
|
private |
number of horizontal and vertical ports of tx antenna array
Definition at line 1277 of file three-gpp-channel-test-suite.cc.
Referenced by ThreeGppSpectrumPropagationLossModelTest(), and DoRun().