ns3::SatResidualInterferenceElimination Class Reference

Satellite interference elimination with residual power. More...

#include "satellite-residual-interference-elimination.h"

+ Inheritance diagram for ns3::SatResidualInterferenceElimination:
+ Collaboration diagram for ns3::SatResidualInterferenceElimination:

Public Member Functions

 SatResidualInterferenceElimination ()
 Default constructor. More...
 
 SatResidualInterferenceElimination (Ptr< SatWaveformConf > waveformConf)
 Constructor. More...
 
 ~SatResidualInterferenceElimination ()
 Destructor. More...
 
void EliminateInterferences (Ptr< SatSignalParameters > packetInterferedWith, Ptr< SatSignalParameters > processedPacket, double EsNo, bool isRegenerative)
 Eliminate the residual power of interference for the given packets. More...
 
void EliminateInterferences (Ptr< SatSignalParameters > packetInterferedWith, Ptr< SatSignalParameters > processedPacket, double EsNo, bool isRegenerative, double startTime, double endTime)
 Calculate residual power of interference for the given packets. More...
 
uint32_t GetBurstLengthInSymbols (uint32_t waveformId) const
 
TypeId GetInstanceTypeId (void) const
 Derived from Object. More...
 
double GetResidualPower (Ptr< SatSignalParameters > processedPacket, double EsNo)
 Calculate the residual power of interference for a given packet. More...
 
- Public Member Functions inherited from ns3::SatInterferenceElimination
 SatInterferenceElimination ()
 Constructor for Satellite interference elimination base class. More...
 
virtual ~SatInterferenceElimination ()
 Destructor for Satellite interference elimination base class. More...
 
TypeId GetInstanceTypeId (void) const
 Derived from Object. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Derived from Object. More...
 
- Static Public Member Functions inherited from ns3::SatInterferenceElimination
static TypeId GetTypeId (void)
 Derived from Object. More...
 

Private Attributes

double m_samplingError
 
Ptr< SatWaveformConfm_waveformConf
 

Detailed Description

Satellite interference elimination with residual power.

Definition at line 35 of file satellite-residual-interference-elimination.h.

Constructor & Destructor Documentation

◆ SatResidualInterferenceElimination() [1/2]

ns3::SatResidualInterferenceElimination::SatResidualInterferenceElimination ( )

Default constructor.

Should not be used.

Definition at line 60 of file satellite-residual-interference-elimination.cc.

◆ SatResidualInterferenceElimination() [2/2]

ns3::SatResidualInterferenceElimination::SatResidualInterferenceElimination ( Ptr< SatWaveformConf waveformConf)

Constructor.

Definition at line 70 of file satellite-residual-interference-elimination.cc.

◆ ~SatResidualInterferenceElimination()

ns3::SatResidualInterferenceElimination::~SatResidualInterferenceElimination ( )

Destructor.

Definition at line 79 of file satellite-residual-interference-elimination.cc.

Member Function Documentation

◆ EliminateInterferences() [1/2]

void ns3::SatResidualInterferenceElimination::EliminateInterferences ( Ptr< SatSignalParameters packetInterferedWith,
Ptr< SatSignalParameters processedPacket,
double  EsNo,
bool  isRegenerative 
)
virtual

Eliminate the residual power of interference for the given packets.

Parameters
packetInterferedWithParameters of the packet whose interference level should be lowered
processedPacketParameters of the packet we want to remove interference from
isRegenerativeTell if we are in regenerative configuration. Depending on this value, the computations are made on the GW or on the satellite

Implements ns3::SatInterferenceElimination.

Definition at line 85 of file satellite-residual-interference-elimination.cc.

◆ EliminateInterferences() [2/2]

void ns3::SatResidualInterferenceElimination::EliminateInterferences ( Ptr< SatSignalParameters packetInterferedWith,
Ptr< SatSignalParameters processedPacket,
double  EsNo,
bool  isRegenerative,
double  startTime,
double  endTime 
)
virtual

Calculate residual power of interference for the given packets.

Parameters
packetInterferedWithParameters of the packet whose interference level should be lowered
processedPacketParameters of the packet we want to remove interference from
isRegenerativeTell if we are in regenerative configuration. Depending on this value, the computations are made on the GW or on the satellite
startTimeNormalized start time of the interference, with respect to packetInterferedWith
endTimeNormalized end time of the interference, with respect to packetInterferedWith

TODO: refactorize this call, so that the residual power is not recalculated at every iteration of SIC.

Implements ns3::SatInterferenceElimination.

Definition at line 102 of file satellite-residual-interference-elimination.cc.

References GetResidualPower(), and ns3::SatUtils::ScalarProduct().

+ Here is the call graph for this function:

◆ GetBurstLengthInSymbols()

uint32_t ns3::SatResidualInterferenceElimination::GetBurstLengthInSymbols ( uint32_t  waveformId) const
inline

Definition at line 91 of file satellite-residual-interference-elimination.h.

References m_waveformConf.

Referenced by GetResidualPower().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::SatResidualInterferenceElimination::GetInstanceTypeId ( void  ) const

Derived from Object.

Definition at line 55 of file satellite-residual-interference-elimination.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetResidualPower()

double ns3::SatResidualInterferenceElimination::GetResidualPower ( Ptr< SatSignalParameters processedPacket,
double  EsNo 
)
virtual

Calculate the residual power of interference for a given packet.

Implements ns3::SatInterferenceElimination.

Definition at line 175 of file satellite-residual-interference-elimination.cc.

References GetBurstLengthInSymbols(), and m_samplingError.

Referenced by EliminateInterferences().

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

◆ GetTypeId()

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

Derived from Object.

Definition at line 38 of file satellite-residual-interference-elimination.cc.

References m_samplingError.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_samplingError

double ns3::SatResidualInterferenceElimination::m_samplingError
private

Definition at line 103 of file satellite-residual-interference-elimination.h.

Referenced by GetResidualPower(), and GetTypeId().

◆ m_waveformConf

Ptr<SatWaveformConf> ns3::SatResidualInterferenceElimination::m_waveformConf
private

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