A Discrete-Event Network Simulator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::InterferenceHelper Class Reference

handles interference calculations More...

#include <interference-helper.h>


class  Event
class  NiChange
struct  SnrPer

Public Member Functions

Ptr< InterferenceHelper::EventAdd (uint32_t size, WifiMode payloadMode, enum WifiPreamble preamble, Time duration, double rxPower)
struct InterferenceHelper::SnrPer CalculateSnrPer (Ptr< InterferenceHelper::Event > event)
void EraseEvents (void)
Time GetEnergyDuration (double energyW)
Ptr< ErrorRateModelGetErrorRateModel (void) const
double GetNoiseFigure (void) const
void NotifyRxEnd ()
void NotifyRxStart ()
void SetErrorRateModel (Ptr< ErrorRateModel > rate)
void SetNoiseFigure (double value)

Private Types

typedef std::list< Ptr< Event > > Events
typedef std::vector< NiChangeNiChanges

Private Member Functions

 InterferenceHelper (const InterferenceHelper &o)
void AddNiChangeEvent (NiChange change)
void AppendEvent (Ptr< Event > event)
double CalculateChunkSuccessRate (double snir, Time delay, WifiMode mode) const
double CalculateNoiseInterferenceW (Ptr< Event > event, NiChanges *ni) const
double CalculatePer (Ptr< const Event > event, NiChanges *ni) const
double CalculateSnr (double signal, double noiseInterference, WifiMode mode) const
NiChanges::iterator GetPosition (Time moment)
 Returns an iterator to the first nichange, which is later than moment.
InterferenceHelperoperator= (const InterferenceHelper &o)

Private Attributes

Ptr< ErrorRateModelm_errorRateModel
double m_firstPower
NiChanges m_niChanges
 Experimental: needed for energy duration calculation.
double m_noiseFigure
bool m_rxing

Detailed Description

handles interference calculations

Definition at line 40 of file interference-helper.h.

Member Function Documentation

Time ns3::InterferenceHelper::GetEnergyDuration ( double  energyW)
energyWthe minimum energy (W) requested
the expected amount of time the observed energy on the medium will be higher than the requested threshold.

Definition at line 170 of file interference-helper.cc.

References m_niChanges, ns3::MicroSeconds(), and ns3::Simulator::Now().

Member Data Documentation

double ns3::InterferenceHelper::m_noiseFigure

noise figure (linear)

Definition at line 122 of file interference-helper.h.

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