A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::RadioEnvironmentMapHelper Class Reference

Generates a 2D map of the SINR from the strongest transmitter in the downlink of an LTE FDD system. More...

#include <radio-environment-map-helper.h>

+ Inheritance diagram for ns3::RadioEnvironmentMapHelper:
+ Collaboration diagram for ns3::RadioEnvironmentMapHelper:

Classes

struct  RemPoint
 

Public Member Functions

 RadioEnvironmentMapHelper ()
 
virtual ~RadioEnvironmentMapHelper ()
 
virtual void DoDispose (void)
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
uint8_t GetBandwidth () const
 
void Install ()
 Deploy the RemSpectrumPhy objects that generate the map according to the specified settings. More...
 
void SetBandwidth (uint8_t bw)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 Run the DoDispose methods of this object and all the objects aggregated to it. More...
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 This method calls the virtual DoInitialize method on all the objects aggregated to this object. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

void DelayedInstall ()
 
void Finalize ()
 
void PrintAndReset ()
 
void RunOneIteration (double xMin, double xMax, double yMin, double yMax)
 

Private Attributes

uint16_t m_bandwidth
 
Ptr< SpectrumChannelm_channel
 
std::string m_channelPath
 
uint16_t m_earfcn
 
uint32_t m_maxPointsPerIteration
 
double m_noisePower
 
std::ofstream m_outFile
 
std::string m_outputFile
 
std::list< RemPointm_rem
 
bool m_stopWhenDone
 
double m_xMax
 
double m_xMin
 
uint16_t m_xRes
 
double m_xStep
 
double m_yMax
 
double m_yMin
 
uint16_t m_yRes
 
double m_yStep
 
double m_z
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoInitialize (void)
 This method is called only once by Object::Initialize. More...
 
virtual void NotifyNewAggregate (void)
 This method is invoked whenever two sets of objects are aggregated together. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 

Detailed Description

Generates a 2D map of the SINR from the strongest transmitter in the downlink of an LTE FDD system.

Doxygen introspection did not find any typical Config paths.


Attributes

  • ChannelPath: The path to the channel for which the Radio Environment Map is to be generated
    • Set with class: StringValue
    • Underlying type:
    • Initial value: /ChannelList/0
    • Flags: construct write read
  • OutputFile: the filename to which the Radio Environment Map is saved
    • Set with class: StringValue
    • Underlying type:
    • Initial value: rem.out
    • Flags: construct write read
  • XMin: The min x coordinate of the map.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • YMin: The min y coordinate of the map.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • XMax: The max x coordinate of the map.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read
  • YMax: The max y coordinate of the map.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read
  • XRes: The resolution (number of points) of the map along the x axis.
  • YRes: The resolution (number of points) of the map along the y axis.
  • Z: The value of the z coordinate for which the map is to be generated
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • StopWhenDone: If true, Simulator::Stop () will be called as soon as the REM has been generated
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • NoisePower: the power of the measuring instrument noise, in Watts. Default to a kT of -174 dBm with a noise figure of 9 dB and a bandwidth of 25 LTE Resource Blocks
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1.423e-13
    • Flags: construct write read
  • MaxPointsPerIteration: Maximum number of REM points to be calculated per iteration. Every point consumes approximately 5KB of memory.
  • Earfcn: E-UTRA Absolute Radio Frequency Channel Number (EARFCN) as per 3GPP 36.101 Section 5.7.3.
  • Bandwidth: Transmission Bandwidth Configuration (in number of RBs) over which the SINR will be calculated

No TraceSources are defined for this type.

Definition at line 43 of file radio-environment-map-helper.h.

Constructor & Destructor Documentation

ns3::RadioEnvironmentMapHelper::RadioEnvironmentMapHelper ( )

Definition at line 51 of file radio-environment-map-helper.cc.

ns3::RadioEnvironmentMapHelper::~RadioEnvironmentMapHelper ( )
virtual

Definition at line 56 of file radio-environment-map-helper.cc.

Member Function Documentation

void ns3::RadioEnvironmentMapHelper::DoDispose ( void  )
virtual

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Object.

Definition at line 63 of file radio-environment-map-helper.cc.

References NS_LOG_FUNCTION.

void ns3::RadioEnvironmentMapHelper::Finalize ( )
private

Definition at line 322 of file radio-environment-map-helper.cc.

References m_outFile, m_stopWhenDone, NS_LOG_FUNCTION, and ns3::Simulator::Stop().

Referenced by DelayedInstall().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint8_t ns3::RadioEnvironmentMapHelper::GetBandwidth ( ) const
Returns
the bandwidth (in num of RBs) over which SINR is calculated

Definition at line 142 of file radio-environment-map-helper.cc.

References m_bandwidth.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

