A Discrete-Event Network Simulator
API
ns3::WifiPhy Class Referenceabstract

802.11 PHY layer model More...

#include "wifi-phy.h"

+ Inheritance diagram for ns3::WifiPhy:
+ Collaboration diagram for ns3::WifiPhy:

Public Types

typedef std::pair< uint16_t, enum WifiPhyStandardChannelNumberStandardPair
 A pair of a ChannelNumber and WifiPhyStandard. More...
 
typedef std::pair< uint32_t, uint32_t > FrequencyWidthPair
 A pair of a center Frequency and a ChannelWidth. More...
 
typedef void(* MonitorSnifferRxCallback) (Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise)
 TracedCallback signature for monitor mode receive events. More...
 
typedef void(* MonitorSnifferTxCallback) (const Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu)
 TracedCallback signature for monitor mode transmit events. More...
 
typedef Callback< void, Ptr< Packet >, double > RxErrorCallback
 arg1: packet received unsuccessfully arg2: snr of packet More...
 
typedef Callback< void, Ptr< Packet >, double, WifiTxVector, enum WifiPreambleRxOkCallback
 arg1: packet received successfully arg2: snr of packet arg3: TXVECTOR of packet arg4: type of preamble used for packet. More...
 
enum  State {
  IDLE, CCA_BUSY, TX, RX,
  SWITCHING, SLEEP
}
 The state of the PHY layer. More...
 

Public Member Functions

 WifiPhy ()
 
virtual ~WifiPhy ()
 
virtual void AddSupportedChannelWidth (uint32_t channelwidth)
 
virtual int64_t AssignStreams (int64_t stream)
 Assign a fixed random variable stream number to the random variables used by this model. More...
 
Time CalculatePlcpPreambleAndHeaderDuration (WifiTxVector txVector, enum WifiPreamble preamble)
 
virtual double CalculateSnr (WifiTxVector txVector, double ber) const
 
Time CalculateTxDuration (uint32_t size, WifiTxVector txVector, enum WifiPreamble preamble, double frequency)
 
Time CalculateTxDuration (uint32_t size, WifiTxVector txVector, enum WifiPreamble preamble, double frequency, enum mpduType mpdutype, uint8_t incFlag)
 
virtual void ConfigureStandard (enum WifiPhyStandard standard)
 Configure the PHY-level parameters for different Wi-Fi standard. More...
 
double DbmToW (double dbm) const
 Convert from dBm to Watts. More...
 
double DbToRatio (double db) const
 Convert from dB to ratio. More...
 
bool DefineChannelNumber (uint16_t channelNumber, enum WifiPhyStandard standard, uint32_t frequency, uint32_t channelWidth)
 Add a channel definition to the WifiPhy. More...
 
virtual uint32_t GetBssMembershipSelector (uint32_t selector) const
 The WifiPhy::BssMembershipSelector() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. More...
 
double GetCcaMode1Threshold (void) const
 Return the CCA threshold (dBm). More...
 
virtual Ptr< WifiChannelGetChannel (void) const =0
 Return the WifiChannel this WifiPhy is connected to. More...
 
virtual uint16_t GetChannelNumber (void) const
 Return current channel number. More...
 
virtual Time GetChannelSwitchDelay (void) const
 
virtual uint32_t GetChannelWidth (void) const
 
virtual Time GetDelayUntilIdle (void)
 
Ptr< NetDeviceGetDevice (void) const
 Return the device this PHY is associated with. More...
 
double GetEdThreshold (void) const
 Return the energy detection threshold (dBm). More...
 
double GetEdThresholdW (void) const
 Return the energy detection threshold. More...
 
Ptr< ErrorRateModelGetErrorRateModel (void) const
 Return the error rate model this PHY is using. More...
 
virtual uint32_t GetFrequency (void) const
 
virtual bool GetGreenfield (void) const
 Return whether Greenfield is supported. More...
 
virtual bool GetGuardInterval (void) const
 Return whether guard interval is being used. More...
 
virtual Time GetLastRxStartTime (void) const
 Return the start time of the last received packet. More...
 
virtual bool GetLdpc (void) const
 Return if LDPC is supported. More...
 
virtual WifiMode GetMcs (uint8_t mcs) const
 The WifiPhy::GetMcs() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception MCS indexes that this WifiPhy(-derived class) can support - a set of MCS indexes which we call the DeviceMcsSet, and which is stored as WifiPhy::m_deviceMcsSet. More...
 
virtual WifiModeList GetMembershipSelectorModes (uint32_t selector)
 The WifiPhy::GetMembershipSelectorModes() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. More...
 
Ptr< MobilityModelGetMobility (void)
 Return the mobility model this PHY is associated with. More...
 
virtual WifiMode GetMode (uint32_t mode) const
 The WifiPhy::GetNModes() and WifiPhy::GetMode() methods are used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the DeviceRateSet, and which is stored as WifiPhy::m_deviceRateSet. More...
 
virtual uint32_t GetNBssMembershipSelectors (void) const
 The WifiPhy::NBssMembershipSelectors() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. More...
 
virtual uint8_t GetNMcs (void) const
 The WifiPhy::GetNMcs() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception MCS indexes that this WifiPhy(-derived class) can support - a set of MCS indexes which we call the DeviceMcsSet, and which is stored as WifiPhy::m_deviceMcsSet. More...
 
virtual uint32_t GetNModes (void) const
 The WifiPhy::GetNModes() and WifiPhy::GetMode() methods are used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the DeviceRateSet, and which is stored as WifiPhy::m_deviceRateSet. More...
 
virtual uint32_t GetNTxPower (void) const
 Return the number of available transmission power levels. More...
 
virtual uint32_t GetNumberOfReceiveAntennas (void) const
 
virtual uint32_t GetNumberOfTransmitAntennas (void) const
 
Time GetPayloadDuration (uint32_t size, WifiTxVector txVector, WifiPreamble preamble, double frequency)
 
Time GetPayloadDuration (uint32_t size, WifiTxVector txVector, WifiPreamble preamble, double frequency, enum mpduType mpdutype, uint8_t incFlag)
 
double GetRxGain (void) const
 Return the reception gain (dB). More...
 
double GetRxNoiseFigure (void) const
 Return the RX noise figure (dBm). More...
 
virtual bool GetShortPlcpPreambleSupported (void) const
 Return whether short PLCP preamble is supported. More...
 
virtual enum WifiPhyStandard GetStandard (void) const
 Get the configured Wi-Fi standard. More...
 
virtual Time GetStateDuration (void)
 
virtual bool GetStbc (void) const
 Return whether STBC is supported. More...
 
virtual std::vector< uint32_t > GetSupportedChannelWidthSet (void) const
 
virtual uint8_t GetSupportedRxSpatialStreams (void) const
 
virtual uint8_t GetSupportedTxSpatialStreams (void) const
 
double GetTxGain (void) const
 Return the transmission gain (dB). More...
 
virtual double GetTxPowerEnd (void) const
 Return the maximum available transmission power level (dBm). More...
 
virtual double GetTxPowerStart (void) const
 Return the minimum available transmission power level (dBm). More...
 
virtual bool IsMcsSupported (WifiMode mcs) const
 Check if the given WifiMode is supported by the PHY. More...
 
virtual bool IsModeSupported (WifiMode mode) const
 Check if the given WifiMode is supported by the PHY. More...
 
virtual bool IsStateBusy (void)
 
virtual bool IsStateCcaBusy (void)
 
virtual bool IsStateIdle (void)
 
virtual bool IsStateRx (void)
 
virtual bool IsStateSleep (void)
 
virtual bool IsStateSwitching (void)
 
virtual bool IsStateTx (void)
 
void NotifyMonitorSniffRx (Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise)
 Public method used to fire a MonitorSniffer trace for a wifi packet being received. More...
 
void NotifyMonitorSniffTx (Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu)
 Public method used to fire a MonitorSniffer trace for a wifi packet being transmitted. More...
 
void NotifyRxBegin (Ptr< const Packet > packet)
 Public method used to fire a PhyRxBegin trace. More...
 
void NotifyRxDrop (Ptr< const Packet > packet)
 Public method used to fire a PhyRxDrop trace. More...
 
void NotifyRxEnd (Ptr< const Packet > packet)
 Public method used to fire a PhyRxEnd trace. More...
 
void NotifyTxBegin (Ptr< const Packet > packet)
 Public method used to fire a PhyTxBegin trace. More...
 
void NotifyTxDrop (Ptr< const Packet > packet)
 Public method used to fire a PhyTxDrop trace. More...
 
void NotifyTxEnd (Ptr< const Packet > packet)
 Public method used to fire a PhyTxEnd trace. More...
 
double RatioToDb (double ratio) const
 Convert from ratio to dB. More...
 
virtual void RegisterListener (WifiPhyListener *listener)=0
 
virtual void ResumeFromSleep (void)=0
 Resume from sleep mode. More...
 
virtual void SendPacket (Ptr< const Packet > packet, WifiTxVector txVector, enum WifiPreamble preamble)=0
 
virtual void SendPacket (Ptr< const Packet > packet, WifiTxVector txVector, enum WifiPreamble preamble, enum mpduType mpdutype)=0
 
void SetCcaMode1Threshold (double threshold)
 Sets the CCA threshold (dBm). More...
 
virtual void SetChannelNumber (uint16_t id)
 Set channel number. More...
 
virtual void SetChannelWidth (uint32_t channelwidth)
 
void SetDevice (Ptr< NetDevice > device)
 Sets the device this PHY is associated with. More...
 
void SetEdThreshold (double threshold)
 Sets the energy detection threshold (dBm). More...
 
void SetErrorRateModel (Ptr< ErrorRateModel > rate)
 Sets the error rate model. More...
 
virtual void SetFrequency (uint32_t freq)
 
virtual void SetGreenfield (bool greenfield)
 Enable or disable Greenfield support. More...
 
virtual void SetGuardInterval (bool guardInterval)
 Enable or disable short/long guard interval. More...
 
virtual void SetLdpc (bool ldpc)
 Enable or disable LDPC. More...
 
void SetMobility (Ptr< MobilityModel > mobility)
 assign a mobility model to this device More...
 
void SetNTxPower (uint32_t n)
 Sets the number of transmission power levels available between the minimum level and the maximum level. More...
 
virtual void SetNumberOfReceiveAntennas (uint32_t rx)
 
virtual void SetNumberOfTransmitAntennas (uint32_t tx)
 
virtual void SetReceiveErrorCallback (RxErrorCallback callback)=0
 
virtual void SetReceiveOkCallback (RxOkCallback callback)=0
 
void SetRxGain (double gain)
 Sets the reception gain (dB). More...
 
void SetRxNoiseFigure (double noiseFigureDb)
 Sets the RX loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver. More...
 
virtual void SetShortPlcpPreambleSupported (bool preamble)
 Enable or disable short PLCP preamble. More...
 
virtual void SetSleepMode (void)=0
 Put in sleep mode. More...
 
virtual void SetStbc (bool stbc)
 Enable or disable STBC. More...
 
void SetTxGain (double gain)
 Sets the transmission gain (dB). More...
 
void SetTxPowerEnd (double end)
 Sets the maximum available transmission power level (dBm). More...
 
void SetTxPowerStart (double start)
 Sets the minimum available transmission power level (dBm). More...
 
virtual void UnregisterListener (WifiPhyListener *listener)=0
 
double WToDbm (double w) const
 Convert from Watts to dBm. More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Implement the GetInstanceTypeId method defined in ObjectBase. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static WifiMode GetDsssRate11Mbps ()
 Return a WifiMode for DSSS at 11Mbps. More...
 
static WifiMode GetDsssRate1Mbps ()
 Return a WifiMode for DSSS at 1Mbps. More...
 
static WifiMode GetDsssRate2Mbps ()
 Return a WifiMode for DSSS at 2Mbps. More...
 
static WifiMode GetDsssRate5_5Mbps ()
 Return a WifiMode for DSSS at 5.5Mbps. More...
 
static WifiMode GetErpOfdmRate12Mbps ()
 Return a WifiMode for ERP-OFDM at 12Mbps. More...
 
static WifiMode GetErpOfdmRate18Mbps ()
 Return a WifiMode for ERP-OFDM at 18Mbps. More...
 
static WifiMode GetErpOfdmRate24Mbps ()
 Return a WifiMode for ERP-OFDM at 24Mbps. More...
 
static WifiMode GetErpOfdmRate36Mbps ()
 Return a WifiMode for ERP-OFDM at 36Mbps. More...
 
static WifiMode GetErpOfdmRate48Mbps ()
 Return a WifiMode for ERP-OFDM at 48Mbps. More...
 
static WifiMode GetErpOfdmRate54Mbps ()
 Return a WifiMode for ERP-OFDM at 54Mbps. More...
 
static WifiMode GetErpOfdmRate6Mbps ()
 Return a WifiMode for ERP-OFDM at 6Mbps. More...
 
static WifiMode GetErpOfdmRate9Mbps ()
 Return a WifiMode for ERP-OFDM at 9Mbps. More...
 
static WifiMode GetHtMcs0 ()
 Return MCS 0 from HT MCS values. More...
 
static WifiMode GetHtMcs1 ()
 Return MCS 1 from HT MCS values. More...
 
static WifiMode GetHtMcs10 ()
 Return MCS 10 from HT MCS values. More...
 
static WifiMode GetHtMcs11 ()
 Return MCS 11 from HT MCS values. More...
 
static WifiMode GetHtMcs12 ()
 Return MCS 12 from HT MCS values. More...
 
static WifiMode GetHtMcs13 ()
 Return MCS 13 from HT MCS values. More...
 
static WifiMode GetHtMcs14 ()
 Return MCS 14 from HT MCS values. More...
 
static WifiMode GetHtMcs15 ()
 Return MCS 15 from HT MCS values. More...
 
static WifiMode GetHtMcs16 ()
 Return MCS 16 from HT MCS values. More...
 
static WifiMode GetHtMcs17 ()
 Return MCS 17 from HT MCS values. More...
 
static WifiMode GetHtMcs18 ()
 Return MCS 18 from HT MCS values. More...
 
static WifiMode GetHtMcs19 ()
 Return MCS 19 from HT MCS values. More...
 
static WifiMode GetHtMcs2 ()
 Return MCS 2 from HT MCS values. More...
 
