ns3::SatLinkResultsFwd Class Referenceabstract

Link results for forward link. More...

#include "satellite-link-results.h"

+ Inheritance diagram for ns3::SatLinkResultsFwd:
+ Collaboration diagram for ns3::SatLinkResultsFwd:

Public Member Functions

 SatLinkResultsFwd ()
 Default constructor. More...
 
 ~SatLinkResultsFwd ()
 
double GetBler (SatEnums::SatModcod_t modcod, SatEnums::SatBbFrameType_t frameType, double esNoDb) const
 Get a BLER value from link results. More...
 
double GetEsNoDb (SatEnums::SatModcod_t modcod, SatEnums::SatBbFrameType_t frameType, double blerTarget) const
 Get a Es/No requirement for a given BLER target from link results. More...
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID. More...
 

Protected Member Functions

virtual void DoInitialize ()=0
 Initialize look up tables. More...
 

Protected Attributes

double m_shortFrameOffsetInDb
 
std::map< SatEnums::SatModcod_t, Ptr< SatLookUpTable > > m_table
 Map of satellite link result look up tables. More...
 

Detailed Description

Link results for forward link.

The instance will be SatLinkResultsDvbS2 or SatLinkResultsDvbS2X.

Loads and maintains multiple SatLookUpTable. Provides query service based on modulation and coding scheme.

See usage examples in the parent class documentation (SatLinkResults).

Definition at line 352 of file satellite-link-results.h.

Constructor & Destructor Documentation

◆ SatLinkResultsFwd()

ns3::SatLinkResultsFwd::SatLinkResultsFwd ( )

Default constructor.

Definition at line 222 of file satellite-link-results.cc.

◆ ~SatLinkResultsFwd()

ns3::SatLinkResultsFwd::~SatLinkResultsFwd ( )
inline

Definition at line 360 of file satellite-link-results.h.

Member Function Documentation

◆ DoInitialize()

virtual void ns3::SatLinkResultsFwd::DoInitialize ( )
protectedpure virtual

Initialize look up tables.

Child classes must implement this function to initialize m_table member variable. This is typically done by loading pre-defined input files from the file system. In case of failure, the function should throw an error by calling NS_FATAL_ERROR.

Implements ns3::SatLinkResults.

Implemented in ns3::SatLinkResultsDvbS2X, and ns3::SatLinkResultsDvbS2.

◆ GetBler()

double ns3::SatLinkResultsFwd::GetBler ( SatEnums::SatModcod_t  modcod,
SatEnums::SatBbFrameType_t  frameType,
double  esNoDb 
) const

Get a BLER value from link results.

Parameters
modcodModulation and coding scheme
frameTypeBB frame type (short, long)
esNoDbthe received Es/No in dB
Returns
BLER value, which is a double ranging between [0..1]

Must be run after SatLinkResults::Initialize is called.

Short BB frame is assumed to be requiring m_shortFrameOffsetInDb dB higher Es/No if compared to normal BB frame. TODO: Proper link results need to be added for short BB frame in FWD link.

Definition at line 244 of file satellite-link-results.cc.

References ns3::SatLinkResults::m_isInitialized, m_shortFrameOffsetInDb, m_table, and ns3::SatEnums::SHORT_FRAME.

◆ GetEsNoDb()

double ns3::SatLinkResultsFwd::GetEsNoDb ( SatEnums::SatModcod_t  modcod,
SatEnums::SatBbFrameType_t  frameType,
double  blerTarget 
) const

Get a Es/No requirement for a given BLER target from link results.

Parameters
modcodModulation and coding scheme
frameTypeBB frame type (short, long)
blerTargetTarget BLER for the system
Returns
Es/No value

Must be run after SatLinkResults::Initialize is called.

Short BB frame is assumed to be requiring "m_shortFrameOffsetInDb" dB higher Es/No if compared to normal BB frame. TODO: Proper link results need to be added for short BB frame in FWD link.

Definition at line 269 of file satellite-link-results.cc.

References ns3::SatLinkResults::m_isInitialized, m_shortFrameOffsetInDb, m_table, and ns3::SatEnums::SHORT_FRAME.

◆ GetTypeId()

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

Get the type ID.

Returns
the object TypeId

Definition at line 230 of file satellite-link-results.cc.

References m_shortFrameOffsetInDb.

Member Data Documentation

◆ m_shortFrameOffsetInDb

double ns3::SatLinkResultsFwd::m_shortFrameOffsetInDb
protected

Definition at line 418 of file satellite-link-results.h.

Referenced by GetBler(), GetEsNoDb(), and GetTypeId().

◆ m_table

std::map<SatEnums::SatModcod_t, Ptr<SatLookUpTable> > ns3::SatLinkResultsFwd::m_table
protected

Map of satellite link result look up tables.

  • key = SatModcod_e, i.e. modulation and coding scheme
  • value = Ptr<SatLookUpTable>, i.e. look-up table containing the link results

Definition at line 416 of file satellite-link-results.h.

Referenced by ns3::SatLinkResultsDvbS2::DoInitialize(), ns3::SatLinkResultsDvbS2X::DoInitialize(), GetBler(), and GetEsNoDb().


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