Satellite interference elimination with residual power. More...
#include "satellite-residual-interference-elimination.h"
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< SatWaveformConf > | m_waveformConf |
Satellite interference elimination with residual power.
Definition at line 37 of file satellite-residual-interference-elimination.h.
ns3::SatResidualInterferenceElimination::SatResidualInterferenceElimination | ( | ) |
Default constructor.
Should not be used.
Definition at line 65 of file satellite-residual-interference-elimination.cc.
ns3::SatResidualInterferenceElimination::SatResidualInterferenceElimination | ( | Ptr< SatWaveformConf > | waveformConf | ) |
Constructor.
Definition at line 75 of file satellite-residual-interference-elimination.cc.
ns3::SatResidualInterferenceElimination::~SatResidualInterferenceElimination | ( | ) |
Destructor.
Definition at line 84 of file satellite-residual-interference-elimination.cc.
|
virtual |
Eliminate the residual power of interference for the given packets.
packetInterferedWith | Parameters of the packet whose interference level should be lowered |
processedPacket | Parameters of the packet we want to remove interference from |
isRegenerative | Tell 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 90 of file satellite-residual-interference-elimination.cc.
|
virtual |
Calculate residual power of interference for the given packets.
packetInterferedWith | Parameters of the packet whose interference level should be lowered |
processedPacket | Parameters of the packet we want to remove interference from |
isRegenerative | Tell if we are in regenerative configuration. Depending on this value, the computations are made on the GW or on the satellite |
startTime | Normalized start time of the interference, with respect to packetInterferedWith |
endTime | Normalized 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 107 of file satellite-residual-interference-elimination.cc.
References GetResidualPower(), and ns3::SatUtils::ScalarProduct().
|
inline |
Definition at line 93 of file satellite-residual-interference-elimination.h.
References m_waveformConf.
Referenced by GetResidualPower().
TypeId ns3::SatResidualInterferenceElimination::GetInstanceTypeId | ( | void | ) | const |
Derived from Object.
Definition at line 60 of file satellite-residual-interference-elimination.cc.
References GetTypeId().
|
virtual |
Calculate the residual power of interference for a given packet.
Implements ns3::SatInterferenceElimination.
Definition at line 180 of file satellite-residual-interference-elimination.cc.
References GetBurstLengthInSymbols(), and m_samplingError.
Referenced by EliminateInterferences().
|
static |
Derived from Object.
Definition at line 43 of file satellite-residual-interference-elimination.cc.
References m_samplingError.
Referenced by GetInstanceTypeId().
|
private |
Definition at line 105 of file satellite-residual-interference-elimination.h.
Referenced by GetResidualPower(), and GetTypeId().
|
private |
Definition at line 104 of file satellite-residual-interference-elimination.h.
Referenced by GetBurstLengthInSymbols().