static WifiMode GetHtMcs20 ()
 Return MCS 20 from HT MCS values. More...
 
static WifiMode GetHtMcs21 ()
 Return MCS 21 from HT MCS values. More...
 
static WifiMode GetHtMcs22 ()
 Return MCS 22 from HT MCS values. More...
 
static WifiMode GetHtMcs23 ()
 Return MCS 23 from HT MCS values. More...
 
static WifiMode GetHtMcs24 ()
 Return MCS 24 from HT MCS values. More...
 
static WifiMode GetHtMcs25 ()
 Return MCS 25 from HT MCS values. More...
 
static WifiMode GetHtMcs26 ()
 Return MCS 26 from HT MCS values. More...
 
static WifiMode GetHtMcs27 ()
 Return MCS 27 from HT MCS values. More...
 
static WifiMode GetHtMcs28 ()
 Return MCS 28 from HT MCS values. More...
 
static WifiMode GetHtMcs29 ()
 Return MCS 29 from HT MCS values. More...
 
static WifiMode GetHtMcs3 ()
 Return MCS 3 from HT MCS values. More...
 
static WifiMode GetHtMcs30 ()
 Return MCS 30 from HT MCS values. More...
 
static WifiMode GetHtMcs31 ()
 Return MCS 31 from HT MCS values. More...
 
static WifiMode GetHtMcs4 ()
 Return MCS 4 from HT MCS values. More...
 
static WifiMode GetHtMcs5 ()
 Return MCS 5 from HT MCS values. More...
 
static WifiMode GetHtMcs6 ()
 Return MCS 6 from HT MCS values. More...
 
static WifiMode GetHtMcs7 ()
 Return MCS 7 from HT MCS values. More...
 
static WifiMode GetHtMcs8 ()
 Return MCS 8 from HT MCS values. More...
 
static WifiMode GetHtMcs9 ()
 Return MCS 9 from HT MCS values. More...
 
static WifiMode GetHtPlcpHeaderMode (WifiMode payloadMode)
 
static WifiMode GetOfdmRate12Mbps ()
 Return a WifiMode for OFDM at 12Mbps. More...
 
static WifiMode GetOfdmRate12MbpsBW10MHz ()
 Return a WifiMode for OFDM at 12Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate12MbpsBW5MHz ()
 Return a WifiMode for OFDM at 12Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate13_5MbpsBW5MHz ()
 Return a WifiMode for OFDM at 13.5Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate18Mbps ()
 Return a WifiMode for OFDM at 18Mbps. More...
 
static WifiMode GetOfdmRate18MbpsBW10MHz ()
 Return a WifiMode for OFDM at 18Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate1_5MbpsBW5MHz ()
 Return a WifiMode for OFDM at 1.5Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate24Mbps ()
 Return a WifiMode for OFDM at 24Mbps. More...
 
static WifiMode GetOfdmRate24MbpsBW10MHz ()
 Return a WifiMode for OFDM at 24Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate27MbpsBW10MHz ()
 Return a WifiMode for OFDM at 27Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate2_25MbpsBW5MHz ()
 Return a WifiMode for OFDM at 2.25Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate36Mbps ()
 Return a WifiMode for OFDM at 36Mbps. More...
 
static WifiMode GetOfdmRate3MbpsBW10MHz ()
 Return a WifiMode for OFDM at 3Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate3MbpsBW5MHz ()
 Return a WifiMode for OFDM at 3Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate48Mbps ()
 Return a WifiMode for OFDM at 48Mbps. More...
 
static WifiMode GetOfdmRate4_5MbpsBW10MHz ()
 Return a WifiMode for OFDM at 4.5Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate4_5MbpsBW5MHz ()
 Return a WifiMode for OFDM at 4.5Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate54Mbps ()
 Return a WifiMode for OFDM at 54Mbps. More...
 
static WifiMode GetOfdmRate6Mbps ()
 Return a WifiMode for OFDM at 6Mbps. More...
 
static WifiMode GetOfdmRate6MbpsBW10MHz ()
 Return a WifiMode for OFDM at 6Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate6MbpsBW5MHz ()
 Return a WifiMode for OFDM at 6Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate9Mbps ()
 Return a WifiMode for OFDM at 9Mbps. More...
 
static WifiMode GetOfdmRate9MbpsBW10MHz ()
 Return a WifiMode for OFDM at 9Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate9MbpsBW5MHz ()
 Return a WifiMode for OFDM at 9Mbps with 5MHz channel spacing. More...
 
static Time GetPlcpHeaderDuration (WifiTxVector txVector, WifiPreamble preamble)
 
static WifiMode GetPlcpHeaderMode (WifiMode payloadMode, WifiPreamble preamble, WifiTxVector txVector)
 
static Time GetPlcpHtSigHeaderDuration (WifiPreamble preamble)
 
static Time GetPlcpHtTrainingSymbolDuration (WifiPreamble preamble, WifiTxVector txVector)
 
static Time GetPlcpPreambleDuration (WifiTxVector txVector, WifiPreamble preamble)
 
static Time GetPlcpVhtSigA1Duration (WifiPreamble preamble)
 
static Time GetPlcpVhtSigA2Duration (WifiPreamble preamble)
 
static Time GetPlcpVhtSigBDuration (WifiPreamble preamble)
 
static TypeId GetTypeId (void)
 
static WifiMode GetVhtMcs0 ()
 Return MCS 0 from VHT MCS values. More...
 
static WifiMode GetVhtMcs1 ()
 Return MCS 1 from VHT MCS values. More...
 
static WifiMode GetVhtMcs2 ()
 Return MCS 2 from VHT MCS values. More...
 
static WifiMode GetVhtMcs3 ()
 Return MCS 3 from VHT MCS values. More...
 
static WifiMode GetVhtMcs4 ()
 Return MCS 4 from VHT MCS values. More...
 
static WifiMode GetVhtMcs5 ()
 Return MCS 5 from VHT MCS values. More...
 
static WifiMode GetVhtMcs6 ()
 Return MCS 6 from VHT MCS values. More...
 
static WifiMode GetVhtMcs7 ()
 Return MCS 7 from VHT MCS values. More...
 
static WifiMode GetVhtMcs8 ()
 Return MCS 8 from VHT MCS values. More...
 
static WifiMode GetVhtMcs9 ()
 Return MCS 9 from VHT MCS values. More...
 
static WifiMode GetVhtPlcpHeaderMode (WifiMode payloadMode)
 
static bool IsValidTxVector (WifiTxVector txVector)
 The standard disallows certain combinations of WifiMode, number of spatial streams, and channel widths. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Protected Member Functions

virtual bool DoChannelSwitch (uint16_t id)
 The default implementation does nothing and returns true. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual bool DoFrequencySwitch (uint32_t frequency)
 The default implementation does nothing and returns true. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
double GetPowerDbm (uint8_t power) const
 Get the power of the given power level in dBm. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Protected Attributes

EventId m_endPlcpRxEvent
 
EventId m_endRxEvent
 
InterferenceHelper m_interference
 Pointer to InterferenceHelper. More...
 
uint16_t m_mpdusNum
 carries the number of expected mpdus that are part of an A-MPDU More...
 
bool m_plcpSuccess
 Flag if the PLCP of the packet or the first MPDU in an A-MPDU has been received. More...
 
Ptr< UniformRandomVariablem_random
 Provides uniform random variables. More...
 
uint32_t m_rxMpduReferenceNumber
 A-MPDU reference number to identify all received subframes belonging to the same received A-MPDU. More...
 
Ptr< WifiPhyStateHelperm_state
 Pointer to WifiPhyStateHelper. More...
 
uint32_t m_txMpduReferenceNumber
 A-MPDU reference number to identify all transmitted subframes belonging to the same received A-MPDU. More...
 

Private Types

typedef std::map< ChannelNumberStandardPair, FrequencyWidthPairChannelToFrequencyWidthMap
 

Private Member Functions

void Configure80211_10Mhz (void)
 Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard with 10MHz channel spacing. More...
 
void Configure80211_5Mhz ()
 Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard with 5MHz channel spacing. More...
 
void Configure80211a (void)
 Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard. More...
 
void Configure80211ac (void)
 Configure WifiPhy with appropriate channel frequency and supported rates for 802.11ac standard. More...
 
void Configure80211b (void)
 Configure WifiPhy with appropriate channel frequency and supported rates for 802.11b standard. More...
 
void Configure80211g (void)
 Configure WifiPhy with appropriate channel frequency and supported rates for 802.11g standard. More...
 
void Configure80211n (void)
 Configure WifiPhy with appropriate channel frequency and supported rates for 802.11n standard. More...
 
virtual void ConfigureChannelForStandard (enum WifiPhyStandard standard)
 Configure the PHY-level parameters for different Wi-Fi standard. More...
 
virtual void ConfigureDefaultsForStandard (enum WifiPhyStandard standard)
 Configure the PHY-level parameters for different Wi-Fi standard. More...
 
void ConfigureHolland (void)
 
void ConfigureHtDeviceMcsSet (void)
 Configure the device Mcs set with the appropriate HtMcs modes for the number of available transmit spatial streams. More...
 
uint16_t FindChannelNumberForFrequencyWidth (uint32_t frequency, uint32_t width) const
 Look for channel number matching the frequency and width. More...
 
FrequencyWidthPair GetFrequencyWidthForChannelNumberStandard (uint16_t channelNumber, enum WifiPhyStandard standard) const
 Lookup frequency/width pair for channelNumber/standard pair. More...
 
void InitializeFrequencyChannelNumber (void)
 post-construction setting of frequency and/or channel number More...
 

Private Attributes

std::vector< uint32_t > m_bssMembershipSelectorSet
 
double m_ccaMode1ThresholdW
 Clear channel assessment (CCA) threshold in watts. More...
 
uint32_t m_channelCenterFrequency
 Center frequency in MHz. More...
 
uint16_t m_channelNumber
 Operating channel number. More...
 
Time m_channelSwitchDelay
 Time required to switch between channel. More...
 
uint32_t m_channelWidth
 Channel width. More...
 
Ptr< NetDevicem_device
 Pointer to the device. More...
 
WifiModeList m_deviceMcsSet
 
WifiModeList m_deviceRateSet
 This vector holds the set of transmission modes that this WifiPhy(-derived class) can support. More...
 
double m_edThresholdW
 Energy detection threshold in watts. More...
 
bool m_frequencyChannelNumberInitialized
 Store initialization state. More...
 
bool m_greenfield
 Flag if GreenField format is supported. More...
 
bool m_guardInterval
 Flag if short guard interval is used. More...
 
uint16_t m_initialChannelNumber
 Initial channel number. More...
 
uint32_t m_initialFrequency
 Store frequency until initialization. More...
 
bool m_isConstructed
 true when ready to set frequency More...
 
bool m_ldpc
 Flag if LDPC is used. More...
 
Ptr< MobilityModelm_mobility
 Pointer to the mobility model. More...
 
uint32_t m_nTxPower
 Number of available transmission power levels. More...
 
uint32_t m_numberOfReceivers
 Number of receivers. More...
 
uint32_t m_numberOfTransmitters
 Number of transmitters. More...
 
TracedCallback< Ptr< const Packet >, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfo, struct signalNoiseDbmm_phyMonitorSniffRxTrace
 A trace source that emulates a wifi device in monitor mode sniffing a packet being received. More...
 
TracedCallback< Ptr< const Packet >, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfom_phyMonitorSniffTxTrace
 A trace source that emulates a wifi device in monitor mode sniffing a packet being transmitted. More...
 
TracedCallback< Ptr< const Packet > > m_phyRxBeginTrace
 The trace source fired when a packet begins the reception process from the medium. More...
 
TracedCallback< Ptr< const Packet > > m_phyRxDropTrace
 The trace source fired when the phy layer drops a packet it has received. More...
 
TracedCallback< Ptr< const Packet > > m_phyRxEndTrace
 The trace source fired when a packet ends the reception process from the medium. More...
 
TracedCallback< Ptr< const Packet > > m_phyTxBeginTrace
 The trace source fired when a packet begins the transmission process on the medium. More...
 
TracedCallback< Ptr< const Packet > > m_phyTxDropTrace
 The trace source fired when the phy layer drops a packet as it tries to transmit it. More...
 
TracedCallback< Ptr< const Packet > > m_phyTxEndTrace
 The trace source fired when a packet ends the transmission process on the medium. More...
 
double m_rxGainDb
 Reception gain (dB) More...
 
bool m_shortPreamble
 Flag if short PLCP preamble is supported. More...
 
enum WifiPhyStandard m_standard
 WifiPhyStandard. More...
 
bool m_stbc
 Flag if STBC is used. More...
 
std::vector< uint32_t > m_supportedChannelWidthSet
 Supported channel width. More...
 
double m_totalAmpduNumSymbols
 Number of symbols previously transmitted for the MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU. More...
 
uint32_t m_totalAmpduSize
 Total size of the previously transmitted MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU. More...
 
double m_txGainDb
 Transmission gain (dB) More...
 
double m_txPowerBaseDbm
 Minimum transmission power (dBm) More...
 
double m_txPowerEndDbm
 Maximum transmission power (dBm) More...
 

Static Private Attributes

static ChannelToFrequencyWidthMap m_channelToFrequencyWidth
 This table maintains the mapping of valid ChannelNumber to Frequency/ChannelWidth pairs. More...
 

Additional Inherited Members

Detailed Description

802.11 PHY layer model

Config Paths

ns3::WifiPhy is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Phy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::WaveNetDevice/PhyEntities/[i]"

Attributes

  • Frequency: The operating center frequency (MHz)
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 0
    • Flags: construct write read
  • ChannelWidth: Whether 5MHz, 10MHz, 20MHz, 22MHz, 40MHz, 80 MHz or 160 MHz.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 20
    • Flags: construct write read
  • ChannelNumber: If set to non-zero defined value, will control Frequency and ChannelWidth assignment
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 0
    • Flags: construct write read
  • EnergyDetectionThreshold: The energy of a received signal should be higher than this threshold (dbm) to allow the PHY layer to detect the signal.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: -96
    • Flags: construct write read
  • CcaMode1Threshold: The energy of a received signal should be higher than this threshold (dbm) to allow the PHY layer to declare CCA BUSY state.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: -99
    • Flags: construct write read
  • TxGain: Transmission gain (dB).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read
  • RxGain: Reception gain (dB).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read
  • TxPowerLevels: Number of transmission power levels available between TxPowerStart and TxPowerEnd included.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 1
    • Flags: construct write read
  • TxPowerEnd: Maximum available transmission level (dbm).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 16.0206
    • Flags: construct write read
  • TxPowerStart: Minimum available transmission level (dbm).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 16.0206
    • Flags: construct write read
  • RxNoiseFigure: Loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver. According to Wikipedia (http://en.wikipedia.org/wiki/Noise_figure), this is "the difference in decibels (dB) between the noise output of the actual receiver to the noise output of an ideal receiver with the same overall gain and bandwidth when the receivers are connected to sources at the standard noise temperature T0 (usually 290 K)".
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 7
    • Flags: construct write read
  • State: The state of the PHY layer.
  • ChannelSwitchDelay: Delay between two short frames transmitted on different frequencies.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +250000.0ns
    • Flags: construct write read
  • TxAntennas: The number of supported Tx antennas.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 1
    • Flags: construct write read
  • RxAntennas: The number of supported Rx antennas.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 1
    • Flags: construct write read
  • ShortGuardEnabled: Whether or not short guard interval is enabled.This parameter is only valuable for 802.11n/ac STAs and APs.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read
  • LdpcEnabled: Whether or not LDPC is enabled.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read
  • STBCEnabled: Whether or not STBC is enabled.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read
  • GreenfieldEnabled: Whether or not Greenfield is enabled.This parameter is only valuable for 802.11n STAs and APs.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read
  • ShortPlcpPreambleSupported: Whether or not short PLCP preamble is supported.This parameter is only valuable for 802.11b STAs and APs.Note: 802.11g APs and STAs always support short PLCP preamble.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read

TraceSources

  • PhyTxBegin: Trace source indicating a packet has begun transmitting over the channel medium
    Callback signature: ns3::Packet::TracedCallback
  • PhyTxEnd: Trace source indicating a packet has been completely transmitted over the channel. NOTE: the only official WifiPhy implementation available to this date never fires this trace source.
    Callback signature: ns3::Packet::TracedCallback
  • PhyTxDrop: Trace source indicating a packet has been dropped by the device during transmission
    Callback signature: ns3::Packet::TracedCallback
  • PhyRxBegin: Trace source indicating a packet has begun being received from the channel medium by the device
    Callback signature: ns3::Packet::TracedCallback
  • PhyRxEnd: Trace source indicating a packet has been completely received from the channel medium by the device
    Callback signature: ns3::Packet::TracedCallback
  • PhyRxDrop: Trace source indicating a packet has been dropped by the device during reception
    Callback signature: ns3::Packet::TracedCallback
  • MonitorSnifferRx: Trace source simulating a wifi device in monitor mode sniffing all received frames
    Callback signature: ns3::WifiPhy::MonitorSnifferRxTracedCallback
  • MonitorSnifferTx: Trace source simulating the capability of a wifi device in monitor mode to sniff all frames being transmitted
    Callback signature: ns3::WifiPhy::MonitorSnifferTxTracedCallback

Size of this type is 536 bytes (on a 64-bit architecture).

Definition at line 162 of file wifi-phy.h.

Member Typedef Documentation

typedef std::pair<uint16_t, enum WifiPhyStandard> ns3::WifiPhy::ChannelNumberStandardPair

A pair of a ChannelNumber and WifiPhyStandard.

Definition at line 613 of file wifi-phy.h.

typedef std::pair<uint32_t, uint32_t> ns3::WifiPhy::FrequencyWidthPair

A pair of a center Frequency and a ChannelWidth.

Definition at line 617 of file wifi-phy.h.

typedef void(* ns3::WifiPhy::MonitorSnifferRxCallback) (Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise)

TracedCallback signature for monitor mode receive events.

Parameters
packetthe packet being received
channelFreqMhzthe frequency in MHz at which the packet is received. Note that in real devices this is normally the frequency to which the receiver is tuned, and this can be different than the frequency at which the packet was originally transmitted. This is because it is possible to have the receiver tuned on a given channel and still to be able to receive packets on a nearby channel.
channelNumberthe channel on which the packet is received
ratethe PHY data rate in units of 500kbps (i.e., the same units used both for the radiotap and for the prism header)
preamblethe preamble of the packet
txVectorthe TXVECTOR that holds rx parameters
aMpduthe type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU) and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU)
signalNoisesignal power and noise power in dBm
Todo:
WifiTxVector should be passed by const reference because of its size.

Definition at line 1197 of file wifi-phy.h.

typedef void(* ns3::WifiPhy::MonitorSnifferTxCallback) (const Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu)

TracedCallback signature for monitor mode transmit events.

Parameters
packetthe packet being transmitted
channelFreqMhzthe frequency in MHz at which the packet is transmitted.
channelNumberthe channel on which the packet is transmitted
ratethe PHY data rate in units of 500kbps (i.e., the same units used both for the radiotap and for the prism header)
preamblethe preamble of the packet
txVectorthe TXVECTOR that holds tx parameters
aMpduthe type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU) and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU)
Todo:
WifiTxVector should be passed by const reference because of its size.

Definition at line 1236 of file wifi-phy.h.

arg1: packet received unsuccessfully arg2: snr of packet

Definition at line 207 of file wifi-phy.h.

arg1: packet received successfully arg2: snr of packet arg3: TXVECTOR of packet arg4: type of preamble used for packet.

Definition at line 202 of file wifi-phy.h.

Constructor & Destructor Documentation

ns3::WifiPhy::WifiPhy ( )

Definition at line 343 of file wifi-phy.cc.

References m_random, m_state, and NS_LOG_FUNCTION.

ns3::WifiPhy::~WifiPhy ( )
virtual

Definition at line 365 of file wifi-phy.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

void ns3::WifiPhy::AddSupportedChannelWidth ( uint32_t  channelwidth)
virtual
Parameters
channelwidthchannel width (in MHz) to support

Definition at line 1246 of file wifi-phy.cc.

References m_supportedChannelWidthSet, and NS_LOG_FUNCTION.

Referenced by SetChannelWidth().

+ Here is the caller graph for this function:

int64_t ns3::WifiPhy::AssignStreams ( int64_t  stream)
virtual

Assign a fixed random variable stream number to the random variables used by this model.

Return the number of streams (possibly zero) that have been assigned.

Parameters
streamfirst stream index to use
Returns
the number of stream indices assigned by this model

Definition at line 2960 of file wifi-phy.cc.

References m_random, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().

+ Here is the call graph for this function:

Time ns3::WifiPhy::CalculatePlcpPreambleAndHeaderDuration ( WifiTxVector  txVector,
enum WifiPreamble  preamble 
)
Parameters
txVectorthe transmission parameters used for this packet
preamblethe type of preamble to use for this packet.
Returns
the total amount of time this PHY will stay busy for the transmission of the PLCP preamble and PLCP header.

Definition at line 1921 of file wifi-phy.cc.

References GetPlcpHeaderDuration(), GetPlcpHtSigHeaderDuration(), GetPlcpHtTrainingSymbolDuration(), GetPlcpPreambleDuration(), GetPlcpVhtSigA1Duration(), GetPlcpVhtSigA2Duration(), and GetPlcpVhtSigBDuration().

Referenced by CalculateTxDuration(), ns3::YansWifiPhy::StartReceivePreambleAndHeader(), and ns3::SpectrumWifiPhy::StartRx().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ns3::WifiPhy::CalculateSnr ( WifiTxVector  txVector,
double  ber 
) const
virtual
Parameters
txVectorthe transmission vector
berthe probability of bit error rate
Returns
the minimum snr which is required to achieve the requested ber for the specified transmission vector. (W/W)

Definition at line 665 of file wifi-phy.cc.

References ns3::InterferenceHelper::GetErrorRateModel(), and m_interference.

+ Here is the call graph for this function:

Time ns3::WifiPhy::CalculateTxDuration ( uint32_t  size,
WifiTxVector  txVector,
enum WifiPreamble  preamble,
double  frequency 
)
Time ns3::WifiPhy::CalculateTxDuration ( uint32_t  size,
WifiTxVector  txVector,
enum WifiPreamble  preamble,
double  frequency,
enum mpduType  mpdutype,
uint8_t  incFlag 
)
Parameters
sizethe number of bytes in the packet to send
txVectorthe TXVECTOR used for the transmission of this packet
preamblethe type of preamble to use for this packet.
frequencythe channel center frequency (MHz)
mpdutypethe type of the MPDU as defined in WifiPhy::mpduType.
incFlagthis flag is used to indicate that the static variables need to be update or not. This function is called a couple of times for the same packet so static variables should not be increased each time.
Returns
the total amount of time this PHY will stay busy for the transmission of these bytes.

Definition at line 1934 of file wifi-phy.cc.

References CalculatePlcpPreambleAndHeaderDuration(), and GetPayloadDuration().

+ Here is the call graph for this function:

void ns3::WifiPhy::Configure80211_10Mhz ( void  )
private

Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard with 10MHz channel spacing.

Definition at line 782 of file wifi-phy.cc.

References GetOfdmRate12MbpsBW10MHz(), GetOfdmRate18MbpsBW10MHz(), GetOfdmRate24MbpsBW10MHz(), GetOfdmRate27MbpsBW10MHz(), GetOfdmRate3MbpsBW10MHz(), GetOfdmRate4_5MbpsBW10MHz(), GetOfdmRate6MbpsBW10MHz(), GetOfdmRate9MbpsBW10MHz(), m_deviceRateSet, and NS_LOG_FUNCTION.

Referenced by ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::Configure80211_5Mhz ( void  )
private

Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard with 5MHz channel spacing.

Definition at line 797 of file wifi-phy.cc.

References GetOfdmRate12MbpsBW5MHz(), GetOfdmRate13_5MbpsBW5MHz(), GetOfdmRate1_5MbpsBW5MHz(), GetOfdmRate2_25MbpsBW5MHz(), GetOfdmRate3MbpsBW5MHz(), GetOfdmRate4_5MbpsBW5MHz(), GetOfdmRate6MbpsBW5MHz(), GetOfdmRate9MbpsBW5MHz(), m_deviceRateSet, and NS_LOG_FUNCTION.

Referenced by ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::Configure80211a ( void  )
private

Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard.

Definition at line 740 of file wifi-phy.cc.

References GetOfdmRate12Mbps(), GetOfdmRate18Mbps(), GetOfdmRate24Mbps(), GetOfdmRate36Mbps(), GetOfdmRate48Mbps(), GetOfdmRate54Mbps(), GetOfdmRate6Mbps(), GetOfdmRate9Mbps(), m_deviceRateSet, and NS_LOG_FUNCTION.

Referenced by Configure80211n(), and ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::Configure80211ac ( void  )
private

Configure WifiPhy with appropriate channel frequency and supported rates for 802.11ac standard.

Definition at line 910 of file wifi-phy.cc.

References Configure80211n(), GetVhtMcs0(), GetVhtMcs1(), GetVhtMcs2(), GetVhtMcs3(), GetVhtMcs4(), GetVhtMcs5(), GetVhtMcs6(), GetVhtMcs7(), GetVhtMcs8(), GetVhtMcs9(), m_bssMembershipSelectorSet, m_deviceMcsSet, NS_LOG_FUNCTION, and VHT_PHY.

Referenced by ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::Configure80211b ( void  )
private

Configure WifiPhy with appropriate channel frequency and supported rates for 802.11b standard.

Definition at line 755 of file wifi-phy.cc.

References GetDsssRate11Mbps(), GetDsssRate1Mbps(), GetDsssRate2Mbps(), GetDsssRate5_5Mbps(), m_deviceRateSet, and NS_LOG_FUNCTION.

Referenced by Configure80211g(), Configure80211n(), and ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::Configure80211g ( void  )
private

Configure WifiPhy with appropriate channel frequency and supported rates for 802.11g standard.

Definition at line 766 of file wifi-phy.cc.

References Configure80211b(), GetErpOfdmRate12Mbps(), GetErpOfdmRate18Mbps(), GetErpOfdmRate24Mbps(), GetErpOfdmRate36Mbps(), GetErpOfdmRate48Mbps(), GetErpOfdmRate54Mbps(), GetErpOfdmRate6Mbps(), GetErpOfdmRate9Mbps(), m_deviceRateSet, and NS_LOG_FUNCTION.

Referenced by Configure80211n(), and ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::Configure80211n ( void  )
private

Configure WifiPhy with appropriate channel frequency and supported rates for 802.11n standard.

Definition at line 893 of file wifi-phy.cc.

References Configure80211a(), Configure80211b(), Configure80211g(), ConfigureHtDeviceMcsSet(), GetFrequency(), HT_PHY, m_bssMembershipSelectorSet, and NS_LOG_FUNCTION.

Referenced by Configure80211ac(), and ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::ConfigureChannelForStandard ( enum WifiPhyStandard  standard)
privatevirtual

Configure the PHY-level parameters for different Wi-Fi standard.

This method is called when the Frequency or ChannelNumber attributes are set by the user. If the Frequency or ChannelNumber are valid for the standard, they are used instead.

Parameters
standardthe Wi-Fi standard

Definition at line 975 of file wifi-phy.cc.

References f(), FindChannelNumberForFrequencyWidth(), GetChannelNumber(), GetChannelWidth(), GetFrequency(), GetFrequencyWidthForChannelNumberStandard(), NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, SetChannelNumber(), SetChannelWidth(), SetFrequency(), and ns3::WIFI_PHY_STANDARD_UNSPECIFIED.

Referenced by ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::ConfigureDefaultsForStandard ( enum WifiPhyStandard  standard)
privatevirtual

Configure the PHY-level parameters for different Wi-Fi standard.

This method is called when defaults for each standard must be selected.

Parameters
standardthe Wi-Fi standard

Definition at line 671 of file wifi-phy.cc.

References GetChannelNumber(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_WARN, SetChannelWidth(), SetFrequency(), ns3::WIFI_PHY_STANDARD_80211_10MHZ, ns3::WIFI_PHY_STANDARD_80211_5MHZ, ns3::WIFI_PHY_STANDARD_80211a, ns3::WIFI_PHY_STANDARD_80211ac, ns3::WIFI_PHY_STANDARD_80211b, ns3::WIFI_PHY_STANDARD_80211g, ns3::WIFI_PHY_STANDARD_80211n_2_4GHZ, ns3::WIFI_PHY_STANDARD_80211n_5GHZ, ns3::WIFI_PHY_STANDARD_holland, and ns3::WIFI_PHY_STANDARD_UNSPECIFIED.

Referenced by ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::ConfigureHolland ( void  )
private

Definition at line 812 of file wifi-phy.cc.

References GetOfdmRate12Mbps(), GetOfdmRate18Mbps(), GetOfdmRate36Mbps(), GetOfdmRate54Mbps(), GetOfdmRate6Mbps(), m_deviceRateSet, and NS_LOG_FUNCTION.

Referenced by ConfigureStandard().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::ConfigureHtDeviceMcsSet ( void  )
private
double ns3::WifiPhy::DbmToW ( double  dbm) const

Convert from dBm to Watts.

Parameters
dbmthe power in dBm
Returns
the equivalent Watts for the given dBm

Definition at line 2881 of file wifi-phy.cc.

Referenced by ns3::YansWifiPhy::ResumeFromSleep(), ns3::SpectrumWifiPhy::ResumeFromSleep(), ns3::SpectrumWifiPhy::SendPacket(), SetCcaMode1Threshold(), SetEdThreshold(), ns3::YansWifiPhy::StartReceivePreambleAndHeader(), and ns3::SpectrumWifiPhy::SwitchMaybeToCcaBusy().

+ Here is the caller graph for this function:

double ns3::WifiPhy::DbToRatio ( double  db) const

Convert from dB to ratio.

Parameters
db
Returns
ratio

Definition at line 2874 of file wifi-phy.cc.

Referenced by SetRxNoiseFigure(), and ns3::SpectrumWifiPhy::StartRx().

+ Here is the caller graph for this function:

bool ns3::WifiPhy::DefineChannelNumber ( uint16_t  channelNumber,
enum WifiPhyStandard  standard,
uint32_t  frequency,
uint32_t  channelWidth 
)

Add a channel definition to the WifiPhy.

The pair (channelNumber, WifiPhyStandard) may then be used to lookup a pair (frequency, channelWidth).

If the channel is not already defined for the standard, the method should return true; otherwise false.

Parameters
channelNumberthe channel number to define
standardthe applicable WifiPhyStandard
frequencythe frequency (MHz)
channelWidththe channel width (MHz)
Returns
true if the channel definition succeeded

Definition at line 930 of file wifi-phy.cc.

References f(), m_channelToFrequencyWidth, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by SetChannelFrequencyTest::DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::WifiPhy::DoChannelSwitch ( uint16_t  id)
protectedvirtual

The default implementation does nothing and returns true.

This method is typically called internally by SetChannelNumber ().

Perform any actions necessary when user changes channel number

Parameters
idchannel number to try to switch to
Returns
true if WifiPhy can actually change the number; false if not
See also
SetChannelNumber

Reimplemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.

Definition at line 1335 of file wifi-phy.cc.

Referenced by SetChannelNumber().

+ Here is the caller graph for this function:

void ns3::WifiPhy::DoDispose ( void  )
protectedvirtual

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Reimplemented from ns3::Object.

Reimplemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.

Definition at line 371 of file wifi-phy.cc.

References m_device, m_deviceMcsSet, m_deviceRateSet, m_mobility, m_state, and NS_LOG_FUNCTION.

bool ns3::WifiPhy::DoFrequencySwitch ( uint32_t  frequency)
protectedvirtual

The default implementation does nothing and returns true.

This method is typically called internally by SetFrequency ().

Perform any actions necessary when user changes frequency

Parameters
frequencyfrequency to try to switch to
Returns
true if WifiPhy can actually change the frequency; false if not
See also
SetFrequency

Reimplemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.

Definition at line 1341 of file wifi-phy.cc.

Referenced by SetFrequency().

+ Here is the caller graph for this function:

void ns3::WifiPhy::DoInitialize ( void  )
protectedvirtual

Initialize() implementation.

This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.

Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.

Reimplemented from ns3::Object.

Reimplemented in ns3::SpectrumWifiPhy.

Definition at line 382 of file wifi-phy.cc.

References InitializeFrequencyChannelNumber(), m_frequencyChannelNumberInitialized, m_isConstructed, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ns3::SpectrumWifiPhy::DoInitialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint16_t ns3::WifiPhy::FindChannelNumberForFrequencyWidth ( uint32_t  frequency,
uint32_t  width 
) const
private

Look for channel number matching the frequency and width.

Parameters
frequencyThe center frequency to use
widthThe channel width to use
Returns
the channel number if found, zero if not

Definition at line 947 of file wifi-phy.cc.

References f(), m_channelToFrequencyWidth, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ConfigureChannelForStandard(), and SetFrequency().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::WifiPhy::GetBssMembershipSelector ( uint32_t  selector) const
virtual

The WifiPhy::BssMembershipSelector() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet.

Parameters
selectorindex in array of supported memberships
Returns
the memebership selector whose index is specified.

Definition at line 1206 of file wifi-phy.cc.

References m_bssMembershipSelectorSet.

Referenced by GetMembershipSelectorModes(), ns3::StaWifiMac::GetSupportedRates(), ns3::ApWifiMac::GetSupportedRates(), and ns3::StaWifiMac::Receive().

+ Here is the caller graph for this function:

double ns3::WifiPhy::GetCcaMode1Threshold ( void  ) const

Return the CCA threshold (dBm).

Returns
the CCA threshold in dBm

Definition at line 449 of file wifi-phy.cc.

References m_ccaMode1ThresholdW, and WToDbm().

Referenced by GetTypeId(), ns3::YansWifiPhy::ResumeFromSleep(), ns3::SpectrumWifiPhy::ResumeFromSleep(), ns3::YansWifiPhy::StartReceivePreambleAndHeader(), and ns3::SpectrumWifiPhy::SwitchMaybeToCcaBusy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual Ptr<WifiChannel> ns3::WifiPhy::GetChannel ( void  ) const
pure virtual

Return the WifiChannel this WifiPhy is connected to.

Returns
the WifiChannel this WifiPhy is connected to

Implemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.

Referenced by ns3::WifiNetDevice::DoGetChannel(), ns3::WifiNetDevice::GetChannel(), and ns3::WaveNetDevice::GetChannel().

+ Here is the caller graph for this function:

Time ns3::WifiPhy::GetChannelSwitchDelay ( void  ) const
virtual
Time ns3::WifiPhy::GetDelayUntilIdle ( void  )
virtual
Returns
the predicted delay until this PHY can become WifiPhy::IDLE.

The PHY will never become WifiPhy::IDLE before the delay returned by this method but it could become really idle later.

Definition at line 2948 of file wifi-phy.cc.

References m_state.

Referenced by ns3::YansWifiPhy::DoChannelSwitch(), ns3::SpectrumWifiPhy::DoChannelSwitch(), ns3::YansWifiPhy::DoFrequencySwitch(), ns3::SpectrumWifiPhy::DoFrequencySwitch(), ns3::YansWifiPhy::SetSleepMode(), and ns3::SpectrumWifiPhy::SetSleepMode().

+ Here is the caller graph for this function:

Ptr< NetDevice > ns3::WifiPhy::GetDevice ( void  ) const

Return the device this PHY is associated with.

Returns
the device this PHY is associated with

Definition at line 604 of file wifi-phy.cc.

References m_device.

WifiMode ns3::WifiPhy::GetDsssRate11Mbps ( )
static

Return a WifiMode for DSSS at 11Mbps.

Returns
a WifiMode for DSSS at 11Mbps

Definition at line 2038 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_UNDEFINED, and ns3::WIFI_MOD_CLASS_HR_DSSS.

Referenced by Configure80211b(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetDsssRate1Mbps ( )
static

Return a WifiMode for DSSS at 1Mbps.

Returns
a WifiMode for DSSS at 1Mbps

Definition at line 1999 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_UNDEFINED, and ns3::WIFI_MOD_CLASS_DSSS.

Referenced by Configure80211b(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetDsssRate2Mbps ( )
static

Return a WifiMode for DSSS at 2Mbps.

Returns
a WifiMode for DSSS at 2Mbps

Definition at line 2011 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_UNDEFINED, and ns3::WIFI_MOD_CLASS_DSSS.

Referenced by Configure80211b(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetDsssRate5_5Mbps ( )
static

Return a WifiMode for DSSS at 5.5Mbps.

Returns
a WifiMode for DSSS at 5.5Mbps

Definition at line 2026 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_UNDEFINED, and ns3::WIFI_MOD_CLASS_HR_DSSS.

Referenced by Configure80211b(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ns3::WifiPhy::GetEdThreshold ( void  ) const

Return the energy detection threshold (dBm).

Returns
the energy detection threshold in dBm

Definition at line 436 of file wifi-phy.cc.

References m_edThresholdW, and WToDbm().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ns3::WifiPhy::GetEdThresholdW ( void  ) const

Return the energy detection threshold.

Returns
the energy detection threshold.

Definition at line 430 of file wifi-phy.cc.

References m_edThresholdW.

Referenced by ns3::YansWifiPhy::StartReceivePreambleAndHeader(), and ns3::SpectrumWifiPhy::StartRx().

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetErpOfdmRate12Mbps ( )
static

Return a WifiMode for ERP-OFDM at 12Mbps.

Returns
a WifiMode for ERP-OFDM at 12Mbps

Definition at line 2077 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_ERP_OFDM.

Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetErpOfdmRate18Mbps ( )
static

Return a WifiMode for ERP-OFDM at 18Mbps.

Returns
a WifiMode for ERP-OFDM at 18Mbps

Definition at line 2089 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_ERP_OFDM.

Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetErpOfdmRate24Mbps ( )
static

Return a WifiMode for ERP-OFDM at 24Mbps.

Returns
a WifiMode for ERP-OFDM at 24Mbps

Definition at line 2101 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_ERP_OFDM.

Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetErpOfdmRate36Mbps ( )
static

Return a WifiMode for ERP-OFDM at 36Mbps.

Returns
a WifiMode for ERP-OFDM at 36Mbps

Definition at line 2113 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_ERP_OFDM.

Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetErpOfdmRate48Mbps ( )
static

Return a WifiMode for ERP-OFDM at 48Mbps.

Returns
a WifiMode for ERP-OFDM at 48Mbps

Definition at line 2125 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_2_3, and ns3::WIFI_MOD_CLASS_ERP_OFDM.

Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetErpOfdmRate54Mbps ( )
static

Return a WifiMode for ERP-OFDM at 54Mbps.

Returns
a WifiMode for ERP-OFDM at 54Mbps

Definition at line 2137 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_ERP_OFDM.

Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetErpOfdmRate6Mbps ( )
static

Return a WifiMode for ERP-OFDM at 6Mbps.

Returns
a WifiMode for ERP-OFDM at 6Mbps

Definition at line 2053 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_ERP_OFDM.

Referenced by Configure80211g(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetErpOfdmRate9Mbps ( )
static

Return a WifiMode for ERP-OFDM at 9Mbps.

Returns
a WifiMode for ERP-OFDM at 9Mbps

Definition at line 2065 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_ERP_OFDM.

Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< ErrorRateModel > ns3::WifiPhy::GetErrorRateModel ( void  ) const

Return the error rate model this PHY is using.

Returns
the error rate model this PHY is using

Definition at line 635 of file wifi-phy.cc.

References ns3::InterferenceHelper::GetErrorRateModel(), and m_interference.

+ Here is the call graph for this function:

WifiPhy::FrequencyWidthPair ns3::WifiPhy::GetFrequencyWidthForChannelNumberStandard ( uint16_t  channelNumber,
enum WifiPhyStandard  standard 
) const
private

Lookup frequency/width pair for channelNumber/standard pair.

Parameters
channelNumberThe channel number to check
standardThe WifiPhyStandard to check
Returns
the FrequencyWidthPair found

Definition at line 1267 of file wifi-phy.cc.

References f(), and m_channelToFrequencyWidth.

Referenced by ConfigureChannelForStandard(), and SetChannelNumber().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::WifiPhy::GetGreenfield ( void  ) const
virtual
WifiMode ns3::WifiPhy::GetHtMcs0 ( )
static

Return MCS 0 from HT MCS values.

Returns
MCS 0 from HT MCS values

Definition at line 2449 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), GetHtPlcpHeaderMode(), and GetMembershipSelectorModes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs1 ( )
static

Return MCS 1 from HT MCS values.

Returns
MCS 1 from HT MCS values

Definition at line 2457 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs10 ( )
static

Return MCS 10 from HT MCS values.

Returns
MCS 10 from HT MCS values

Definition at line 2529 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs11 ( )
static

Return MCS 11 from HT MCS values.

Returns
MCS 11 from HT MCS values

Definition at line 2537 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs12 ( )
static

Return MCS 12 from HT MCS values.

Returns
MCS 12 from HT MCS values

Definition at line 2545 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs13 ( )
static

Return MCS 13 from HT MCS values.

Returns
MCS 13 from HT MCS values

Definition at line 2553 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs14 ( )
static

Return MCS 14 from HT MCS values.

Returns
MCS 14 from HT MCS values

Definition at line 2561 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs15 ( )
static

Return MCS 15 from HT MCS values.

Returns
MCS 15 from HT MCS values

Definition at line 2569 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs16 ( )
static

Return MCS 16 from HT MCS values.

Returns
MCS 16 from HT MCS values

Definition at line 2577 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs17 ( )
static

Return MCS 17 from HT MCS values.

Returns
MCS 17 from HT MCS values

Definition at line 2585 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs18 ( )
static

Return MCS 18 from HT MCS values.

Returns
MCS 18 from HT MCS values

Definition at line 2593 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs19 ( )
static

Return MCS 19 from HT MCS values.

Returns
MCS 19 from HT MCS values

Definition at line 2601 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs2 ( )
static

Return MCS 2 from HT MCS values.

Returns
MCS 2 from HT MCS values

Definition at line 2465 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs20 ( )
static

Return MCS 20 from HT MCS values.

Returns
MCS 20 from HT MCS values

Definition at line 2609 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs21 ( )
static

Return MCS 21 from HT MCS values.

Returns
MCS 21 from HT MCS values

Definition at line 2617 of file wifi-phy.cc.

References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.

Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().

+ Here is the call graph for this function: