This custom LteTestSinrChunkProcessor averages the calculated SINR over time. More...
#include <lte-test-sinr-chunk-processor.h>
Public Member Functions | |
LteTestSinrChunkProcessor () | |
virtual | ~LteTestSinrChunkProcessor () |
virtual void | AddCallback (LteChunkProcessorCallback c) |
Add callback to list. More... | |
virtual void | End () |
Finish calculation and inform interested objects about calculated value. More... | |
virtual void | EvaluateChunk (const SpectrumValue &sinr, Time duration) |
Collect SpectrumValue and duration of signal. More... | |
Ptr< SpectrumValue > | GetSinr () |
virtual void | Start () |
Clear internal variables. More... | |
![]() | |
LteChunkProcessor () | |
virtual | ~LteChunkProcessor () |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Private Attributes | |
Ptr< SpectrumValue > | m_sinr |
Ptr< SpectrumValue > | m_sumSinr |
Time | m_totDuration |
Additional Inherited Members | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
This custom LteTestSinrChunkProcessor averages the calculated SINR over time.
It is plugged on the receiving SpectrumPhy and therefore receives the SINR SpectrumValue calculated by the LteInterference module.
Definition at line 34 of file lte-test-sinr-chunk-processor.h.
ns3::LteTestSinrChunkProcessor::LteTestSinrChunkProcessor | ( | ) |
Definition at line 31 of file lte-test-sinr-chunk-processor.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 36 of file lte-test-sinr-chunk-processor.cc.
References NS_LOG_FUNCTION.
|
virtual |
Add callback to list.
This function adds callback c to list. Each callback pass calculated value to its object and is called in LteChunkProcessor::End().
Reimplemented from ns3::LteChunkProcessor.
Definition at line 42 of file lte-test-sinr-chunk-processor.cc.
References NS_LOG_FUNCTION.
|
virtual |
Finish calculation and inform interested objects about calculated value.
During this function all callbacks from list are executed to inform interested object about calculated value. This function is called at the end of calculation.
Reimplemented from ns3::LteChunkProcessor.
Definition at line 70 of file lte-test-sinr-chunk-processor.cc.
References ns3::Time::GetSeconds(), m_sinr, m_sumSinr, m_totDuration, NS_LOG_FUNCTION, NS_LOG_LOGIC, and NS_LOG_WARN.
|
virtual |
Collect SpectrumValue and duration of signal.
Passed values are collected in m_sumValues and m_totDuration variables.
Reimplemented from ns3::LteChunkProcessor.
Definition at line 56 of file lte-test-sinr-chunk-processor.cc.
References ns3::Time::GetSeconds(), ns3::SpectrumValue::GetSpectrumModel(), m_sumSinr, m_totDuration, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Ptr< SpectrumValue > ns3::LteTestSinrChunkProcessor::GetSinr | ( | ) |
Definition at line 87 of file lte-test-sinr-chunk-processor.cc.
References m_sinr, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by LteDownlinkDataSinrTestCase::DoRun(), LteUplinkDataSinrTestCase::DoRun(), LtePathlossModelSystemTestCase::DoRun(), LteDownlinkCtrlSinrTestCase::DoRun(), LteUplinkSrsSinrTestCase::DoRun(), and LteDownlinkPowerControlTestCase::DoRun().
|
virtual |
Clear internal variables.
This function clears internal variables in the beginning of calculation
Reimplemented from ns3::LteChunkProcessor.
Definition at line 48 of file lte-test-sinr-chunk-processor.cc.
References m_sumSinr, m_totDuration, ns3::MicroSeconds(), and NS_LOG_FUNCTION.
|
private |
Definition at line 49 of file lte-test-sinr-chunk-processor.h.
|
private |
Definition at line 48 of file lte-test-sinr-chunk-processor.h.
Referenced by End(), EvaluateChunk(), and Start().
|
private |
Definition at line 50 of file lte-test-sinr-chunk-processor.h.
Referenced by End(), EvaluateChunk(), and Start().