#include <rem-spectrum-phy.h>
Public Member Functions | |
RemSpectrumPhy () | |
virtual | ~RemSpectrumPhy () |
void | Deactivate () |
void | DoDispose () |
Ptr< NetDevice > | GetDevice () |
Ptr< MobilityModel > | GetMobility () |
Ptr< AntennaModel > | GetRxAntenna () |
Ptr< const SpectrumModel > | GetRxSpectrumModel () const |
double | GetSinr (double noisePower) |
bool | IsActive () |
void | Reset () |
void | SetChannel (Ptr< SpectrumChannel > c) |
void | SetDevice (Ptr< NetDevice > d) |
void | SetMobility (Ptr< MobilityModel > m) |
void | SetRxSpectrumModel (Ptr< const SpectrumModel > m) |
void | StartRx (Ptr< SpectrumSignalParameters > params) |
![]() | |
SpectrumPhy () | |
virtual | ~SpectrumPhy () |
![]() | |
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 | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
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) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
Private Attributes | |
bool | m_active |
Ptr< MobilityModel > | m_mobility |
double | m_referenceSignalPower |
Ptr< const SpectrumModel > | m_rxSpectrumModel |
double | m_sumPower |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This minimal SpectrumPhy implemetation calculates the SINR with respect to the strongest signal for a given point. 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.
Doxygen introspection did not find any typical Config paths.
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 40 of file rem-spectrum-phy.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 51 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 156 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 57 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 103 of file rem-spectrum-phy.cc.
|
virtual |
get the associated MobilityModel instance
Implements ns3::SpectrumPhy.
Definition at line 97 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 115 of file rem-spectrum-phy.cc.
|
virtual |
Implements ns3::SpectrumPhy.
Definition at line 109 of file rem-spectrum-phy.cc.
References m_rxSpectrumModel.
double ns3::RemSpectrumPhy::GetSinr | ( | double | noisePower | ) |
Definition at line 150 of file rem-spectrum-phy.cc.
References m_referenceSignalPower, and m_sumPower.
|
static |
Definition at line 65 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 168 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 77 of file rem-spectrum-phy.cc.
set the associated NetDevice instance
d | the NetDevice instance |
Implements ns3::SpectrumPhy.
Definition at line 90 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 83 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 143 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 122 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.