802.11 PHY layer model More...
#include "wifi-phy.h"
Public Types | |
typedef std::pair< uint16_t, enum WifiPhyStandard > | ChannelNumberStandardPair |
A pair of a ChannelNumber and WifiPhyStandard. More... | |
typedef std::pair< uint32_t, uint32_t > | FrequencyWidthPair |
A pair of a center Frequency and a ChannelWidth. More... | |
typedef void(* | MonitorSnifferRxCallback) (Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise) |
TracedCallback signature for monitor mode receive events. More... | |
typedef void(* | MonitorSnifferTxCallback) (const Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu) |
TracedCallback signature for monitor mode transmit events. More... | |
typedef Callback< void, Ptr< Packet >, double > | RxErrorCallback |
arg1: packet received unsuccessfully arg2: snr of packet More... | |
typedef Callback< void, Ptr< Packet >, double, WifiTxVector, enum WifiPreamble > | RxOkCallback |
arg1: packet received successfully arg2: snr of packet arg3: TXVECTOR of packet arg4: type of preamble used for packet. More... | |
enum | State { IDLE, CCA_BUSY, TX, RX, SWITCHING, SLEEP } |
The state of the PHY layer. More... | |
Public Member Functions | |
WifiPhy () | |
virtual | ~WifiPhy () |
virtual void | AddSupportedChannelWidth (uint32_t channelwidth) |
virtual int64_t | AssignStreams (int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
Time | CalculatePlcpPreambleAndHeaderDuration (WifiTxVector txVector, enum WifiPreamble preamble) |
virtual double | CalculateSnr (WifiTxVector txVector, double ber) const |
Time | CalculateTxDuration (uint32_t size, WifiTxVector txVector, enum WifiPreamble preamble, double frequency) |
Time | CalculateTxDuration (uint32_t size, WifiTxVector txVector, enum WifiPreamble preamble, double frequency, enum mpduType mpdutype, uint8_t incFlag) |
virtual void | ConfigureStandard (enum WifiPhyStandard standard) |
Configure the PHY-level parameters for different Wi-Fi standard. More... | |
double | DbmToW (double dbm) const |
Convert from dBm to Watts. More... | |
double | DbToRatio (double db) const |
Convert from dB to ratio. More... | |
bool | DefineChannelNumber (uint16_t channelNumber, enum WifiPhyStandard standard, uint32_t frequency, uint32_t channelWidth) |
Add a channel definition to the WifiPhy. More... | |
virtual uint32_t | GetBssMembershipSelector (uint32_t selector) const |
The WifiPhy::BssMembershipSelector() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. More... | |
double | GetCcaMode1Threshold (void) const |
Return the CCA threshold (dBm). More... | |
virtual Ptr< WifiChannel > | GetChannel (void) const =0 |
Return the WifiChannel this WifiPhy is connected to. More... | |
virtual uint16_t | GetChannelNumber (void) const |
Return current channel number. More... | |
virtual Time | GetChannelSwitchDelay (void) const |
virtual uint32_t | GetChannelWidth (void) const |
virtual Time | GetDelayUntilIdle (void) |
Ptr< NetDevice > | GetDevice (void) const |
Return the device this PHY is associated with. More... | |
double | GetEdThreshold (void) const |
Return the energy detection threshold (dBm). More... | |
double | GetEdThresholdW (void) const |
Return the energy detection threshold. More... | |
Ptr< ErrorRateModel > | GetErrorRateModel (void) const |
Return the error rate model this PHY is using. More... | |
virtual uint32_t | GetFrequency (void) const |
virtual bool | GetGreenfield (void) const |
Return whether Greenfield is supported. More... | |
virtual bool | GetGuardInterval (void) const |
Return whether guard interval is being used. More... | |
virtual Time | GetLastRxStartTime (void) const |
Return the start time of the last received packet. More... | |
virtual bool | GetLdpc (void) const |
Return if LDPC is supported. More... | |
virtual WifiMode | GetMcs (uint8_t mcs) const |
The WifiPhy::GetMcs() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception MCS indexes that this WifiPhy(-derived class) can support - a set of MCS indexes which we call the DeviceMcsSet, and which is stored as WifiPhy::m_deviceMcsSet. More... | |
virtual WifiModeList | GetMembershipSelectorModes (uint32_t selector) |
The WifiPhy::GetMembershipSelectorModes() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. More... | |
Ptr< MobilityModel > | GetMobility (void) |
Return the mobility model this PHY is associated with. More... | |
virtual WifiMode | GetMode (uint32_t mode) const |
The WifiPhy::GetNModes() and WifiPhy::GetMode() methods are used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the DeviceRateSet, and which is stored as WifiPhy::m_deviceRateSet. More... | |
virtual uint32_t | GetNBssMembershipSelectors (void) const |
The WifiPhy::NBssMembershipSelectors() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. More... | |
virtual uint8_t | GetNMcs (void) const |
The WifiPhy::GetNMcs() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception MCS indexes that this WifiPhy(-derived class) can support - a set of MCS indexes which we call the DeviceMcsSet, and which is stored as WifiPhy::m_deviceMcsSet. More... | |
virtual uint32_t | GetNModes (void) const |
The WifiPhy::GetNModes() and WifiPhy::GetMode() methods are used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the DeviceRateSet, and which is stored as WifiPhy::m_deviceRateSet. More... | |
virtual uint32_t | GetNTxPower (void) const |
Return the number of available transmission power levels. More... | |
virtual uint32_t | GetNumberOfReceiveAntennas (void) const |
virtual uint32_t | GetNumberOfTransmitAntennas (void) const |
Time | GetPayloadDuration (uint32_t size, WifiTxVector txVector, WifiPreamble preamble, double frequency) |
Time | GetPayloadDuration (uint32_t size, WifiTxVector txVector, WifiPreamble preamble, double frequency, enum mpduType mpdutype, uint8_t incFlag) |
double | GetRxGain (void) const |
Return the reception gain (dB). More... | |
double | GetRxNoiseFigure (void) const |
Return the RX noise figure (dBm). More... | |
virtual bool | GetShortPlcpPreambleSupported (void) const |
Return whether short PLCP preamble is supported. More... | |
virtual enum WifiPhyStandard | GetStandard (void) const |
Get the configured Wi-Fi standard. More... | |
virtual Time | GetStateDuration (void) |
virtual bool | GetStbc (void) const |
Return whether STBC is supported. More... | |
virtual std::vector< uint32_t > | GetSupportedChannelWidthSet (void) const |
virtual uint8_t | GetSupportedRxSpatialStreams (void) const |
virtual uint8_t | GetSupportedTxSpatialStreams (void) const |
double | GetTxGain (void) const |
Return the transmission gain (dB). More... | |
virtual double | GetTxPowerEnd (void) const |
Return the maximum available transmission power level (dBm). More... | |
virtual double | GetTxPowerStart (void) const |
Return the minimum available transmission power level (dBm). More... | |
virtual bool | IsMcsSupported (WifiMode mcs) const |
Check if the given WifiMode is supported by the PHY. More... | |
virtual bool | IsModeSupported (WifiMode mode) const |
Check if the given WifiMode is supported by the PHY. More... | |
virtual bool | IsStateBusy (void) |
virtual bool | IsStateCcaBusy (void) |
virtual bool | IsStateIdle (void) |
virtual bool | IsStateRx (void) |
virtual bool | IsStateSleep (void) |
virtual bool | IsStateSwitching (void) |
virtual bool | IsStateTx (void) |
void | NotifyMonitorSniffRx (Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise) |
Public method used to fire a MonitorSniffer trace for a wifi packet being received. More... | |
void | NotifyMonitorSniffTx (Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu) |
Public method used to fire a MonitorSniffer trace for a wifi packet being transmitted. More... | |
void | NotifyRxBegin (Ptr< const Packet > packet) |
Public method used to fire a PhyRxBegin trace. More... | |
void | NotifyRxDrop (Ptr< const Packet > packet) |
Public method used to fire a PhyRxDrop trace. More... | |
void | NotifyRxEnd (Ptr< const Packet > packet) |
Public method used to fire a PhyRxEnd trace. More... | |
void | NotifyTxBegin (Ptr< const Packet > packet) |
Public method used to fire a PhyTxBegin trace. More... | |
void | NotifyTxDrop (Ptr< const Packet > packet) |
Public method used to fire a PhyTxDrop trace. More... | |
void | NotifyTxEnd (Ptr< const Packet > packet) |
Public method used to fire a PhyTxEnd trace. More... | |
double | RatioToDb (double ratio) const |
Convert from ratio to dB. More... | |
virtual void | RegisterListener (WifiPhyListener *listener)=0 |
virtual void | ResumeFromSleep (void)=0 |
Resume from sleep mode. More... | |
virtual void | SendPacket (Ptr< const Packet > packet, WifiTxVector txVector, enum WifiPreamble preamble)=0 |
virtual void | SendPacket (Ptr< const Packet > packet, WifiTxVector txVector, enum WifiPreamble preamble, enum mpduType mpdutype)=0 |
void | SetCcaMode1Threshold (double threshold) |
Sets the CCA threshold (dBm). More... | |
virtual void | SetChannelNumber (uint16_t id) |
Set channel number. More... | |
virtual void | SetChannelWidth (uint32_t channelwidth) |
void | SetDevice (Ptr< NetDevice > device) |
Sets the device this PHY is associated with. More... | |
void | SetEdThreshold (double threshold) |
Sets the energy detection threshold (dBm). More... | |
void | SetErrorRateModel (Ptr< ErrorRateModel > rate) |
Sets the error rate model. More... | |
virtual void | SetFrequency (uint32_t freq) |
virtual void | SetGreenfield (bool greenfield) |
Enable or disable Greenfield support. More... | |
virtual void | SetGuardInterval (bool guardInterval) |
Enable or disable short/long guard interval. More... | |
virtual void | SetLdpc (bool ldpc) |
Enable or disable LDPC. More... | |
void | SetMobility (Ptr< MobilityModel > mobility) |
assign a mobility model to this device More... | |
void | SetNTxPower (uint32_t n) |
Sets the number of transmission power levels available between the minimum level and the maximum level. More... | |
virtual void | SetNumberOfReceiveAntennas (uint32_t rx) |
virtual void | SetNumberOfTransmitAntennas (uint32_t tx) |
virtual void | SetReceiveErrorCallback (RxErrorCallback callback)=0 |
virtual void | SetReceiveOkCallback (RxOkCallback callback)=0 |
void | SetRxGain (double gain) |
Sets the reception gain (dB). More... | |
void | SetRxNoiseFigure (double noiseFigureDb) |
Sets the RX loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver. More... | |
virtual void | SetShortPlcpPreambleSupported (bool preamble) |
Enable or disable short PLCP preamble. More... | |
virtual void | SetSleepMode (void)=0 |
Put in sleep mode. More... | |
virtual void | SetStbc (bool stbc) |
Enable or disable STBC. More... | |
void | SetTxGain (double gain) |
Sets the transmission gain (dB). More... | |
void | SetTxPowerEnd (double end) |
Sets the maximum available transmission power level (dBm). More... | |
void | SetTxPowerStart (double start) |
Sets the minimum available transmission power level (dBm). More... | |
virtual void | UnregisterListener (WifiPhyListener *listener)=0 |
double | WToDbm (double w) const |
Convert from Watts to dBm. More... | |
![]() | |
Object () | |
Constructor. More... | |
virtual | ~Object () |
Destructor. More... | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. More... | |
void | Dispose (void) |
Dispose of this Object. More... | |
AggregateIterator | GetAggregateIterator (void) const |
Get an iterator to the Objects aggregated to this one. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Implement the GetInstanceTypeId method defined in ObjectBase. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. More... | |
void | Initialize (void) |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
bool | IsInitialized (void) const |
Check if the object has been initialized. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
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 TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Protected Member Functions | |
virtual bool | DoChannelSwitch (uint16_t id) |
The default implementation does nothing and returns true. More... | |
virtual void | DoDispose (void) |
Destructor implementation. More... | |
virtual bool | DoFrequencySwitch (uint32_t frequency) |
The default implementation does nothing and returns true. More... | |
virtual void | DoInitialize (void) |
Initialize() implementation. More... | |
double | GetPowerDbm (uint8_t power) const |
Get the power of the given power level in dBm. More... | |
![]() | |
Object (const Object &o) | |
Copy an Object. More... | |
virtual void | NotifyNewAggregate (void) |
Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
Protected Attributes | |
EventId | m_endPlcpRxEvent |
EventId | m_endRxEvent |
InterferenceHelper | m_interference |
Pointer to InterferenceHelper. More... | |
uint16_t | m_mpdusNum |
carries the number of expected mpdus that are part of an A-MPDU More... | |
bool | m_plcpSuccess |
Flag if the PLCP of the packet or the first MPDU in an A-MPDU has been received. More... | |
Ptr< UniformRandomVariable > | m_random |
Provides uniform random variables. More... | |
uint32_t | m_rxMpduReferenceNumber |
A-MPDU reference number to identify all received subframes belonging to the same received A-MPDU. More... | |
Ptr< WifiPhyStateHelper > | m_state |
Pointer to WifiPhyStateHelper. More... | |
uint32_t | m_txMpduReferenceNumber |
A-MPDU reference number to identify all transmitted subframes belonging to the same received A-MPDU. More... | |
Private Types | |
typedef std::map< ChannelNumberStandardPair, FrequencyWidthPair > | ChannelToFrequencyWidthMap |
Private Member Functions | |
void | Configure80211_10Mhz (void) |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard with 10MHz channel spacing. More... | |
void | Configure80211_5Mhz () |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard with 5MHz channel spacing. More... | |
void | Configure80211a (void) |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard. More... | |
void | Configure80211ac (void) |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11ac standard. More... | |
void | Configure80211b (void) |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11b standard. More... | |
void | Configure80211g (void) |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11g standard. More... | |
void | Configure80211n (void) |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11n standard. More... | |
virtual void | ConfigureChannelForStandard (enum WifiPhyStandard standard) |
Configure the PHY-level parameters for different Wi-Fi standard. More... | |
virtual void | ConfigureDefaultsForStandard (enum WifiPhyStandard standard) |
Configure the PHY-level parameters for different Wi-Fi standard. More... | |
void | ConfigureHolland (void) |
void | ConfigureHtDeviceMcsSet (void) |
Configure the device Mcs set with the appropriate HtMcs modes for the number of available transmit spatial streams. More... | |
uint16_t | FindChannelNumberForFrequencyWidth (uint32_t frequency, uint32_t width) const |
Look for channel number matching the frequency and width. More... | |
FrequencyWidthPair | GetFrequencyWidthForChannelNumberStandard (uint16_t channelNumber, enum WifiPhyStandard standard) const |
Lookup frequency/width pair for channelNumber/standard pair. More... | |
void | InitializeFrequencyChannelNumber (void) |
post-construction setting of frequency and/or channel number More... | |
Private Attributes | |
std::vector< uint32_t > | m_bssMembershipSelectorSet |
double | m_ccaMode1ThresholdW |
Clear channel assessment (CCA) threshold in watts. More... | |
uint32_t | m_channelCenterFrequency |
Center frequency in MHz. More... | |
uint16_t | m_channelNumber |
Operating channel number. More... | |
Time | m_channelSwitchDelay |
Time required to switch between channel. More... | |
uint32_t | m_channelWidth |
Channel width. More... | |
Ptr< NetDevice > | m_device |
Pointer to the device. More... | |
WifiModeList | m_deviceMcsSet |
WifiModeList | m_deviceRateSet |
This vector holds the set of transmission modes that this WifiPhy(-derived class) can support. More... | |
double | m_edThresholdW |
Energy detection threshold in watts. More... | |
bool | m_frequencyChannelNumberInitialized |
Store initialization state. More... | |
bool | m_greenfield |
Flag if GreenField format is supported. More... | |
bool | m_guardInterval |
Flag if short guard interval is used. More... | |
uint16_t | m_initialChannelNumber |
Initial channel number. More... | |
uint32_t | m_initialFrequency |
Store frequency until initialization. More... | |
bool | m_isConstructed |
true when ready to set frequency More... | |
bool | m_ldpc |
Flag if LDPC is used. More... | |
Ptr< MobilityModel > | m_mobility |
Pointer to the mobility model. More... | |
uint32_t | m_nTxPower |
Number of available transmission power levels. More... | |
uint32_t | m_numberOfReceivers |
Number of receivers. More... | |
uint32_t | m_numberOfTransmitters |
Number of transmitters. More... | |
TracedCallback< Ptr< const Packet >, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfo, struct signalNoiseDbm > | m_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 mpduInfo > | m_phyMonitorSniffTxTrace |
A trace source that emulates a wifi device in monitor mode sniffing a packet being transmitted. More... | |
TracedCallback< Ptr< const Packet > > | m_phyRxBeginTrace |
The trace source fired when a packet begins the reception process from the medium. More... | |
TracedCallback< Ptr< const Packet > > | m_phyRxDropTrace |
The trace source fired when the phy layer drops a packet it has received. More... | |
TracedCallback< Ptr< const Packet > > | m_phyRxEndTrace |
The trace source fired when a packet ends the reception process from the medium. More... | |
TracedCallback< Ptr< const Packet > > | m_phyTxBeginTrace |
The trace source fired when a packet begins the transmission process on the medium. More... | |
TracedCallback< Ptr< const Packet > > | m_phyTxDropTrace |
The trace source fired when the phy layer drops a packet as it tries to transmit it. More... | |
TracedCallback< Ptr< const Packet > > | m_phyTxEndTrace |
The trace source fired when a packet ends the transmission process on the medium. More... | |
double | m_rxGainDb |
Reception gain (dB) More... | |
bool | m_shortPreamble |
Flag if short PLCP preamble is supported. More... | |
enum WifiPhyStandard | m_standard |
WifiPhyStandard. More... | |
bool | m_stbc |
Flag if STBC is used. More... | |
std::vector< uint32_t > | m_supportedChannelWidthSet |
Supported channel width. More... | |
double | m_totalAmpduNumSymbols |
Number of symbols previously transmitted for the MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU. More... | |
uint32_t | m_totalAmpduSize |
Total size of the previously transmitted MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU. More... | |
double | m_txGainDb |
Transmission gain (dB) More... | |
double | m_txPowerBaseDbm |
Minimum transmission power (dBm) More... | |
double | m_txPowerEndDbm |
Maximum transmission power (dBm) More... | |
Static Private Attributes | |
static ChannelToFrequencyWidthMap | m_channelToFrequencyWidth |
This table maintains the mapping of valid ChannelNumber to Frequency/ChannelWidth pairs. More... | |
Additional Inherited Members | |
![]() | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
802.11 PHY layer model
ns3::WifiPhy is accessible through the following paths with Config::Set and Config::Connect:
Size of this type is 536 bytes (on a 64-bit architecture).
Definition at line 162 of file wifi-phy.h.
typedef std::pair<uint16_t, enum WifiPhyStandard> ns3::WifiPhy::ChannelNumberStandardPair |
A pair of a ChannelNumber and WifiPhyStandard.
Definition at line 613 of file wifi-phy.h.
|
private |
Definition at line 1823 of file wifi-phy.h.
typedef std::pair<uint32_t, uint32_t> ns3::WifiPhy::FrequencyWidthPair |
A pair of a center Frequency and a ChannelWidth.
Definition at line 617 of file wifi-phy.h.
typedef void(* ns3::WifiPhy::MonitorSnifferRxCallback) (Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise) |
TracedCallback signature for monitor mode receive events.
packet | the packet being received |
channelFreqMhz | the 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. |
channelNumber | the channel on which the packet is received |
rate | the PHY data rate in units of 500kbps (i.e., the same units used both for the radiotap and for the prism header) |
preamble | the preamble of the packet |
txVector | the TXVECTOR that holds rx parameters |
aMpdu | the 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) |
signalNoise | signal power and noise power in dBm |
Definition at line 1197 of file wifi-phy.h.
typedef void(* ns3::WifiPhy::MonitorSnifferTxCallback) (const Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txVector, struct mpduInfo aMpdu) |
TracedCallback signature for monitor mode transmit events.
packet | the packet being transmitted |
channelFreqMhz | the frequency in MHz at which the packet is transmitted. |
channelNumber | the channel on which the packet is transmitted |
rate | the PHY data rate in units of 500kbps (i.e., the same units used both for the radiotap and for the prism header) |
preamble | the preamble of the packet |
txVector | the TXVECTOR that holds tx parameters |
aMpdu | the 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 1236 of file wifi-phy.h.
typedef Callback<void, Ptr<Packet>, double> ns3::WifiPhy::RxErrorCallback |
arg1: packet received unsuccessfully arg2: snr of packet
Definition at line 207 of file wifi-phy.h.
typedef Callback<void, Ptr<Packet>, double, WifiTxVector, enum WifiPreamble> ns3::WifiPhy::RxOkCallback |
arg1: packet received successfully arg2: snr of packet arg3: TXVECTOR of packet arg4: type of preamble used for packet.
Definition at line 202 of file wifi-phy.h.
ns3::WifiPhy::WifiPhy | ( | ) |
Definition at line 343 of file wifi-phy.cc.
References m_random, m_state, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 365 of file wifi-phy.cc.
References NS_LOG_FUNCTION.
|
virtual |
channelwidth | channel width (in MHz) to support |
Definition at line 1246 of file wifi-phy.cc.
References m_supportedChannelWidthSet, and NS_LOG_FUNCTION.
Referenced by SetChannelWidth().
|
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.
stream | first stream index to use |
Definition at line 2960 of file wifi-phy.cc.
References m_random, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
Time ns3::WifiPhy::CalculatePlcpPreambleAndHeaderDuration | ( | WifiTxVector | txVector, |
enum WifiPreamble | preamble | ||
) |
txVector | the transmission parameters used for this packet |
preamble | the type of preamble to use for this packet. |
Definition at line 1921 of file wifi-phy.cc.
References GetPlcpHeaderDuration(), GetPlcpHtSigHeaderDuration(), GetPlcpHtTrainingSymbolDuration(), GetPlcpPreambleDuration(), GetPlcpVhtSigA1Duration(), GetPlcpVhtSigA2Duration(), and GetPlcpVhtSigBDuration().
Referenced by CalculateTxDuration(), ns3::YansWifiPhy::StartReceivePreambleAndHeader(), and ns3::SpectrumWifiPhy::StartRx().
|
virtual |
txVector | the transmission vector |
ber | the probability of bit error rate |
Definition at line 665 of file wifi-phy.cc.
References ns3::InterferenceHelper::GetErrorRateModel(), and m_interference.
Time ns3::WifiPhy::CalculateTxDuration | ( | uint32_t | size, |
WifiTxVector | txVector, | ||
enum WifiPreamble | preamble, | ||
double | frequency | ||
) |
size | the number of bytes in the packet to send |
txVector | the TXVECTOR used for the transmission of this packet |
preamble | the type of preamble to use for this packet. |
frequency | the channel center frequency (MHz) |
Definition at line 1942 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(), SpectrumWifiPhyBasicTest::MakeSignal(), ns3::MacLow::NotifyNav(), ns3::MacLow::SendCtsToSelf(), ns3::MacLow::SendDataAfterCts(), ns3::MacLow::SendDataPacket(), ns3::YansWifiPhy::SendPacket(), ns3::SpectrumWifiPhy::SendPacket(), ns3::MacLow::SendRtsForPacket(), NodeStatistics::SetupPhy(), ns3::MinstrelWifiManager::SetupPhy(), ns3::MacLow::StartDataTxTimers(), and ns3::MacLow::StopMpduAggregation().
Time ns3::WifiPhy::CalculateTxDuration | ( | uint32_t | size, |
WifiTxVector | txVector, | ||
enum WifiPreamble | preamble, | ||
double | frequency, | ||
enum mpduType | mpdutype, | ||
uint8_t | incFlag | ||
) |
size | the number of bytes in the packet to send |
txVector | the TXVECTOR used for the transmission of this packet |
preamble | the type of preamble to use for this packet. |
frequency | the channel center frequency (MHz) |
mpdutype | the type of the MPDU as defined in WifiPhy::mpduType. |
incFlag | this 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. |
Definition at line 1934 of file wifi-phy.cc.
References CalculatePlcpPreambleAndHeaderDuration(), and GetPayloadDuration().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard with 10MHz channel spacing.
Definition at line 782 of file wifi-phy.cc.
References GetOfdmRate12MbpsBW10MHz(), GetOfdmRate18MbpsBW10MHz(), GetOfdmRate24MbpsBW10MHz(), GetOfdmRate27MbpsBW10MHz(), GetOfdmRate3MbpsBW10MHz(), GetOfdmRate4_5MbpsBW10MHz(), GetOfdmRate6MbpsBW10MHz(), GetOfdmRate9MbpsBW10MHz(), m_deviceRateSet, and NS_LOG_FUNCTION.
Referenced by ConfigureStandard().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard with 5MHz channel spacing.
Definition at line 797 of file wifi-phy.cc.
References GetOfdmRate12MbpsBW5MHz(), GetOfdmRate13_5MbpsBW5MHz(), GetOfdmRate1_5MbpsBW5MHz(), GetOfdmRate2_25MbpsBW5MHz(), GetOfdmRate3MbpsBW5MHz(), GetOfdmRate4_5MbpsBW5MHz(), GetOfdmRate6MbpsBW5MHz(), GetOfdmRate9MbpsBW5MHz(), m_deviceRateSet, and NS_LOG_FUNCTION.
Referenced by ConfigureStandard().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11a standard.
Definition at line 740 of file wifi-phy.cc.
References GetOfdmRate12Mbps(), GetOfdmRate18Mbps(), GetOfdmRate24Mbps(), GetOfdmRate36Mbps(), GetOfdmRate48Mbps(), GetOfdmRate54Mbps(), GetOfdmRate6Mbps(), GetOfdmRate9Mbps(), m_deviceRateSet, and NS_LOG_FUNCTION.
Referenced by Configure80211n(), and ConfigureStandard().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11ac standard.
Definition at line 910 of file wifi-phy.cc.
References Configure80211n(), GetVhtMcs0(), GetVhtMcs1(), GetVhtMcs2(), GetVhtMcs3(), GetVhtMcs4(), GetVhtMcs5(), GetVhtMcs6(), GetVhtMcs7(), GetVhtMcs8(), GetVhtMcs9(), m_bssMembershipSelectorSet, m_deviceMcsSet, NS_LOG_FUNCTION, and VHT_PHY.
Referenced by ConfigureStandard().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11b standard.
Definition at line 755 of file wifi-phy.cc.
References GetDsssRate11Mbps(), GetDsssRate1Mbps(), GetDsssRate2Mbps(), GetDsssRate5_5Mbps(), m_deviceRateSet, and NS_LOG_FUNCTION.
Referenced by Configure80211g(), Configure80211n(), and ConfigureStandard().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11g standard.
Definition at line 766 of file wifi-phy.cc.
References Configure80211b(), GetErpOfdmRate12Mbps(), GetErpOfdmRate18Mbps(), GetErpOfdmRate24Mbps(), GetErpOfdmRate36Mbps(), GetErpOfdmRate48Mbps(), GetErpOfdmRate54Mbps(), GetErpOfdmRate6Mbps(), GetErpOfdmRate9Mbps(), m_deviceRateSet, and NS_LOG_FUNCTION.
Referenced by Configure80211n(), and ConfigureStandard().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11n standard.
Definition at line 893 of file wifi-phy.cc.
References Configure80211a(), Configure80211b(), Configure80211g(), ConfigureHtDeviceMcsSet(), GetFrequency(), HT_PHY, m_bssMembershipSelectorSet, and NS_LOG_FUNCTION.
Referenced by Configure80211ac(), and ConfigureStandard().
|
privatevirtual |
Configure the PHY-level parameters for different Wi-Fi standard.
This method is called when the Frequency or ChannelNumber attributes are set by the user. If the Frequency or ChannelNumber are valid for the standard, they are used instead.
standard | the Wi-Fi standard |
Definition at line 975 of file wifi-phy.cc.
References f(), FindChannelNumberForFrequencyWidth(), GetChannelNumber(), GetChannelWidth(), GetFrequency(), GetFrequencyWidthForChannelNumberStandard(), NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, SetChannelNumber(), SetChannelWidth(), SetFrequency(), and ns3::WIFI_PHY_STANDARD_UNSPECIFIED.
Referenced by ConfigureStandard().
|
privatevirtual |
Configure the PHY-level parameters for different Wi-Fi standard.
This method is called when defaults for each standard must be selected.
standard | the Wi-Fi standard |
Definition at line 671 of file wifi-phy.cc.
References GetChannelNumber(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_WARN, SetChannelWidth(), SetFrequency(), ns3::WIFI_PHY_STANDARD_80211_10MHZ, ns3::WIFI_PHY_STANDARD_80211_5MHZ, ns3::WIFI_PHY_STANDARD_80211a, ns3::WIFI_PHY_STANDARD_80211ac, ns3::WIFI_PHY_STANDARD_80211b, ns3::WIFI_PHY_STANDARD_80211g, ns3::WIFI_PHY_STANDARD_80211n_2_4GHZ, ns3::WIFI_PHY_STANDARD_80211n_5GHZ, ns3::WIFI_PHY_STANDARD_holland, and ns3::WIFI_PHY_STANDARD_UNSPECIFIED.
Referenced by ConfigureStandard().
|
private |
Definition at line 812 of file wifi-phy.cc.
References GetOfdmRate12Mbps(), GetOfdmRate18Mbps(), GetOfdmRate36Mbps(), GetOfdmRate54Mbps(), GetOfdmRate6Mbps(), m_deviceRateSet, and NS_LOG_FUNCTION.
Referenced by ConfigureStandard().
|
private |
Configure the device Mcs set with the appropriate HtMcs modes for the number of available transmit spatial streams.
Definition at line 824 of file wifi-phy.cc.
References GetHtMcs0(), GetHtMcs1(), GetHtMcs10(), GetHtMcs11(), GetHtMcs12(), GetHtMcs13(), GetHtMcs14(), GetHtMcs15(), GetHtMcs16(), GetHtMcs17(), GetHtMcs18(), GetHtMcs19(), GetHtMcs2(), GetHtMcs20(), GetHtMcs21(), GetHtMcs22(), GetHtMcs23(), GetHtMcs24(), GetHtMcs25(), GetHtMcs26(), GetHtMcs27(), GetHtMcs28(), GetHtMcs29(), GetHtMcs3(), GetHtMcs30(), GetHtMcs31(), GetHtMcs4(), GetHtMcs5(), GetHtMcs6(), GetHtMcs7(), GetHtMcs8(), GetHtMcs9(), GetSupportedTxSpatialStreams(), HT_PHY, m_bssMembershipSelectorSet, m_deviceMcsSet, NS_LOG_FUNCTION, and ns3::WIFI_MOD_CLASS_HT.
Referenced by Configure80211n(), and SetNumberOfTransmitAntennas().
|
virtual |
Configure the PHY-level parameters for different Wi-Fi standard.
standard | the Wi-Fi standard |
Definition at line 1026 of file wifi-phy.cc.
References Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211ac(), Configure80211b(), Configure80211g(), Configure80211n(), ConfigureChannelForStandard(), ConfigureDefaultsForStandard(), ConfigureHolland(), GetChannelNumber(), GetFrequency(), InitializeFrequencyChannelNumber(), m_frequencyChannelNumberInitialized, m_isConstructed, m_standard, NS_ASSERT, NS_LOG_FUNCTION, ns3::WIFI_PHY_STANDARD_80211_10MHZ, ns3::WIFI_PHY_STANDARD_80211_5MHZ, ns3::WIFI_PHY_STANDARD_80211a, ns3::WIFI_PHY_STANDARD_80211ac, ns3::WIFI_PHY_STANDARD_80211b, ns3::WIFI_PHY_STANDARD_80211g, ns3::WIFI_PHY_STANDARD_80211n_2_4GHZ, ns3::WIFI_PHY_STANDARD_80211n_5GHZ, and ns3::WIFI_PHY_STANDARD_holland.
Referenced by ns3::MeshHelper::CreateInterface(), AmpduAggregationTest::DoRun(), TwoLevelAggregationTest::DoRun(), SpectrumWifiPhyBasicTest::DoSetup(), ns3::WaveHelper::Install(), ns3::WifiHelper::Install(), PsrExperiment::Run(), InterferenceExperiment::Run(), and CollisionExperiment::Run().
double ns3::WifiPhy::DbmToW | ( | double | dbm | ) | const |
Convert from dBm to Watts.
dbm | the power in dBm |
Definition at line 2881 of file wifi-phy.cc.
Referenced by ns3::YansWifiPhy::ResumeFromSleep(), ns3::SpectrumWifiPhy::ResumeFromSleep(), ns3::SpectrumWifiPhy::SendPacket(), SetCcaMode1Threshold(), SetEdThreshold(), ns3::YansWifiPhy::StartReceivePreambleAndHeader(), and ns3::SpectrumWifiPhy::SwitchMaybeToCcaBusy().
double ns3::WifiPhy::DbToRatio | ( | double | db | ) | const |
Convert from dB to ratio.
db |
Definition at line 2874 of file wifi-phy.cc.
Referenced by SetRxNoiseFigure(), and ns3::SpectrumWifiPhy::StartRx().
bool ns3::WifiPhy::DefineChannelNumber | ( | uint16_t | channelNumber, |
enum WifiPhyStandard | standard, | ||
uint32_t | frequency, | ||
uint32_t | channelWidth | ||
) |
Add a channel definition to the WifiPhy.
The pair (channelNumber, WifiPhyStandard) may then be used to lookup a pair (frequency, channelWidth).
If the channel is not already defined for the standard, the method should return true; otherwise false.
channelNumber | the channel number to define |
standard | the applicable WifiPhyStandard |
frequency | the frequency (MHz) |
channelWidth | the channel width (MHz) |
Definition at line 930 of file wifi-phy.cc.
References f(), m_channelToFrequencyWidth, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by SetChannelFrequencyTest::DoRun().
|
protectedvirtual |
The default implementation does nothing and returns true.
This method is typically called internally by SetChannelNumber ().
Perform any actions necessary when user changes channel number
id | channel number to try to switch to |
Reimplemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.
Definition at line 1335 of file wifi-phy.cc.
Referenced by SetChannelNumber().
|
protectedvirtual |
Destructor implementation.
This method is called by Dispose() or by the Object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.
It is safe to call GetObject() from within this method.
Reimplemented from ns3::Object.
Reimplemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.
Definition at line 371 of file wifi-phy.cc.
References m_device, m_deviceMcsSet, m_deviceRateSet, m_mobility, m_state, and NS_LOG_FUNCTION.
|
protectedvirtual |
The default implementation does nothing and returns true.
This method is typically called internally by SetFrequency ().
Perform any actions necessary when user changes frequency
frequency | frequency to try to switch to |
Reimplemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.
Definition at line 1341 of file wifi-phy.cc.
Referenced by SetFrequency().
|
protectedvirtual |
Initialize() implementation.
This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.
Reimplemented from ns3::Object.
Reimplemented in ns3::SpectrumWifiPhy.
Definition at line 382 of file wifi-phy.cc.
References InitializeFrequencyChannelNumber(), m_frequencyChannelNumberInitialized, m_isConstructed, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by ns3::SpectrumWifiPhy::DoInitialize().
|
private |
Look for channel number matching the frequency and width.
frequency | The center frequency to use |
width | The channel width to use |
Definition at line 947 of file wifi-phy.cc.
References f(), m_channelToFrequencyWidth, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by ConfigureChannelForStandard(), and SetFrequency().
|
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.
selector | index in array of supported memberships |
Definition at line 1206 of file wifi-phy.cc.
References m_bssMembershipSelectorSet.
Referenced by GetMembershipSelectorModes(), ns3::StaWifiMac::GetSupportedRates(), ns3::ApWifiMac::GetSupportedRates(), and ns3::StaWifiMac::Receive().
double ns3::WifiPhy::GetCcaMode1Threshold | ( | void | ) | const |
Return the CCA threshold (dBm).
Definition at line 449 of file wifi-phy.cc.
References m_ccaMode1ThresholdW, and WToDbm().
Referenced by GetTypeId(), ns3::YansWifiPhy::ResumeFromSleep(), ns3::SpectrumWifiPhy::ResumeFromSleep(), ns3::YansWifiPhy::StartReceivePreambleAndHeader(), and ns3::SpectrumWifiPhy::SwitchMaybeToCcaBusy().
|
pure virtual |
Return the WifiChannel this WifiPhy is connected to.
Implemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.
Referenced by ns3::WifiNetDevice::DoGetChannel(), ns3::WifiNetDevice::GetChannel(), and ns3::WaveNetDevice::GetChannel().
|
virtual |
Return current channel number.
Definition at line 1329 of file wifi-phy.cc.
References m_channelNumber.
Referenced by ConfigureChannelForStandard(), ConfigureDefaultsForStandard(), ConfigureStandard(), ns3::YansWifiPhy::DoChannelSwitch(), ns3::SpectrumWifiPhy::DoChannelSwitch(), SetChannelFrequencyTest::DoRun(), ns3::YansWifiPhy::EndReceive(), ns3::SpectrumWifiPhy::EndReceive(), ns3::ApWifiMac::GetDsssParameterSet(), ns3::MeshWifiInterfaceMac::GetFrequencyChannel(), ns3::SpectrumWifiPhy::GetOperationalChannelList(), GetTypeId(), InitializeFrequencyChannelNumber(), ns3::YansWifiChannel::Send(), ns3::YansWifiPhy::SendPacket(), ns3::SpectrumWifiPhy::SendPacket(), SetChannelNumber(), ns3::WaveMacLow::StartTransmission(), and ns3::DefaultChannelScheduler::SwitchToNextChannel().
|
virtual |
Definition at line 659 of file wifi-phy.cc.
References m_channelSwitchDelay.
Referenced by ns3::DefaultChannelScheduler::AssignDefaultCchAccess(), ns3::YansWifiPhy::DoChannelSwitch(), ns3::SpectrumWifiPhy::DoChannelSwitch(), ns3::YansWifiPhy::DoFrequencySwitch(), ns3::SpectrumWifiPhy::DoFrequencySwitch(), and ns3::DefaultChannelScheduler::SwitchToNextChannel().
|
virtual |
Definition at line 1157 of file wifi-phy.cc.
References m_channelWidth.
Referenced by ns3::WifiRemoteStationManager::AddStationVhtCapabilities(), ns3::MeshWifiInterfaceMac::CheckSupportedRates(), ConfigureChannelForStandard(), ns3::SpectrumWifiPhy::DoChannelSwitch(), ns3::SpectrumWifiPhy::DoFrequencySwitch(), ns3::WifiRemoteStationManager::DoGetAckTxChannelWidth(), ns3::WifiRemoteStationManager::DoGetBlockAckTxChannelWidth(), ns3::WifiRemoteStationManager::DoGetCtsToSelfTxVector(), ns3::WifiRemoteStationManager::DoGetCtsTxChannelWidth(), ns3::IdealWifiManager::DoInitialize(), SetChannelFrequencyTest::DoRun(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::SpectrumWifiPhy::GetRxSpectrumModel(), ns3::MeshWifiInterfaceMac::GetSupportedRates(), ns3::StaWifiMac::GetSupportedRates(), ns3::ApWifiMac::GetSupportedRates(), GetTypeId(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::WifiRemoteStationManager::LookupState(), ns3::StaWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::SpectrumWifiPhy::SendPacket(), SetFrequency(), and ns3::SpectrumWifiPhy::StartRx().
|
virtual |
The PHY will never become WifiPhy::IDLE before the delay returned by this method but it could become really idle later.
Definition at line 2948 of file wifi-phy.cc.
References m_state.
Referenced by ns3::YansWifiPhy::DoChannelSwitch(), ns3::SpectrumWifiPhy::DoChannelSwitch(), ns3::YansWifiPhy::DoFrequencySwitch(), ns3::SpectrumWifiPhy::DoFrequencySwitch(), ns3::YansWifiPhy::SetSleepMode(), and ns3::SpectrumWifiPhy::SetSleepMode().
Return the device this PHY is associated with.
Definition at line 604 of file wifi-phy.cc.
References m_device.
|
static |
Return a WifiMode for DSSS at 11Mbps.
Definition at line 2038 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_UNDEFINED, and ns3::WIFI_MOD_CLASS_HR_DSSS.
Referenced by Configure80211b(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for DSSS at 1Mbps.
Definition at line 1999 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_UNDEFINED, and ns3::WIFI_MOD_CLASS_DSSS.
Referenced by Configure80211b(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().
|
static |
Return a WifiMode for DSSS at 2Mbps.
Definition at line 2011 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_UNDEFINED, and ns3::WIFI_MOD_CLASS_DSSS.
Referenced by Configure80211b(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().
|
static |
Return a WifiMode for DSSS at 5.5Mbps.
Definition at line 2026 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_UNDEFINED, and ns3::WIFI_MOD_CLASS_HR_DSSS.
Referenced by Configure80211b(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
double ns3::WifiPhy::GetEdThreshold | ( | void | ) | const |
Return the energy detection threshold (dBm).
Definition at line 436 of file wifi-phy.cc.
References m_edThresholdW, and WToDbm().
Referenced by GetTypeId().
double ns3::WifiPhy::GetEdThresholdW | ( | void | ) | const |
Return the energy detection threshold.
Definition at line 430 of file wifi-phy.cc.
References m_edThresholdW.
Referenced by ns3::YansWifiPhy::StartReceivePreambleAndHeader(), and ns3::SpectrumWifiPhy::StartRx().
|
static |
Return a WifiMode for ERP-OFDM at 12Mbps.
Definition at line 2077 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_ERP_OFDM.
Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for ERP-OFDM at 18Mbps.
Definition at line 2089 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_ERP_OFDM.
Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for ERP-OFDM at 24Mbps.
Definition at line 2101 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_ERP_OFDM.
Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for ERP-OFDM at 36Mbps.
Definition at line 2113 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_ERP_OFDM.
Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for ERP-OFDM at 48Mbps.
Definition at line 2125 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_2_3, and ns3::WIFI_MOD_CLASS_ERP_OFDM.
Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for ERP-OFDM at 54Mbps.
Definition at line 2137 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_ERP_OFDM.
Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for ERP-OFDM at 6Mbps.
Definition at line 2053 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_ERP_OFDM.
Referenced by Configure80211g(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().
|
static |
Return a WifiMode for ERP-OFDM at 9Mbps.
Definition at line 2065 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_ERP_OFDM.
Referenced by Configure80211g(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
Ptr< ErrorRateModel > ns3::WifiPhy::GetErrorRateModel | ( | void | ) | const |
Return the error rate model this PHY is using.
Definition at line 635 of file wifi-phy.cc.
References ns3::InterferenceHelper::GetErrorRateModel(), and m_interference.
|
virtual |
Definition at line 1143 of file wifi-phy.cc.
References m_channelCenterFrequency.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), ns3::MacLow::CalculateOverallTxTime(), ns3::MacLow::CalculateTransmissionTime(), Configure80211n(), ConfigureChannelForStandard(), ConfigureStandard(), ns3::SpectrumWifiPhy::DoChannelSwitch(), ns3::YansWifiPhy::DoFrequencySwitch(), ns3::SpectrumWifiPhy::DoFrequencySwitch(), SetChannelFrequencyTest::DoRun(), ns3::YansWifiPhy::EndReceive(), ns3::SpectrumWifiPhy::EndReceive(), ns3::MacLow::ForwardDown(), ns3::MacLow::GetAckDuration(), ns3::MacLow::GetBlockAckDuration(), ns3::MacLow::GetCtsDuration(), ns3::SpectrumWifiPhy::GetRxSpectrumModel(), GetTypeId(), SpectrumWifiPhyBasicTest::MakeSignal(), ns3::MacLow::NotifyNav(), ns3::MacLow::SendCtsToSelf(), ns3::MacLow::SendDataAfterCts(), ns3::MacLow::SendDataPacket(), ns3::YansWifiPhy::SendPacket(), ns3::SpectrumWifiPhy::SendPacket(), ns3::MacLow::SendRtsForPacket(), SetFrequency(), NodeStatistics::SetupPhy(), ns3::MinstrelWifiManager::SetupPhy(), ns3::MacLow::StartDataTxTimers(), ns3::SpectrumWifiPhy::StartRx(), and ns3::MacLow::StopMpduAggregation().
|
private |
Lookup frequency/width pair for channelNumber/standard pair.
channelNumber | The channel number to check |
standard | The WifiPhyStandard to check |
Definition at line 1267 of file wifi-phy.cc.
References f(), and m_channelToFrequencyWidth.
Referenced by ConfigureChannelForStandard(), and SetChannelNumber().
|
virtual |
Return whether Greenfield is supported.
Definition at line 566 of file wifi-phy.cc.
References m_greenfield.
Referenced by ns3::MacLow::CalculateOverallTxTime(), ns3::MacLow::CalculateTransmissionTime(), ns3::RegularWifiMac::GetHtCapabilities(), GetTypeId(), ns3::WifiRemoteStationManager::LookupState(), ns3::MacLow::SendDataAfterCts(), ns3::MacLow::SendDataPacket(), ns3::MacLow::SendRtsForPacket(), ns3::MacLow::StartDataTxTimers(), and ns3::MacLow::StopMpduAggregation().
|
virtual |
Return whether guard interval is being used.
Definition at line 579 of file wifi-phy.cc.
References m_guardInterval.
Referenced by ns3::MeshWifiInterfaceMac::CheckSupportedRates(), ns3::WifiRemoteStationManager::DoGetAckTxGuardInterval(), ns3::WifiRemoteStationManager::DoGetBlockAckTxGuardInterval(), ns3::WifiRemoteStationManager::DoGetCtsToSelfTxVector(), ns3::WifiRemoteStationManager::DoGetCtsTxGuardInterval(), ns3::IdealWifiManager::DoInitialize(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::MeshWifiInterfaceMac::GetSupportedRates(), GetTypeId(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::WifiRemoteStationManager::LookupState(), and ns3::MeshWifiInterfaceMac::Receive().
|
static |
Return MCS 0 from HT MCS values.
Definition at line 2449 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), GetHtPlcpHeaderMode(), and GetMembershipSelectorModes().
|
static |
Return MCS 1 from HT MCS values.
Definition at line 2457 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 10 from HT MCS values.
Definition at line 2529 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 11 from HT MCS values.
Definition at line 2537 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 12 from HT MCS values.
Definition at line 2545 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 13 from HT MCS values.
Definition at line 2553 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 14 from HT MCS values.
Definition at line 2561 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 15 from HT MCS values.
Definition at line 2569 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 16 from HT MCS values.
Definition at line 2577 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 17 from HT MCS values.
Definition at line 2585 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 18 from HT MCS values.
Definition at line 2593 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 19 from HT MCS values.
Definition at line 2601 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 2 from HT MCS values.
Definition at line 2465 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 20 from HT MCS values.
Definition at line 2609 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return MCS 21 from HT MCS values.
Definition at line 2617 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HT.
Referenced by ConfigureHtDeviceMcsSet(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().