28 #include <ns3/callback.h>    29 #include <ns3/packet.h>    30 #include <ns3/simulator.h>    31 #include <ns3/lr-wpan-error-model.h>    32 #include <ns3/propagation-loss-model.h>    33 #include <ns3/lr-wpan-net-device.h>    34 #include <ns3/spectrum-value.h>    35 #include <ns3/lr-wpan-spectrum-value-helper.h>    36 #include <ns3/lr-wpan-mac.h>    38 #include <ns3/net-device.h>    39 #include <ns3/single-model-spectrum-channel.h>    40 #include <ns3/multi-model-spectrum-channel.h>    41 #include <ns3/mac16-address.h>    42 #include <ns3/constant-position-mobility-model.h>    43 #include <ns3/uinteger.h>    44 #include <ns3/nstime.h>    45 #include <ns3/abort.h>    46 #include <ns3/command-line.h>    47 #include <ns3/gnuplot.h>    67 int main (
int argc, 
char *argv[])
    69   std::ostringstream os;
    70   std::ofstream berfile (
"802.15.4-psr-distance.plt");
    73   int maxDistance = 200;  
    75   int maxPackets = 1000;
    78   uint32_t channelNumber = 11;
    82   cmd.AddValue (
"txPower", 
"transmit power (dBm)", txPower);
    83   cmd.AddValue (
"packetSize", 
"packet (MSDU) size (bytes)", 
packetSize);
    84   cmd.AddValue (
"channelNumber", 
"channel number", channelNumber);
    86   cmd.Parse (argc, argv);
    88   os << 
"Packet (MSDU) size = " << 
packetSize << 
" bytes; tx power = " << txPower << 
" dBm; channel = " << channelNumber;
   101   channel->AddPropagationLossModel (model);
   105   n1->AddDevice (dev1);
   107   dev0->GetPhy ()->SetMobility (mob0);
   109   dev1->GetPhy ()->SetMobility (mob1);
   113   dev0->GetPhy ()->SetTxPowerSpectralDensity (psd);
   117   dev1->GetMac ()->SetMcpsDataIndicationCallback (cb0);
   130   for (
int j = minDistance; j < maxDistance;  )
   132       for (
int i = 0; i < maxPackets; i++)
   137                                dev0->GetMac (), params, p);
   150   psrplot.
SetTerminal (
"postscript eps color enh \"Times-BoldItalic\"");
   151   psrplot.
SetLegend (
"distance (m)", 
"Packet Success Rate (PSR)");
   152   psrplot.
SetExtra  (
"set xrange [0:200]\n\   155 set style line 1 linewidth 5\n\   156 set style increment user");
 static EventId Schedule(Time const &delay, FUNC f, Ts &&... args)
Schedule an event to expire after delay. 
 
uint16_t m_dstPanId
Destination PAN identifier. 
 
Class to represent a 2D points plot. 
 
Mac16Address m_dstAddr
Destination address. 
 
static const uint32_t packetSize
 
static void Run(void)
Run the simulation. 
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
void AddDataset(const GnuplotDataset &dataset)
 
void McpsDataRequest(McpsDataRequestParams params, Ptr< Packet > p)
IEEE 802.15.4-2006, section 7.1.1.1 MCPS-DATA.request Request to transfer a MSDU. ...
 
uint8_t m_msduHandle
MSDU handle. 
 
a simple class to generate gnuplot-ready plotting commands from a set of datasets. 
 
void SetTitle(const std::string &title)
 
This class defines all functions to create spectrum model for LrWpan. 
 
void GenerateOutput(std::ostream &os)
Writes gnuplot commands and data values to a single output stream. 
 
uint8_t m_txOptions
Tx Options (bitfield) 
 
Parse command-line arguments. 
 
void SetLegend(const std::string &xLegend, const std::string &yLegend)
 
static void Destroy(void)
Execute the events scheduled with ScheduleDestroy(). 
 
LrWpanAddressMode m_srcAddrMode
Source address mode. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
LrWpanAddressMode m_dstAddrMode
Destination address mode. 
 
This class can contain 16 bit addresses. 
 
void SetExtra(const std::string &extra)
 
void SetPosition(const Vector &position)
 
static void LrWpanErrorDistanceCallback(McpsDataIndicationParams params, Ptr< Packet > p)
 
uint32_t AddDevice(Ptr< NetDevice > device)
Associate a NetDevice to this node. 
 
Ptr< SpectrumValue > CreateTxPowerSpectralDensity(double txPower, uint32_t channel)
create spectrum value 
 
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG. 
 
Time Seconds(double value)
Construct a Time in the indicated unit. 
 
MCPS-DATA.request params. 
 
void SetTerminal(const std::string &terminal)
 
static uint32_t g_received
 
Callback< R, Ts... > MakeCallback(R(T::*memPtr)(Ts...), OBJ objPtr)
Build Callbacks for class method members which take varying numbers of arguments and potentially retu...
 
MCPS-DATA.indication params.