25#include "ns3/double.h"
27#include "ns3/simulator.h"
33NS_LOG_COMPONENT_DEFINE(
"SatConstantInterference");
43 static TypeId tid = TypeId(
"ns3::SatConstantInterference")
45 .AddConstructor<SatConstantInterference>()
46 .AddAttribute(
"ConstantInterferencePower",
47 "Constant interference power in linear format.",
50 MakeDoubleChecker<double_t>());
65Ptr<SatInterference::InterferenceChangeEvent>
68 NS_LOG_FUNCTION(
this << duration.GetSeconds() << power << rxAddress);
70 Ptr<SatInterference::InterferenceChangeEvent> event;
71 event = Create<SatInterference::InterferenceChangeEvent>(0, duration, power, rxAddress);
76std::vector<std::pair<double, double>>
79 NS_LOG_FUNCTION(
this);
83 NS_LOG_WARN(
"Most likely two overlapping receptions! With random access carrier"
84 " this should be fine, but with dedicated access prohibited!");
87 std::vector<std::pair<double, double>> ifPowerPerFragment;
88 ifPowerPerFragment.emplace_back(1.0,
m_power);
90 return ifPowerPerFragment;
96 NS_LOG_FUNCTION(
this);
104 NS_LOG_FUNCTION(
this);
112 NS_LOG_FUNCTION(
this);
Satellite constant interference.
virtual Ptr< SatInterference::InterferenceChangeEvent > DoAdd(Time rxDuration, double rxPower, Address rxAddress)
Adds interference power to interference object.
SatConstantInterference()
Default constructor.
virtual std::vector< std::pair< double, double > > DoCalculate(Ptr< SatInterference::InterferenceChangeEvent > event)
Calculates interference power for the given reference Sets final power at end time to finalPower.
~SatConstantInterference()
Destructor for SatConstantInterference.
virtual void DoNotifyRxEnd(Ptr< SatInterference::InterferenceChangeEvent > event)
Notifies that RX is ended by a receiver.
virtual void DoReset(void)
Resets current interference.
virtual void DoNotifyRxStart(Ptr< SatInterference::InterferenceChangeEvent > event)
Notifies that RX is started by a receiver.
static TypeId GetTypeId(void)
Get the type ID.
void Reset(void)
Resets current interference.
SatInterference()
Constructor for Satellite interference base class.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.