A Discrete-Event Network Simulator
API
Public Member Functions | Public Attributes | List of all members
ns3::SpectrumSignalParameters Struct Reference

This struct provides the generic signal representation to be used by all wireless technologies. More...

#include "spectrum-signal-parameters.h"

+ Inheritance diagram for ns3::SpectrumSignalParameters:

Public Member Functions

 SpectrumSignalParameters ()
 default constructor More...
 
 SpectrumSignalParameters (const SpectrumSignalParameters &p)
 copy constructor More...
 
virtual ~SpectrumSignalParameters ()
 destructor More...
 
virtual Ptr< SpectrumSignalParametersCopy ()
 make a "virtual" copy of this class, where "virtual" refers to the fact that if the actual object is a derived class of SpectrumSignalParameters, then the copy is also a derived class of the same type. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< SpectrumSignalParameters >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Public Attributes

Time duration
 The duration of the packet transmission. More...
 
Ptr< SpectrumValuepsd
 The Power Spectral Density of the waveform, in linear units. More...
 
Ptr< AntennaModeltxAntenna
 The AntennaModel instance that was used to transmit this signal. More...
 
Ptr< SpectrumPhytxPhy
 The SpectrumPhy instance that is making the transmission. More...
 

Detailed Description

This struct provides the generic signal representation to be used by all wireless technologies.

Any specific wireless technology is allowed to define additional signal parameters by inheriting from this struct and providing additional member variables. This makes sure that a minimum set of parameters (in particular, the ones needed for interference calculation) is common across all wireless technologies, while at the same time allowing each technology to have its own specific signal parameters.

Furthermore, since the signal parameters specific of every technology inherit directly from this struct, each PHY can test (by using a dynamic cast) if a signal being received belongs to a given technology or not.

Note
when inheriting from this class, make sure that the assignment operator and the copy constructor work properly, making deep copies if needed.

Definition at line 55 of file spectrum-signal-parameters.h.

Constructor & Destructor Documentation

◆ SpectrumSignalParameters() [1/2]

ns3::SpectrumSignalParameters::SpectrumSignalParameters ( )

default constructor

Definition at line 33 of file spectrum-signal-parameters.cc.

References NS_LOG_FUNCTION.

◆ ~SpectrumSignalParameters()

ns3::SpectrumSignalParameters::~SpectrumSignalParameters ( )
virtual

destructor

Definition at line 38 of file spectrum-signal-parameters.cc.

References NS_LOG_FUNCTION.

◆ SpectrumSignalParameters() [2/2]

ns3::SpectrumSignalParameters::SpectrumSignalParameters ( const SpectrumSignalParameters p)

copy constructor

Definition at line 43 of file spectrum-signal-parameters.cc.

References ns3::SpectrumValue::Copy(), duration, NS_LOG_FUNCTION, psd, txAntenna, and txPhy.

Member Function Documentation

◆ Copy()

Ptr< SpectrumSignalParameters > ns3::SpectrumSignalParameters::Copy ( void  )
virtual

make a "virtual" copy of this class, where "virtual" refers to the fact that if the actual object is a derived class of SpectrumSignalParameters, then the copy is also a derived class of the same type.

Each class inheriting from SpectrumSignalParameters should override this method and use it to call the copy constructor of the derived class.

Returns
a copy of the (possibly derived) class

Reimplemented in ns3::LteSpectrumSignalParametersUlSrsFrame, ns3::LteSpectrumSignalParametersDlCtrlFrame, ns3::LteSpectrumSignalParametersDataFrame, ns3::LteSpectrumSignalParameters, ns3::LrWpanSpectrumSignalParameters, ns3::HalfDuplexIdealPhySignalParameters, and ns3::WifiSpectrumSignalParameters.

Definition at line 53 of file spectrum-signal-parameters.cc.

References NS_LOG_FUNCTION.

Member Data Documentation

◆ duration

Time ns3::SpectrumSignalParameters::duration

The duration of the packet transmission.

It is assumed that the Power Spectral Density remains constant for the whole duration of the transmission. In other words, all waveform have a rect shape with respect to time.

Definition at line 102 of file spectrum-signal-parameters.h.

Referenced by LteDownlinkDataSinrTestCase::DoRun(), LteUplinkDataSinrTestCase::DoRun(), LteDownlinkCtrlSinrTestCase::DoRun(), LteUplinkSrsSinrTestCase::DoRun(), SpectrumWifiPhyBasicTest::MakeSignal(), and SpectrumSignalParameters().

◆ psd

Ptr<SpectrumValue> ns3::SpectrumSignalParameters::psd

The Power Spectral Density of the waveform, in linear units.

The exact unit will depend on the type of transmission medium involved: W for radio communications, Pa for underwater acoustic communications. Other transmission media to be defined.

Note
when SpectrumSignalParameters is copied, only the pointer to the PSD will be copied. This is because SpectrumChannel objects normally overwrite the psd anyway, so there is no point in making a copy.

Definition at line 94 of file spectrum-signal-parameters.h.

Referenced by LteDownlinkDataSinrTestCase::DoRun(), LteUplinkDataSinrTestCase::DoRun(), LteDownlinkCtrlSinrTestCase::DoRun(), LteUplinkSrsSinrTestCase::DoRun(), SpectrumWifiPhyBasicTest::MakeSignal(), SpectrumSignalParameters(), and Bug2483TestCase::StoreDistinctTuple().

◆ txAntenna

Ptr<AntennaModel> ns3::SpectrumSignalParameters::txAntenna

The AntennaModel instance that was used to transmit this signal.

Definition at line 112 of file spectrum-signal-parameters.h.

Referenced by SpectrumSignalParameters().

◆ txPhy

Ptr<SpectrumPhy> ns3::SpectrumSignalParameters::txPhy

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