EMANE  1.0.1
EMANE::SpectrumServiceProvider Class Referenceabstract

The SpectrumServiceProvider interface provides an API to request noise window information. More...

#include <spectrumserviceprovider.h>

Inheritance diagram for EMANE::SpectrumServiceProvider:
EMANE::SpectrumMonitor

Public Member Functions

virtual ~SpectrumServiceProvider ()
 
virtual FrequencySet getFrequencies () const =0
 
virtual double getReceiverSensitivitydBm () const =0
 
virtual SpectrumWindow request (std::uint64_t u64FrequencyHz, const Microseconds &duration=Microseconds::zero(), const TimePoint &startTime=TimePoint::min()) const =0
 

Protected Member Functions

 SpectrumServiceProvider ()=default
 

Detailed Description

The SpectrumServiceProvider interface provides an API to request noise window information.

Note
Spectrum services are only available when using the FrameworkPHY, the emualtor's built in physical layer.

Definition at line 73 of file spectrumserviceprovider.h.

Constructor & Destructor Documentation

◆ ~SpectrumServiceProvider()

virtual EMANE::SpectrumServiceProvider::~SpectrumServiceProvider ( )
inlinevirtual

Destroys an instance

Definition at line 79 of file spectrumserviceprovider.h.

◆ SpectrumServiceProvider()

EMANE::SpectrumServiceProvider::SpectrumServiceProvider ( )
protecteddefault

Member Function Documentation

◆ getFrequencies()

virtual FrequencySet EMANE::SpectrumServiceProvider::getFrequencies ( ) const
pure virtual

Gets the set of monitored frequencies

Returns
frequency set

Implemented in EMANE::SpectrumMonitor.

◆ getReceiverSensitivitydBm()

virtual double EMANE::SpectrumServiceProvider::getReceiverSensitivitydBm ( ) const
pure virtual

Gets the receiver sensitivity in dBm

Returns
receiver sensitivity

Implemented in EMANE::SpectrumMonitor.

◆ request()

virtual SpectrumWindow EMANE::SpectrumServiceProvider::request ( std::uint64_t  u64FrequencyHz,
const Microseconds duration = Microseconds::zero(),
const TimePoint startTime = TimePoint::min() 
) const
pure virtual

Gets a spectrum window

Parameters
u64FrequencyHzFrequency to query for its spectrum window
durationThe amount of time in microseconds to request. If not specified the default will indicate maximum duration configured for the FrameworkPHY (default only recommended for DSA type functionality).
startTimeThe start time of the spectrum window request. If not specified the default value will indicate now - maximum duration configured for the FrameworkPHY (default only recommended for DSA type functionality).
Precondition
The requested frequency must me a monitored frequency
The duration cannot be more than the maximum duration configured for the FrameworkPHY
The start time plus the duration cannot be greater than now
The start time cannot be less than now minus the maximum duration configured for the FrameworkPHY
Returns
A spectrum window
Exceptions
SpectrumServiceExceptionwhen the request parameters violate preconditions.
Note
Request duration should almost always be the span contained in the Controls::ReceivePropertiesControlMessage.
Request startTime should be the start of reception (SoR) which is the start of transmission (SoT) + propagation delay + offset of the first frequency segment. SoT and propagation delay are contained in the Controls::ReceivePropertiesControlMessage. Frequency segment offset is contained in the Controls::FrequencyControlMessage.
Can be passed to Utils::maxBinNoiseFloorRange or Utils::maxBinNoiseFloor.

Implemented in EMANE::SpectrumMonitor.


The documentation for this class was generated from the following file: