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"
Classes | |
struct | RemPoint |
A complete Radio Environment Map is composed of many of this structure. More... | |
Public Member Functions | |
RadioEnvironmentMapHelper () | |
virtual | ~RadioEnvironmentMapHelper () |
virtual void | DoDispose (void) |
Destructor implementation. 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) |
![]() | |
Object () | |
Constructor. More... | |
virtual | ~Object () |
Destructor. More... | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. More... | |
void | Dispose (void) |
Dispose of this Object. More... | |
AggregateIterator | GetAggregateIterator (void) const |
Get an iterator to the Objects aggregated to this one. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Get the most derived TypeId for this Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. More... | |
void | Initialize (void) |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
bool | IsInitialized (void) const |
Check if the object has been initialized. More... | |
![]() | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising erros. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Member Functions | |
void | DelayedInstall () |
Scheduled by Install() to perform the actual generation of map. More... | |
void | Finalize () |
Called when the map generation procedure has been completed. More... | |
void | PrintAndReset () |
Go through every listener, write the computed SINR, and then reset it. More... | |
void | RunOneIteration (double xMin, double xMax, double yMin, double yMax) |
Mobilize all the listeners to a specified area. More... | |
Private Attributes | |
uint16_t | m_bandwidth |
The Bandwidth attribute. More... | |
Ptr< SpectrumChannel > | m_channel |
The channel object taken from the ChannelPath attribute. More... | |
std::string | m_channelPath |
The ChannelPath attribute. More... | |
uint16_t | m_earfcn |
The Earfcn attribute. More... | |
uint32_t | m_maxPointsPerIteration |
The MaxPointsPerIteration attribute. More... | |
double | m_noisePower |
The NoisePower attribute. More... | |
std::ofstream | m_outFile |
Stream the output to a file. More... | |
std::string | m_outputFile |
The OutputFile attribute. More... | |
int32_t | m_rbId |
The RbId attribute. More... | |
std::list< RemPoint > | m_rem |
List of listeners in the environment. More... | |
bool | m_stopWhenDone |
The StopWhenDone attribute. More... | |
bool | m_useDataChannel |
The UseDataChannel attribute. More... | |
double | m_xMax |
The XMax attribute. More... | |
double | m_xMin |
The XMin attribute. More... | |
uint16_t | m_xRes |
The XRes attribute. More... | |
double | m_xStep |
Distance along X axis between adjacent listening points. More... | |
double | m_yMax |
The YMax attribute. More... | |
double | m_yMin |
The YMin attribute. More... | |
uint16_t | m_yRes |
The YRes attribute. More... | |
double | m_yStep |
Distance along Y axis between adjacent listening points. More... | |
double | m_z |
The Z attribute. More... | |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
Copy an Object. More... | |
virtual void | DoInitialize (void) |
Initialize() implementation. More... | |
virtual void | NotifyNewAggregate (void) |
Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
![]() | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
Generates a 2D map of the SINR from the strongest transmitter in the downlink of an LTE FDD system.
Introspection did not find any typical Config paths.
For instructions on usage, please refer to the User Documentation.
No TraceSources are defined for this type.
Size of this type is 784 bytes (on a 64-bit architecture).
Definition at line 46 of file radio-environment-map-helper.h.
ns3::RadioEnvironmentMapHelper::RadioEnvironmentMapHelper | ( | ) |
Definition at line 50 of file radio-environment-map-helper.cc.
|
virtual |
Definition at line 55 of file radio-environment-map-helper.cc.
|
private |
Scheduled by Install() to perform the actual generation of map.
If control channel is used for SINR calculation (the default), the delay is 2.6 milliseconds from the start of simulation. Otherwise, if data channel is used, the delay is 500.1 milliseconds from the start of simulation.
The method will divide the whole map into parts (each contains at most a certain number of SINR listening points), and then call RunOneIteration() on each part, one by one.
Definition at line 218 of file radio-environment-map-helper.cc.
References ns3::Object::AggregateObject(), ns3::RadioEnvironmentMapHelper::RemPoint::bmm, Finalize(), ns3::LteSpectrumValueHelper::GetSpectrumModel(), m_bandwidth, m_channel, m_earfcn, m_maxPointsPerIteration, m_rbId, m_rem, m_useDataChannel, m_xMax, m_xMin, m_xRes, m_xStep, m_yMax, m_yMin, m_yRes, m_yStep, NS_LOG_FUNCTION, ns3::RadioEnvironmentMapHelper::RemPoint::phy, RunOneIteration(), ns3::Simulator::Schedule(), ns3::Seconds(), and sample-rng-plot::x.
Referenced by Install().
|
virtual |
Destructor implementation.
This method is called by Dispose() or by the Object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overridden 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.
|
private |
Called when the map generation procedure has been completed.
Definition at line 344 of file radio-environment-map-helper.cc.
References m_outFile, m_stopWhenDone, NS_LOG_FUNCTION, and ns3::Simulator::Stop().
Referenced by DelayedInstall().
uint8_t ns3::RadioEnvironmentMapHelper::GetBandwidth | ( | ) | const |
Definition at line 153 of file radio-environment-map-helper.cc.
References m_bandwidth.
Referenced by GetTypeId().
|
static |
Register this type.
Definition at line 68 of file radio-environment-map-helper.cc.
References GetBandwidth(), m_channelPath, m_earfcn, m_maxPointsPerIteration, m_noisePower, m_outputFile, m_rbId, m_stopWhenDone, m_useDataChannel, m_xMax, m_xMin, m_xRes, m_yMax, m_yMin, m_yRes, m_z, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeDoubleAccessor(), ns3::MakeIntegerAccessor(), ns3::MakeStringAccessor(), ns3::MakeStringChecker(), ns3::MakeUintegerAccessor(), max, NS_LOG_FUNCTION, SetBandwidth(), and ns3::TypeId::SetParent().
void ns3::RadioEnvironmentMapHelper::Install | ( | ) |
Deploy the RemSpectrumPhy objects that generate the map according to the specified settings.
Definition at line 181 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, m_useDataChannel, NS_ABORT_MSG_IF, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::Simulator::Schedule(), and ns3::Seconds().
|
private |
Go through every listener, write the computed SINR, and then reset it.
Definition at line 315 of file radio-environment-map-helper.cc.
References m_noisePower, m_outFile, m_rem, NS_LOG_FUNCTION, and NS_LOG_LOGIC().
Referenced by RunOneIteration().
|
private |
Mobilize all the listeners to a specified area.
Afterwards, schedule a call to PrintAndReset() in 0.5 milliseconds.
xMin | X coordinate of the first SINR listening point to deploy. |
xMax | X coordinate of the last SINR listening point to deploy. |
yMin | Y coordinate of the first SINR listening point to deploy. |
yMax | Y coordinate of the last SINR listening point to deploy. |
Definition at line 281 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().
void ns3::RadioEnvironmentMapHelper::SetBandwidth | ( | uint8_t | bw | ) |
bw | the bandwidth (in num of RBs) over which SINR is calculated |
Definition at line 159 of file radio-environment-map-helper.cc.
References m_bandwidth, and NS_FATAL_ERROR.
Referenced by GetTypeId().
|
private |
The Bandwidth
attribute.
Definition at line 136 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), GetBandwidth(), and SetBandwidth().
|
private |
The channel object taken from the ChannelPath
attribute.
Definition at line 146 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and Install().
|
private |
The ChannelPath
attribute.
Definition at line 140 of file radio-environment-map-helper.h.
Referenced by GetTypeId(), and Install().
|
private |
The Earfcn
attribute.
Definition at line 135 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and GetTypeId().
|
private |
The MaxPointsPerIteration
attribute.
Definition at line 133 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and GetTypeId().
|
private |
The NoisePower
attribute.
Definition at line 148 of file radio-environment-map-helper.h.
Referenced by GetTypeId(), and PrintAndReset().
|
private |
Stream the output to a file.
Definition at line 150 of file radio-environment-map-helper.h.
Referenced by Finalize(), Install(), and PrintAndReset().
|
private |
The OutputFile
attribute.
Definition at line 141 of file radio-environment-map-helper.h.
Referenced by GetTypeId(), and Install().
|
private |
The RbId
attribute.
Definition at line 153 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and GetTypeId().
List of listeners in the environment.
Definition at line 121 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), Install(), PrintAndReset(), and RunOneIteration().
|
private |
The StopWhenDone
attribute.
Definition at line 143 of file radio-environment-map-helper.h.
Referenced by Finalize(), and GetTypeId().
|
private |
The UseDataChannel
attribute.
Definition at line 152 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), GetTypeId(), and Install().
|
private |
The XMax
attribute.
Definition at line 124 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), GetTypeId(), and RunOneIteration().
|
private |
The XMin
attribute.
Definition at line 123 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and GetTypeId().
|
private |
The XRes
attribute.
Definition at line 125 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and GetTypeId().
|
private |
Distance along X axis between adjacent listening points.
Definition at line 126 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and RunOneIteration().
|
private |
The YMax
attribute.
Definition at line 129 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), GetTypeId(), and RunOneIteration().
|
private |
The YMin
attribute.
Definition at line 128 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), GetTypeId(), and RunOneIteration().
|
private |
The YRes
attribute.
Definition at line 130 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and GetTypeId().
|
private |
Distance along Y axis between adjacent listening points.
Definition at line 131 of file radio-environment-map-helper.h.
Referenced by DelayedInstall(), and RunOneIteration().
|
private |
The Z
attribute.
Definition at line 138 of file radio-environment-map-helper.h.
Referenced by GetTypeId(), and RunOneIteration().