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 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, bool > RxErrorCallback
 arg1: packet received unsuccessfully arg2: snr of packet arg3: PHY-RXEND flag 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 width)=0
 
virtual int64_t AssignStreams (int64_t stream)=0
 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 =0
 
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)=0
 Configure the PHY-level parameters for different Wi-Fi standard. More...
 
virtual uint32_t GetBssMembershipSelector (uint32_t selector) const =0
 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...
 
virtual Ptr< WifiChannelGetChannel (void) const =0
 Return the WifiChannel this WifiPhy is connected to. More...
 
virtual uint16_t GetChannelNumber (void) const =0
 Return current channel number. More...
 
virtual Time GetChannelSwitchDelay (void) const =0
 
virtual uint32_t GetChannelWidth (void) const =0
 
virtual Time GetDelayUntilIdle (void)=0
 
virtual uint32_t GetFrequency (void) const =0
 
virtual bool GetGreenfield (void) const =0
 
virtual bool GetGuardInterval (void) const =0
 
virtual Time GetLastRxStartTime (void) const =0
 Return the start time of the last received packet. More...
 
virtual bool GetLdpc (void) const =0
 
virtual WifiMode GetMcs (uint8_t mcs) const =0
 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)=0
 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...
 
virtual WifiMode GetMode (uint32_t mode) const =0
 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 =0
 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 =0
 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 =0
 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 =0
 
virtual uint32_t GetNumberOfReceiveAntennas (void) const =0
 
virtual uint32_t GetNumberOfTransmitAntennas (void) const =0
 
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)
 
virtual bool GetShortPlcpPreambleSupported (void) const =0
 
virtual Time GetStateDuration (void)=0
 
virtual bool GetStbc (void) const =0
 
virtual std::vector< uint32_t > GetSupportedChannelWidthSet (void) const =0
 
virtual uint8_t GetSupportedRxSpatialStreams (void) const =0
 
virtual uint8_t GetSupportedTxSpatialStreams (void) const =0
 
virtual double GetTxPowerEnd (void) const =0
 Return the maximum available transmission power level (dBm). More...
 
virtual double GetTxPowerStart (void) const =0
 Return the minimum available transmission power level (dBm). More...
 
virtual bool IsModeSupported (WifiMode mode) const =0
 Check if the given WifiMode is supported by the PHY. More...
 
virtual bool IsStateBusy (void)=0
 
virtual bool IsStateCcaBusy (void)=0
 
virtual bool IsStateIdle (void)=0
 
virtual bool IsStateRx (void)=0
 
virtual bool IsStateSleep (void)=0
 
virtual bool IsStateSwitching (void)=0
 
virtual bool IsStateTx (void)=0
 
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...
 
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
 
virtual void SetChannelNumber (uint16_t id)=0
 Set channel number. More...
 
virtual void SetChannelWidth (uint32_t channelwidth)=0
 
virtual void SetFrequency (uint32_t freq)=0
 
virtual void SetGreenfield (bool greenfield)=0
 
virtual void SetGuardInterval (bool guardInterval)=0
 
virtual void SetLdpc (bool ldpc)=0
 
virtual void SetNumberOfReceiveAntennas (uint32_t rx)=0
 
virtual void SetNumberOfTransmitAntennas (uint32_t tx)=0
 
virtual void SetReceiveErrorCallback (RxErrorCallback callback)=0
 
virtual void SetReceiveOkCallback (RxOkCallback callback)=0
 
virtual void SetShortPlcpPreambleSupported (bool preamble)=0
 
virtual void SetSleepMode (void)=0
 Put in sleep mode. More...
 
virtual void SetStbc (bool stbc)=0
 
virtual void UnregisterListener (WifiPhyListener *listener)=0
 
- 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...
 
- 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...
 

Private Attributes

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_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...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. 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...
 

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]"

No Attributes are defined for this type.

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 (YansWifiPhy) 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 176 bytes (on a 64-bit architecture).

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

Member Typedef Documentation

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 1160 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 1199 of file wifi-phy.h.

typedef Callback<void, Ptr<Packet>, double, bool> ns3::WifiPhy::RxErrorCallback

arg1: packet received unsuccessfully arg2: snr of packet arg3: PHY-RXEND flag

Definition at line 197 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 191 of file wifi-phy.h.

Constructor & Destructor Documentation

ns3::WifiPhy::WifiPhy ( )

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

References m_totalAmpduNumSymbols, m_totalAmpduSize, and NS_LOG_FUNCTION.

ns3::WifiPhy::~WifiPhy ( )
virtual

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

References NS_LOG_FUNCTION.

Member Function Documentation

virtual void ns3::WifiPhy::AddSupportedChannelWidth ( uint32_t  width)
pure virtual
Parameters
widthchannel width (in MHz) to support

Implemented in ns3::YansWifiPhy.

virtual int64_t ns3::WifiPhy::AssignStreams ( int64_t  stream)
pure 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

Implemented in ns3::YansWifiPhy.

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 696 of file wifi-phy.cc.

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual double ns3::WifiPhy::CalculateSnr ( WifiTxVector  txVector,
double  ber 
) const
pure 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)

Implemented in ns3::YansWifiPhy.

Time ns3::WifiPhy::CalculateTxDuration ( uint32_t  size,
WifiTxVector  txVector,
enum WifiPreamble  preamble,
double  frequency 
)
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)
Returns
the total amount of time this PHY will stay busy for the transmission of these bytes.

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

