23 #include "../utils/satellite-env-variables.h"
26 #include <ns3/singleton.h>
32 NS_LOG_COMPONENT_DEFINE(
"SatFwdLinkChannelEstimationErrorContainer");
43 NS_LOG_FUNCTION(
this);
53 NS_LOG_FUNCTION(
this << sinrIn << wfId);
64 NS_LOG_FUNCTION(
this);
74 NS_LOG_FUNCTION(
this << sinrIn);
85 NS_LOG_FUNCTION(
this);
91 std::string dataPath = Singleton<SatEnvVariables>::Get()->LocateDataDirectory();
92 std::string filePathName =
93 dataPath +
"/additional-input/sinrmeaserror/ChannelEstimationErrorFwdLink.txt";
104 NS_LOG_FUNCTION(
this << sinrIn);
117 NS_LOG_FUNCTION(
this);
123 std::string filePathName;
124 std::string dataPath = Singleton<SatEnvVariables>::Get()->LocateDataDirectory();
125 Ptr<SatChannelEstimationError> ce;
127 for (uint32_t i = minWfId; i <= maxWfId; ++i)
129 std::ostringstream ss;
131 filePathName = dataPath +
132 "/additional-input/sinrmeaserror/ChannelEstimationErrorRtnLinkWf_" +
134 ce = CreateObject<SatChannelEstimationError>(filePathName);
146 NS_LOG_FUNCTION(
this << wf << sinrIn);
154 NS_FATAL_ERROR(
"Non-supported waveform id: " << wf);
virtual double DoAddError(double sinrInDb, uint32_t wfId) const =0
Pure virtual method for the implementation in derived classes.
SatChannelEstimationErrorContainer()
Default constructor.
virtual ~SatChannelEstimationErrorContainer()
Destructor for SatChannelEstimationErrorContainer.
double AddError(double sinrInDb, uint32_t wfId=0) const
Add channel estimation error to SINR.
virtual ~SatFwdLinkChannelEstimationErrorContainer()
Destructor for SatFwdLinkChannelEstimationErrorContainer.
SatFwdLinkChannelEstimationErrorContainer()
Default constructor.
Ptr< SatChannelEstimationError > m_channelEstimationError
Only one channel estimator error configuration for forward link.
virtual double DoAddError(double sinrInDb, uint32_t wfId) const
Add channel estimation error to SINR in FWD link Waveform id does not have any significance here.
std::map< uint32_t, Ptr< SatChannelEstimationError > > m_channelEstimationErrors
Map of channel estimation errors for each waveform id.
virtual double DoAddError(double sinrInDb, uint32_t wfId) const
Add channel estimation error to SINR in RTN link.
SatRtnLinkChannelEstimationErrorContainer(uint32_t minWfId, uint32_t maxWfId)
Constructor with initialization parameters.
virtual ~SatRtnLinkChannelEstimationErrorContainer()
Destructor for SatRtnLinkChannelEstimationErrorContainer.
SatSimpleChannelEstimationErrorContainer()
Default constructor.
virtual ~SatSimpleChannelEstimationErrorContainer()
Destructor for SatSimpleChannelEstimationErrorContainer.
virtual double DoAddError(double sinrInDb, uint32_t wfId) const
Simple channel estimation error does nothing to the SINR.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.