#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 | Start (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) |
This method returns the TypeId associated to ns3::RemSpectrumPhy. |
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 | DoStart (void) |
virtual void | NotifyNewAggregate (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.
Definition at line 51 of file rem-spectrum-phy.h.
ns3::RemSpectrumPhy::RemSpectrumPhy | ( | ) |
Definition at line 37 of file rem-spectrum-phy.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 48 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 149 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 54 of file rem-spectrum-phy.cc.
References m_mobility, and NS_LOG_FUNCTION.
get the associated NetDevice instance
Implements ns3::SpectrumPhy.
Definition at line 100 of file rem-spectrum-phy.cc.
|
virtual |
get the associated MobilityModel instance
Implements ns3::SpectrumPhy.
Definition at line 94 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 112 of file rem-spectrum-phy.cc.
|
virtual |
Implements ns3::SpectrumPhy.
Definition at line 106 of file rem-spectrum-phy.cc.
References m_rxSpectrumModel.
double ns3::RemSpectrumPhy::GetSinr | ( | double | noisePower | ) |
Definition at line 143 of file rem-spectrum-phy.cc.
References m_referenceSignalPower, and m_sumPower.
|
static |
This method returns the TypeId associated to ns3::RemSpectrumPhy.
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::SpectrumPhy.
Definition at line 62 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 161 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 74 of file rem-spectrum-phy.cc.
set the associated NetDevice instance
d | the NetDevice instance |
Implements ns3::SpectrumPhy.
Definition at line 87 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 80 of file rem-spectrum-phy.cc.
References m_mobility, and NS_LOG_FUNCTION.
Referenced by ns3::RadioEnvironmentMapHelper::DelayedInstall().
void ns3::RemSpectrumPhy::SetRxSpectrumModel | ( | Ptr< const SpectrumModel > | m | ) |
set the RX spectrum model to be used
m |
Definition at line 136 of file rem-spectrum-phy.cc.
References m_rxSpectrumModel, and NS_LOG_FUNCTION.
Referenced by ns3::RadioEnvironmentMapHelper::DelayedInstall().
|
virtual |
Notify the SpectrumPhy instance of an incoming signal
params | the parameters of the signals being received |
Implements ns3::SpectrumPhy.
Definition at line 119 of file rem-spectrum-phy.cc.
References ns3::Integral(), m_active, m_referenceSignalPower, m_sumPower, NS_ASSERT_MSG, 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.