Abstraction of packet modulation information. More...
#include "uan-tx-mode.h"
 Collaboration diagram for ns3::UanTxMode:
 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 | 
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 31 of file uan-tx-mode.h.
Modulation type.
| Enumerator | |
|---|---|
| PSK | Phase shift keying. | 
| QAM | Quadrature amplitude modulation. | 
| FSK | Frequency shift keying. | 
| OTHER | Unspecified/undefined. | 
Definition at line 40 of file uan-tx-mode.h.
| ns3::UanTxMode::UanTxMode | ( | ) | 
Constructor.
Definition at line 20 of file uan-tx-mode.cc.
Referenced by operator<<, operator>>, and UanTxModeFactory.
 Here is the caller graph for this function:
 Here is the caller graph for this function:| ns3::UanTxMode::~UanTxMode | ( | ) | 
Destructor.
Definition at line 24 of file uan-tx-mode.cc.
| uint32_t ns3::UanTxMode::GetBandwidthHz | ( | ) | const | 
Get the transmission signal bandwidth.
Definition at line 53 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 call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::UanTxMode::GetCenterFreqHz | ( | ) | const | 
Get the transmission center frequency.
Definition at line 47 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 call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::UanTxMode::GetConstellationSize | ( | ) | const | 
Get the number of constellation points in the modulation scheme.
Definition at line 59 of file uan-tx-mode.cc.
References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_constSize, and m_uid.
Referenced by ns3::UanPhyPerCommonModes::CalcPer(), ns3::UanPhyPerUmodem::CalcPer(), and ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::UanTxMode::GetDataRateBps | ( | ) | const | 
Get the data rate of the transmit mode.
Definition at line 35 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 call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| UanTxMode::ModulationType ns3::UanTxMode::GetModType | ( | ) | const | 
Get the modulation type of the mode.
Definition at line 29 of file uan-tx-mode.cc.
References ns3::UanTxModeFactory::GetFactory(), ns3::UanTxModeFactory::GetModeItem(), ns3::UanTxModeFactory::UanTxModeItem::m_type, and m_uid.
Referenced by ns3::UanPhyPerCommonModes::CalcPer(), ns3::UanPhyPerUmodem::CalcPer(), ns3::UanPhyCalcSinrDefault::CalcSinrDb(), ns3::UanPhyCalcSinrDual::CalcSinrDb(), and ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| std::string ns3::UanTxMode::GetName | ( | ) | const | 
Get the mode name.
Definition at line 65 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 call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::UanTxMode::GetPhyRateSps | ( | ) | const | 
Get the physical signaling rate.
Definition at line 41 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 call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::UanTxMode::GetUid | ( | ) | const | 
Get a unique id for the mode.
Definition at line 71 of file uan-tx-mode.cc.
References m_uid.
Referenced by ns3::UanPhyGen::StartRxPacket().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | friend | 
Writes tx mode entry to stream os.
| os | The output stream. | 
| mode | The mode. | 
Definition at line 76 of file uan-tx-mode.cc.
References UanTxMode(), and m_uid.
| 
 | friend | 
Reads tx mode entry from stream is.
| is | The input stream. | 
| mode | The mode. | 
Definition at line 84 of file uan-tx-mode.cc.
References UanTxMode(), and m_uid.
| 
 | friend | 
Definition at line 100 of file uan-tx-mode.h.
References UanTxMode(), and UanTxModeFactory.
Referenced by UanTxModeFactory.
| 
 | private | 
Mode id.
Definition at line 98 of file uan-tx-mode.h.
Referenced by GetBandwidthHz(), GetCenterFreqHz(), GetConstellationSize(), GetDataRateBps(), GetModType(), GetName(), GetPhyRateSps(), GetUid(), ns3::UanTxModeFactory::MakeModeFromItem(), operator<<, and operator>>.