ns3::InterferenceHelper Class Reference

#include <interference-helper.h>

Collaboration diagram for ns3::InterferenceHelper:
Collaboration graph
[legend]

List of all members.

Classes

class  Event
class  NiChange
struct  SnrPer

Public Member Functions

 InterferenceHelper ()
 ~InterferenceHelper ()
void Configure80211aParameters (void)
void SetUseConstantNoiseFloor (bool value)
bool GetUseConstantNoiseFloor () const
void SetConstantNoiseFloorW (double noiseFloorW)
double GetConstantNoiseFloorW () const
void SetRxNoiseRatio (double ratio)
double GetRxNoiseRatio () const
void SetErrorRateModel (Ptr< ErrorRateModel > rate)
Ptr< ErrorRateModelGetErrorRateModel (void) const
Time GetEnergyDuration (double energyW)
Time CalculateTxDuration (uint32_t size, WifiMode payloadMode, WifiPreamble preamble) const
Ptr< InterferenceHelper::EventAdd (uint32_t size, WifiMode payloadMode, enum WifiPreamble preamble, Time duration, double rxPower)
struct InterferenceHelper::SnrPer CalculateSnrPer (Ptr< InterferenceHelper::Event > event)
double CalculateSnr (Ptr< InterferenceHelper::Event > event)

Private Types

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

Private Member Functions

 InterferenceHelper (const InterferenceHelper &o)
InterferenceHelperoperator= (const InterferenceHelper &o)
void AppendEvent (Ptr< Event > event)
double CalculateNoiseInterferenceW (Ptr< Event > event, NiChanges *ni) const
double CalculateSnr (double signal, double noiseInterference, WifiMode mode) const
double CalculateChunkSuccessRate (double snir, Time delay, WifiMode mode) const
double CalculatePer (Ptr< const Event > event, NiChanges *ni) const
Time GetMaxPacketDuration (void) const

Private Attributes

uint64_t m_plcpLongPreambleDelayUs
uint64_t m_plcpShortPreambleDelayUs
WifiMode m_longPlcpHeaderMode
WifiMode m_shortPlcpHeaderMode
uint32_t m_plcpHeaderLength
Time m_maxPacketDuration
bool m_useConstantNoiseFloor
double m_constantNoiseFloorW
double m_rxNoiseRatio
Events m_events
bool m_80211a
Ptr< ErrorRateModelm_errorRateModel

Detailed Description

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


Member Typedef Documentation

typedef std::list<Ptr<Event> > ns3::InterferenceHelper::Events [private]

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

typedef std::vector<NiChange> ns3::InterferenceHelper::NiChanges [private]

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


Constructor & Destructor Documentation

ns3::InterferenceHelper::InterferenceHelper (  ) 

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

ns3::InterferenceHelper::~InterferenceHelper (  ) 

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

References m_errorRateModel.

ns3::InterferenceHelper::InterferenceHelper ( const InterferenceHelper o  )  [private]

Member Function Documentation

Ptr< InterferenceHelper::Event > ns3::InterferenceHelper::Add ( uint32_t  size,
WifiMode  payloadMode,
enum WifiPreamble  preamble,
Time  duration,
double  rxPower 
)
void ns3::InterferenceHelper::AppendEvent ( Ptr< Event event  )  [private]

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

References GetMaxPacketDuration(), m_events, ns3::Now(), and ns3::Simulator::Now().

Referenced by Add().

double ns3::InterferenceHelper::CalculateChunkSuccessRate ( double  snir,
Time  delay,
WifiMode  mode 
) const [private]
double ns3::InterferenceHelper::CalculateNoiseInterferenceW ( Ptr< Event event,
NiChanges ni 
) const [private]

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

References m_events.

Referenced by CalculateSnr(), and CalculateSnrPer().

