20 #include "ns3/propagation-delay-model.h"
21 #include "ns3/spectrum-propagation-loss-model.h"
22 #include "ns3/mobility-model.h"
24 #include "ns3/config.h"
25 #include "ns3/simulator.h"
26 #include "ns3/names.h"
27 #include "ns3/antenna-model.h"
28 #include "ns3/spectrum-channel.h"
29 #include "ns3/spectrum-analyzer.h"
30 #include "ns3/non-communicating-net-device.h"
31 #include "ns3/output-stream-wrapper.h"
32 #include "ns3/trace-helper.h"
48 std::ostream* ostream = streamWrapper->
GetStream ();
63 *ostream << std::endl;
126 factory.
Set (n0, v0);
127 factory.
Set (n1, v1);
128 factory.
Set (n2, v2);
129 factory.
Set (n3, v3);
130 factory.
Set (n4, v4);
131 factory.
Set (n5, v5);
132 factory.
Set (n6, v6);
133 factory.
Set (n7, v7);
174 phy->SetDevice (dev);
185 NS_ASSERT_MSG (antenna,
"error in creating the AntennaModel object");
186 phy->SetAntenna (antenna);
193 NS_LOG_LOGIC (
"creating new output stream and binding it to the callback");
195 std::string filename;
202 std::ostringstream oss;
204 oss <<
"/NodeList/" << node->
GetId () <<
"/DeviceList/" << devId <<
"/$ns3::NonCommunicatingNetDevice/Phy/AveragePowerSpectralDensityReport";
225 Ptr<Node> node = Names::Find<Node> (nodeName);
Values::const_iterator ConstValuesEnd() const
NS_LOG_COMPONENT_DEFINE("SpectrumAnalyzerHelper")
Manage ASCII trace files for device models.
#define NS_LOG_FUNCTION(parameters)
void SetAntenna(std::string type, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue())
std::vector< Ptr< Node > >::const_iterator Iterator
NetDeviceContainer Install(NodeContainer c) const
Hold a value for an Attribute.
Callback< R > MakeBoundCallback(R(*fnPtr)(TX), ARG a1)
Build bound Callbacks which take varying numbers of arguments, and potentially returning a value...
#define NS_ASSERT(condition)
void SetTypeId(TypeId tid)
void SetDeviceAttribute(std::string n1, const AttributeValue &v1)
Iterator End(void) const
Get an iterator which indicates past-the-last Node in the container.
Ptr< OutputStreamWrapper > CreateFileStream(std::string filename, std::ios::openmode filemode=std::ios::out)
Create and initialize an output stream object we'll use to write the traced bits. ...
This class implements a device which does not communicate, in the sense that it does not interact wit...
std::string GetFilenameFromDevice(std::string prefix, Ptr< NetDevice > device, bool useObjectNames=true)
Let the ascii trace helper figure out a reasonable filename to use for an ascii trace file associated...
Keep track of the current position and velocity of an object.
double GetSeconds(void) const
Bands::const_iterator ConstBandsEnd() const
Ptr< SpectrumModel > m_rxSpectrumModel
Ptr< Object > Create(void) const
void Add(NetDeviceContainer other)
Append the contents of another NetDeviceContainer to the end of this container.
static void WriteAveragePowerSpectralDensityReport(Ptr< OutputStreamWrapper > streamWrapper, Ptr< const SpectrumValue > avgPowerSpectralDensity)
holds a vector of ns3::NetDevice pointers
~SpectrumAnalyzerHelper()
#define NS_LOG_LOGIC(msg)
void SetPhyAttribute(std::string name, const AttributeValue &v)
Bands::const_iterator ConstBandsBegin() const
keep track of a set of node pointers.
Simple SpectrumPhy implemetation that averages the spectrum power density of incoming transmissions t...
Iterator Begin(void) const
Get an iterator which refers to the first Node in the container.
Ptr< SpectrumChannel > m_channel
void Set(std::string name, const AttributeValue &value)
#define NS_ASSERT_MSG(condition, message)
instantiate subclasses of ns3::Object.
uint32_t AddDevice(Ptr< NetDevice > device)
uint32_t GetId(void) const
Time Now(void)
create an ns3::Time instance which contains the current simulation time.
void SetChannel(Ptr< SpectrumChannel > channel)
set the SpectrumChannel that will be used by SpectrumPhy instances created by this helper ...
void SetRxSpectrumModel(Ptr< SpectrumModel > m)
Set the spectrum model used by the created SpectrumAnalyzer instances to represent incoming signals...
void EnableAsciiAll(std::string prefix)
Enable ASCII output.
Values::const_iterator ConstValuesBegin() const
Ptr< T > GetObject(void) const
void ConnectWithoutContext(std::string path, const CallbackBase &cb)
std::ostream * GetStream(void)
Return a pointer to an ostream previously set in the wrapper.