This minimal SpectrumPhy implemetation calculates the SINR with respect to the strongest signal for a given point. More...
#include <rem-spectrum-phy.h>
Public Member Functions | |
RemSpectrumPhy () | |
virtual | ~RemSpectrumPhy () |
void | Deactivate () |
make StartRx a no-op from now on, and mark instance as inactive More... | |
void | DoDispose () |
This method is called by Object::Dispose or by the object's destructor, whichever comes first. More... | |
Ptr< NetDevice > | GetDevice () |
get the associated NetDevice instance More... | |
Ptr< MobilityModel > | GetMobility () |
get the associated MobilityModel instance More... | |
Ptr< AntennaModel > | GetRxAntenna () |
get the AntennaModel used by the NetDevice for reception More... | |
Ptr< const SpectrumModel > | GetRxSpectrumModel () const |
double | GetSinr (double noisePower) |
bool | IsActive () |
void | Reset () |
Reset the SINR calculator. More... | |
void | SetChannel (Ptr< SpectrumChannel > c) |
Set the channel attached to this device. More... | |
void | SetDevice (Ptr< NetDevice > d) |
set the associated NetDevice instance More... | |
void | SetMobility (Ptr< MobilityModel > m) |
Set the mobility model associated with this device. More... | |
void | SetRxSpectrumModel (Ptr< const SpectrumModel > m) |
set the RX spectrum model to be used More... | |
void | StartRx (Ptr< SpectrumSignalParameters > params) |
Notify the SpectrumPhy instance of an incoming signal. More... | |
Public Member Functions inherited from ns3::SpectrumPhy | |
SpectrumPhy () | |
virtual | ~SpectrumPhy () |
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... | |
SimpleRefCount & | operator= (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::SpectrumPhy | |
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 Attributes | |
bool | m_active |
Ptr< MobilityModel > | m_mobility |
double | m_referenceSignalPower |
Ptr< const SpectrumModel > | m_rxSpectrumModel |
double | m_sumPower |
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... | |
This minimal SpectrumPhy implemetation calculates the SINR with respect to the strongest signal for a given point.
Doxygen introspection did not find any typical Config paths.
The original purpose of this class is to be used to generate a Radio Environment Map (REM) by locating several instances in a grid fashion, and connecting them to the channel only for a very short amount of time.
The assumption on which this class works is that the system being considered is an infrastructured radio access network using FDD, hence all signals will be transmitted simultaneously.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 51 of file rem-spectrum-phy.h.
ns3::RemSpectrumPhy::RemSpectrumPhy | ( | ) |
Definition at line 41 of file rem-spectrum-phy.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 52 of file rem-spectrum-phy.cc.
References NS_LOG_FUNCTION.
void ns3::RemSpectrumPhy::Deactivate | ( | ) |
make StartRx a no-op from now on, and mark instance as inactive
Definition at line 157 of file rem-spectrum-phy.cc.
References m_active.
|
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 58 of file rem-spectrum-phy.cc.
References ns3::Object::DoDispose(), m_mobility, and NS_LOG_FUNCTION.
get the associated NetDevice instance
Implements ns3::SpectrumPhy.
Definition at line 104 of file rem-spectrum-phy.cc.
|
virtual |
get the associated MobilityModel instance
Implements ns3::SpectrumPhy.
Definition at line 98 of file rem-spectrum-phy.cc.
References m_mobility.
|
virtual |
get the AntennaModel used by the NetDevice for reception
Implements ns3::SpectrumPhy.
Definition at line 116 of file rem-spectrum-phy.cc.
|
virtual |
Implements ns3::SpectrumPhy.
Definition at line 110 of file rem-spectrum-phy.cc.
References m_rxSpectrumModel.
double ns3::RemSpectrumPhy::GetSinr | ( | double | noisePower | ) |
Definition at line 151 of file rem-spectrum-phy.cc.
References m_referenceSignalPower, and m_sumPower.
|
static |
Definition at line 66 of file rem-spectrum-phy.cc.
References ns3::TypeId::SetParent().
bool ns3::RemSpectrumPhy::IsActive | ( | ) |
void ns3::RemSpectrumPhy::Reset | ( | void | ) |
Reset the SINR calculator.
Definition at line 169 of file rem-spectrum-phy.cc.
References m_referenceSignalPower, and m_sumPower.
|
virtual |
Set the channel attached to this device.
c | the channel |
Implements ns3::SpectrumPhy.
Definition at line 78 of file rem-spectrum-phy.cc.
set the associated NetDevice instance
d | the NetDevice instance |
Implements ns3::SpectrumPhy.
Definition at line 91 of file rem-spectrum-phy.cc.
References NS_LOG_FUNCTION.
|
virtual |
Set the mobility model associated with this device.
m | the mobility model |
Implements ns3::SpectrumPhy.
Definition at line 84 of file rem-spectrum-phy.cc.
References m_mobility, and NS_LOG_FUNCTION.
void ns3::RemSpectrumPhy::SetRxSpectrumModel | ( | Ptr< const SpectrumModel > | m | ) |
set the RX spectrum model to be used
m |
Definition at line 144 of file rem-spectrum-phy.cc.
References m_rxSpectrumModel, and NS_LOG_FUNCTION.
|
virtual |
Notify the SpectrumPhy instance of an incoming signal.
params | the parameters of the signals being received |
Implements ns3::SpectrumPhy.
Definition at line 123 of file rem-spectrum-phy.cc.
References ns3::Integral(), m_active, m_referenceSignalPower, m_sumPower, and NS_LOG_FUNCTION.
|
private |
Definition at line 110 of file rem-spectrum-phy.h.
Referenced by Deactivate(), IsActive(), and StartRx().
|
private |
Definition at line 104 of file rem-spectrum-phy.h.
Referenced by DoDispose(), GetMobility(), and SetMobility().
|
private |
Definition at line 107 of file rem-spectrum-phy.h.
|
private |
Definition at line 105 of file rem-spectrum-phy.h.
Referenced by GetRxSpectrumModel(), and SetRxSpectrumModel().
|
private |
Definition at line 108 of file rem-spectrum-phy.h.