double ns3::InterferenceHelper::CalculatePer ( Ptr< const Event event,
NiChanges ni 
) const [private]
double ns3::InterferenceHelper::CalculateSnr ( double  signal,
double  noiseInterference,
WifiMode  mode 
) const [private]
double ns3::InterferenceHelper::CalculateSnr ( Ptr< InterferenceHelper::Event event  ) 
struct InterferenceHelper::SnrPer ns3::InterferenceHelper::CalculateSnrPer ( Ptr< InterferenceHelper::Event event  )  [read]
Time ns3::InterferenceHelper::CalculateTxDuration ( uint32_t  size,
WifiMode  payloadMode,
WifiPreamble  preamble 
) const
void ns3::InterferenceHelper::Configure80211aParameters ( void   ) 
double ns3::InterferenceHelper::GetConstantNoiseFloorW ( void   )  const
Returns:
constant noise floor in Watt.

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

References m_constantNoiseFloorW.

Referenced by ns3::YansWifiPhy::GetConstantNoiseFloor(), and ns3::Ns2ExtWifiPhy::GetConstantNoiseFloor().

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

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

References m_events, ns3::MicroSeconds(), ns3::Now(), and NS_ASSERT.

Referenced by ns3::YansWifiPhy::StartReceivePacket(), and ns3::Ns2ExtWifiPhy::StartReceivePacket().

Ptr< ErrorRateModel > ns3::InterferenceHelper::GetErrorRateModel ( void   )  const
Time ns3::InterferenceHelper::GetMaxPacketDuration ( void   )  const [private]

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

References m_maxPacketDuration.

Referenced by AppendEvent().

double ns3::InterferenceHelper::GetRxNoiseRatio ( void   )  const
bool ns3::InterferenceHelper::GetUseConstantNoiseFloor (  )  const
Returns:
determine if the noise floor is calculated or constant.

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

References m_useConstantNoiseFloor.

Referenced by ns3::YansWifiPhy::GetUseConstantNoiseFloor(), and ns3::Ns2ExtWifiPhy::GetUseConstantNoiseFloor().

InterferenceHelper& ns3::InterferenceHelper::operator= ( const InterferenceHelper o  )  [private]
void ns3::InterferenceHelper::SetConstantNoiseFloorW ( double  noiseFloorW  ) 

Set a constant noise floor in Watt. Default (if m_useConstantNoiseFloor is false) is to calculate noise floor from bandwidth and RxNoise. The dBm <-> Watt conversion is handled by the WifiPhy methods.

Parameters:
noiseFloorW in Watt (e.g. 1.2589e-13 Watt = -99 dBm)

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

References m_constantNoiseFloorW.

Referenced by ns3::YansWifiPhy::SetConstantNoiseFloor(), and ns3::Ns2ExtWifiPhy::SetConstantNoiseFloor().

void ns3::InterferenceHelper::SetErrorRateModel ( Ptr< ErrorRateModel rate  ) 

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

References m_errorRateModel.

Referenced by ns3::YansWifiPhy::SetErrorRateModel().

void ns3::InterferenceHelper::SetRxNoiseRatio ( double  ratio  ) 
void ns3::InterferenceHelper::SetUseConstantNoiseFloor ( bool  value  ) 

Activate the varible m_constantNoiseFloorW.

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

References m_useConstantNoiseFloor.

Referenced by ns3::YansWifiPhy::SetUseConstantNoiseFloor(), and ns3::Ns2ExtWifiPhy::SetUseConstantNoiseFloor().


Member Data Documentation

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

Referenced by CalculateTxDuration(), and Configure80211aParameters().

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

Referenced by CalculatePer(), and Configure80211aParameters().

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

Referenced by Configure80211aParameters(), and GetMaxPacketDuration().

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

Referenced by CalculatePer(), and Configure80211aParameters().

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

Referenced by CalculatePer(), and Configure80211aParameters().

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

Referenced by CalculateSnr(), GetRxNoiseRatio(), and SetRxNoiseRatio().

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

Referenced by CalculatePer(), and Configure80211aParameters().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:11:04 2009 for NS-3 by  doxygen 1.6.3