26 #include "lte-sinr-chunk-processor.h"
32 LteSinrChunkProcessor::~LteSinrChunkProcessor ()
40 LteCtrlSinrChunkProcessor::LteCtrlSinrChunkProcessor (Ptr<LtePhy> p)
48 LteCtrlSinrChunkProcessor::LteCtrlSinrChunkProcessor (Ptr<LtePhy> p, Ptr<LteSpectrumPhy> s)
58 LteCtrlSinrChunkProcessor::~LteCtrlSinrChunkProcessor ()
65 LteCtrlSinrChunkProcessor::Start ()
74 LteCtrlSinrChunkProcessor::EvaluateSinrChunk (
const SpectrumValue& sinr, Time duration)
79 m_sumSinr = Create<SpectrumValue> (sinr.GetSpectrumModel ());
81 (*m_sumSinr) += sinr * duration.GetSeconds ();
82 m_totDuration += duration;
86 LteCtrlSinrChunkProcessor::End ()
91 m_phy->GenerateCtrlCqiReport ((*m_sumSinr) / m_totDuration.
GetSeconds ());
94 m_spectrumPhy->UpdateSinrPerceived ((*m_sumSinr) / m_totDuration.
GetSeconds ());
106 LteDataSinrChunkProcessor::LteDataSinrChunkProcessor (Ptr<LteSpectrumPhy> s, Ptr<LtePhy> p)
115 LteDataSinrChunkProcessor::LteDataSinrChunkProcessor (Ptr<LteSpectrumPhy> p)
126 LteDataSinrChunkProcessor::~LteDataSinrChunkProcessor ()
133 LteDataSinrChunkProcessor::Start ()
142 LteDataSinrChunkProcessor::EvaluateSinrChunk (
const SpectrumValue& sinr, Time duration)
147 m_sumSinr = Create<SpectrumValue> (sinr.GetSpectrumModel ());
149 (*m_sumSinr) += sinr * duration.GetSeconds ();
150 m_totDuration += duration;
154 LteDataSinrChunkProcessor::End ()
159 m_spectrumPhy->UpdateSinrPerceived ((*m_sumSinr) / m_totDuration.
GetSeconds ());
162 m_phy->GenerateDataCqiReport ((*m_sumSinr) / m_totDuration.
GetSeconds ());
176 LteRsReceivedPowerChunkProcessor::LteRsReceivedPowerChunkProcessor (Ptr<LtePhy> p)
183 LteRsReceivedPowerChunkProcessor::~LteRsReceivedPowerChunkProcessor ()
190 LteRsReceivedPowerChunkProcessor::Start ()
199 LteRsReceivedPowerChunkProcessor::EvaluateSinrChunk (
const SpectrumValue& sinr, Time duration)
204 m_sumSinr = Create<SpectrumValue> (sinr.GetSpectrumModel ());
206 (*m_sumSinr) += sinr * duration.GetSeconds ();
207 m_totDuration += duration;
211 LteRsReceivedPowerChunkProcessor::End ()
216 m_phy->ReportRsReceivedPower ((*m_sumSinr) / m_totDuration.
GetSeconds ());
230 LteInterferencePowerChunkProcessor::LteInterferencePowerChunkProcessor (Ptr<LtePhy> p)
237 LteInterferencePowerChunkProcessor::~LteInterferencePowerChunkProcessor ()
244 LteInterferencePowerChunkProcessor::Start ()
253 LteInterferencePowerChunkProcessor::EvaluateSinrChunk (
const SpectrumValue& sinr, Time duration)
258 m_sumSinr = Create<SpectrumValue> (sinr.GetSpectrumModel ());
260 (*m_sumSinr) += sinr * duration.GetSeconds ();
261 m_totDuration += duration;
265 LteInterferencePowerChunkProcessor::End ()
270 m_phy->ReportInterference ((*m_sumSinr) / m_totDuration.
GetSeconds ());
#define NS_LOG_FUNCTION(parameters)
#define NS_ASSERT(condition)
#define NS_LOG_COMPONENT_DEFINE(name)
double GetSeconds(void) const
Time MicroSeconds(uint64_t us)
create ns3::Time instances in units of microseconds.