References ns3::NORMAL_MPDU.

Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), ns3::MacLow::CalculateOverallTxTime(), ns3::MacLow::CalculateTransmissionTime(), TxDurationTest::CheckTxDuration(), ns3::MacLow::ForwardDown(), ns3::MacLow::GetAckDuration(), ns3::MacLow::GetBlockAckDuration(), ns3::MacLow::GetCtsDuration(), ns3::MacLow::NotifyNav(), ns3::MacLow::SendCtsToSelf(), ns3::MacLow::SendDataAfterCts(), ns3::MacLow::SendDataPacket(), ns3::YansWifiPhy::SendPacket(), ns3::MacLow::SendRtsForPacket(), NodeStatistics::SetupPhy(), ns3::MinstrelWifiManager::SetupPhy(), ns3::MacLow::StartDataTxTimers(), and ns3::MacLow::StopMpduAggregation().

+ Here is the caller graph for this function:

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 709 of file wifi-phy.cc.

References CalculatePlcpPreambleAndHeaderDuration(), and GetPayloadDuration().

+ Here is the call graph for this function:

virtual void ns3::WifiPhy::ConfigureStandard ( enum WifiPhyStandard  standard)
pure virtual

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

Parameters
standardthe Wi-Fi standard

Implemented in ns3::YansWifiPhy.

Referenced by ns3::MeshHelper::CreateInterface(), ns3::WifiHelper::Install(), and ns3::WaveHelper::Install().

+ Here is the caller graph for this function:

virtual uint32_t ns3::WifiPhy::GetBssMembershipSelector ( uint32_t  selector) const
pure 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.

Implemented in ns3::YansWifiPhy.

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

+ 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::YansWifiPhy.

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

+ Here is the caller graph for this function:

virtual uint16_t ns3::WifiPhy::GetChannelNumber ( void  ) const
pure virtual

Return current channel number.

Returns
the current channel number

Implemented in ns3::YansWifiPhy.

Referenced by ns3::WaveMacLow::StartTransmission(), and ns3::DefaultChannelScheduler::SwitchToNextChannel().

+ Here is the caller graph for this function:

virtual Time ns3::WifiPhy::GetChannelSwitchDelay ( void  ) const
pure virtual
Returns
the required time for channel switch operation of this WifiPhy

Implemented in ns3::YansWifiPhy.

Referenced by ns3::DefaultChannelScheduler::AssignDefaultCchAccess(), and ns3::DefaultChannelScheduler::SwitchToNextChannel().

+ Here is the caller graph for this function:

virtual Time ns3::WifiPhy::GetDelayUntilIdle ( void  )
pure 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.

Implemented in ns3::YansWifiPhy.

WifiMode ns3::WifiPhy::GetDsssRate11Mbps ( )
static

Return a WifiMode for DSSS at 11Mbps.

Returns
a WifiMode for DSSS at 11Mbps

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

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

Referenced by ns3::YansWifiPhy::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 774 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 786 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 801 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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::GetErpOfdmRate12Mbps ( )
static

Return a WifiMode for ERP-OFDM at 12Mbps.

Returns
a WifiMode for ERP-OFDM at 12Mbps

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

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

Referenced by ns3::YansWifiPhy::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 864 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 876 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 888 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 900 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 912 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 828 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 840 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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:

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

Return MCS 0 from HT MCS values.

Returns
MCS 0 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), GetHtPlcpHeaderMode(), and ns3::YansWifiPhy::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 1232 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and ns3::YansWifiPhy::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 1304 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1312 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1320 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1328 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1336 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1344 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1352 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1360 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1368 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1376 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1240 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and ns3::YansWifiPhy::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 1384 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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 1392 of file wifi-phy.cc.

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs22 ( )
static

Return MCS 22 from HT MCS values.

Returns
MCS 22 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs23 ( )
static

Return MCS 23 from HT MCS values.

Returns
MCS 23 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs24 ( )
static

Return MCS 24 from HT MCS values.

Returns
MCS 24 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs25 ( )
static

Return MCS 25 from HT MCS values.

Returns
MCS 25 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs26 ( )
static

Return MCS 26 from HT MCS values.

Returns
MCS 26 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs27 ( )
static

Return MCS 27 from HT MCS values.

Returns
MCS 27 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs28 ( )
static

Return MCS 28 from HT MCS values.

Returns
MCS 28 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs29 ( )
static

Return MCS 29 from HT MCS values.

Returns
MCS 29 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs3 ( )
static

Return MCS 3 from HT MCS values.

Returns
MCS 3 from HT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs30 ( )
static

Return MCS 30 from HT MCS values.

Returns
MCS 30 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs31 ( )
static

Return MCS 31 from HT MCS values.

Returns
MCS 31 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs4 ( )
static

Return MCS 4 from HT MCS values.

Returns
MCS 4 from HT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs5 ( )
static

Return MCS 5 from HT MCS values.

Returns
MCS 5 from HT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs6 ( )
static

Return MCS 6 from HT MCS values.

Returns
MCS 6 from HT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs7 ( )
static

Return MCS 7 from HT MCS values.

Returns
MCS 7 from HT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetHtMcs8 ( )
static

Return MCS 8 from HT MCS values.

Returns
MCS 8 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtMcs9 ( )
static

Return MCS 9 from HT MCS values.

Returns
MCS 9 from HT MCS values

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

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

Referenced by ns3::YansWifiPhy::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::GetHtPlcpHeaderMode ( WifiMode  payloadMode)
static
Parameters
payloadModethe WifiMode use for the transmission of the payload
Returns
the WifiMode used for the transmission of the HT-SIG and the HT training fields in Mixed Format and greenfield format PLCP header

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

References GetHtMcs0().

Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual Time ns3::WifiPhy::GetLastRxStartTime ( void  ) const
pure virtual

Return the start time of the last received packet.

Returns
the start time of the last received packet

Implemented in ns3::YansWifiPhy.

Referenced by ns3::MacLow::NavCounterResetCtsMissed().

+ Here is the caller graph for this function:

virtual bool ns3::WifiPhy::GetLdpc ( void  ) const
pure virtual
Returns
true if LDPC is supported, false otherwise

Implemented in ns3::YansWifiPhy.

Referenced by ns3::RegularWifiMac::GetHtCapabilities(), and ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

virtual WifiMode ns3::WifiPhy::GetMcs ( uint8_t  mcs) const
pure virtual

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.

Parameters
mcsindex in array of supported MCS
Returns
the MCS index whose index is specified.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::WifiRemoteStationManager::AddAllSupportedMcs(), ns3::IdealWifiManager::DoInitialize(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::MinstrelHtWifiManager::GetHtDeviceMcsList(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::MinstrelHtWifiManager::GetVhtDeviceMcsList(), ns3::StaWifiMac::Receive(), ns3::ApWifiMac::Receive(), and ns3::WifiRemoteStationManager::SetupPhy().

+ Here is the caller graph for this function:

virtual WifiModeList ns3::WifiPhy::GetMembershipSelectorModes ( uint32_t  selector)
pure virtual

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.

Parameters
selectorindex in array of supported memberships
Returns
a WifiModeList that contains the WifiModes associrated with the selected index.
See also
WifiPhy::GetMembershipSelectorModes()

Implemented in ns3::YansWifiPhy.

virtual WifiMode ns3::WifiPhy::GetMode ( uint32_t  mode) const
pure virtual

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.

It is important to note that the DeviceRateSet is a superset (not necessarily proper) of the OperationalRateSet (which is logically, if not actually, a property of the associated WifiRemoteStationManager), which itself is a superset (again, not necessarily proper) of the BSSBasicRateSet.

Parameters
modeindex in array of supported modes
Returns
the mode whose index is specified.
See also
WifiPhy::GetNModes()

Implemented in ns3::YansWifiPhy.

Referenced by ns3::WifiRemoteStationManager::AddAllSupportedModes(), ns3::MinstrelHtWifiManager::DoGetRtsTxVector(), ns3::IdealWifiManager::DoInitialize(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::MeshWifiInterfaceMac::GetSupportedRates(), ns3::StaWifiMac::GetSupportedRates(), ns3::ApWifiMac::GetSupportedRates(), ns3::StaWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::WifiRemoteStationManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::MinstrelWifiManager::SetupPhy().

+ Here is the caller graph for this function:

virtual uint32_t ns3::WifiPhy::GetNBssMembershipSelectors ( void  ) const
pure virtual

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.

Returns
the memebership selector whose index is specified.

Implemented in ns3::YansWifiPhy.

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

+ Here is the caller graph for this function:

virtual uint8_t ns3::WifiPhy::GetNMcs ( void  ) const
pure virtual

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.

Returns
the MCS index whose index is specified.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::WifiRemoteStationManager::AddAllSupportedMcs(), ns3::IdealWifiManager::DoInitialize(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::MinstrelHtWifiManager::GetHtDeviceMcsList(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::MinstrelHtWifiManager::GetVhtDeviceMcsList(), ns3::StaWifiMac::Receive(), and ns3::ApWifiMac::Receive().

+ Here is the caller graph for this function:

virtual uint32_t ns3::WifiPhy::GetNModes ( void  ) const
pure virtual

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.

It is important to note that the DeviceRateSet is a superset (not necessarily proper) of the OperationalRateSet (which is logically, if not actually, a property of the associated WifiRemoteStationManager), which itself is a superset (again, not necessarily proper) of the BSSBasicRateSet.

Returns
the number of transmission modes supported by this PHY.
See also
WifiPhy::GetMode()

Implemented in ns3::YansWifiPhy.

Referenced by ns3::WifiRemoteStationManager::AddAllSupportedModes(), ns3::MinstrelHtWifiManager::DoGetRtsTxVector(), ns3::IdealWifiManager::DoInitialize(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::MeshWifiInterfaceMac::GetSupportedRates(), ns3::StaWifiMac::GetSupportedRates(), ns3::ApWifiMac::GetSupportedRates(), ns3::StaWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), NodeStatistics::SetupPhy(), and ns3::MinstrelWifiManager::SetupPhy().

+ Here is the caller graph for this function:

virtual uint32_t ns3::WifiPhy::GetNTxPower ( void  ) const
pure virtual
Returns
the number of tx power levels available for this PHY.

Implemented in ns3::YansWifiPhy.

virtual uint32_t ns3::WifiPhy::GetNumberOfReceiveAntennas ( void  ) const
pure virtual
Returns
the number of receivers on this node.

Implemented in ns3::YansWifiPhy.

virtual uint32_t ns3::WifiPhy::GetNumberOfTransmitAntennas ( void  ) const
pure virtual
Returns
the number of transmit antenna on this device

Implemented in ns3::YansWifiPhy.

Referenced by ns3::WifiRemoteStationManager::GetNumberOfTransmitAntennas().

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetOfdmRate12Mbps ( )
static

Return a WifiMode for OFDM at 12Mbps.

Returns
a WifiMode for OFDM at 12Mbps

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

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

Referenced by ns3::YansWifiPhy::Configure80211a(), ns3::YansWifiPhy::ConfigureHolland(), 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::GetOfdmRate12MbpsBW10MHz ( )
static

Return a WifiMode for OFDM at 12Mbps with 10MHz channel spacing.

Returns
a WifiMode for OFDM at 12Mbps with 10MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_10Mhz(), 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::GetOfdmRate12MbpsBW5MHz ( )
static

Return a WifiMode for OFDM at 12Mbps with 5MHz channel spacing.

Returns
a WifiMode for OFDM at 12Mbps with 5MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_5Mhz(), 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::GetOfdmRate13_5MbpsBW5MHz ( )
static

Return a WifiMode for OFDM at 13.5Mbps with 5MHz channel spacing.

Returns
a WifiMode for OFDM at 13.5Mbps with 5MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_5Mhz(), 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::GetOfdmRate18Mbps ( )
static

Return a WifiMode for OFDM at 18Mbps.

Returns
a WifiMode for OFDM at 18Mbps

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

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

Referenced by ns3::YansWifiPhy::Configure80211a(), ns3::YansWifiPhy::ConfigureHolland(), 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::GetOfdmRate18MbpsBW10MHz ( )
static

Return a WifiMode for OFDM at 18Mbps with 10MHz channel spacing.

Returns
a WifiMode for OFDM at 18Mbps with 10MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_10Mhz(), 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::GetOfdmRate1_5MbpsBW5MHz ( )
static

Return a WifiMode for OFDM at 1.5Mbps with 5MHz channel spacing.

Returns
a WifiMode for OFDM at 1.5Mbps with 5MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_5Mhz(), 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::GetOfdmRate24Mbps ( )
static

Return a WifiMode for OFDM at 24Mbps.

Returns
a WifiMode for OFDM at 24Mbps

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

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

Referenced by ns3::YansWifiPhy::Configure80211a(), 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::GetOfdmRate24MbpsBW10MHz ( )
static

Return a WifiMode for OFDM at 24Mbps with 10MHz channel spacing.

Returns
a WifiMode for OFDM at 24Mbps with 10MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_10Mhz(), 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::GetOfdmRate27MbpsBW10MHz ( )
static

Return a WifiMode for OFDM at 27Mbps with 10MHz channel spacing.

Returns
a WifiMode for OFDM at 27Mbps with 10MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_10Mhz(), 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::GetOfdmRate2_25MbpsBW5MHz ( )
static

Return a WifiMode for OFDM at 2.25Mbps with 5MHz channel spacing.

Returns
a WifiMode for OFDM at 2.25Mbps with 5MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_5Mhz(), 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::GetOfdmRate36Mbps ( )
static

Return a WifiMode for OFDM at 36Mbps.

Returns
a WifiMode for OFDM at 36Mbps

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

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

Referenced by ns3::YansWifiPhy::Configure80211a(), ns3::YansWifiPhy::ConfigureHolland(), 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::GetOfdmRate3MbpsBW10MHz ( )
static

Return a WifiMode for OFDM at 3Mbps with 10MHz channel spacing.

Returns
a WifiMode for OFDM at 3Mbps with 10MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_10Mhz(), 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::GetOfdmRate3MbpsBW5MHz ( )
static

Return a WifiMode for OFDM at 3Mbps with 5MHz channel spacing.

Returns
a WifiMode for OFDM at 3Mbps with 5MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_5Mhz(), 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::GetOfdmRate48Mbps ( )
static

Return a WifiMode for OFDM at 48Mbps.

Returns
a WifiMode for OFDM at 48Mbps

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

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

Referenced by ns3::YansWifiPhy::Configure80211a(), 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::GetOfdmRate4_5MbpsBW10MHz ( )
static

Return a WifiMode for OFDM at 4.5Mbps with 10MHz channel spacing.

Returns
a WifiMode for OFDM at 4.5Mbps with 10MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_10Mhz(), 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::GetOfdmRate4_5MbpsBW5MHz ( )
static

Return a WifiMode for OFDM at 4.5Mbps with 5MHz channel spacing.

Returns
a WifiMode for OFDM at 4.5Mbps with 5MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_5Mhz(), 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::GetOfdmRate54Mbps ( )
static

Return a WifiMode for OFDM at 54Mbps.

Returns
a WifiMode for OFDM at 54Mbps

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

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

Referenced by ns3::YansWifiPhy::Configure80211a(), ns3::YansWifiPhy::ConfigureHolland(), 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::GetOfdmRate6Mbps ( )
static

Return a WifiMode for OFDM at 6Mbps.

Returns
a WifiMode for OFDM at 6Mbps

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

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

Referenced by ns3::YansWifiPhy::Configure80211a(), ns3::YansWifiPhy::ConfigureHolland(), 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::GetOfdmRate6MbpsBW10MHz ( )
static

Return a WifiMode for OFDM at 6Mbps with 10MHz channel spacing.

Returns
a WifiMode for OFDM at 6Mbps with 10MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_10Mhz(), 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::GetOfdmRate6MbpsBW5MHz ( )
static

Return a WifiMode for OFDM at 6Mbps with 5MHz channel spacing.

Returns
a WifiMode for OFDM at 6Mbps with 5MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_5Mhz(), 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::GetOfdmRate9Mbps ( )
static

Return a WifiMode for OFDM at 9Mbps.

Returns
a WifiMode for OFDM at 9Mbps

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

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

Referenced by ns3::YansWifiPhy::Configure80211a(), 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::GetOfdmRate9MbpsBW10MHz ( )
static

Return a WifiMode for OFDM at 9Mbps with 10MHz channel spacing.

Returns
a WifiMode for OFDM at 9Mbps with 10MHz channel spacing

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

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

Referenced by ns3::YansWifiPhy::Configure80211_10Mhz(), 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::GetOfdmRate9MbpsBW5MHz ( )
static

Return a WifiMode for OFDM at 9Mbps with 5MHz channel spacing.

Returns
a WifiMode for OFDM at 9Mbps with 5MHz channel spacing

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::WifiPhy::GetPayloadDuration ( uint32_t  size,
WifiTxVector  txVector,
WifiPreamble  preamble,
double  frequency 
)
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)
Returns
the duration of the payload

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

References ns3::NORMAL_MPDU.

Referenced by CalculateTxDuration(), and TxDurationTest::CheckPayloadDuration().

+ Here is the caller graph for this function:

Time ns3::WifiPhy::GetPayloadDuration ( uint32_t  size,
WifiTxVector  txVector,
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 duration of the payload

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

References ns3::WifiTxVector::GetChannelWidth(), ns3::WifiMode::GetDataRate(), ns3::WifiMode::GetMcsValue(), ns3::WifiTxVector::GetMode(), ns3::WifiMode::GetModulationClass(), ns3::Time::GetNanoSeconds(), ns3::WifiTxVector::GetNss(), ns3::WifiMode::GetUniqueName(), ns3::WifiTxVector::IsShortGuardInterval(), ns3::WifiTxVector::IsStbc(), ns3::LAST_MPDU_IN_AGGREGATE, m_totalAmpduNumSymbols, m_totalAmpduSize, ns3::MicroSeconds(), ns3::MPDU_IN_AGGREGATE, ns3::NanoSeconds(), ns3::NORMAL_MPDU, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::WIFI_MOD_CLASS_DSSS, ns3::WIFI_MOD_CLASS_ERP_OFDM, ns3::WIFI_MOD_CLASS_HR_DSSS, ns3::WIFI_MOD_CLASS_HT, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_MOD_CLASS_VHT, and ns3::WIFI_PREAMBLE_NONE.

+ Here is the call graph for this function:

Time ns3::WifiPhy::GetPlcpHeaderDuration ( WifiTxVector  txVector,
WifiPreamble  preamble 
)
static
WifiMode ns3::WifiPhy::GetPlcpHeaderMode ( WifiMode  payloadMode,
WifiPreamble  preamble,
WifiTxVector  txVector 
)
static
Parameters
payloadModethe WifiMode use for the transmission of the payload
preamblethe type of preamble
txVectorthe transmission parameters used for this packet
Returns
the WifiMode used for the transmission of the PLCP header

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

References ns3::WifiTxVector::GetChannelWidth(), GetDsssRate1Mbps(), GetDsssRate2Mbps(), GetErpOfdmRate6Mbps(), ns3::WifiMode::GetModulationClass(), GetOfdmRate1_5MbpsBW5MHz(), GetOfdmRate3MbpsBW10MHz(), GetOfdmRate6Mbps(), NS_FATAL_ERROR, ns3::WIFI_MOD_CLASS_DSSS, ns3::WIFI_MOD_CLASS_ERP_OFDM, ns3::WIFI_MOD_CLASS_HR_DSSS, ns3::WIFI_MOD_CLASS_HT, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_MOD_CLASS_VHT, and ns3::WIFI_PREAMBLE_LONG.

Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::WifiPhy::GetPlcpHtSigHeaderDuration ( WifiPreamble  preamble)
static
Parameters
preamblethe type of preamble
Returns
the duration of the HT-SIG in Mixed Format and greenfield format PLCP header

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

References ns3::MicroSeconds(), ns3::WIFI_PREAMBLE_HT_GF, and ns3::WIFI_PREAMBLE_HT_MF.

Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::WifiPhy::GetPlcpHtTrainingSymbolDuration ( WifiPreamble  preamble,
WifiTxVector  txVector 
)
static
Parameters
preamblethe type of preamble
txVectorthe transmission parameters used for this packet
Returns
the training symbol duration

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

References ns3::WifiTxVector::GetNess(), ns3::WifiTxVector::GetNss(), ns3::MicroSeconds(), ns3::WIFI_PREAMBLE_HT_GF, ns3::WIFI_PREAMBLE_HT_MF, and ns3::WIFI_PREAMBLE_VHT.

Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::WifiPhy::GetPlcpPreambleDuration ( WifiTxVector  txVector,
WifiPreamble  preamble 
)
static
Time ns3::WifiPhy::GetPlcpVhtSigA1Duration ( WifiPreamble  preamble)
static
Parameters
preamblethe type of preamble
Returns
the duration of the VHT-SIG-A1 in PLCP header

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

References ns3::MicroSeconds(), and ns3::WIFI_PREAMBLE_VHT.

Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::WifiPhy::GetPlcpVhtSigA2Duration ( WifiPreamble  preamble)
static
Parameters
preamblethe type of preamble
Returns
the duration of the VHT-SIG-A2 in PLCP header

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

References ns3::MicroSeconds(), and ns3::WIFI_PREAMBLE_VHT.

Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::WifiPhy::GetPlcpVhtSigBDuration ( WifiPreamble  preamble)
static
Parameters
preamblethe type of preamble
Returns
the duration of the VHT-SIG-B in PLCP header

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

References ns3::MicroSeconds(), and ns3::WIFI_PREAMBLE_VHT.

Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual bool ns3::WifiPhy::GetShortPlcpPreambleSupported ( void  ) const
pure virtual
Returns
true if short PLCP preamble is supported, false otherwise

Implemented in ns3::YansWifiPhy.

Referenced by ns3::StaWifiMac::GetCapabilities(), and ns3::ApWifiMac::GetShortPreambleEnabled().

+ Here is the caller graph for this function:

virtual Time ns3::WifiPhy::GetStateDuration ( void  )
pure virtual
Returns
the amount of time since the current state has started.

Implemented in ns3::YansWifiPhy.

virtual bool ns3::WifiPhy::GetStbc ( void  ) const
pure virtual
virtual std::vector<uint32_t> ns3::WifiPhy::GetSupportedChannelWidthSet ( void  ) const
pure virtual
Returns
a vector containing the supported channel widths, values in MHz

Implemented in ns3::YansWifiPhy.

virtual uint8_t ns3::WifiPhy::GetSupportedRxSpatialStreams ( void  ) const
pure virtual
Returns
the maximum number of supported Rx spatial streams

Implemented in ns3::YansWifiPhy.

Referenced by ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

virtual uint8_t ns3::WifiPhy::GetSupportedTxSpatialStreams ( void  ) const
pure virtual
Returns
the maximum number of supported Tx spatial streams

Implemented in ns3::YansWifiPhy.

Referenced by ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoInitialize(), ns3::RegularWifiMac::GetHtCapabilities(), and ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

virtual double ns3::WifiPhy::GetTxPowerEnd ( void  ) const
pure virtual

Return the maximum available transmission power level (dBm).

Returns
the maximum available transmission power level in dBm

Implemented in ns3::YansWifiPhy.

Referenced by ns3::ParfWifiManager::SetupPhy(), and ns3::AparfWifiManager::SetupPhy().

+ Here is the caller graph for this function:

virtual double ns3::WifiPhy::GetTxPowerStart ( void  ) const
pure virtual

Return the minimum available transmission power level (dBm).

Returns
the minimum available transmission power level in dBm

Implemented in ns3::YansWifiPhy.

Referenced by ns3::ParfWifiManager::SetupPhy(), and ns3::AparfWifiManager::SetupPhy().

+ Here is the caller graph for this function:

TypeId ns3::WifiPhy::GetTypeId ( void  )
static
WifiMode ns3::WifiPhy::GetVhtMcs0 ( )
static

Return MCS 0 from VHT MCS values.

Returns
MCS 0 from VHT MCS values

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

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

Referenced by ns3::YansWifiPhy::Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), ns3::YansWifiPhy::GetMembershipSelectorModes(), and GetVhtPlcpHeaderMode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs1 ( )
static

Return MCS 1 from VHT MCS values.

Returns
MCS 1 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs2 ( )
static

Return MCS 2 from VHT MCS values.

Returns
MCS 2 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs3 ( )
static

Return MCS 3 from VHT MCS values.

Returns
MCS 3 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs4 ( )
static

Return MCS 4 from VHT MCS values.

Returns
MCS 4 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs5 ( )
static

Return MCS 5 from VHT MCS values.

Returns
MCS 5 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs6 ( )
static

Return MCS 6 from VHT MCS values.

Returns
MCS 6 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs7 ( )
static

Return MCS 7 from VHT MCS values.

Returns
MCS 7 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs8 ( )
static

Return MCS 8 from VHT MCS values.

Returns
MCS 8 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtMcs9 ( )
static

Return MCS 9 from VHT MCS values.

Returns
MCS 9 from VHT MCS values

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WifiMode ns3::WifiPhy::GetVhtPlcpHeaderMode ( WifiMode  payloadMode)
static
Parameters
payloadModethe WifiMode use for the transmission of the payload
Returns
the WifiMode used for the transmission of the VHT-STF, VHT-LTF and VHT-SIG-B fields

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

References GetVhtMcs0().

Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual bool ns3::WifiPhy::IsModeSupported ( WifiMode  mode) const
pure virtual

Check if the given WifiMode is supported by the PHY.

Parameters
modethe wifi mode to check
Returns
true if the given mode is supported, false otherwise

Implemented in ns3::YansWifiPhy.

virtual bool ns3::WifiPhy::IsStateBusy ( void  )
pure virtual
Returns
true of the current state of the PHY layer is not WifiPhy::IDLE, false otherwise.

Implemented in ns3::YansWifiPhy.

virtual bool ns3::WifiPhy::IsStateCcaBusy ( void  )
pure virtual
Returns
true of the current state of the PHY layer is WifiPhy::CCA_BUSY, false otherwise.

Implemented in ns3::YansWifiPhy.

virtual bool ns3::WifiPhy::IsStateIdle ( void  )
pure virtual
Returns
true of the current state of the PHY layer is WifiPhy::IDLE, false otherwise.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::MacLow::FastAckTimeout(), and ns3::MacLow::SuperFastAckTimeout().

+ Here is the caller graph for this function:

virtual bool ns3::WifiPhy::IsStateRx ( void  )
pure virtual
Returns
true of the current state of the PHY layer is WifiPhy::RX, false otherwise.

Implemented in ns3::YansWifiPhy.

virtual bool ns3::WifiPhy::IsStateSleep ( void  )
pure virtual
Returns
true if the current state of the PHY layer is WifiPhy::SLEEP, false otherwise.

Implemented in ns3::YansWifiPhy.

virtual bool ns3::WifiPhy::IsStateSwitching ( void  )
pure virtual
Returns
true of the current state of the PHY layer is WifiPhy::SWITCHING, false otherwise.

Implemented in ns3::YansWifiPhy.

virtual bool ns3::WifiPhy::IsStateTx ( void  )
pure virtual
Returns
true of the current state of the PHY layer is WifiPhy::TX, false otherwise.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::MacLow::StartTransmission().

+ Here is the caller graph for this function:

bool ns3::WifiPhy::IsValidTxVector ( WifiTxVector  txVector)
static

The standard disallows certain combinations of WifiMode, number of spatial streams, and channel widths.

This method can be used to check whether this WifiTxVector contains an invalid combination.

Parameters
txVectorthe WifiTxVector to inspect
Returns
true if the WifiTxVector parameters are allowed by the standard

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

References ns3::WifiTxVector::GetChannelWidth(), ns3::WifiTxVector::GetMode(), ns3::WifiTxVector::GetNss(), and ns3::WifiMode::GetUniqueName().

Referenced by ns3::IdealWifiManager::DoGetDataTxVector(), and ns3::MinstrelHtWifiManager::IsValidMcs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiPhy::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.

Implemented for encapsulation purposes.

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

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

References m_phyMonitorSniffRxTrace.

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

+ Here is the caller graph for this function:

void ns3::WifiPhy::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.

Implemented for encapsulation purposes.

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)

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

References m_phyMonitorSniffTxTrace.

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

+ Here is the caller graph for this function:

void ns3::WifiPhy::NotifyRxBegin ( Ptr< const Packet packet)

Public method used to fire a PhyRxBegin trace.

Implemented for encapsulation purposes.

Parameters
packetthe packet being received

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

References m_phyRxBeginTrace.

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

+ Here is the caller graph for this function:

void ns3::WifiPhy::NotifyRxDrop ( Ptr< const Packet packet)

Public method used to fire a PhyRxDrop trace.

Implemented for encapsulation purposes.

Parameters
packetthe packet that was not successfully received

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

References m_phyRxDropTrace.

Referenced by ns3::YansWifiPhy::EndReceive(), ns3::YansWifiPhy::StartReceivePacket(), and ns3::YansWifiPhy::StartReceivePreambleAndHeader().

+ Here is the caller graph for this function:

void ns3::WifiPhy::NotifyRxEnd ( Ptr< const Packet packet)

Public method used to fire a PhyRxEnd trace.

Implemented for encapsulation purposes.

Parameters
packetthe packet received

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

References m_phyRxEndTrace.

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

+ Here is the caller graph for this function:

void ns3::WifiPhy::NotifyTxBegin ( Ptr< const Packet packet)

Public method used to fire a PhyTxBegin trace.

Implemented for encapsulation purposes.

Parameters
packetthe packet being transmitted

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

References m_phyTxBeginTrace.

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

+ Here is the caller graph for this function:

void ns3::WifiPhy::NotifyTxDrop ( Ptr< const Packet packet)

Public method used to fire a PhyTxDrop trace.

Implemented for encapsulation purposes.

Parameters
packetthe packet that was failed to transmitted

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

References m_phyTxDropTrace.

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

+ Here is the caller graph for this function:

void ns3::WifiPhy::NotifyTxEnd ( Ptr< const Packet packet)

Public method used to fire a PhyTxEnd trace.

Implemented for encapsulation purposes.

Parameters
packetthe packet that was transmitted

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

References m_phyTxEndTrace.

virtual void ns3::WifiPhy::RegisterListener ( WifiPhyListener listener)
pure virtual
Parameters
listenerthe new listener

Add the input listener to the list of objects to be notified of PHY-level events.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::DcfManager::SetupPhyListener(), and ns3::MacLow::SetupPhyMacLowListener().

+ Here is the caller graph for this function:

virtual void ns3::WifiPhy::ResumeFromSleep ( void  )
pure virtual

Resume from sleep mode.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::WifiRadioEnergyModelHelper::DoInstall().

+ Here is the caller graph for this function:

virtual void ns3::WifiPhy::SendPacket ( Ptr< const Packet packet,
WifiTxVector  txVector,
enum WifiPreamble  preamble 
)
pure virtual
Parameters
packetthe packet to send
txVectorthe TXVECTOR that has tx parameters such as mode, the transmission mode to use to send this packet, and txPowerLevel, a power level to use to send this packet. The real transmission power is calculated as txPowerMin + txPowerLevel * (txPowerMax - txPowerMin) / nTxLevels
preamblethe type of preamble to use to send this packet.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::MacLow::ForwardDown(), and ns3::MacLow::SendMpdu().

+ Here is the caller graph for this function:

virtual void ns3::WifiPhy::SendPacket ( Ptr< const Packet packet,
WifiTxVector  txVector,
enum WifiPreamble  preamble,
enum mpduType  mpdutype 
)
pure virtual
Parameters
packetthe packet to send
txVectorthe TXVECTOR that has tx parameters such as mode, the transmission mode to use to send this packet, and txPowerLevel, a power level to use to send this packet. The real transmission power is calculated as txPowerMin + txPowerLevel * (txPowerMax - txPowerMin) / nTxLevels
preamblethe type of preamble to use to send this packet.
mpdutypethe type of the MPDU as defined in WifiPhy::mpduType.

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetChannelNumber ( uint16_t  id)
pure virtual

Set channel number.

Channel center frequency = Channel starting frequency + 5 MHz * (nch - 1)

where Starting channel frequency is standard-dependent, see SetStandard() as defined in (Section 18.3.8.4.2 "Channel numbering"; IEEE Std 802.11-2012).

Parameters
idthe channel number

Implemented in ns3::YansWifiPhy.

Referenced by ns3::DefaultChannelScheduler::AssignDefaultCchAccess(), ns3::WaveHelper::Install(), InterferenceHelperSequenceTest::SwitchCh(), and ns3::DefaultChannelScheduler::SwitchToNextChannel().

+ Here is the caller graph for this function:

virtual void ns3::WifiPhy::SetChannelWidth ( uint32_t  channelwidth)
pure virtual
Parameters
channelwidthchannel width

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetFrequency ( uint32_t  freq)
pure virtual
Parameters
freqthe operating frequency on this node.

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetGreenfield ( bool  greenfield)
pure virtual
Parameters
greenfieldEnable or disable GreenField

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetGuardInterval ( bool  guardInterval)
pure virtual
Parameters
guardIntervalEnable or disable short guard interval

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetLdpc ( bool  ldpc)
pure virtual
Parameters
ldpcEnable or disable LDPC

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetNumberOfReceiveAntennas ( uint32_t  rx)
pure virtual
Parameters
rxthe number of receivers on this node.

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetNumberOfTransmitAntennas ( uint32_t  tx)
pure virtual
Parameters
txthe number of transmitters on this node.

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetReceiveErrorCallback ( RxErrorCallback  callback)
pure virtual
Parameters
callbackthe callback to invoke upon erroneous packet reception.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::MacLow::ResetPhy(), and ns3::MacLow::SetPhy().

+ Here is the caller graph for this function:

virtual void ns3::WifiPhy::SetReceiveOkCallback ( RxOkCallback  callback)
pure virtual
Parameters
callbackthe callback to invoke upon successful packet reception.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::MacLow::ResetPhy(), and ns3::MacLow::SetPhy().

+ Here is the caller graph for this function:

virtual void ns3::WifiPhy::SetShortPlcpPreambleSupported ( bool  preamble)
pure virtual
Parameters
preamblesets whether short PLCP preamble is supported or not

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::SetSleepMode ( void  )
pure virtual

Put in sleep mode.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::WifiRadioEnergyModelHelper::DoInstall().

+ Here is the caller graph for this function:

virtual void ns3::WifiPhy::SetStbc ( bool  stbc)
pure virtual
Parameters
stbcEnable or disable STBC is supported

Implemented in ns3::YansWifiPhy.

virtual void ns3::WifiPhy::UnregisterListener ( WifiPhyListener listener)
pure virtual
Parameters
listenerthe listener to be unregistered

Remove the input listener from the list of objects to be notified of PHY-level events.

Implemented in ns3::YansWifiPhy.

Referenced by ns3::DcfManager::RemovePhyListener(), and ns3::MacLow::RemovePhyMacLowListener().

+ Here is the caller graph for this function:

Member Data Documentation

TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfo, struct signalNoiseDbm> ns3::WifiPhy::m_phyMonitorSniffRxTrace
private

A trace source that emulates a wifi device in monitor mode sniffing a packet being received.

As a reference with the real world, firing this trace corresponds in the madwifi driver to calling the function ieee80211_input_monitor()

See also
class CallBackTraceSource
Todo:
WifiTxVector and signalNoiseDbm should be be passed as const references because of their sizes.

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

Referenced by GetTypeId(), and NotifyMonitorSniffRx().

TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfo> ns3::WifiPhy::m_phyMonitorSniffTxTrace
private

A trace source that emulates a wifi device in monitor mode sniffing a packet being transmitted.

As a reference with the real world, firing this trace corresponds in the madwifi driver to calling the function ieee80211_input_monitor()

See also
class CallBackTraceSource
Todo:
WifiTxVector should be passed by const reference because of its size.

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

Referenced by GetTypeId(), and NotifyMonitorSniffTx().

TracedCallback<Ptr<const Packet> > ns3::WifiPhy::m_phyRxBeginTrace
private

The trace source fired when a packet begins the reception process from the medium.

See also
class CallBackTraceSource

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

Referenced by GetTypeId(), and NotifyRxBegin().

TracedCallback<Ptr<const Packet> > ns3::WifiPhy::m_phyRxDropTrace
private

The trace source fired when the phy layer drops a packet it has received.

See also
class CallBackTraceSource

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

Referenced by GetTypeId(), and NotifyRxDrop().

TracedCallback<Ptr<const Packet> > ns3::WifiPhy::m_phyRxEndTrace
private

The trace source fired when a packet ends the reception process from the medium.

See also
class CallBackTraceSource

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

Referenced by GetTypeId(), and NotifyRxEnd().

TracedCallback<Ptr<const Packet> > ns3::WifiPhy::m_phyTxBeginTrace
private

The trace source fired when a packet begins the transmission process on the medium.

See also
class CallBackTraceSource

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

Referenced by GetTypeId(), and NotifyTxBegin().

TracedCallback<Ptr<const Packet> > ns3::WifiPhy::m_phyTxDropTrace
private

The trace source fired when the phy layer drops a packet as it tries to transmit it.

See also
class CallBackTraceSource

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

Referenced by GetTypeId(), and NotifyTxDrop().

TracedCallback<Ptr<const Packet> > ns3::WifiPhy::m_phyTxEndTrace
private

The trace source fired when a packet ends the transmission process on the medium.

See also
class CallBackTraceSource

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

Referenced by GetTypeId(), and NotifyTxEnd().

double ns3::WifiPhy::m_totalAmpduNumSymbols
private

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.

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

Referenced by GetPayloadDuration(), and WifiPhy().

uint32_t ns3::WifiPhy::m_totalAmpduSize
private

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.

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

Referenced by GetPayloadDuration(), and WifiPhy().


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