23 #include "../utils/satellite-env-variables.h"
26 #include <ns3/singleton.h>
31 NS_LOG_COMPONENT_DEFINE(
"SatFwdLinkChannelEstimationErrorContainer");
42 NS_LOG_FUNCTION(
this);
52 NS_LOG_FUNCTION(
this << sinrIn << wfId);
63 NS_LOG_FUNCTION(
this);
73 NS_LOG_FUNCTION(
this << sinrIn);
84 NS_LOG_FUNCTION(
this);
90 std::string dataPath = Singleton<SatEnvVariables>::Get()->LocateDataDirectory();
91 std::string filePathName = dataPath +
"/sinrmeaserror/ChannelEstimationErrorFwdLink.txt";
102 NS_LOG_FUNCTION(
this << sinrIn);
115 NS_LOG_FUNCTION(
this);
121 std::string filePathName;
122 std::string dataPath = Singleton<SatEnvVariables>::Get()->LocateDataDirectory();
123 Ptr<SatChannelEstimationError> ce;
125 for (uint32_t i = minWfId; i <= maxWfId; ++i)
127 std::ostringstream ss;
130 dataPath +
"/sinrmeaserror/ChannelEstimationErrorRtnLinkWf_" + ss.str() +
".txt";
131 ce = CreateObject<SatChannelEstimationError>(filePathName);
143 NS_LOG_FUNCTION(
this << wf << sinrIn);
151 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.