Loading...
Searching...
No Matches
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.
 SatResidualInterferenceElimination (Ptr< SatWaveformConf > waveformConf)
 Constructor.
 ~SatResidualInterferenceElimination ()
 Destructor.
void EliminateInterferences (Ptr< SatSignalParameters > packetInterferedWith, Ptr< SatSignalParameters > processedPacket, double EsNo, bool isRegenerative)
 Eliminate the residual power of interference for the given packets.
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.
uint32_t GetBurstLengthInSymbols (uint32_t waveformId) const
double GetResidualPower (Ptr< SatSignalParameters > processedPacket, double EsNo)
 Calculate the residual power of interference for a given packet.
Public Member Functions inherited from ns3::SatInterferenceElimination
 SatInterferenceElimination ()
 Constructor for Satellite interference elimination base class.
virtual ~SatInterferenceElimination ()
 Destructor for Satellite interference elimination base class.

Static Public Member Functions

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

Private Attributes

double m_samplingError
Ptr< SatWaveformConfm_waveformConf

Detailed Description

Satellite interference elimination with residual power.

Definition at line 37 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 59 of file satellite-residual-interference-elimination.cc.

References ns3::SatInterferenceElimination::SatInterferenceElimination(), m_samplingError, and m_waveformConf.

Here is the call graph for this function:

◆ SatResidualInterferenceElimination() [2/2]

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

Constructor.

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

References ns3::SatInterferenceElimination::SatInterferenceElimination(), m_samplingError, and m_waveformConf.

Here is the call graph for this function:

◆ ~SatResidualInterferenceElimination()

ns3::SatResidualInterferenceElimination::~SatResidualInterferenceElimination ( )

Destructor.

Definition at line 78 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 84 of file satellite-residual-interference-elimination.cc.

References EliminateInterferences().

Referenced by EliminateInterferences().

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

◆ 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 101 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 88 of file satellite-residual-interference-elimination.h.

References m_waveformConf.

Referenced by GetResidualPower().

Here is the caller 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 174 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 43 of file satellite-residual-interference-elimination.cc.

References ns3::SatInterferenceElimination::SatInterferenceElimination(), and m_samplingError.

Here is the call graph for this function:

Member Data Documentation

◆ m_samplingError

double ns3::SatResidualInterferenceElimination::m_samplingError
private

◆ m_waveformConf

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

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