802.11 PHY layer model More...
#include "wifi-phy.h"
Public Types | |
typedef std::pair< uint8_t, WifiPhyStandard > | ChannelNumberStandardPair |
A pair of a ChannelNumber and WifiPhyStandard. More... | |
typedef std::pair< uint16_t, uint8_t > | FrequencyWidthPair |
A pair of a center Frequency and a ChannelWidth. More... | |
typedef void(* | MonitorSnifferRxCallback) (Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise) |
TracedCallback signature for monitor mode receive events. More... | |
typedef void(* | MonitorSnifferTxCallback) (const Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu) |
TracedCallback signature for monitor mode transmit events. More... | |
Public Member Functions | |
WifiPhy () | |
virtual | ~WifiPhy () |
void | AddSupportedChannelWidth (uint8_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... | |
double | CalculateSnr (WifiTxVector txVector, double ber) const |
Time | CalculateTxDuration (uint32_t size, WifiTxVector txVector, uint16_t frequency) |
Time | CalculateTxDuration (uint32_t size, WifiTxVector txVector, uint16_t frequency, MpduType mpdutype, uint8_t incFlag) |
virtual void | ConfigureStandard (WifiPhyStandard standard) |
Configure the PHY-level parameters for different Wi-Fi standard. More... | |
bool | DefineChannelNumber (uint8_t channelNumber, WifiPhyStandard standard, uint16_t frequency, uint8_t channelWidth) |
Add a channel definition to the WifiPhy. More... | |
void | EndReceive (Ptr< Packet > packet, WifiPreamble preamble, MpduType mpdutype, Ptr< InterferenceHelper::Event > event) |
The last bit of the packet has arrived. More... | |
uint8_t | GetBssMembershipSelector (uint8_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< Channel > | GetChannel (void) const =0 |
Return the Channel this WifiPhy is connected to. More... | |
uint8_t | GetChannelNumber (void) const |
Return current channel number. More... | |
Time | GetChannelSwitchDelay (void) const |
uint8_t | GetChannelWidth (void) const |
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... | |
Ptr< FrameCaptureModel > | GetFrameCaptureModel (void) const |
Return the frame capture model this PHY is using. More... | |
uint16_t | GetFrequency (void) const |
bool | GetGreenfield (void) const |
Return whether Greenfield is supported. More... | |
Time | GetGuardInterval (void) const |
Time | GetLastRxStartTime (void) const |
Return the start time of the last received packet. More... | |
bool | GetLdpc (void) const |
Return if LDPC is supported. More... | |
uint8_t | GetMaxSupportedRxSpatialStreams (void) const |
uint8_t | GetMaxSupportedTxSpatialStreams (void) const |
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... | |
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) const |
Return the mobility model this PHY is associated with. More... | |
WifiMode | GetMode (uint8_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... | |
uint8_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... | |
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... | |
uint8_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... | |
uint8_t | GetNTxPower (void) const |
Return the number of available transmission power levels. More... | |
uint8_t | GetNumberOfAntennas (void) const |
Time | GetPayloadDuration (uint32_t size, WifiTxVector txVector, uint16_t frequency) |
Time | GetPayloadDuration (uint32_t size, WifiTxVector txVector, uint16_t frequency, MpduType mpdutype, uint8_t incFlag) |
double | GetPowerDbm (uint8_t power) const |
Get the power of the given power level in dBm. More... | |
double | GetRxGain (void) const |
Return the reception gain (dB). More... | |
double | GetRxNoiseFigure (void) const |
Return the RX noise figure (dBm). More... | |
bool | GetShortGuardInterval (void) const |
Return whether short guard interval is supported. More... | |
bool | GetShortPlcpPreambleSupported (void) const |
Return whether short PLCP preamble is supported. More... | |
WifiPhyStandard | GetStandard (void) const |
Get the configured Wi-Fi standard. More... | |
bool | GetStbc (void) const |
Return whether STBC is supported. More... | |
std::vector< uint8_t > | GetSupportedChannelWidthSet (void) const |
double | GetTxGain (void) const |
Return the transmission gain (dB). More... | |
double | GetTxPowerEnd (void) const |
Return the maximum available transmission power level (dBm). More... | |
double | GetTxPowerStart (void) const |
Return the minimum available transmission power level (dBm). More... | |
bool | IsMcsSupported (WifiMode mcs) const |
Check if the given WifiMode is supported by the PHY. More... | |
bool | IsModeSupported (WifiMode mode) const |
Check if the given WifiMode is supported by the PHY. More... | |
bool | IsStateCcaBusy (void) const |
bool | IsStateIdle (void) const |
bool | IsStateOff (void) const |
bool | IsStateRx (void) const |
bool | IsStateSleep (void) const |
bool | IsStateSwitching (void) const |
bool | IsStateTx (void) const |
void | NotifyMonitorSniffRx (Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, 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, WifiTxVector txVector, 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... | |
void | RegisterListener (WifiPhyListener *listener) |
void | ResumeFromOff (void) |
Resume from off mode. More... | |
void | ResumeFromSleep (void) |
Resume from sleep mode. More... | |
void | SendPacket (Ptr< const Packet > packet, WifiTxVector txVector, MpduType mpdutype=NORMAL_MPDU) |
void | SetCapabilitiesChangedCallback (Callback< void > callback) |
void | SetCcaMode1Threshold (double threshold) |
Sets the CCA threshold (dBm). More... | |
virtual void | SetChannelNumber (uint8_t id) |
Set channel number. More... | |
virtual void | SetChannelWidth (uint8_t channelwidth) |
void | SetDevice (const 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 (const Ptr< ErrorRateModel > rate) |
Sets the error rate model. More... | |
void | SetFrameCaptureModel (const Ptr< FrameCaptureModel > frameCaptureModel) |
Sets the frame capture model. More... | |
virtual void | SetFrequency (uint16_t freq) |
void | SetGreenfield (bool greenfield) |
Enable or disable Greenfield support. More... | |
void | SetGuardInterval (Time guardInterval) |
void | SetLdpc (bool ldpc) |
Enable or disable LDPC. More... | |
void | SetMaxSupportedRxSpatialStreams (uint8_t streams) |
void | SetMaxSupportedTxSpatialStreams (uint8_t streams) |
void | SetMobility (const Ptr< MobilityModel > mobility) |
assign a mobility model to this device More... | |
void | SetNTxPower (uint8_t n) |
Sets the number of transmission power levels available between the minimum level and the maximum level. More... | |
void | SetNumberOfAntennas (uint8_t antennas) |
void | SetOffMode (void) |
Put in off mode. More... | |
void | SetReceiveErrorCallback (RxErrorCallback callback) |
void | SetReceiveOkCallback (RxOkCallback callback) |
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... | |
void | SetShortGuardInterval (bool shortGuardInterval) |
Enable or disable support for HT/VHT short guard interval. More... | |
void | SetShortPlcpPreambleSupported (bool preamble) |
Enable or disable short PLCP preamble. More... | |
void | SetSleepMode (void) |
Put in sleep mode. More... | |
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... | |
void | SetWifiRadioEnergyModel (const Ptr< WifiRadioEnergyModel > wifiRadioEnergyModel) |
Sets the wifi radio energy model. More... | |
void | StartReceivePacket (Ptr< Packet > packet, WifiTxVector txVector, MpduType mpdutype, Ptr< InterferenceHelper::Event > event) |
Starting receiving the payload of a packet (i.e. More... | |
void | StartReceivePreambleAndHeader (Ptr< Packet > packet, double rxPowerW, Time rxDuration) |
Starting receiving the plcp of a packet (i.e. More... | |
virtual void | StartTx (Ptr< Packet > packet, WifiTxVector txVector, Time txDuration)=0 |
void | UnregisterListener (WifiPhyListener *listener) |
![]() | |
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 |
Get the most derived TypeId for this Object. 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 () | |
Default 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 operator. 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 Time | CalculatePlcpPreambleAndHeaderDuration (WifiTxVector txVector) |
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 | GetHeMcs0 () |
Return MCS 0 from HE MCS values. More... | |
static WifiMode | GetHeMcs1 () |
Return MCS 1 from HE MCS values. More... | |
static WifiMode | GetHeMcs10 () |
Return MCS 10 from HE MCS values. More... | |
static WifiMode | GetHeMcs11 () |
Return MCS 11 from HE MCS values. More... | |
static WifiMode | GetHeMcs2 () |
Return MCS 2 from HE MCS values. More... | |
static WifiMode | GetHeMcs3 () |
Return MCS 3 from HE MCS values. More... | |
static WifiMode | GetHeMcs4 () |
Return MCS 4 from HE MCS values. More... | |
static WifiMode | GetHeMcs5 () |
Return MCS 5 from HE MCS values. More... | |
static WifiMode | GetHeMcs6 () |
Return MCS 6 from HE MCS values. More... | |
static WifiMode | GetHeMcs7 () |
Return MCS 7 from HE MCS values. More... | |
static WifiMode | GetHeMcs8 () |
Return MCS 8 from HE MCS values. More... | |
static WifiMode | GetHeMcs9 () |
Return MCS 9 from HE MCS values. More... | |
static WifiMode | GetHePlcpHeaderMode () |
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 () |
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) |
static WifiMode | GetPlcpHeaderMode (WifiTxVector txVector) |
static Time | GetPlcpHtSigHeaderDuration (WifiPreamble preamble) |
static Time | GetPlcpPreambleDuration (WifiTxVector txVector) |
static Time | GetPlcpSigA1Duration (WifiPreamble preamble) |
static Time | GetPlcpSigA2Duration (WifiPreamble preamble) |
static Time | GetPlcpSigBDuration (WifiPreamble preamble) |
static Time | GetPlcpTrainingSymbolDuration (WifiTxVector txVector) |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
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 () |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Protected Member Functions | |
bool | DoChannelSwitch (uint8_t id) |
The default implementation does nothing and returns true. More... | |
virtual void | DoDispose (void) |
Destructor implementation. More... | |
bool | DoFrequencySwitch (uint16_t frequency) |
The default implementation does nothing and returns true. More... | |
virtual void | DoInitialize (void) |
Initialize() implementation. More... | |
void | SwitchMaybeToCcaBusy (void) |
Check if Phy state should move to CCA busy state based on current state of interference tracker. 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 |
the end PLCP receive event More... | |
EventId | m_endRxEvent |
the end reeive event More... | |
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 |
channel to frequency width map typedef More... | |
Private Member Functions | |
void | AbortCurrentReception (void) |
Due to newly arrived signal, the current reception cannot be continued and has to be aborted. More... | |
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 | Configure80211ax (void) |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11ax 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... | |
void | ConfigureChannelForStandard (WifiPhyStandard standard) |
Configure the PHY-level parameters for different Wi-Fi standard. More... | |
void | ConfigureDefaultsForStandard (WifiPhyStandard standard) |
Configure the PHY-level parameters for different Wi-Fi standard. More... | |
void | ConfigureHolland (void) |
Configure WifiPhy with appropriate channel frequency and supported rates for holland. More... | |
void | ConfigureHtDeviceMcsSet (void) |
Configure the device Mcs set with the appropriate HtMcs modes for the number of available transmit spatial streams. More... | |
uint8_t | FindChannelNumberForFrequencyWidth (uint16_t frequency, uint8_t width) const |
Look for channel number matching the frequency and width. More... | |
FrequencyWidthPair | GetFrequencyWidthForChannelNumberStandard (uint8_t channelNumber, 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... | |
void | MaybeCcaBusyDuration (void) |
Eventually switch to CCA busy. More... | |
void | StartRx (Ptr< Packet > packet, WifiTxVector txVector, MpduType mpdutype, double rxPowerW, Time rxDuration, Ptr< InterferenceHelper::Event > event) |
Starting receiving the packet after having detected the medium is idle or after a reception switch. More... | |
Private Attributes | |
std::vector< uint8_t > | m_bssMembershipSelectorSet |
the BSS membership selector set More... | |
Callback< void > | m_capabilitiesChangedCallback |
Callback when PHY capabilities changed. More... | |
double | m_ccaMode1ThresholdW |
Clear channel assessment (CCA) threshold in watts. More... | |
uint16_t | m_channelCenterFrequency |
Center frequency in MHz. More... | |
uint8_t | m_channelNumber |
Operating channel number. More... | |
Time | m_channelSwitchDelay |
Time required to switch between channel. More... | |
uint8_t | m_channelWidth |
Channel width. More... | |
Ptr< InterferenceHelper::Event > | m_currentEvent |
Hold the current event. More... | |
Ptr< NetDevice > | m_device |
Pointer to the device. More... | |
WifiModeList | m_deviceMcsSet |
the device MCS set More... | |
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... | |
Ptr< FrameCaptureModel > | m_frameCaptureModel |
Frame capture model. More... | |
bool | m_frequencyChannelNumberInitialized |
Store initialization state. More... | |
bool | m_greenfield |
Flag if GreenField format is supported. More... | |
Time | m_guardInterval |
Supported HE guard interval. More... | |
uint8_t | m_initialChannelNumber |
Initial channel number. More... | |
uint16_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... | |
uint8_t | m_nTxPower |
Number of available transmission power levels. More... | |
uint8_t | m_numberOfAntennas |
Number of transmitters. More... | |
TracedCallback< Ptr< const Packet >, uint16_t, WifiTxVector, MpduInfo, 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, WifiTxVector, 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... | |
uint8_t | m_rxSpatialStreams |
Number of supported RX spatial streams. More... | |
bool | m_shortGuardInterval |
Flag if HT/VHT short guard interval is supported. More... | |
bool | m_shortPreamble |
Flag if short PLCP preamble is supported. More... | |
WifiPhyStandard | m_standard |
WifiPhyStandard. More... | |
bool | m_stbc |
Flag if STBC is used. More... | |
std::vector< uint8_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... | |
uint8_t | m_txSpatialStreams |
Number of supported TX spatial streams. More... | |
Ptr< WifiRadioEnergyModel > | m_wifiRadioEnergyModel |
Wifi radio energy model. More... | |
Static Private Attributes | |
static ChannelToFrequencyWidthMap | m_channelToFrequencyWidth |
the channel to frequency width map 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 592 bytes (on a 64-bit architecture).
Definition at line 90 of file wifi-phy.h.
typedef std::pair<uint8_t, WifiPhyStandard> ns3::WifiPhy::ChannelNumberStandardPair |
A pair of a ChannelNumber and WifiPhyStandard.
Definition at line 535 of file wifi-phy.h.
|
private |
channel to frequency width map typedef
Definition at line 1842 of file wifi-phy.h.
typedef std::pair<uint16_t, uint8_t> ns3::WifiPhy::FrequencyWidthPair |
A pair of a center Frequency and a ChannelWidth.
Definition at line 539 of file wifi-phy.h.
typedef void(* ns3::WifiPhy::MonitorSnifferRxCallback) (Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, 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. |
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 1177 of file wifi-phy.h.
typedef void(* ns3::WifiPhy::MonitorSnifferTxCallback) (const Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, 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. |
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 1211 of file wifi-phy.h.
ns3::WifiPhy::WifiPhy | ( | ) |
Definition at line 351 of file wifi-phy.cc.
References m_random, m_state, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 375 of file wifi-phy.cc.
References NS_LOG_FUNCTION.
|
private |
Due to newly arrived signal, the current reception cannot be continued and has to be aborted.
Definition at line 3665 of file wifi-phy.cc.
References ns3::EventId::Cancel(), ns3::EventId::IsRunning(), m_currentEvent, m_endPlcpRxEvent, m_endRxEvent, m_interference, m_state, NotifyRxDrop(), ns3::InterferenceHelper::NotifyRxEnd(), and NS_LOG_FUNCTION.
Referenced by StartReceivePreambleAndHeader().
void ns3::WifiPhy::AddSupportedChannelWidth | ( | uint8_t | channelwidth | ) |
channelwidth | channel width (in MHz) to support |
Definition at line 1399 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 3759 of file wifi-phy.cc.
References m_random, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
|
static |
txVector | the transmission parameters used for this packet |
Definition at line 2279 of file wifi-phy.cc.
References GetPlcpHeaderDuration(), GetPlcpHtSigHeaderDuration(), GetPlcpPreambleDuration(), GetPlcpSigA1Duration(), GetPlcpSigA2Duration(), GetPlcpSigBDuration(), GetPlcpTrainingSymbolDuration(), and ns3::WifiTxVector::GetPreambleType().
Referenced by CalculateTxDuration(), ns3::SimpleFrameCaptureModel::CaptureNewFrame(), and StartRx().
double ns3::WifiPhy::CalculateSnr | ( | WifiTxVector | txVector, |
double | ber | ||
) | const |
txVector | the transmission vector |
ber | the probability of bit error rate |
Definition at line 740 of file wifi-phy.cc.
References ns3::InterferenceHelper::GetErrorRateModel(), and m_interference.
Time ns3::WifiPhy::CalculateTxDuration | ( | uint32_t | size, |
WifiTxVector | txVector, | ||
uint16_t | frequency | ||
) |
size | the number of bytes in the packet to send |
txVector | the TXVECTOR used for the transmission of this packet |
frequency | the channel center frequency (MHz) |
Definition at line 2301 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(), SendPacket(), ns3::MacLow::SendRtsForPacket(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), NodeStatistics::SetupPhy(), ns3::MinstrelWifiManager::SetupPhy(), ns3::MacLow::StartDataTxTimers(), and ns3::MacLow::StopMpduAggregation().
Time ns3::WifiPhy::CalculateTxDuration | ( | uint32_t | size, |
WifiTxVector | txVector, | ||
uint16_t | frequency, | ||
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 |
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 2293 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 869 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 884 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 827 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 997 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 Configure80211ax(), and ConfigureStandard().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11ax standard.
Definition at line 1017 of file wifi-phy.cc.
References Configure80211ac(), Configure80211n(), GetFrequency(), GetHeMcs0(), GetHeMcs1(), GetHeMcs10(), GetHeMcs11(), GetHeMcs2(), GetHeMcs3(), GetHeMcs4(), GetHeMcs5(), GetHeMcs6(), GetHeMcs7(), GetHeMcs8(), GetHeMcs9(), HE_PHY, ns3::Is5Ghz(), m_bssMembershipSelectorSet, m_deviceMcsSet, and NS_LOG_FUNCTION.
Referenced by ConfigureStandard().
|
private |
Configure WifiPhy with appropriate channel frequency and supported rates for 802.11b standard.
Definition at line 842 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 853 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 980 of file wifi-phy.cc.
References Configure80211a(), Configure80211b(), Configure80211g(), ConfigureHtDeviceMcsSet(), GetFrequency(), HT_PHY, ns3::Is2_4Ghz(), ns3::Is5Ghz(), m_bssMembershipSelectorSet, and NS_LOG_FUNCTION.
Referenced by Configure80211ac(), Configure80211ax(), and ConfigureStandard().
|
private |
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 1087 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().
|
private |
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 746 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_80211ax_2_4GHZ, ns3::WIFI_PHY_STANDARD_80211ax_5GHZ, 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 |
Configure WifiPhy with appropriate channel frequency and supported rates for holland.
Definition at line 899 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 911 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(), GetMaxSupportedTxSpatialStreams(), HT_PHY, m_bssMembershipSelectorSet, m_deviceMcsSet, NS_LOG_FUNCTION, and ns3::WIFI_MOD_CLASS_HT.
Referenced by Configure80211n(), and SetMaxSupportedTxSpatialStreams().
|
virtual |
Configure the PHY-level parameters for different Wi-Fi standard.
standard | the Wi-Fi standard |
Reimplemented in ns3::SpectrumWifiPhy.
Definition at line 1137 of file wifi-phy.cc.
References Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211ac(), Configure80211ax(), 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_80211ax_2_4GHZ, ns3::WIFI_PHY_STANDARD_80211ax_5GHZ, 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::SpectrumWifiPhy::ConfigureStandard(), ns3::MeshHelper::CreateInterface(), AmpduAggregationTest::DoRun(), TwoLevelAggregationTest::DoRun(), Bug2831TestCase::DoRun(), ns3::WaveHelper::Install(), ns3::WifiHelper::Install(), PsrExperiment::Run(), InterferenceExperiment::Run(), and CollisionExperiment::Run().
bool ns3::WifiPhy::DefineChannelNumber | ( | uint8_t | channelNumber, |
WifiPhyStandard | standard, | ||
uint16_t | frequency, | ||
uint8_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 1042 of file wifi-phy.cc.
References f(), m_channelToFrequencyWidth, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by SetChannelFrequencyTest::DoRun().
|
protected |
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 |
Definition at line 1488 of file wifi-phy.cc.
References ns3::EventId::Cancel(), CCA_BUSY, ns3::InterferenceHelper::EraseEvents(), GetChannelNumber(), GetChannelSwitchDelay(), GetDelayUntilIdle(), IDLE, ns3::Object::IsInitialized(), IsStateSwitching(), m_endPlcpRxEvent, m_endRxEvent, m_interference, m_state, NS_ASSERT, NS_LOG_DEBUG, RX, ns3::Simulator::Schedule(), SetChannelNumber(), SLEEP, and TX.
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 381 of file wifi-phy.cc.
References m_device, m_deviceMcsSet, m_deviceRateSet, m_mobility, m_state, m_wifiRadioEnergyModel, and NS_LOG_FUNCTION.
Referenced by ns3::YansWifiPhy::DoDispose(), and ns3::SpectrumWifiPhy::DoDispose().
|
protected |
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 |
Definition at line 1540 of file wifi-phy.cc.
References ns3::EventId::Cancel(), CCA_BUSY, ns3::InterferenceHelper::EraseEvents(), GetChannelSwitchDelay(), GetDelayUntilIdle(), GetFrequency(), IDLE, ns3::Object::IsInitialized(), IsStateSwitching(), m_endPlcpRxEvent, m_endRxEvent, m_interference, m_state, NS_ASSERT, NS_LOG_DEBUG, RX, ns3::Simulator::Schedule(), SetFrequency(), SLEEP, and TX.
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 393 of file wifi-phy.cc.
References InitializeFrequencyChannelNumber(), m_frequencyChannelNumberInitialized, m_isConstructed, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by ns3::SpectrumWifiPhy::DoInitialize().
void ns3::WifiPhy::EndReceive | ( | Ptr< Packet > | packet, |
WifiPreamble | preamble, | ||
MpduType | mpdutype, | ||
Ptr< InterferenceHelper::Event > | event | ||
) |
The last bit of the packet has arrived.
packet | the packet that the last bit has arrived |
preamble | the preamble of the arriving packet |
mpdutype | the type of the MPDU as defined in WifiPhy::MpduType. |
event | the corresponding event of the first time the packet arrives |
Definition at line 2606 of file wifi-phy.cc.
References ns3::InterferenceHelper::CalculatePlcpPayloadSnrPer(), GetFrequency(), ns3::Packet::GetSize(), ns3::UniformRandomVariable::GetValue(), IsStateRx(), ns3::LAST_MPDU_IN_AGGREGATE, m_currentEvent, m_interference, m_plcpSuccess, m_random, m_rxMpduReferenceNumber, m_state, ns3::SignalNoiseDbm::noise, NotifyMonitorSniffRx(), NotifyRxDrop(), ns3::InterferenceHelper::NotifyRxEnd(), NotifyRxEnd(), ns3::Simulator::Now(), NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::RatioToDb(), ns3::SignalNoiseDbm::signal, ns3::MpduInfo::type, and ns3::WIFI_PREAMBLE_NONE.
Referenced by StartRx().
|
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 1059 of file wifi-phy.cc.
References f(), m_channelToFrequencyWidth, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by ConfigureChannelForStandard(), and SetFrequency().
uint8_t ns3::WifiPhy::GetBssMembershipSelector | ( | uint8_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.
selector | index in array of supported memberships |
Definition at line 1343 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 490 of file wifi-phy.cc.
References m_ccaMode1ThresholdW, and ns3::WToDbm().
Referenced by GetTypeId(), MaybeCcaBusyDuration(), ResumeFromOff(), ResumeFromSleep(), and SwitchMaybeToCcaBusy().
Return the Channel this WifiPhy is connected to.
Implemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.
Referenced by ns3::WifiNetDevice::GetChannel(), and ns3::WaveNetDevice::GetChannel().
uint8_t ns3::WifiPhy::GetChannelNumber | ( | void | ) | const |
Return current channel number.
Definition at line 1482 of file wifi-phy.cc.
References m_channelNumber.
Referenced by ConfigureChannelForStandard(), ConfigureDefaultsForStandard(), ConfigureStandard(), DoChannelSwitch(), SetChannelFrequencyTest::DoRun(), ns3::ApWifiMac::GetDsssParameterSet(), ns3::MeshWifiInterfaceMac::GetFrequencyChannel(), ns3::SpectrumWifiPhy::GetOperationalChannelList(), GetTypeId(), InitializeFrequencyChannelNumber(), ns3::YansWifiChannel::Send(), SetChannelNumber(), ns3::WaveMacLow::StartTransmission(), ns3::SpectrumWifiPhy::StartTx(), and ns3::DefaultChannelScheduler::SwitchToNextChannel().
Time ns3::WifiPhy::GetChannelSwitchDelay | ( | void | ) | const |
Definition at line 734 of file wifi-phy.cc.
References m_channelSwitchDelay.
Referenced by ns3::DefaultChannelScheduler::AssignDefaultCchAccess(), DoChannelSwitch(), DoFrequencySwitch(), and ns3::DefaultChannelScheduler::SwitchToNextChannel().
uint8_t ns3::WifiPhy::GetChannelWidth | ( | void | ) | const |
Definition at line 1280 of file wifi-phy.cc.
References m_channelWidth.
Referenced by ns3::WifiRemoteStationManager::AddStationVhtCapabilities(), ns3::MeshWifiInterfaceMac::CheckSupportedRates(), ConfigureChannelForStandard(), ns3::WifiRemoteStationManager::DoGetAckTxChannelWidth(), ns3::WifiRemoteStationManager::DoGetBlockAckTxChannelWidth(), ns3::WifiRemoteStationManager::DoGetCtsToSelfTxVector(), ns3::WifiRemoteStationManager::DoGetCtsTxChannelWidth(), ns3::IdealWifiManager::DoInitialize(), SetChannelFrequencyTest::DoRun(), ns3::SpectrumWifiPhy::GetCenterFrequencyForChannelWidth(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::RegularWifiMac::GetHeCapabilities(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::ApWifiMac::GetHtOperation(), ns3::SpectrumWifiPhy::GetRxSpectrumModel(), ns3::MeshWifiInterfaceMac::GetSupportedRates(), ns3::StaWifiMac::GetSupportedRates(), ns3::ApWifiMac::GetSupportedRates(), GetTypeId(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::ApWifiMac::GetVhtOperationalChannelWidth(), ns3::WifiRemoteStationManager::LookupState(), ns3::StaWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::SpectrumWifiPhy::ResetSpectrumModel(), SetFrequency(), NodeStatistics::SetupPhy(), and ns3::SpectrumWifiPhy::StartRx().
Time ns3::WifiPhy::GetDelayUntilIdle | ( | void | ) |
The PHY will never become WifiPhy::IDLE before the delay returned by this method but it could become really idle later.
Definition at line 3636 of file wifi-phy.cc.
References m_state.
Referenced by DoChannelSwitch(), DoFrequencySwitch(), and SetSleepMode().
Return the device this PHY is associated with.
Definition at line 660 of file wifi-phy.cc.
References m_device.
|
static |
Return a WifiMode for DSSS at 11Mbps.
Definition at line 2696 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 2657 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 2669 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 2684 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 477 of file wifi-phy.cc.
References m_edThresholdW, and ns3::WToDbm().
Referenced by GetTypeId().
double ns3::WifiPhy::GetEdThresholdW | ( | void | ) | const |
Return the energy detection threshold.
Definition at line 471 of file wifi-phy.cc.
References m_edThresholdW.
Referenced by StartRx().
|
static |
Return a WifiMode for ERP-OFDM at 12Mbps.
Definition at line 2735 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 2747 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 2759 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 2771 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 2783 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 2795 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 2711 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 2723 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 692 of file wifi-phy.cc.
References ns3::InterferenceHelper::GetErrorRateModel(), and m_interference.
Ptr< FrameCaptureModel > ns3::WifiPhy::GetFrameCaptureModel | ( | void | ) | const |
Return the frame capture model this PHY is using.
Definition at line 704 of file wifi-phy.cc.
References m_frameCaptureModel.
Referenced by GetTypeId().
uint16_t ns3::WifiPhy::GetFrequency | ( | void | ) | const |
Definition at line 1260 of file wifi-phy.cc.
References m_channelCenterFrequency.
Referenced by ns3::WifiRemoteStationManager::AddStationHeCapabilities(), ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), ns3::MacLow::CalculateOverallTxTime(), ns3::MacLow::CalculateTransmissionTime(), Configure80211ax(), Configure80211n(), ConfigureChannelForStandard(), ConfigureStandard(), DoFrequencySwitch(), SetChannelFrequencyTest::DoRun(), EndReceive(), ns3::MacLow::ForwardDown(), ns3::MacLow::GetAckDuration(), ns3::MacLow::GetBlockAckDuration(), ns3::SpectrumWifiPhy::GetCenterFrequencyForChannelWidth(), ns3::MacLow::GetCtsDuration(), ns3::RegularWifiMac::GetHeCapabilities(), ns3::SpectrumWifiPhy::GetRxSpectrumModel(), GetTypeId(), SpectrumWifiPhyBasicTest::MakeSignal(), ns3::MacLow::NotifyNav(), ns3::SpectrumWifiPhy::ResetSpectrumModel(), ns3::MacLow::SendCtsToSelf(), ns3::MacLow::SendDataAfterCts(), ns3::MacLow::SendDataPacket(), SendPacket(), ns3::MacLow::SendRtsForPacket(), SetFrequency(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), 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 1420 of file wifi-phy.cc.
References f(), and m_channelToFrequencyWidth.
Referenced by ConfigureChannelForStandard(), and SetChannelNumber().
bool ns3::WifiPhy::GetGreenfield | ( | void | ) | const |
Return whether Greenfield is supported.
Definition at line 608 of file wifi-phy.cc.
References m_greenfield.
Referenced by ns3::RegularWifiMac::GetHtCapabilities(), ns3::WifiRemoteStationManager::GetPreambleForTransmission(), GetTypeId(), ns3::WifiRemoteStationManager::LookupState(), and ns3::MacLow::StopMpduAggregation().
Time ns3::WifiPhy::GetGuardInterval | ( | void | ) | const |
Definition at line 635 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::GetHeCapabilities(), ns3::MeshWifiInterfaceMac::GetSupportedRates(), GetTypeId(), ns3::WifiRemoteStationManager::LookupState(), and ns3::MeshWifiInterfaceMac::Receive().
|
static |
Return MCS 0 from HE MCS values.
Definition at line 3448 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), GetHePlcpHeaderMode(), and GetMembershipSelectorModes().
|
static |
Return MCS 1 from HE MCS values.
Definition at line 3456 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 10 from HE MCS values.
Definition at line 3528 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 11 from HE MCS values.
Definition at line 3536 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 2 from HE MCS values.
Definition at line 3464 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 3 from HE MCS values.
Definition at line 3472 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 4 from HE MCS values.
Definition at line 3480 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 5 from HE MCS values.
Definition at line 3488 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 6 from HE MCS values.
Definition at line 3496 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 7 from HE MCS values.
Definition at line 3504 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 8 from HE MCS values.
Definition at line 3512 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 9 from HE MCS values.
Definition at line 3520 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by Configure80211ax(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Definition at line 1719 of file wifi-phy.cc.
References GetHeMcs0().
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer().
|
static |
Return MCS 0 from HT MCS values.
Definition at line 3107 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 3115 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 3187 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 3195 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 3203 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 3211 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 3219 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 3227 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 3235 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 3243 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 3251 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 3259 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 3123 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 3267 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 3275 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 22 from HT MCS values.
Definition at line 3283 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 23 from HT MCS values.
Definition at line 3291 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 24 from HT MCS values.
Definition at line 3299 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 25 from HT MCS values.
Definition at line 3307 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 26 from HT MCS values.
Definition at line 3315 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 27 from HT MCS values.
Definition at line 3323 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 28 from HT MCS values.
Definition at line 3331 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 29 from HT MCS values.
Definition at line 3339 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 3 from HT MCS values.
Definition at line 3131 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 30 from HT MCS values.
Definition at line 3347 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 31 from HT MCS values.
Definition at line 3355 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 4 from HT MCS values.
Definition at line 3139 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 5 from HT MCS values.
Definition at line 3147 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 6 from HT MCS values.
Definition at line 3155 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 7 from HT MCS values.
Definition at line 3163 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 8 from HT MCS values.
Definition at line 3171 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 9 from HT MCS values.
Definition at line 3179 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 |
Definition at line 1707 of file wifi-phy.cc.
References GetHtMcs0().
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer().
Time ns3::WifiPhy::GetLastRxStartTime | ( | void | ) | const |
Return the start time of the last received packet.
Definition at line 3642 of file wifi-phy.cc.
References m_state.
Referenced by ns3::MacLow::NavCounterResetCtsMissed().
bool ns3::WifiPhy::GetLdpc | ( | void | ) | const |
Return if LDPC is supported.
Definition at line 582 of file wifi-phy.cc.
References m_ldpc.
Referenced by ns3::RegularWifiMac::GetHtCapabilities(), GetTypeId(), and ns3::RegularWifiMac::GetVhtCapabilities().
uint8_t ns3::WifiPhy::GetMaxSupportedRxSpatialStreams | ( | void | ) | const |
Definition at line 1331 of file wifi-phy.cc.
References m_rxSpatialStreams.
Referenced by ns3::ApWifiMac::GetHeOperation(), GetTypeId(), ns3::RegularWifiMac::GetVhtCapabilities(), and StartReceivePreambleAndHeader().
uint8_t ns3::WifiPhy::GetMaxSupportedTxSpatialStreams | ( | void | ) | const |
Definition at line 1313 of file wifi-phy.cc.
References m_txSpatialStreams.
Referenced by ns3::WifiRemoteStationManager::AddStationVhtCapabilities(), ConfigureHtDeviceMcsSet(), ns3::IdealWifiManager::DoInitialize(), ns3::RegularWifiMac::GetHeCapabilities(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::ApWifiMac::GetHtOperation(), ns3::WifiRemoteStationManager::GetMaxNumberOfTransmitStreams(), GetTypeId(), ns3::RegularWifiMac::GetVhtCapabilities(), and SendPacket().
WifiMode ns3::WifiPhy::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.
mcs | index in array of supported MCS |
Definition at line 3588 of file wifi-phy.cc.
References m_deviceMcsSet.
Referenced by ns3::WifiRemoteStationManager::AddAllSupportedMcs(), ns3::WifiRemoteStationManager::AddStationHtCapabilities(), ns3::WifiRemoteStationManager::AddStationVhtCapabilities(), ns3::IdealWifiManager::DoInitialize(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::RegularWifiMac::GetHeCapabilities(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::MinstrelHtWifiManager::GetHtDeviceMcsList(), ns3::ApWifiMac::GetHtOperation(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::MinstrelHtWifiManager::GetVhtDeviceMcsList(), IsMcsSupported(), ns3::StaWifiMac::Receive(), ns3::ApWifiMac::Receive(), and ns3::WifiRemoteStationManager::SetupPhy().
WifiModeList ns3::WifiPhy::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.
selector | index in array of supported memberships |
Definition at line 1349 of file wifi-phy.cc.
References GetBssMembershipSelector(), GetHeMcs0(), GetHeMcs1(), GetHeMcs10(), GetHeMcs11(), GetHeMcs2(), GetHeMcs3(), GetHeMcs4(), GetHeMcs5(), GetHeMcs6(), GetHeMcs7(), GetHeMcs8(), GetHeMcs9(), GetHtMcs0(), GetHtMcs1(), GetHtMcs2(), GetHtMcs3(), GetHtMcs4(), GetHtMcs5(), GetHtMcs6(), GetHtMcs7(), GetVhtMcs0(), GetVhtMcs1(), GetVhtMcs2(), GetVhtMcs3(), GetVhtMcs4(), GetVhtMcs5(), GetVhtMcs6(), GetVhtMcs7(), GetVhtMcs8(), GetVhtMcs9(), HE_PHY, HT_PHY, and VHT_PHY.
Ptr< MobilityModel > ns3::WifiPhy::GetMobility | ( | void | ) | const |
Return the mobility model this PHY is associated with.
This method will return either the mobility model that has been explicitly set by a call to YansWifiPhy::SetMobility(), or else will return the mobility model (if any) that has been aggregated to the node.
Definition at line 672 of file wifi-phy.cc.
References m_device, and m_mobility.
Referenced by ns3::WifiSpectrumPhyInterface::GetMobility(), and ns3::YansWifiChannel::Send().
WifiMode ns3::WifiPhy::GetMode | ( | uint8_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.
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.
mode | index in array of supported modes |
Definition at line 3576 of file wifi-phy.cc.
References m_deviceRateSet.
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(), IsModeSupported(), ns3::StaWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), ns3::WifiRemoteStationManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::MinstrelWifiManager::SetupPhy().
uint8_t ns3::WifiPhy::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.
Definition at line 1337 of file wifi-phy.cc.
References m_bssMembershipSelectorSet.
Referenced by ns3::StaWifiMac::GetSupportedRates(), ns3::ApWifiMac::GetSupportedRates(), and ns3::StaWifiMac::Receive().
uint8_t ns3::WifiPhy::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.
Definition at line 3582 of file wifi-phy.cc.
References m_deviceMcsSet.
Referenced by ns3::WifiRemoteStationManager::AddAllSupportedMcs(), ns3::WifiRemoteStationManager::AddStationHtCapabilities(), ns3::WifiRemoteStationManager::AddStationVhtCapabilities(), ns3::IdealWifiManager::DoInitialize(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::RegularWifiMac::GetHeCapabilities(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::MinstrelHtWifiManager::GetHtDeviceMcsList(), ns3::ApWifiMac::GetHtOperation(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::MinstrelHtWifiManager::GetVhtDeviceMcsList(), IsMcsSupported(), ns3::StaWifiMac::Receive(), and ns3::ApWifiMac::Receive().
uint8_t ns3::WifiPhy::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.
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.
Definition at line 3570 of file wifi-phy.cc.
References m_deviceRateSet.
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(), IsModeSupported(), ns3::StaWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::MinstrelWifiManager::SetupPhy().
uint8_t ns3::WifiPhy::GetNTxPower | ( | void | ) | const |
Return the number of available transmission power levels.
Definition at line 543 of file wifi-phy.cc.
References m_nTxPower.
Referenced by ns3::RrpaaWifiManager::SetupPhy().
uint8_t ns3::WifiPhy::GetNumberOfAntennas | ( | void | ) | const |
Definition at line 1294 of file wifi-phy.cc.
References m_numberOfAntennas.
Referenced by ns3::WifiRemoteStationManager::GetNumberOfAntennas(), GetTypeId(), SetErrorRateModel(), SetMaxSupportedRxSpatialStreams(), SetMaxSupportedTxSpatialStreams(), and SetRxNoiseFigure().
|
static |
Return a WifiMode for OFDM at 12Mbps.
Definition at line 2834 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211a(), ConfigureHolland(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 12Mbps with 10MHz channel spacing.
Definition at line 2957 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_10Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 12Mbps with 5MHz channel spacing.
Definition at line 3080 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_2_3, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_5Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 13.5Mbps with 5MHz channel spacing.
Definition at line 3092 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_5Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 18Mbps.
Definition at line 2846 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211a(), ConfigureHolland(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 18Mbps with 10MHz channel spacing.
Definition at line 2969 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_10Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 1.5Mbps with 5MHz channel spacing.
Definition at line 3008 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_5Mhz(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().
|
static |
Return a WifiMode for OFDM at 24Mbps.
Definition at line 2858 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211a(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 24Mbps with 10MHz channel spacing.
Definition at line 2981 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_2_3, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_10Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 27Mbps with 10MHz channel spacing.
Definition at line 2993 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_10Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 2.25Mbps with 5MHz channel spacing.
Definition at line 3020 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_5Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 36Mbps.
Definition at line 2870 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211a(), ConfigureHolland(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 3Mbps with 10MHz channel spacing.
Definition at line 2909 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_10Mhz(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().
|
static |
Return a WifiMode for OFDM at 3Mbps with 5MHz channel spacing.
Definition at line 3032 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_5Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 48Mbps.
Definition at line 2882 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_2_3, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211a(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 4.5Mbps with 10MHz channel spacing.
Definition at line 2921 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_10Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 4.5Mbps with 5MHz channel spacing.
Definition at line 3044 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_5Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 54Mbps.
Definition at line 2894 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211a(), ConfigureHolland(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 6Mbps.
Definition at line 2810 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211a(), ConfigureHolland(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetPlcpHeaderMode().
|
static |
Return a WifiMode for OFDM at 6Mbps with 10MHz channel spacing.
Definition at line 2933 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_10Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 6Mbps with 5MHz channel spacing.
Definition at line 3056 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_1_2, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_5Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 9Mbps.
Definition at line 2822 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211a(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 9Mbps with 10MHz channel spacing.
Definition at line 2945 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_10Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
|
static |
Return a WifiMode for OFDM at 9Mbps with 5MHz channel spacing.
Definition at line 3068 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMode(), ns3::WIFI_CODE_RATE_3_4, and ns3::WIFI_MOD_CLASS_OFDM.
Referenced by Configure80211_5Mhz(), and anonymous_namespace{wifi-phy.cc}::Constructor::Constructor().
Time ns3::WifiPhy::GetPayloadDuration | ( | uint32_t | size, |
WifiTxVector | txVector, | ||
uint16_t | frequency | ||
) |
size | the number of bytes in the packet to send |
txVector | the TXVECTOR used for the transmission of this packet |
frequency | the channel center frequency (MHz) |
Definition at line 2003 of file wifi-phy.cc.
References ns3::NORMAL_MPDU.
Referenced by CalculateTxDuration(), and TxDurationTest::CheckPayloadDuration().
Time ns3::WifiPhy::GetPayloadDuration | ( | uint32_t | size, |
WifiTxVector | txVector, | ||
uint16_t | frequency, | ||
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 |
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 2009 of file wifi-phy.cc.
References ns3::FemtoSeconds(), ns3::WifiTxVector::GetChannelWidth(), ns3::WifiMode::GetDataRate(), ns3::Time::GetFemtoSeconds(), ns3::WifiTxVector::GetGuardInterval(), ns3::WifiMode::GetMcsValue(), ns3::WifiTxVector::GetMode(), ns3::WifiMode::GetModulationClass(), ns3::Time::GetNanoSeconds(), ns3::WifiTxVector::GetNss(), ns3::WifiTxVector::GetPreambleType(), ns3::WifiMode::GetUniqueName(), ns3::Is2_4Ghz(), 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, ns3::Seconds(), ns3::WIFI_MOD_CLASS_DSSS, ns3::WIFI_MOD_CLASS_ERP_OFDM, ns3::WIFI_MOD_CLASS_HE, 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.
|
static |
txVector | the transmission parameters used for this packet |
Definition at line 1880 of file wifi-phy.cc.
References ns3::WifiTxVector::GetChannelWidth(), ns3::WifiMode::GetDataRate(), ns3::WifiTxVector::GetMode(), ns3::WifiMode::GetModulationClass(), ns3::WifiTxVector::GetPreambleType(), ns3::MicroSeconds(), NS_FATAL_ERROR, ns3::WIFI_MOD_CLASS_DSSS, ns3::WIFI_MOD_CLASS_ERP_OFDM, ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_MOD_CLASS_HR_DSSS, ns3::WIFI_MOD_CLASS_HT, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_MOD_CLASS_VHT, ns3::WIFI_PREAMBLE_HT_GF, ns3::WIFI_PREAMBLE_HT_MF, ns3::WIFI_PREAMBLE_NONE, and ns3::WIFI_PREAMBLE_SHORT.
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().
|
static |
txVector | the transmission parameters used for this packet |
Definition at line 1834 of file wifi-phy.cc.
References ns3::WifiTxVector::GetChannelWidth(), GetDsssRate1Mbps(), GetDsssRate2Mbps(), GetErpOfdmRate6Mbps(), ns3::WifiTxVector::GetMode(), ns3::WifiMode::GetModulationClass(), GetOfdmRate1_5MbpsBW5MHz(), GetOfdmRate3MbpsBW10MHz(), GetOfdmRate6Mbps(), ns3::WifiTxVector::GetPreambleType(), NS_FATAL_ERROR, ns3::WIFI_MOD_CLASS_DSSS, ns3::WIFI_MOD_CLASS_ERP_OFDM, ns3::WIFI_MOD_CLASS_HE, 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().
|
static |
preamble | the type of preamble |
Definition at line 1772 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().
|
static |
txVector | the transmission parameters used for this packet |
Definition at line 1949 of file wifi-phy.cc.
References ns3::WifiTxVector::GetChannelWidth(), ns3::WifiMode::GetDataRate(), ns3::WifiTxVector::GetMode(), ns3::WifiMode::GetModulationClass(), ns3::WifiTxVector::GetPreambleType(), ns3::MicroSeconds(), NS_FATAL_ERROR, ns3::WIFI_MOD_CLASS_DSSS, ns3::WIFI_MOD_CLASS_ERP_OFDM, ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_MOD_CLASS_HR_DSSS, ns3::WIFI_MOD_CLASS_HT, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_MOD_CLASS_VHT, ns3::WIFI_PREAMBLE_NONE, and ns3::WIFI_PREAMBLE_SHORT.
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().
|
static |
preamble | the type of preamble |
Definition at line 1787 of file wifi-phy.cc.
References ns3::MicroSeconds(), ns3::WIFI_PREAMBLE_HE_SU, and ns3::WIFI_PREAMBLE_VHT.
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().
|
static |
preamble | the type of preamble |
Definition at line 1802 of file wifi-phy.cc.
References ns3::MicroSeconds(), ns3::WIFI_PREAMBLE_HE_SU, and ns3::WIFI_PREAMBLE_VHT.
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().
|
static |
preamble | the type of preamble |
Definition at line 1817 of file wifi-phy.cc.
References ns3::MicroSeconds(), ns3::WIFI_PREAMBLE_HE_SU, and ns3::WIFI_PREAMBLE_VHT.
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer(), ns3::InterferenceHelper::CalculatePlcpPayloadPer(), and CalculatePlcpPreambleAndHeaderDuration().
|
static |
txVector | the transmission parameters used for this packet |
Definition at line 1725 of file wifi-phy.cc.
References ns3::WifiTxVector::GetNess(), ns3::WifiTxVector::GetNss(), ns3::WifiTxVector::GetPreambleType(), ns3::MicroSeconds(), ns3::WIFI_PREAMBLE_HE_SU, 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().
double ns3::WifiPhy::GetPowerDbm | ( | uint8_t | power | ) | const |
Get the power of the given power level in dBm.
In SpectrumWifiPhy implementation, the power levels are equally spaced (in dBm).
power | the power level |
Definition at line 716 of file wifi-phy.cc.
References m_nTxPower, m_txPowerBaseDbm, m_txPowerEndDbm, NS_ASSERT, and NS_ASSERT_MSG().
Referenced by ns3::ParfWifiManager::CheckInit(), ns3::AparfWifiManager::CheckInit(), ns3::RrpaaWifiManager::CheckInit(), ns3::ParfWifiManager::DoGetDataTxVector(), ns3::AparfWifiManager::DoGetDataTxVector(), ns3::RrpaaWifiManager::DoGetDataTxVector(), SendPacket(), ns3::YansWifiPhy::StartTx(), and ns3::SpectrumWifiPhy::StartTx().
double ns3::WifiPhy::GetRxGain | ( | void | ) | const |
Return the reception gain (dB).
Definition at line 569 of file wifi-phy.cc.
References m_rxGainDb.
Referenced by GetTypeId(), ns3::YansWifiChannel::Receive(), and ns3::SpectrumWifiPhy::StartRx().
double ns3::WifiPhy::GetRxNoiseFigure | ( | void | ) | const |
Return the RX noise figure (dBm).
Definition at line 504 of file wifi-phy.cc.
References ns3::InterferenceHelper::GetNoiseFigure(), m_interference, and ns3::RatioToDb().
Referenced by GetTypeId().
bool ns3::WifiPhy::GetShortGuardInterval | ( | void | ) | const |
Return whether short guard interval is supported.
Definition at line 621 of file wifi-phy.cc.
References m_shortGuardInterval.
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::ApWifiMac::GetHtOperation(), ns3::MeshWifiInterfaceMac::GetSupportedRates(), GetTypeId(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::WifiRemoteStationManager::LookupState(), and ns3::MeshWifiInterfaceMac::Receive().
bool ns3::WifiPhy::GetShortPlcpPreambleSupported | ( | void | ) | const |
Return whether short PLCP preamble is supported.
Definition at line 648 of file wifi-phy.cc.
References m_shortPreamble.
Referenced by ns3::StaWifiMac::GetCapabilities(), ns3::ApWifiMac::GetShortPreambleEnabled(), and GetTypeId().
WifiPhyStandard ns3::WifiPhy::GetStandard | ( | void | ) | const |
Get the configured Wi-Fi standard.
Definition at line 1197 of file wifi-phy.cc.
References m_standard.
Referenced by ns3::SpectrumWifiPhy::GetBandBandwidth(), InitializeFrequencyChannelNumber(), and SetChannelNumber().
bool ns3::WifiPhy::GetStbc | ( | void | ) | const |
Return whether STBC is supported.
Definition at line 595 of file wifi-phy.cc.
References m_stbc.
Referenced by ns3::MinstrelHtWifiManager::CalculateFirstMpduTxDuration(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), and GetTypeId().
std::vector< uint8_t > ns3::WifiPhy::GetSupportedChannelWidthSet | ( | void | ) | const |
Definition at line 1414 of file wifi-phy.cc.
References m_supportedChannelWidthSet.
double ns3::WifiPhy::GetTxGain | ( | void | ) | const |
Return the transmission gain (dB).
Definition at line 556 of file wifi-phy.cc.
References m_txGainDb.
Referenced by GetTypeId(), ns3::YansWifiPhy::StartTx(), and ns3::SpectrumWifiPhy::StartTx().
double ns3::WifiPhy::GetTxPowerEnd | ( | void | ) | const |
Return the maximum available transmission power level (dBm).
Definition at line 530 of file wifi-phy.cc.
References m_txPowerEndDbm.
Referenced by GetTypeId(), ns3::ParfWifiManager::SetupPhy(), and ns3::AparfWifiManager::SetupPhy().
double ns3::WifiPhy::GetTxPowerStart | ( | void | ) | const |
Return the minimum available transmission power level (dBm).
Definition at line 517 of file wifi-phy.cc.
References m_txPowerBaseDbm.
Referenced by GetTypeId(), ns3::ParfWifiManager::SetupPhy(), and ns3::AparfWifiManager::SetupPhy().
|
static |
Get the type ID.
Definition at line 147 of file wifi-phy.cc.
References GetCcaMode1Threshold(), GetChannelNumber(), GetChannelWidth(), GetEdThreshold(), GetFrameCaptureModel(), GetFrequency(), GetGreenfield(), GetGuardInterval(), GetLdpc(), GetMaxSupportedRxSpatialStreams(), GetMaxSupportedTxSpatialStreams(), GetNumberOfAntennas(), GetRxGain(), GetRxNoiseFigure(), GetShortGuardInterval(), GetShortPlcpPreambleSupported(), GetStbc(), GetTxGain(), GetTxPowerEnd(), GetTxPowerStart(), m_channelSwitchDelay, m_nTxPower, m_phyMonitorSniffRxTrace, m_phyMonitorSniffTxTrace, m_phyRxBeginTrace, m_phyRxDropTrace, m_phyRxEndTrace, m_phyTxBeginTrace, m_phyTxDropTrace, m_phyTxEndTrace, m_state, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeDoubleAccessor(), ns3::MakePointerAccessor(), ns3::MakeTimeAccessor(), ns3::MakeTimeChecker(), ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), ns3::MicroSeconds(), ns3::NanoSeconds(), SetCcaMode1Threshold(), SetChannelNumber(), SetChannelWidth(), SetEdThreshold(), SetFrameCaptureModel(), SetFrequency(), SetGreenfield(), SetGuardInterval(), SetLdpc(), SetMaxSupportedRxSpatialStreams(), SetMaxSupportedTxSpatialStreams(), SetNumberOfAntennas(), ns3::TypeId::SetParent(), SetRxGain(), SetRxNoiseFigure(), SetShortGuardInterval(), SetShortPlcpPreambleSupported(), SetStbc(), SetTxGain(), SetTxPowerEnd(), and SetTxPowerStart().
|
static |
Return MCS 0 from VHT MCS values.
Definition at line 3366 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), GetMembershipSelectorModes(), and GetVhtPlcpHeaderMode().
|
static |
Return MCS 1 from VHT MCS values.
Definition at line 3374 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 2 from VHT MCS values.
Definition at line 3382 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 3 from VHT MCS values.
Definition at line 3390 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 4 from VHT MCS values.
Definition at line 3398 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 5 from VHT MCS values.
Definition at line 3406 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 6 from VHT MCS values.
Definition at line 3414 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 7 from VHT MCS values.
Definition at line 3422 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 8 from VHT MCS values.
Definition at line 3430 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Return MCS 9 from VHT MCS values.
Definition at line 3438 of file wifi-phy.cc.
References ns3::WifiModeFactory::CreateWifiMcs(), and ns3::WIFI_MOD_CLASS_VHT.
Referenced by Configure80211ac(), anonymous_namespace{wifi-phy.cc}::Constructor::Constructor(), and GetMembershipSelectorModes().
|
static |
Definition at line 1713 of file wifi-phy.cc.
References GetVhtMcs0().
Referenced by ns3::InterferenceHelper::CalculatePlcpHeaderPer().
|
private |
post-construction setting of frequency and/or channel number
This method exists to handle the fact that two attribute values, Frequency and ChannelNumber, are coupled. The initialization of these values needs to be deferred until after attribute construction time, to avoid static initialization order issues. This method is typically called either when ConfigureStandard () is called or when DoInitialize () is called.
Definition at line 436 of file wifi-phy.cc.
References GetChannelNumber(), GetStandard(), m_frequencyChannelNumberInitialized, m_initialChannelNumber, m_initialFrequency, NS_ASSERT_MSG(), NS_FATAL_ERROR, NS_LOG_FUNCTION, SetChannelNumber(), SetFrequency(), and ns3::WIFI_PHY_STANDARD_UNSPECIFIED.
Referenced by ConfigureStandard(), and DoInitialize().
bool ns3::WifiPhy::IsMcsSupported | ( | WifiMode | mcs | ) | const |
Check if the given WifiMode is supported by the PHY.
mcs | the wifi mode to check |
Definition at line 3557 of file wifi-phy.cc.
References GetMcs(), and GetNMcs().
Referenced by StartReceivePacket().
bool ns3::WifiPhy::IsModeSupported | ( | WifiMode | mode | ) | const |
Check if the given WifiMode is supported by the PHY.
mode | the wifi mode to check |
Definition at line 3544 of file wifi-phy.cc.
References GetMode(), and GetNModes().
Referenced by StartReceivePacket().
bool ns3::WifiPhy::IsStateCcaBusy | ( | void | ) | const |
Definition at line 3594 of file wifi-phy.cc.
References m_state.
bool ns3::WifiPhy::IsStateIdle | ( | void | ) | const |
Definition at line 3600 of file wifi-phy.cc.
References m_state.
Referenced by ns3::MacLow::FastAckTimeout(), and ns3::MacLow::SuperFastAckTimeout().
bool ns3::WifiPhy::IsStateOff | ( | void | ) | const |
Definition at line 3630 of file wifi-phy.cc.
References m_state.
Referenced by ns3::MacLow::StartTransmission().
bool ns3::WifiPhy::IsStateRx | ( | void | ) | const |
Definition at line 3606 of file wifi-phy.cc.
References m_state.
Referenced by EndReceive(), ns3::MacLow::SendBlockAckAfterAmpdu(), and StartReceivePacket().
bool ns3::WifiPhy::IsStateSleep | ( | void | ) | const |
Definition at line 3624 of file wifi-phy.cc.
References m_state.
bool ns3::WifiPhy::IsStateSwitching | ( | void | ) | const |
Definition at line 3618 of file wifi-phy.cc.
References m_state.
Referenced by DoChannelSwitch(), and DoFrequencySwitch().
bool ns3::WifiPhy::IsStateTx | ( | void | ) | const |
Definition at line 3612 of file wifi-phy.cc.
References m_state.
Referenced by ns3::MacLow::SendBlockAckAfterAmpdu(), and ns3::MacLow::StartTransmission().
|
private |
Eventually switch to CCA busy.
Definition at line 2553 of file wifi-phy.cc.
References ns3::DbmToW(), GetCcaMode1Threshold(), ns3::InterferenceHelper::GetEnergyDuration(), ns3::Time::IsZero(), m_interference, and m_state.
Referenced by StartReceivePreambleAndHeader(), and StartRx().
void ns3::WifiPhy::NotifyMonitorSniffRx | ( | Ptr< const Packet > | packet, |
uint16_t | channelFreqMhz, | ||
WifiTxVector | txVector, | ||
MpduInfo | aMpdu, | ||
SignalNoiseDbm | signalNoise | ||
) |
Public method used to fire a MonitorSniffer trace for a wifi packet being received.
Implemented for encapsulation purposes.
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. |
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 (noise power includes the noise figure) |
Definition at line 2343 of file wifi-phy.cc.
References m_phyMonitorSniffRxTrace.
Referenced by EndReceive().
void ns3::WifiPhy::NotifyMonitorSniffTx | ( | Ptr< const Packet > | packet, |
uint16_t | channelFreqMhz, | ||
WifiTxVector | txVector, | ||
MpduInfo | aMpdu | ||
) |
Public method used to fire a MonitorSniffer trace for a wifi packet being transmitted.
Implemented for encapsulation purposes.
packet | the packet being transmitted |
channelFreqMhz | the frequency in MHz at which the packet is transmitted. |
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 2349 of file wifi-phy.cc.
References m_phyMonitorSniffTxTrace.
Referenced by SendPacket().
Public method used to fire a PhyRxBegin trace.
Implemented for encapsulation purposes.
packet | the packet being received |
Definition at line 2325 of file wifi-phy.cc.
References m_phyRxBeginTrace.
Referenced by StartRx().
Public method used to fire a PhyRxDrop trace.
Implemented for encapsulation purposes.
packet | the packet that was not successfully received |
Definition at line 2337 of file wifi-phy.cc.
References m_phyRxDropTrace.
Referenced by AbortCurrentReception(), EndReceive(), StartReceivePacket(), StartReceivePreambleAndHeader(), and StartRx().
Public method used to fire a PhyRxEnd trace.
Implemented for encapsulation purposes.
packet | the packet received |
Definition at line 2331 of file wifi-phy.cc.
References m_phyRxEndTrace.
Referenced by EndReceive().
Public method used to fire a PhyTxBegin trace.
Implemented for encapsulation purposes.
packet | the packet being transmitted |
Definition at line 2307 of file wifi-phy.cc.
References m_phyTxBeginTrace.
Referenced by SendPacket().
Public method used to fire a PhyTxDrop trace.
Implemented for encapsulation purposes.
packet | the packet that was failed to transmitted |
Definition at line 2319 of file wifi-phy.cc.
References m_phyTxDropTrace.
Referenced by SendPacket().
Public method used to fire a PhyTxEnd trace.
Implemented for encapsulation purposes.
packet | the packet that was transmitted |
Definition at line 2313 of file wifi-phy.cc.
References m_phyTxEndTrace.
void ns3::WifiPhy::RegisterListener | ( | WifiPhyListener * | listener | ) |
listener | the new listener |
Add the input listener to the list of objects to be notified of PHY-level events.
Definition at line 418 of file wifi-phy.cc.
References m_state.
Referenced by SpectrumWifiPhyListenerTest::DoSetup(), ns3::DcfManager::SetupPhyListener(), and ns3::MacLow::SetupPhyMacLowListener().
void ns3::WifiPhy::ResumeFromOff | ( | void | ) |
Resume from off mode.
Definition at line 1676 of file wifi-phy.cc.
References CCA_BUSY, ns3::DbmToW(), GetCcaMode1Threshold(), ns3::InterferenceHelper::GetEnergyDuration(), IDLE, m_interference, m_state, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, OFF, RX, SLEEP, SWITCHING, and TX.
Referenced by ns3::WifiRadioEnergyModelHelper::DoInstall().
void ns3::WifiPhy::ResumeFromSleep | ( | void | ) |
Resume from sleep mode.
Definition at line 1646 of file wifi-phy.cc.
References CCA_BUSY, ns3::DbmToW(), GetCcaMode1Threshold(), ns3::InterferenceHelper::GetEnergyDuration(), IDLE, m_interference, m_state, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, RX, SLEEP, SWITCHING, and TX.
void ns3::WifiPhy::SendPacket | ( | Ptr< const Packet > | packet, |
WifiTxVector | txVector, | ||
MpduType | mpdutype = NORMAL_MPDU |
||
) |
packet | the packet to send |
txVector | the 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 |
mpdutype | the type of the MPDU as defined in WifiPhy::MpduType. |
Definition at line 2355 of file wifi-phy.cc.
References ns3::Packet::AddPacketTag(), CalculateTxDuration(), ns3::EventId::Cancel(), ns3::Packet::Copy(), ns3::WifiMode::GetDataRate(), GetFrequency(), GetMaxSupportedTxSpatialStreams(), ns3::WifiTxVector::GetMode(), ns3::WifiTxVector::GetNss(), GetPowerDbm(), ns3::WifiTxVector::GetPreambleType(), ns3::Packet::GetSize(), ns3::WifiTxVector::GetTxPowerLevel(), ns3::Time::IsStrictlyPositive(), m_endPlcpRxEvent, m_endRxEvent, m_interference, m_state, m_txMpduReferenceNumber, m_wifiRadioEnergyModel, ns3::MPDU_IN_AGGREGATE, ns3::MpduInfo::mpduRefNumber, NotifyMonitorSniffTx(), ns3::InterferenceHelper::NotifyRxEnd(), NotifyTxBegin(), NotifyTxDrop(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, OFF, ns3::Packet::RemovePacketTag(), StartTx(), TX, ns3::MpduInfo::type, and ns3::WIFI_PREAMBLE_NONE.
Referenced by ns3::MacLow::ForwardDown(), and ns3::MacLow::SendMpdu().
void ns3::WifiPhy::SetCapabilitiesChangedCallback | ( | Callback< void > | callback | ) |
callback | the callback to invoke when PHY capabilities have changed. |
Definition at line 430 of file wifi-phy.cc.
References m_capabilitiesChangedCallback.
Referenced by ns3::StaWifiMac::SetWifiPhy().
void ns3::WifiPhy::SetCcaMode1Threshold | ( | double | threshold | ) |
Sets the CCA threshold (dBm).
The energy of a received signal should be higher than this threshold to allow the PHY layer to declare CCA BUSY state.
threshold | the CCA threshold in dBm |
Definition at line 483 of file wifi-phy.cc.
References ns3::DbmToW(), m_ccaMode1ThresholdW, and NS_LOG_FUNCTION.
Referenced by SpectrumWifiPhyBasicTest::DoSetup(), and GetTypeId().
|
virtual |
Set channel number.
Channel center frequency = Channel starting frequency + 5 MHz * (nch - 1)
where Starting channel frequency is standard-dependent, as defined in (Section 18.3.8.4.2 "Channel numbering"; IEEE Std 802.11-2012). This method may fail to take action if the Phy model determines that the channel number cannot be switched for some reason (e.g. sleep state)
id | the channel number |
Reimplemented in ns3::SpectrumWifiPhy.
Definition at line 1428 of file wifi-phy.cc.
References DoChannelSwitch(), f(), GetChannelNumber(), GetFrequencyWidthForChannelNumberStandard(), GetStandard(), m_channelCenterFrequency, m_channelNumber, m_initialChannelNumber, m_isConstructed, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, SetChannelWidth(), and ns3::WIFI_PHY_STANDARD_UNSPECIFIED.
Referenced by ns3::DefaultChannelScheduler::AssignDefaultCchAccess(), Bug2831TestCase::ChangeSupportedChannelWidth(), ConfigureChannelForStandard(), DoChannelSwitch(), Bug2831TestCase::DoRun(), GetTypeId(), InitializeFrequencyChannelNumber(), ns3::WaveHelper::Install(), ns3::SpectrumWifiPhy::SetChannelNumber(), InterferenceHelperSequenceTest::SwitchCh(), ns3::MeshWifiInterfaceMac::SwitchFrequencyChannel(), and ns3::DefaultChannelScheduler::SwitchToNextChannel().
|
virtual |
channelwidth | channel width |
Reimplemented in ns3::SpectrumWifiPhy.
Definition at line 1266 of file wifi-phy.cc.
References AddSupportedChannelWidth(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_capabilitiesChangedCallback, m_channelWidth, NS_ASSERT_MSG(), and NS_LOG_FUNCTION.
Referenced by Bug2831TestCase::ChangeSupportedChannelWidth(), ConfigureChannelForStandard(), ConfigureDefaultsForStandard(), Bug2831TestCase::DoRun(), GetTypeId(), SetChannelNumber(), and ns3::SpectrumWifiPhy::SetChannelWidth().
Sets the device this PHY is associated with.
device | the device this PHY is associated with |
Definition at line 654 of file wifi-phy.cc.
References m_device.
Referenced by ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), and Bug2831TestCase::DoRun().
void ns3::WifiPhy::SetEdThreshold | ( | double | threshold | ) |
Sets the energy detection threshold (dBm).
The energy of a received signal should be higher than this threshold (dbm) to allow the PHY layer to detect the signal.
threshold | the energy detction threshold in dBm |
Definition at line 464 of file wifi-phy.cc.
References ns3::DbmToW(), m_edThresholdW, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetErrorRateModel | ( | const Ptr< ErrorRateModel > | rate | ) |
Sets the error rate model.
rate | the error rate model |
Definition at line 685 of file wifi-phy.cc.
References GetNumberOfAntennas(), m_interference, ns3::InterferenceHelper::SetErrorRateModel(), and ns3::InterferenceHelper::SetNumberOfReceiveAntennas().
Referenced by ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), Bug2831TestCase::DoRun(), SpectrumWifiPhyBasicTest::DoSetup(), PsrExperiment::Run(), InterferenceExperiment::Run(), and CollisionExperiment::Run().
void ns3::WifiPhy::SetFrameCaptureModel | ( | const Ptr< FrameCaptureModel > | frameCaptureModel | ) |
Sets the frame capture model.
frameCaptureModel | the frame capture model |
Definition at line 698 of file wifi-phy.cc.
References m_frameCaptureModel.
Referenced by GetTypeId(), and InterferenceExperiment::Run().
|
virtual |
freq | the operating center frequency (MHz) on this node. |
Reimplemented in ns3::SpectrumWifiPhy.
Definition at line 1203 of file wifi-phy.cc.
References DoFrequencySwitch(), FindChannelNumberForFrequencyWidth(), GetChannelWidth(), GetFrequency(), m_channelCenterFrequency, m_channelNumber, m_initialFrequency, m_isConstructed, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by ConfigureChannelForStandard(), ConfigureDefaultsForStandard(), DoFrequencySwitch(), GetTypeId(), InitializeFrequencyChannelNumber(), and ns3::SpectrumWifiPhy::SetFrequency().
void ns3::WifiPhy::SetGreenfield | ( | bool | greenfield | ) |
Enable or disable Greenfield support.
greenfield | Enable or disable Greenfield |
Definition at line 601 of file wifi-phy.cc.
References m_greenfield, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetGuardInterval | ( | Time | guardInterval | ) |
guardInterval | the supported HE guard interval |
Definition at line 627 of file wifi-phy.cc.
References m_guardInterval, ns3::NanoSeconds(), NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetLdpc | ( | bool | ldpc | ) |
Enable or disable LDPC.
ldpc | Enable or disable LDPC |
Definition at line 575 of file wifi-phy.cc.
References m_ldpc, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetMaxSupportedRxSpatialStreams | ( | uint8_t | streams | ) |
streams | the maximum number of supported RX spatial streams. |
Definition at line 1319 of file wifi-phy.cc.
References GetNumberOfAntennas(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_capabilitiesChangedCallback, m_rxSpatialStreams, and NS_ASSERT.
Referenced by GetTypeId().
void ns3::WifiPhy::SetMaxSupportedTxSpatialStreams | ( | uint8_t | streams | ) |
streams | the maximum number of supported TX spatial streams. |
Definition at line 1300 of file wifi-phy.cc.
References ConfigureHtDeviceMcsSet(), GetNumberOfAntennas(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_capabilitiesChangedCallback, m_txSpatialStreams, and NS_ASSERT.
Referenced by GetTypeId().
void ns3::WifiPhy::SetMobility | ( | const Ptr< MobilityModel > | mobility | ) |
assign a mobility model to this device
This method allows a user to specify a mobility model that should be associated with this physical layer. Calling this method is optional and only necessary if the user wants to override the mobility model that is aggregated to the node.
mobility | the mobility model this PHY is associated with |
Definition at line 666 of file wifi-phy.cc.
References m_mobility, and third::mobility.
Referenced by ns3::SpectrumWifiPhyHelper::Create(), Bug2831TestCase::DoRun(), PsrExperiment::Run(), InterferenceExperiment::Run(), CollisionExperiment::Run(), and ns3::WifiSpectrumPhyInterface::SetMobility().
void ns3::WifiPhy::SetNTxPower | ( | uint8_t | n | ) |
Sets the number of transmission power levels available between the minimum level and the maximum level.
Transmission power levels are equally separated (in dBm) with the minimum and the maximum included.
n | the number of available levels |
Definition at line 536 of file wifi-phy.cc.
References m_nTxPower, and NS_LOG_FUNCTION.
void ns3::WifiPhy::SetNumberOfAntennas | ( | uint8_t | antennas | ) |
antennas | the number of antennas on this node. |
Definition at line 1286 of file wifi-phy.cc.
References m_interference, m_numberOfAntennas, NS_ASSERT_MSG(), and ns3::InterferenceHelper::SetNumberOfReceiveAntennas().
Referenced by GetTypeId().
void ns3::WifiPhy::SetOffMode | ( | void | ) |
Put in off mode.
Definition at line 1624 of file wifi-phy.cc.
References ns3::EventId::Cancel(), CCA_BUSY, IDLE, m_endPlcpRxEvent, m_endRxEvent, m_state, NS_ASSERT, NS_LOG_FUNCTION, RX, SLEEP, SWITCHING, and TX.
Referenced by ns3::WifiRadioEnergyModelHelper::DoInstall().
void ns3::WifiPhy::SetReceiveErrorCallback | ( | RxErrorCallback | callback | ) |
callback | the callback to invoke upon erroneous packet reception. |
Definition at line 412 of file wifi-phy.cc.
References m_state.
Referenced by SpectrumWifiPhyBasicTest::DoSetup(), ns3::MacLow::ResetPhy(), and ns3::MacLow::SetPhy().
void ns3::WifiPhy::SetReceiveOkCallback | ( | RxOkCallback | callback | ) |
callback | the callback to invoke upon successful packet reception. |
Definition at line 406 of file wifi-phy.cc.
References m_state.
Referenced by SpectrumWifiPhyBasicTest::DoSetup(), ns3::MacLow::ResetPhy(), and ns3::MacLow::SetPhy().
void ns3::WifiPhy::SetRxGain | ( | double | gain | ) |
Sets the reception gain (dB).
gain | the reception gain in dB |
Definition at line 562 of file wifi-phy.cc.
References m_rxGainDb, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetRxNoiseFigure | ( | double | noiseFigureDb | ) |
Sets the RX loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver.
noiseFigureDb | noise figure in dB |
Definition at line 496 of file wifi-phy.cc.
References ns3::DbToRatio(), GetNumberOfAntennas(), m_interference, NS_LOG_FUNCTION, ns3::InterferenceHelper::SetNoiseFigure(), and ns3::InterferenceHelper::SetNumberOfReceiveAntennas().
Referenced by GetTypeId().
void ns3::WifiPhy::SetShortGuardInterval | ( | bool | shortGuardInterval | ) |
Enable or disable support for HT/VHT short guard interval.
shortGuardInterval | Enable or disable support for short guard interval |
Definition at line 614 of file wifi-phy.cc.
References m_shortGuardInterval, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetShortPlcpPreambleSupported | ( | bool | preamble | ) |
Enable or disable short PLCP preamble.
preamble | sets whether short PLCP preamble is supported or not |
Definition at line 641 of file wifi-phy.cc.
References m_shortPreamble, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetSleepMode | ( | void | ) |
Put in sleep mode.
Definition at line 1592 of file wifi-phy.cc.
References CCA_BUSY, GetDelayUntilIdle(), IDLE, m_state, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, RX, ns3::Simulator::Schedule(), SLEEP, SWITCHING, and TX.
void ns3::WifiPhy::SetStbc | ( | bool | stbc | ) |
Enable or disable STBC.
stbc | Enable or disable STBC |
Definition at line 588 of file wifi-phy.cc.
References m_stbc, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetTxGain | ( | double | gain | ) |
Sets the transmission gain (dB).
gain | the transmission gain in dB |
Definition at line 549 of file wifi-phy.cc.
References m_txGainDb, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::WifiPhy::SetTxPowerEnd | ( | double | end | ) |
Sets the maximum available transmission power level (dBm).
end | the maximum transmission power level (dBm) |
Definition at line 523 of file wifi-phy.cc.
References m_txPowerEndDbm, and NS_LOG_FUNCTION.
Referenced by GetTypeId(), and InterferenceExperiment::Run().
void ns3::WifiPhy::SetTxPowerStart | ( | double | start | ) |
Sets the minimum available transmission power level (dBm).
start | the minimum transmission power level (dBm) |
Definition at line 510 of file wifi-phy.cc.
References m_txPowerBaseDbm, NS_LOG_FUNCTION, and visualizer.core::start().
Referenced by GetTypeId(), and InterferenceExperiment::Run().
void ns3::WifiPhy::SetWifiRadioEnergyModel | ( | const Ptr< WifiRadioEnergyModel > | wifiRadioEnergyModel | ) |
Sets the wifi radio energy model.
wifiRadioEnergyModel | the wifi radio energy model |
Definition at line 710 of file wifi-phy.cc.
References m_wifiRadioEnergyModel.
void ns3::WifiPhy::StartReceivePacket | ( | Ptr< Packet > | packet, |
WifiTxVector | txVector, | ||
MpduType | mpdutype, | ||
Ptr< InterferenceHelper::Event > | event | ||
) |
Starting receiving the payload of a packet (i.e.
the first bit of the packet has arrived).
packet | the arriving packet |
txVector | the TXVECTOR of the arriving packet |
mpdutype | the type of the MPDU as defined in WifiPhy::MpduType. |
event | the corresponding event of the first time the packet arrives |
Definition at line 2568 of file wifi-phy.cc.
References ns3::InterferenceHelper::CalculatePlcpHeaderSnrPer(), ns3::WifiTxVector::GetMode(), ns3::WifiTxVector::GetPreambleType(), ns3::UniformRandomVariable::GetValue(), ns3::EventId::IsExpired(), IsMcsSupported(), IsModeSupported(), IsStateRx(), m_endPlcpRxEvent, m_interference, m_plcpSuccess, m_random, NotifyRxDrop(), NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::InterferenceHelper::SnrPer::per, ns3::RatioToDb(), and ns3::InterferenceHelper::SnrPer::snr.
Referenced by StartRx().
void ns3::WifiPhy::StartReceivePreambleAndHeader | ( | Ptr< Packet > | packet, |
double | rxPowerW, | ||
Time | rxDuration | ||
) |
Starting receiving the plcp of a packet (i.e.
the first bit of the preamble has arrived).
packet | the arriving packet |
rxPowerW | the receive power in W |
rxDuration | the duration needed for the reception of the packet |
Definition at line 2423 of file wifi-phy.cc.
References AbortCurrentReception(), ns3::InterferenceHelper::Add(), CCA_BUSY, ns3::WifiPhyTag::GetFrameComplete(), GetMaxSupportedRxSpatialStreams(), ns3::WifiMode::GetMcsValue(), ns3::WifiTxVector::GetMode(), ns3::WifiMode::GetModulationClass(), ns3::WifiPhyTag::GetMpduType(), ns3::WifiTxVector::GetNss(), ns3::WifiPhyTag::GetWifiTxVector(), IDLE, m_currentEvent, m_frameCaptureModel, m_interference, m_plcpSuccess, m_state, MaybeCcaBusyDuration(), NotifyRxDrop(), ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, OFF, ns3::Packet::RemovePacketTag(), RX, SLEEP, StartRx(), SWITCHING, TX, ns3::WIFI_MOD_CLASS_HT, and ns3::WToDbm().
Referenced by ns3::YansWifiChannel::Receive(), and ns3::SpectrumWifiPhy::StartRx().
|
private |
Starting receiving the packet after having detected the medium is idle or after a reception switch.
packet | the arriving packet |
txVector | the TXVECTOR of the arriving packet |
mpdutype | the type of the MPDU as defined in WifiPhy::MpduType. |
rxPowerW | the receive power in W |
rxDuration | the duration needed for the reception of the packet |
event | the corresponding event of the first time the packet arrives |
Definition at line 3683 of file wifi-phy.cc.
References CalculatePlcpPreambleAndHeaderDuration(), EndReceive(), GetEdThresholdW(), ns3::WifiTxVector::GetPreambleType(), ns3::AmpduTag::GetRemainingNbOfMpdus(), ns3::EventId::IsExpired(), m_currentEvent, m_endPlcpRxEvent, m_endRxEvent, m_interference, m_mpdusNum, m_plcpSuccess, m_rxMpduReferenceNumber, m_state, MaybeCcaBusyDuration(), NotifyRxBegin(), NotifyRxDrop(), ns3::InterferenceHelper::NotifyRxStart(), NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::Packet::PeekPacketTag(), ns3::Simulator::Schedule(), StartReceivePacket(), and ns3::WIFI_PREAMBLE_NONE.
Referenced by StartReceivePreambleAndHeader().
|
pure virtual |
packet | the packet to send |
txVector | the 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 |
txDuration | duration of the transmission. |
Implemented in ns3::SpectrumWifiPhy, and ns3::YansWifiPhy.
Referenced by SendPacket().
|
protected |
Check if Phy state should move to CCA busy state based on current state of interference tracker.
In this model, CCA becomes busy when the aggregation of all signals as tracked by the InterferenceHelper class is higher than the CcaMode1Threshold
Definition at line 3648 of file wifi-phy.cc.
References ns3::Time::As(), ns3::DbmToW(), GetCcaMode1Threshold(), ns3::InterferenceHelper::GetEnergyDuration(), ns3::Time::IsZero(), m_interference, m_state, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::Time::S.
Referenced by ns3::SpectrumWifiPhy::StartRx().
void ns3::WifiPhy::UnregisterListener | ( | WifiPhyListener * | listener | ) |
listener | the listener to be unregistered |
Remove the input listener from the list of objects to be notified of PHY-level events.
Definition at line 424 of file wifi-phy.cc.
References m_state.
Referenced by ns3::DcfManager::RemovePhyListener(), and ns3::MacLow::RemovePhyMacLowListener().
|
private |
the BSS membership selector set
Definition at line 1813 of file wifi-phy.h.
Referenced by Configure80211ac(), Configure80211ax(), Configure80211n(), ConfigureHtDeviceMcsSet(), GetBssMembershipSelector(), and GetNBssMembershipSelectors().
|
private |
Callback when PHY capabilities changed.
Definition at line 1860 of file wifi-phy.h.
Referenced by SetCapabilitiesChangedCallback(), SetChannelWidth(), SetMaxSupportedRxSpatialStreams(), and SetMaxSupportedTxSpatialStreams().
|
private |
Clear channel assessment (CCA) threshold in watts.
Definition at line 1823 of file wifi-phy.h.
Referenced by GetCcaMode1Threshold(), and SetCcaMode1Threshold().
|
private |
Center frequency in MHz.
Definition at line 1817 of file wifi-phy.h.
Referenced by GetFrequency(), SetChannelNumber(), and SetFrequency().
|
private |
Operating channel number.
Definition at line 1846 of file wifi-phy.h.
Referenced by GetChannelNumber(), SetChannelNumber(), and SetFrequency().
|
private |
Time required to switch between channel.
Definition at line 1849 of file wifi-phy.h.
Referenced by GetChannelSwitchDelay(), and GetTypeId().
|
staticprivate |
the channel to frequency width map
This table maintains the mapping of valid ChannelNumber to Frequency/ChannelWidth pairs.
If you want to make a channel applicable to all standards, then you may use the WIFI_PHY_STANDARD_UNSPECIFIED standard to represent this, as a wildcard. If you want to limit the configuration of a particular channel/frequency/width to a particular standard(s), then you can specify one or more such bindings.
Definition at line 1843 of file wifi-phy.h.
Referenced by DefineChannelNumber(), FindChannelNumberForFrequencyWidth(), and GetFrequencyWidthForChannelNumberStandard().
|
private |
Channel width.
Definition at line 1820 of file wifi-phy.h.
Referenced by GetChannelWidth(), and SetChannelWidth().
|
private |
Hold the current event.
Definition at line 1856 of file wifi-phy.h.
Referenced by AbortCurrentReception(), EndReceive(), StartReceivePreambleAndHeader(), and StartRx().
Pointer to the device.
Definition at line 1853 of file wifi-phy.h.
Referenced by DoDispose(), GetDevice(), GetMobility(), and SetDevice().
|
private |
the device MCS set
Definition at line 1811 of file wifi-phy.h.
Referenced by Configure80211ac(), Configure80211ax(), ConfigureHtDeviceMcsSet(), DoDispose(), GetMcs(), and GetNMcs().
|
private |
This vector holds the set of transmission modes that this WifiPhy(-derived class) can support.
In conversation we call this the DeviceRateSet (not a term you'll find in the standard), and it is a superset of standard-defined parameters such as the OperationalRateSet, and the BSSBasicRateSet (which, themselves, have a superset/subset relationship).
Mandatory rates relevant to this WifiPhy can be found by iterating over this vector looking for WifiMode objects for which WifiMode::IsMandatory() is true.
A quick note is appropriate here (well, here is as good a place as any I can find)...
In the standard there is no text that explicitly precludes production of a device that does not support some rates that are mandatory (according to the standard) for PHYs that the device happens to fully or partially support.
This approach is taken by some devices which choose to only support, for example, 6 and 9 Mbps ERP-OFDM rates for cost and power consumption reasons (i.e., these devices don't need to be designed for and waste current on the increased linearity requirement of higher-order constellations when 6 and 9 Mbps more than meet their data requirements). The wording of the standard allows such devices to have an OperationalRateSet which includes 6 and 9 Mbps ERP-OFDM rates, despite 12 and 24 Mbps being "mandatory" rates for the ERP-OFDM PHY.
Now this doesn't actually have any impact on code, yet. It is, however, something that we need to keep in mind for the future. Basically, the key point is that we can't be making assumptions like "the Operational Rate Set will contain all the mandatory rates".
Definition at line 1810 of file wifi-phy.h.
Referenced by Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), ConfigureHolland(), DoDispose(), GetMode(), and GetNModes().
|
private |
Energy detection threshold in watts.
Definition at line 1822 of file wifi-phy.h.
Referenced by GetEdThreshold(), GetEdThresholdW(), and SetEdThreshold().
|
protected |
the end PLCP receive event
Definition at line 1574 of file wifi-phy.h.
Referenced by AbortCurrentReception(), DoChannelSwitch(), DoFrequencySwitch(), SendPacket(), SetOffMode(), StartReceivePacket(), and StartRx().
|
protected |
the end reeive event
Definition at line 1573 of file wifi-phy.h.
Referenced by AbortCurrentReception(), DoChannelSwitch(), DoFrequencySwitch(), SendPacket(), SetOffMode(), and StartRx().
|
private |
Frame capture model.
Definition at line 1857 of file wifi-phy.h.
Referenced by GetFrameCaptureModel(), SetFrameCaptureModel(), and StartReceivePreambleAndHeader().
|
private |
Store initialization state.
Definition at line 1819 of file wifi-phy.h.
Referenced by ConfigureStandard(), DoInitialize(), and InitializeFrequencyChannelNumber().
|
private |
Flag if GreenField format is supported.
Definition at line 1832 of file wifi-phy.h.
Referenced by GetGreenfield(), and SetGreenfield().
|
private |
Supported HE guard interval.
Definition at line 1836 of file wifi-phy.h.
Referenced by GetGuardInterval(), and SetGuardInterval().
|
private |
Initial channel number.
Definition at line 1847 of file wifi-phy.h.
Referenced by InitializeFrequencyChannelNumber(), and SetChannelNumber().
|
private |
Store frequency until initialization.
Definition at line 1818 of file wifi-phy.h.
Referenced by InitializeFrequencyChannelNumber(), and SetFrequency().
|
protected |
Pointer to InterferenceHelper.
Definition at line 1564 of file wifi-phy.h.
Referenced by AbortCurrentReception(), CalculateSnr(), DoChannelSwitch(), DoFrequencySwitch(), EndReceive(), GetErrorRateModel(), GetRxNoiseFigure(), MaybeCcaBusyDuration(), ResumeFromOff(), ResumeFromSleep(), SendPacket(), SetErrorRateModel(), SetNumberOfAntennas(), SetRxNoiseFigure(), StartReceivePacket(), StartReceivePreambleAndHeader(), ns3::SpectrumWifiPhy::StartRx(), StartRx(), and SwitchMaybeToCcaBusy().
|
private |
true when ready to set frequency
Definition at line 1816 of file wifi-phy.h.
Referenced by ConfigureStandard(), DoInitialize(), SetChannelNumber(), and SetFrequency().
|
private |
Flag if LDPC is used.
Definition at line 1830 of file wifi-phy.h.
|
private |
Pointer to the mobility model.
Definition at line 1854 of file wifi-phy.h.
Referenced by DoDispose(), GetMobility(), and SetMobility().
|
protected |
carries the number of expected mpdus that are part of an A-MPDU
Definition at line 1568 of file wifi-phy.h.
Referenced by StartRx().
|
private |
Number of available transmission power levels.
Definition at line 1828 of file wifi-phy.h.
Referenced by GetNTxPower(), GetPowerDbm(), GetTypeId(), and SetNTxPower().
|
private |
Number of transmitters.
Definition at line 1838 of file wifi-phy.h.
Referenced by GetNumberOfAntennas(), and SetNumberOfAntennas().
|
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()
Definition at line 1758 of file wifi-phy.h.
Referenced by GetTypeId(), and NotifyMonitorSniffRx().
|
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()
Definition at line 1772 of file wifi-phy.h.
Referenced by GetTypeId(), and NotifyMonitorSniffTx().
|
private |
The trace source fired when a packet begins the reception process from the medium.
Definition at line 1729 of file wifi-phy.h.
Referenced by GetTypeId(), and NotifyRxBegin().
|
private |
The trace source fired when the phy layer drops a packet it has received.
Definition at line 1744 of file wifi-phy.h.
Referenced by GetTypeId(), and NotifyRxDrop().
|
private |
The trace source fired when a packet ends the reception process from the medium.
Definition at line 1737 of file wifi-phy.h.
Referenced by GetTypeId(), and NotifyRxEnd().
|
private |
The trace source fired when a packet begins the transmission process on the medium.
Definition at line 1705 of file wifi-phy.h.
Referenced by GetTypeId(), and NotifyTxBegin().
|
private |
The trace source fired when the phy layer drops a packet as it tries to transmit it.
Definition at line 1721 of file wifi-phy.h.
Referenced by GetTypeId(), and NotifyTxDrop().
|
private |
The trace source fired when a packet ends the transmission process on the medium.
Definition at line 1713 of file wifi-phy.h.
Referenced by GetTypeId(), and NotifyTxEnd().
|
protected |
Flag if the PLCP of the packet or the first MPDU in an A-MPDU has been received.
Definition at line 1569 of file wifi-phy.h.
Referenced by EndReceive(), StartReceivePacket(), StartReceivePreambleAndHeader(), and StartRx().
|
protected |
Provides uniform random variables.
Definition at line 1565 of file wifi-phy.h.
Referenced by AssignStreams(), EndReceive(), StartReceivePacket(), and WifiPhy().
|
private |
Reception gain (dB)
Definition at line 1825 of file wifi-phy.h.
Referenced by GetRxGain(), and SetRxGain().
|
protected |
A-MPDU reference number to identify all received subframes belonging to the same received A-MPDU.
Definition at line 1571 of file wifi-phy.h.
Referenced by EndReceive(), and StartRx().
|
private |
Number of supported RX spatial streams.
Definition at line 1840 of file wifi-phy.h.
Referenced by GetMaxSupportedRxSpatialStreams(), and SetMaxSupportedRxSpatialStreams().
|
private |
Flag if HT/VHT short guard interval is supported.
Definition at line 1833 of file wifi-phy.h.
Referenced by GetShortGuardInterval(), and SetShortGuardInterval().
|
private |
Flag if short PLCP preamble is supported.
Definition at line 1834 of file wifi-phy.h.
Referenced by GetShortPlcpPreambleSupported(), and SetShortPlcpPreambleSupported().
|
private |
WifiPhyStandard.
Definition at line 1815 of file wifi-phy.h.
Referenced by ConfigureStandard(), and GetStandard().
|
protected |
Pointer to WifiPhyStateHelper.
Definition at line 1566 of file wifi-phy.h.
Referenced by AbortCurrentReception(), DoChannelSwitch(), DoDispose(), DoFrequencySwitch(), EndReceive(), GetDelayUntilIdle(), GetLastRxStartTime(), GetTypeId(), IsStateCcaBusy(), IsStateIdle(), IsStateOff(), IsStateRx(), IsStateSleep(), IsStateSwitching(), IsStateTx(), MaybeCcaBusyDuration(), RegisterListener(), ResumeFromOff(), ResumeFromSleep(), SendPacket(), SetOffMode(), SetReceiveErrorCallback(), SetReceiveOkCallback(), SetSleepMode(), StartReceivePreambleAndHeader(), StartRx(), SwitchMaybeToCcaBusy(), UnregisterListener(), and WifiPhy().
|
private |
Flag if STBC is used.
Definition at line 1831 of file wifi-phy.h.
|
private |
Supported channel width.
Definition at line 1845 of file wifi-phy.h.
Referenced by AddSupportedChannelWidth(), and GetSupportedChannelWidthSet().
|
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 1851 of file wifi-phy.h.
Referenced by GetPayloadDuration().
|
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 1850 of file wifi-phy.h.
Referenced by GetPayloadDuration().
|
private |
Transmission gain (dB)
Definition at line 1824 of file wifi-phy.h.
Referenced by GetTxGain(), and SetTxGain().
|
protected |
A-MPDU reference number to identify all transmitted subframes belonging to the same received A-MPDU.
Definition at line 1570 of file wifi-phy.h.
Referenced by SendPacket().
|
private |
Minimum transmission power (dBm)
Definition at line 1826 of file wifi-phy.h.
Referenced by GetPowerDbm(), GetTxPowerStart(), and SetTxPowerStart().
|
private |
Maximum transmission power (dBm)
Definition at line 1827 of file wifi-phy.h.
Referenced by GetPowerDbm(), GetTxPowerEnd(), and SetTxPowerEnd().
|
private |
Number of supported TX spatial streams.
Definition at line 1839 of file wifi-phy.h.
Referenced by GetMaxSupportedTxSpatialStreams(), and SetMaxSupportedTxSpatialStreams().
|
private |
Wifi radio energy model.
Definition at line 1858 of file wifi-phy.h.
Referenced by DoDispose(), SendPacket(), and SetWifiRadioEnergyModel().