ns-3
ns3::WaveformGenerator Class Reference

#include <waveform-generator.h>

Inheritance diagram for ns3::WaveformGenerator:
Collaboration diagram for ns3::WaveformGenerator:

List of all members.

Public Member Functions

void SetChannel (Ptr< SpectrumChannel > c)
void SetMobility (Ptr< MobilityModel > m)
void SetDevice (Ptr< NetDevice > d)
Ptr< MobilityModelGetMobility ()
Ptr< NetDeviceGetDevice ()
Ptr< const SpectrumModelGetRxSpectrumModel () const
Ptr< AntennaModelGetRxAntenna ()
void StartRx (Ptr< SpectrumSignalParameters > params)
void SetTxPowerSpectralDensity (Ptr< SpectrumValue > txs)
void SetPeriod (Time period)
Time GetPeriod () const
void SetDutyCycle (double value)
double GetDutyCycle () const
void SetAntenna (Ptr< AntennaModel > a)
virtual void Start ()
virtual void Stop ()

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::WaveformGenerator.

Detailed Description

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).


Member Function Documentation

Ptr< NetDevice > ns3::WaveformGenerator::GetDevice ( )
virtual

get the associated NetDevice instance

Returns:
a Ptr to the associated NetDevice instance

Implements ns3::SpectrumPhy.

double ns3::WaveformGenerator::GetDutyCycle ( ) const
Returns:
the value of the duty cycle

Referenced by GetTypeId().

Ptr< MobilityModel > ns3::WaveformGenerator::GetMobility ( )
virtual

get the associated MobilityModel instance

Returns:
a Ptr to the associated MobilityModel instance

Implements ns3::SpectrumPhy.

Time ns3::WaveformGenerator::GetPeriod ( ) const
Returns:
the value of the period according to which the WaveformGenerator switches on and off

Referenced by GetTypeId().

Ptr< AntennaModel > ns3::WaveformGenerator::GetRxAntenna ( )
virtual

get the AntennaModel used by the NetDevice for reception

Returns:
a Ptr to the AntennaModel used by the NetDevice for reception

Implements ns3::SpectrumPhy.

Ptr< const SpectrumModel > ns3::WaveformGenerator::GetRxSpectrumModel ( ) const
virtual
Returns:
returns the SpectrumModel that this SpectrumPhy expects to be used for all SpectrumValues that are passed to StartRx. If 0 is returned, it means that any model will be accepted.

Implements ns3::SpectrumPhy.

TypeId ns3::WaveformGenerator::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::WaveformGenerator.

Attributes defined for this type:

  • Period: the period (=1/frequency)
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +1000000000.0ns
    • Flags: construct write read
  • DutyCycle: the duty cycle of the generator, i.e., the fraction of the period that is occupied by a signal
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.5
    • Flags: construct write read

TraceSources defined for this type:

  • TxStart: Trace fired when a new transmission is started
  • TxEnd: Trace fired when a previosuly started transmission is finished

Reimplemented from ns3::SpectrumPhy.

References GetDutyCycle(), GetPeriod(), ns3::MakeTraceSourceAccessor(), ns3::Seconds(), SetDutyCycle(), ns3::TypeId::SetParent(), and SetPeriod().

void ns3::WaveformGenerator::SetAntenna ( Ptr< AntennaModel a)

set the AntennaModel to be used

Parameters:
athe Antenna Model

References NS_LOG_FUNCTION.

void ns3::WaveformGenerator::SetChannel ( Ptr< SpectrumChannel c)
virtual

Set the channel attached to this device.

Parameters:
cthe channel

Implements ns3::SpectrumPhy.

References NS_LOG_FUNCTION_NOARGS.

void ns3::WaveformGenerator::SetDevice ( Ptr< NetDevice d)
virtual

set the associated NetDevice instance

Parameters:
dthe NetDevice instance

Implements ns3::SpectrumPhy.

void ns3::WaveformGenerator::SetDutyCycle ( double  value)
Parameters:
valuethe value of the duty cycle

Referenced by GetTypeId().

void ns3::WaveformGenerator::SetMobility ( Ptr< MobilityModel m)
virtual

Set the mobility model associated with this device.

Parameters:
mthe mobility model

Implements ns3::SpectrumPhy.

void ns3::WaveformGenerator::SetPeriod ( Time  period)

Set the period according to which the WaveformGenerator switches on and off

Parameters:
period

Referenced by GetTypeId().

void ns3::WaveformGenerator::SetTxPowerSpectralDensity ( Ptr< SpectrumValue txs)

Set the Power Spectral Density used for outgoing waveforms

Parameters:
txsthe Power Spectral Density

References NS_LOG_FUNCTION.

void ns3::WaveformGenerator::Start ( void  )
virtual

Start the waveform generator

Reimplemented from ns3::Object.

References ns3::Now(), NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::Simulator::ScheduleNow().

void ns3::WaveformGenerator::StartRx ( Ptr< SpectrumSignalParameters params)
virtual

Notify the SpectrumPhy instance of an incoming signal

Parameters:
paramsthe parameters of the signals being received

Implements ns3::SpectrumPhy.

References NS_LOG_FUNCTION.

void ns3::WaveformGenerator::Stop ( void  )
virtual

Stop the waveform generator

References NS_LOG_FUNCTION.


The documentation for this class was generated from the following files: