#include <waveform-generator.h>
Public Member Functions | |
WaveformGenerator () | |
virtual | ~WaveformGenerator () |
Ptr< NetDevice > | GetDevice () |
double | GetDutyCycle () const |
Ptr< MobilityModel > | GetMobility () |
Time | GetPeriod () const |
Ptr< AntennaModel > | GetRxAntenna () |
Ptr< const SpectrumModel > | GetRxSpectrumModel () const |
void | SetAntenna (Ptr< AntennaModel > a) |
void | SetChannel (Ptr< SpectrumChannel > c) |
void | SetDevice (Ptr< NetDevice > d) |
void | SetDutyCycle (double value) |
void | SetMobility (Ptr< MobilityModel > m) |
void | SetPeriod (Time period) |
void | SetTxPowerSpectralDensity (Ptr< SpectrumValue > txs) |
virtual void | Start () |
void | StartRx (Ptr< SpectrumSignalParameters > params) |
virtual void | Stop () |
![]() | |
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 |
![]() | |
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::WaveformGenerator. |
Private Member Functions | |
virtual void | DoDispose (void) |
virtual void | GenerateWaveform () |
Private Attributes | |
bool | m_active |
Ptr< AntennaModel > | m_antenna |
Ptr< SpectrumChannel > | m_channel |
double | m_dutyCycle |
Ptr< MobilityModel > | m_mobility |
Ptr< NetDevice > | m_netDevice |
Time | m_period |
TracedCallback< Ptr< const Packet > > | m_phyTxEndTrace |
TracedCallback< Ptr< const Packet > > | m_phyTxStartTrace |
Time | m_startTime |
Ptr< SpectrumValue > | m_txPowerSpectralDensity |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoStart (void) |
virtual void | NotifyNewAggregate (void) |
Simple SpectrumPhy implementation that sends customizable waveform. The generated waveforms have a given Spectrum Power Density and duration (set with the SetResolution()) . The generator activates and deactivates periodically with a given period and with a duty cycle of 1/2.
This PHY model supports a single antenna model instance which is used for both transmission and reception (though received signals are discarded by this PHY).
Definition at line 52 of file waveform-generator.h.
ns3::WaveformGenerator::WaveformGenerator | ( | ) |
Definition at line 37 of file waveform-generator.cc.
|
virtual |
Definition at line 49 of file waveform-generator.cc.
|
privatevirtual |
Definition at line 56 of file waveform-generator.cc.
References m_channel, m_mobility, m_netDevice, and NS_LOG_FUNCTION.
|
privatevirtual |
Definition at line 192 of file waveform-generator.cc.
References m_active, m_antenna, m_channel, m_dutyCycle, m_period, m_phyTxStartTrace, m_txPowerSpectralDensity, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::Simulator::Schedule(), and ns3::SpectrumChannel::StartTx().
Referenced by Start().
get the associated NetDevice instance
Implements ns3::SpectrumPhy.
Definition at line 95 of file waveform-generator.cc.
References m_netDevice.
double ns3::WaveformGenerator::GetDutyCycle | ( | ) | const |
Definition at line 184 of file waveform-generator.cc.
References m_dutyCycle.
Referenced by GetTypeId().
|
virtual |
get the associated MobilityModel instance
Implements ns3::SpectrumPhy.
Definition at line 102 of file waveform-generator.cc.
References m_mobility.
Time ns3::WaveformGenerator::GetPeriod | ( | ) | const |
Definition at line 171 of file waveform-generator.cc.
References m_period.
Referenced by GetTypeId().
|
virtual |
get the AntennaModel used by the NetDevice for reception
Implements ns3::SpectrumPhy.
Definition at line 152 of file waveform-generator.cc.
References m_antenna.
|
virtual |
Implements ns3::SpectrumPhy.
Definition at line 109 of file waveform-generator.cc.
|
static |
This method returns the TypeId associated to ns3::WaveformGenerator.
Attributes defined for this type:
TraceSources defined for this type:
Reimplemented from ns3::SpectrumPhy.
Definition at line 65 of file waveform-generator.cc.
References GetDutyCycle(), GetPeriod(), m_phyTxEndTrace, m_phyTxStartTrace, ns3::MakeTraceSourceAccessor(), ns3::Seconds(), SetDutyCycle(), ns3::TypeId::SetParent(), and SetPeriod().
void ns3::WaveformGenerator::SetAntenna | ( | Ptr< AntennaModel > | a | ) |
set the AntennaModel to be used
a | the Antenna Model |
Definition at line 158 of file waveform-generator.cc.
References m_antenna, and NS_LOG_FUNCTION.
|
virtual |
Set the channel attached to this device.
c | the channel |
Implements ns3::SpectrumPhy.
Definition at line 130 of file waveform-generator.cc.
References m_channel, and NS_LOG_FUNCTION_NOARGS.
set the associated NetDevice instance
d | the NetDevice instance |
Implements ns3::SpectrumPhy.
Definition at line 116 of file waveform-generator.cc.
References m_netDevice.
void ns3::WaveformGenerator::SetDutyCycle | ( | double | value | ) |
value | the value of the duty cycle |
Definition at line 179 of file waveform-generator.cc.
References m_dutyCycle.
Referenced by GetTypeId().
|
virtual |
Set the mobility model associated with this device.
m | the mobility model |
Implements ns3::SpectrumPhy.
Definition at line 123 of file waveform-generator.cc.
References m_mobility.
void ns3::WaveformGenerator::SetPeriod | ( | Time | period | ) |
Set the period according to which the WaveformGenerator switches on and off
period |
Definition at line 165 of file waveform-generator.cc.
References m_period.
Referenced by GetTypeId().
void ns3::WaveformGenerator::SetTxPowerSpectralDensity | ( | Ptr< SpectrumValue > | txs | ) |
Set the Power Spectral Density used for outgoing waveforms
txs | the Power Spectral Density |
Definition at line 145 of file waveform-generator.cc.
References m_txPowerSpectralDensity, and NS_LOG_FUNCTION.
|
virtual |
Start the waveform generator
Reimplemented from ns3::Object.
Definition at line 215 of file waveform-generator.cc.
References GenerateWaveform(), m_active, m_startTime, ns3::Now(), NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::Simulator::ScheduleNow().
Referenced by main().
|
virtual |
Notify the SpectrumPhy instance of an incoming signal
params | the parameters of the signals being received |
Implements ns3::SpectrumPhy.
Definition at line 139 of file waveform-generator.cc.
References NS_LOG_FUNCTION.
|
virtual |
Stop the waveform generator
Definition at line 229 of file waveform-generator.cc.
References m_active, and NS_LOG_FUNCTION.
|
private |
Definition at line 142 of file waveform-generator.h.
Referenced by GenerateWaveform(), Start(), and Stop().
|
private |
Definition at line 132 of file waveform-generator.h.
Referenced by GenerateWaveform(), GetRxAntenna(), and SetAntenna().
|
private |
Definition at line 134 of file waveform-generator.h.
Referenced by DoDispose(), GenerateWaveform(), and SetChannel().
|
private |
Definition at line 140 of file waveform-generator.h.
Referenced by GenerateWaveform(), GetDutyCycle(), and SetDutyCycle().
|
private |
Definition at line 131 of file waveform-generator.h.
Referenced by DoDispose(), GetMobility(), and SetMobility().
Definition at line 133 of file waveform-generator.h.
Referenced by DoDispose(), GetDevice(), and SetDevice().
|
private |
Definition at line 139 of file waveform-generator.h.
Referenced by GenerateWaveform(), GetPeriod(), and SetPeriod().
|
private |
Definition at line 145 of file waveform-generator.h.
Referenced by GetTypeId().
|
private |
Definition at line 144 of file waveform-generator.h.
Referenced by GenerateWaveform(), and GetTypeId().
|
private |
Definition at line 141 of file waveform-generator.h.
Referenced by Start().
|
private |
Definition at line 138 of file waveform-generator.h.
Referenced by GenerateWaveform(), and SetTxPowerSpectralDensity().