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

#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)
uint8_t GetBandwidth () const
void Install ()
void SetBandwidth (uint8_t bw)
- Public Member Functions inherited from ns3::Object
 Object ()
virtual ~Object ()
void AggregateObject (Ptr< Object > other)
void Dispose (void)
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 Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
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)
 This method returns the TypeId associated to ns3::RadioEnvironmentMapHelper.

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 DoStart (void)
virtual void NotifyNewAggregate (void)

Detailed Description

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

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

Constructor & Destructor Documentation

ns3::RadioEnvironmentMapHelper::RadioEnvironmentMapHelper ( )

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

ns3::RadioEnvironmentMapHelper::~RadioEnvironmentMapHelper ( )
virtual

Definition at line 55 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 62 of file radio-environment-map-helper.cc.

References NS_LOG_FUNCTION.

void ns3::RadioEnvironmentMapHelper::Finalize ( )
private

Definition at line 319 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 141 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

This method returns the TypeId associated to ns3::RadioEnvironmentMapHelper.

Attributes defined for this type:

  • ChannelPath: The path to the channel for which the Radio Environment Map is to be generated
    • Set with class: StringValue
    • Underlying type: std::string
    • 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: std::string
    • 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-10
    • 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 defined for this type.

Reimplemented from ns3::Object.

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

References GetBandwidth(), m_channelPath, m_earfcn, m_maxPointsPerIteration, m_noisePower, m_outputFile, m_stopWhenDone, m_xMax, m_xMin, m_xRes, m_yMax, m_yMin, m_yRes, m_z, NS_LOG_FUNCTION, SetBandwidth(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

void ns3::RadioEnvironmentMapHelper::Install ( )

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

Definition at line 169 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, ns3::Simulator::Schedule(), and ns3::Seconds().

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 290 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 256 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(), ns3::Seconds(), 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 147 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 99 of file radio-environment-map-helper.h.

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

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

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

Referenced by DelayedInstall(), and Install().

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

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

Referenced by GetTypeId(), and Install().

uint16_t ns3::RadioEnvironmentMapHelper::m_earfcn
private

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

Referenced by DelayedInstall(), and GetTypeId().

uint32_t ns3::RadioEnvironmentMapHelper::m_maxPointsPerIteration
private

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

Referenced by DelayedInstall(), and GetTypeId().

double ns3::RadioEnvironmentMapHelper::m_noisePower
private

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

Referenced by GetTypeId(), and PrintAndReset().

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

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

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

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

Definition at line 104 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 106 of file radio-environment-map-helper.h.

Referenced by Finalize(), and GetTypeId().

double ns3::RadioEnvironmentMapHelper::m_xMax
private

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

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

double ns3::RadioEnvironmentMapHelper::m_xMin
private

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

Referenced by DelayedInstall(), and GetTypeId().

uint16_t ns3::RadioEnvironmentMapHelper::m_xRes
private

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

Referenced by DelayedInstall(), and GetTypeId().

double ns3::RadioEnvironmentMapHelper::m_xStep
private

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

Referenced by DelayedInstall(), and RunOneIteration().

double ns3::RadioEnvironmentMapHelper::m_yMax
private

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

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

double ns3::RadioEnvironmentMapHelper::m_yMin
private

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

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

uint16_t ns3::RadioEnvironmentMapHelper::m_yRes
private

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

Referenced by DelayedInstall(), and GetTypeId().

double ns3::RadioEnvironmentMapHelper::m_yStep
private

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

Referenced by DelayedInstall(), and RunOneIteration().

double ns3::RadioEnvironmentMapHelper::m_z
private

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

Referenced by GetTypeId(), and RunOneIteration().


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