A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::UanTxMode Class Reference

Abstraction of packet modulation information. More...

#include "uan-tx-mode.h"

+ Collaboration diagram for ns3::UanTxMode:

Public Types

enum  ModulationType { PSK , QAM , FSK , OTHER }
 Modulation type. More...
 

Public Member Functions

 UanTxMode ()
 Constructor.
 
 ~UanTxMode ()
 Destructor.
 
uint32_t GetBandwidthHz () const
 Get the transmission signal bandwidth.
 
uint32_t GetCenterFreqHz () const
 Get the transmission center frequency.
 
uint32_t GetConstellationSize () const
 Get the number of constellation points in the modulation scheme.
 
uint32_t GetDataRateBps () const
 Get the data rate of the transmit mode.
 
ModulationType GetModType () const
 Get the modulation type of the mode.
 
std::string GetName () const
 Get the mode name.
 
uint32_t GetPhyRateSps () const
 Get the physical signaling rate.
 
uint32_t GetUid () const
 Get a unique id for the mode.
 

Private Attributes

uint32_t m_uid
 Mode id.
 

Friends

std::ostream & operator<< (std::ostream &os, const UanTxMode &mode)
 Writes tx mode entry to stream os.
 
std::istream & operator>> (std::istream &is, UanTxMode &mode)
 Reads tx mode entry from stream is.
 
class UanTxModeFactory
 

Detailed Description

Abstraction of packet modulation information.

This contains a lightweight globally unique id for the mode. Mode details are held in the UanTxModeFactory. Attributes are set in by the UanTxModeFactory constructor.

Definition at line 42 of file uan-tx-mode.h.

Member Enumeration Documentation

◆ ModulationType

Modulation type.

Enumerator
PSK 

Phase shift keying.

QAM 

Quadrature amplitude modulation.

FSK 

Frequency shift keying.

OTHER 

Unspecified/undefined.

Definition at line 51 of file uan-tx-mode.h.

Constructor & Destructor Documentation

◆ UanTxMode()

ns3::UanTxMode::UanTxMode ( )

Constructor.

Definition at line 31 of file uan-tx-mode.cc.

◆ ~UanTxMode()

ns3::UanTxMode::~UanTxMode ( )

Destructor.

Definition at line 35 of file uan-tx-mode.cc.

Member Function Documentation

◆ GetBandwidthHz()

uint32_t ns3::UanTxMode::GetBandwidthHz ( ) const

Get the transmission signal bandwidth.

Returns
Bandwidth in Hz.

Definition at line 64 of file uan-tx-mode.cc.

References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_bwHz, and m_uid.

Referenced by ns3::UanPhyPerCommonModes::CalcPer(), ns3::UanPhyCalcSinrDual::CalcSinrDb(), and ns3::UanPhyGen::CalculateSinrDb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetCenterFreqHz()

uint32_t ns3::UanTxMode::GetCenterFreqHz ( ) const

Get the transmission center frequency.

Returns
Center frequency, in Hz.

Definition at line 58 of file uan-tx-mode.cc.

References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_cfHz, and m_uid.

Referenced by ns3::UanPhyCalcSinrDual::CalcSinrDb(), ns3::UanPhyGen::CalculateSinrDb(), and ns3::UanPropModelThorp::GetPathLossDb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetConstellationSize()

uint32_t ns3::UanTxMode::GetConstellationSize ( ) const

Get the number of constellation points in the modulation scheme.

Returns
Number of constellation points.

Definition at line 70 of file uan-tx-mode.cc.

References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_constSize, and m_uid.

Referenced by ns3::UanPhyPerUmodem::CalcPer(), ns3::UanPhyPerCommonModes::CalcPer(), and ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDataRateBps()

uint32_t ns3::UanTxMode::GetDataRateBps ( ) const

Get the data rate of the transmit mode.

Returns
Data rate of the TX mode, in bits per second.

Definition at line 46 of file uan-tx-mode.cc.

References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_dataRateBps, and m_uid.

Referenced by ns3::UanPhyPerCommonModes::CalcPer(), ns3::UanTransducerHd::Receive(), ns3::UanPhyGen::SendPacket(), ns3::UanPhyGen::StartRxPacket(), and ns3::UanTransducerHd::Transmit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetModType()

UanTxMode::ModulationType ns3::UanTxMode::GetModType ( ) const

Get the modulation type of the mode.

Returns
The modulation type.

Definition at line 40 of file uan-tx-mode.cc.

References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_type, and m_uid.

Referenced by ns3::UanPhyPerUmodem::CalcPer(), ns3::UanPhyPerCommonModes::CalcPer(), ns3::UanPhyCalcSinrDual::CalcSinrDb(), ns3::UanPhyCalcSinrDefault::CalcSinrDb(), and ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetName()

std::string ns3::UanTxMode::GetName ( ) const

Get the mode name.

Returns
Name

Definition at line 76 of file uan-tx-mode.cc.

References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_name, and m_uid.

Referenced by ns3::UanPhyCalcSinrDual::CalcSinrDb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetPhyRateSps()

uint32_t ns3::UanTxMode::GetPhyRateSps ( ) const

Get the physical signaling rate.

Returns
PHY rate in symbols per second.

Definition at line 52 of file uan-tx-mode.cc.

References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_phyRateSps, and m_uid.

Referenced by ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetUid()

uint32_t ns3::UanTxMode::GetUid ( ) const

Get a unique id for the mode.

Returns
Unique ID.

Definition at line 82 of file uan-tx-mode.cc.

References m_uid.

Referenced by ns3::UanPhyGen::StartRxPacket().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const UanTxMode mode 
)
friend

Writes tx mode entry to stream os.

Parameters
osThe output stream.
modeThe mode.
Returns
The stream.

Definition at line 87 of file uan-tx-mode.cc.

◆ operator>>

std::istream & operator>> ( std::istream &  is,
UanTxMode mode 
)
friend

Reads tx mode entry from stream is.

Parameters
isThe input stream.
modeThe mode.
Returns
The stream.

Definition at line 95 of file uan-tx-mode.cc.

◆ UanTxModeFactory

friend class UanTxModeFactory
friend

Definition at line 109 of file uan-tx-mode.h.

Member Data Documentation

◆ m_uid


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