#include <interference-helper.h>
Definition at line 18 of file interference-helper.h.
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.
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] |
Ptr< InterferenceHelper::Event > ns3::InterferenceHelper::Add | ( | uint32_t | size, | |
WifiMode | payloadMode, | |||
enum WifiPreamble | preamble, | |||
Time | duration, | |||
double | rxPower | |||
) |
Definition at line 119 of file interference-helper.cc.
References AppendEvent().
Referenced by ns3::YansWifiPhy::StartReceivePacket(), and ns3::Ns2ExtWifiPhy::StartReceivePacket().
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] |
Definition at line 340 of file interference-helper.cc.
References ns3::WifiMode::GetPhyRate(), ns3::TimeUnit< 1 >::GetSeconds(), m_errorRateModel, ns3::NanoSeconds(), and NS_ASSERT_MSG.
Referenced by CalculatePer().
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] |
Definition at line 354 of file interference-helper.cc.
References CalculateChunkSuccessRate(), CalculateSnr(), ns3::WifiMode::GetDataRate(), m_longPlcpHeaderMode, m_plcpHeaderLength, m_plcpLongPreambleDelayUs, m_plcpShortPreambleDelayUs, m_shortPlcpHeaderMode, ns3::MicroSeconds(), NS_ASSERT, ns3::Seconds(), ns3::WIFI_PREAMBLE_LONG, and ns3::WIFI_PREAMBLE_SHORT.
Referenced by CalculateSnrPer().
double ns3::InterferenceHelper::CalculateSnr | ( | double | signal, | |
double | noiseInterference, | |||
WifiMode | mode | |||
) | const [private] |
Definition at line 284 of file interference-helper.cc.
References ns3::WifiMode::GetBandwidth(), m_constantNoiseFloorW, m_rxNoiseRatio, and m_useConstantNoiseFloor.
double ns3::InterferenceHelper::CalculateSnr | ( | Ptr< InterferenceHelper::Event > | event | ) |
Definition at line 479 of file interference-helper.cc.
References CalculateNoiseInterferenceW().
Referenced by CalculatePer(), CalculateSnrPer(), ns3::Ns2ExtWifiPhy::EndReceivePacket(), ns3::YansWifiPhy::StartReceivePacket(), and ns3::Ns2ExtWifiPhy::StartReceivePacket().
struct InterferenceHelper::SnrPer ns3::InterferenceHelper::CalculateSnrPer | ( | Ptr< InterferenceHelper::Event > | event | ) | [read] |
Definition at line 459 of file interference-helper.cc.
References CalculateNoiseInterferenceW(), CalculatePer(), CalculateSnr(), ns3::InterferenceHelper::SnrPer::per, and ns3::InterferenceHelper::SnrPer::snr.
Referenced by ns3::YansWifiPhy::EndReceivePacket().
Time ns3::InterferenceHelper::CalculateTxDuration | ( | uint32_t | size, | |
WifiMode | payloadMode, | |||
WifiPreamble | preamble | |||
) | const |
Definition at line 234 of file interference-helper.cc.
References ns3::WifiMode::GetDataRate(), m_80211a, m_plcpLongPreambleDelayUs, ns3::MicroSeconds(), and NS_ASSERT.
Referenced by ns3::YansWifiPhy::CalculateTxDuration(), ns3::Ns2ExtWifiPhy::CalculateTxDuration(), and Configure80211aParameters().
void ns3::InterferenceHelper::Configure80211aParameters | ( | void | ) |
Definition at line 246 of file interference-helper.cc.
References CalculateTxDuration(), ns3::WifiPhy::Get6mba(), m_80211a, m_longPlcpHeaderMode, m_maxPacketDuration, m_plcpHeaderLength, m_plcpLongPreambleDelayUs, m_plcpShortPreambleDelayUs, m_shortPlcpHeaderMode, NS_LOG_FUNCTION, and ns3::WIFI_PREAMBLE_LONG.
Referenced by ns3::YansWifiPhy::Configure80211a(), ns3::Ns2ExtWifiPhy::Configure80211a(), ns3::YansWifiPhy::ConfigureHolland(), and ns3::Ns2ExtWifiPhy::ConfigureHolland().
double ns3::InterferenceHelper::GetConstantNoiseFloorW | ( | void | ) | const |
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 | ) |
energyW | the minimum energy (W) requested |
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 |
Definition at line 183 of file interference-helper.cc.
References m_errorRateModel.
Referenced by ns3::YansWifiPhy::CalculateSnr(), and ns3::YansWifiPhy::GetErrorRateModel().
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 |
Definition at line 171 of file interference-helper.cc.
References m_rxNoiseRatio.
Referenced by ns3::YansWifiPhy::GetRxNoise(), and ns3::Ns2ExtWifiPhy::GetRxNoise().
bool ns3::InterferenceHelper::GetUseConstantNoiseFloor | ( | ) | const |
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.
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 | ) |
Definition at line 166 of file interference-helper.cc.
References m_rxNoiseRatio.
Referenced by ns3::YansWifiPhy::SetRxNoise(), and ns3::Ns2ExtWifiPhy::SetRxNoise().
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().
bool ns3::InterferenceHelper::m_80211a [private] |
Definition at line 135 of file interference-helper.h.
Referenced by CalculateTxDuration(), and Configure80211aParameters().
double ns3::InterferenceHelper::m_constantNoiseFloorW [private] |
Definition at line 132 of file interference-helper.h.
Referenced by CalculateSnr(), GetConstantNoiseFloorW(), and SetConstantNoiseFloorW().
Definition at line 136 of file interference-helper.h.
Referenced by CalculateChunkSuccessRate(), GetErrorRateModel(), SetErrorRateModel(), and ~InterferenceHelper().
Events ns3::InterferenceHelper::m_events [private] |
Definition at line 134 of file interference-helper.h.
Referenced by AppendEvent(), CalculateNoiseInterferenceW(), and GetEnergyDuration().
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().
uint32_t ns3::InterferenceHelper::m_plcpHeaderLength [private] |
Definition at line 129 of file interference-helper.h.
Referenced by CalculatePer(), and Configure80211aParameters().
uint64_t ns3::InterferenceHelper::m_plcpLongPreambleDelayUs [private] |
Definition at line 125 of file interference-helper.h.
Referenced by CalculatePer(), CalculateTxDuration(), and Configure80211aParameters().
uint64_t ns3::InterferenceHelper::m_plcpShortPreambleDelayUs [private] |
Definition at line 126 of file interference-helper.h.
Referenced by CalculatePer(), and Configure80211aParameters().
double ns3::InterferenceHelper::m_rxNoiseRatio [private] |
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().
bool ns3::InterferenceHelper::m_useConstantNoiseFloor [private] |
Definition at line 131 of file interference-helper.h.
Referenced by CalculateSnr(), GetUseConstantNoiseFloor(), and SetUseConstantNoiseFloor().