Public Member Functions | Static Public Member Functions

ns3::WaveformGenerator Class Reference

#include <waveform-generator.h>

Inheritance diagram for ns3::WaveformGenerator:
Inheritance graph
[legend]
Collaboration diagram for ns3::WaveformGenerator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void SetChannel (Ptr< SpectrumChannel > c)
void SetMobility (Ptr< Object > m)
void SetDevice (Ptr< Object > d)
Ptr< ObjectGetMobility ()
Ptr< ObjectGetDevice ()
Ptr< const SpectrumModelGetRxSpectrumModel () const
void StartRx (Ptr< PacketBurst > p, Ptr< const SpectrumValue > rxPsd, SpectrumType st, Time duration)
void SetTxPowerSpectralDensity (Ptr< SpectrumValue > txs)
SpectrumType GetSpectrumType ()
void SetPeriod (Time period)
Time GetPeriod () const
void SetDutyCycle (double value)
double GetDutyCycle () const
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.


Member Function Documentation

Ptr<Object> 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
Ptr<Object> ns3::WaveformGenerator::GetMobility (  )  [virtual]

get the associated MobilityModel instance

Returns:
a Ptr to the associated NetDevice instance

Implements ns3::SpectrumPhy.

Time ns3::WaveformGenerator::GetPeriod (  )  const
Returns:
the value of the period according to which the WaveformGenerator switches on and off
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.

SpectrumType ns3::WaveformGenerator::GetSpectrumType (  ) 

Get the SpectrumType used by this PHY

Returns:
static TypeId ns3::WaveformGenerator::GetTypeId ( void   )  [static]

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

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::SpectrumPhy/$ns3::WaveformGenerator
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::WaveformGenerator

Attributes defined for this type:

  • Period: the period (=1/frequency)
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 1000000000ns
    • 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.

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

Set the channel attached to this device.

Parameters:
c the channel

Implements ns3::SpectrumPhy.

void ns3::WaveformGenerator::SetDevice ( Ptr< Object d  )  [virtual]

set the associated NetDevice instance

Parameters:
d the NetDevice instance

Implements ns3::SpectrumPhy.

void ns3::WaveformGenerator::SetDutyCycle ( double  value  ) 
Parameters:
value the value of the duty cycle
void ns3::WaveformGenerator::SetMobility ( Ptr< Object m  )  [virtual]

Set the mobility model associated with this device.

Parameters:
m the 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 
void ns3::WaveformGenerator::SetTxPowerSpectralDensity ( Ptr< SpectrumValue txs  ) 

Set the Power Spectral Density used for outgoing waveforms

Parameters:
txs the Power Spectral Density
virtual void ns3::WaveformGenerator::Start (  )  [virtual]

Start the waveform generator

Reimplemented from ns3::Object.

void ns3::WaveformGenerator::StartRx ( Ptr< PacketBurst p,
Ptr< const SpectrumValue rxPsd,
SpectrumType  st,
Time  duration 
) [virtual]

Notify the SpectrumPhy instance of an incoming waveform

Parameters:
p the PacketBurst associated with the incoming waveform
rxPsd the Power Spectral Density of the incoming waveform. The units of the PSD are the same specified for SpectrumChannel::StartTx().
st spectrum type
duration the duration of the incoming waveform

Implements ns3::SpectrumPhy.

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

Stop the waveform generator


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