TypeId ns3::RadioEnvironmentMapHelper::GetTypeId ( void  )
static
void ns3::RadioEnvironmentMapHelper::Install ( )

Deploy the RemSpectrumPhy objects that generate the map according to the specified settings.

Definition at line 170 of file radio-environment-map-helper.cc.

References DelayedInstall(), ns3::Config::MatchContainer::Get(), ns3::Config::MatchContainer::GetN(), ns3::Object::GetObject(), ns3::Config::LookupMatches(), m_channel, m_channelPath, m_outFile, m_outputFile, m_rem, NS_ABORT_MSG_IF, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::Simulator::Schedule().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioEnvironmentMapHelper::PrintAndReset ( )
private

Definition at line 293 of file radio-environment-map-helper.cc.

References m_noisePower, m_outFile, m_rem, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::Vector3D::x, ns3::Vector3D::y, and ns3::Vector3D::z.

Referenced by RunOneIteration().

+ Here is the caller graph for this function:

void ns3::RadioEnvironmentMapHelper::RunOneIteration ( double  xMin,
double  xMax,
double  yMin,
double  yMax 
)
private

Definition at line 259 of file radio-environment-map-helper.cc.

References m_rem, m_xMax, m_xStep, m_yMax, m_yMin, m_yStep, m_z, ns3::BuildingsHelper::MakeConsistent(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, PrintAndReset(), ns3::Simulator::Schedule(), and sample-rng-plot::x.

Referenced by DelayedInstall().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioEnvironmentMapHelper::SetBandwidth ( uint8_t  bw)
Parameters
bwthe bandwidth (in num of RBs) over which SINR is calculated

Definition at line 148 of file radio-environment-map-helper.cc.

References m_bandwidth, and NS_FATAL_ERROR.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Member Data Documentation

uint16_t ns3::RadioEnvironmentMapHelper::m_bandwidth
private

Definition at line 100 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), GetBandwidth(), and SetBandwidth().

Ptr<SpectrumChannel> ns3::RadioEnvironmentMapHelper::m_channel
private

Definition at line 109 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), and Install().

std::string ns3::RadioEnvironmentMapHelper::m_channelPath
private

Definition at line 104 of file radio-environment-map-helper.h.

Referenced by GetTypeId(), and Install().

uint16_t ns3::RadioEnvironmentMapHelper::m_earfcn
private

Definition at line 99 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), and GetTypeId().

uint32_t ns3::RadioEnvironmentMapHelper::m_maxPointsPerIteration
private

Definition at line 97 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), and GetTypeId().

double ns3::RadioEnvironmentMapHelper::m_noisePower
private

Definition at line 111 of file radio-environment-map-helper.h.

Referenced by GetTypeId(), and PrintAndReset().

std::ofstream ns3::RadioEnvironmentMapHelper::m_outFile
private

Definition at line 113 of file radio-environment-map-helper.h.

Referenced by Finalize(), Install(), and PrintAndReset().

std::string ns3::RadioEnvironmentMapHelper::m_outputFile
private

Definition at line 105 of file radio-environment-map-helper.h.

Referenced by GetTypeId(), and Install().

std::list<RemPoint> ns3::RadioEnvironmentMapHelper::m_rem
private
bool ns3::RadioEnvironmentMapHelper::m_stopWhenDone
private

Definition at line 107 of file radio-environment-map-helper.h.

Referenced by Finalize(), and GetTypeId().

double ns3::RadioEnvironmentMapHelper::m_xMax
private

Definition at line 88 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), GetTypeId(), and RunOneIteration().

double ns3::RadioEnvironmentMapHelper::m_xMin
private

Definition at line 87 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), and GetTypeId().

uint16_t ns3::RadioEnvironmentMapHelper::m_xRes
private

Definition at line 89 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), and GetTypeId().

double ns3::RadioEnvironmentMapHelper::m_xStep
private

Definition at line 90 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), and RunOneIteration().

double ns3::RadioEnvironmentMapHelper::m_yMax
private

Definition at line 93 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), GetTypeId(), and RunOneIteration().

double ns3::RadioEnvironmentMapHelper::m_yMin
private

Definition at line 92 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), GetTypeId(), and RunOneIteration().

uint16_t ns3::RadioEnvironmentMapHelper::m_yRes
private

Definition at line 94 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), and GetTypeId().

double ns3::RadioEnvironmentMapHelper::m_yStep
private

Definition at line 95 of file radio-environment-map-helper.h.

Referenced by DelayedInstall(), and RunOneIteration().

double ns3::RadioEnvironmentMapHelper::m_z
private

Definition at line 102 of file radio-environment-map-helper.h.

Referenced by GetTypeId(), and RunOneIteration().


The documentation for this class was generated from the following files: