21 #include <ns3/object.h>    22 #include <ns3/spectrum-interference.h>    23 #include <ns3/spectrum-error-model.h>    26 #include <ns3/simulator.h>    27 #include <ns3/packet.h>    42   virtual void DoRun (
void);
    58     m_rxCorrectKnownOutcome (rxCorrect),
    59     m_mySpectrumModel (s->GetSpectrumModel ())
    79   (*n)[0] = 5.000000000000e-19;
    80   (*n)[1] = 4.545454545455e-19;
    82   (*i1)[0] = 5.000000000000e-18;
    83   (*i2)[0] = 5.000000000000e-16;
    84   (*i3)[0] = 1.581138830084e-16;
    85   (*i4)[0] = 7.924465962306e-17;
    86   (*i1)[1] = 1.437398936440e-18;
    87   (*i2)[1] = 5.722388235428e-16;
    88   (*i3)[1] = 7.204059965732e-17;
    89   (*i4)[1] = 5.722388235428e-17;
    93   si.
SetErrorModel (CreateObject<ShannonSpectrumErrorModel> ());
   107   Simulator::Schedule (ts,  &SpectrumInterference::AddSignal, &si, 
m_s,  ds);
   108   Simulator::Schedule (ti1, &SpectrumInterference::AddSignal, &si, i1, di1);
   109   Simulator::Schedule (ti2, &SpectrumInterference::AddSignal, &si, i2, di2);
   110   Simulator::Schedule (ti3, &SpectrumInterference::AddSignal, &si, i3, di3);
   111   Simulator::Schedule (ti4, &SpectrumInterference::AddSignal, &si, i4, di4);
   114   Simulator::Schedule (ts,  &SpectrumInterference::StartRx, &si, p, 
m_s);
   120   Simulator::Destroy ();
   140   : 
TestSuite (
"spectrum-interference", UNIT)
   143   NS_LOG_INFO (
"creating SpectrumInterferenceTestSuite");
   153   bands.push_back (bi);
   158   bands.push_back (bi);
   160   m = Create<SpectrumModel> (bands);
   165   const double e = 1e-5; 
   170   (*s1)[0] = 1.255943215755e-15;
   171   (*s1)[1] = 7.204059965732e-16;
   172   b = 10067205.5632012;
   182   (*s2)[0] = 2.505936168136e-17;
   183   (*s2)[1] = 3.610582885110e-17;
   184   b = 882401.591840728;
 void RetrieveTestResult(SpectrumInterference *si)
Simulation virtual time values and global simulation resolution. 
virtual ~SpectrumInterferenceTestCase()
void SetNoisePowerSpectralDensity(Ptr< const SpectrumValue > noisePsd)
Set the Noise Power Spectral Density. 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
uint32_t m_rxCorrectKnownOutcome
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO. 
SpectrumInterferenceTestCase(Ptr< SpectrumValue > s, uint32_t txBytes, bool rxCorrect, std::string name)
std::vector< BandInfo > Bands
Container of BandInfo. 
virtual void DoRun(void)
Implementation to actually run this TestCase. 
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite. 
double fc
center frequency 
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not. 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
double fl
lower limit of subband 
bool EndRx()
Notify that the RX attempt has ended. 
This class implements a gaussian interference model, i.e., all incoming signals are added to the tota...
SpectrumInterferenceTestSuite()
Time Seconds(double value)
Construct a Time in the indicated unit. 
void SetErrorModel(Ptr< SpectrumErrorModel > e)
Set the SpectrumErrorModel to be used. 
double fh
upper limit of subband 
static SpectrumInterferenceTestSuite spectrumInterferenceTestSuite
The building block of a SpectrumModel. 
Ptr< const SpectrumModel > m_mySpectrumModel