A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
wifi-phy-common.h File Reference

Declaration of the following enums: More...

#include "wifi-spectrum-value-helper.h"
#include "wifi-standards.h"
#include "wifi-types.h"
#include "ns3/fatal-error.h"
#include "ns3/ptr.h"
#include <ostream>
#include <vector>
+ Include dependency graph for wifi-phy-common.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ns3::WifiSpectrumBandInfo
 WifiSpectrumBandInfo structure containing info about a spectrum band. More...
 

Namespaces

namespace  ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 

Typedefs

using ns3::WifiSpectrumBandFrequencies = std::pair<Hz_u, Hz_u>
 typedef for a pair of start and stop frequencies to represent a band
 
using ns3::WifiSpectrumBands = std::vector<WifiSpectrumBandInfo>
 vector of spectrum bands
 

Enumerations

enum  ns3::WifiChannelListType : uint8_t { ns3::WIFI_CHANLIST_PRIMARY = 0 , ns3::WIFI_CHANLIST_SECONDARY , ns3::WIFI_CHANLIST_SECONDARY40 , ns3::WIFI_CHANLIST_SECONDARY80 }
 Enumeration of the possible channel-list parameter elements defined in Table 8-5 of IEEE 802.11-2016. More...
 
enum  ns3::WifiCodeRate : uint16_t {
  ns3::WIFI_CODE_RATE_UNDEFINED , ns3::WIFI_CODE_RATE_1_2 , ns3::WIFI_CODE_RATE_2_3 , ns3::WIFI_CODE_RATE_3_4 ,
  ns3::WIFI_CODE_RATE_5_6 , ns3::WIFI_CODE_RATE_5_8 , ns3::WIFI_CODE_RATE_13_16 , ns3::WIFI_CODE_RATE_1_4 ,
  ns3::WIFI_CODE_RATE_13_28 , ns3::WIFI_CODE_RATE_13_21 , ns3::WIFI_CODE_RATE_52_63 , ns3::WIFI_CODE_RATE_13_14 ,
  ns3::WIFI_CODE_RATE_7_8
}
 These constants define the various convolutional coding rates used for the OFDM transmission modes in the IEEE 802.11 standard. More...
 
enum  ns3::WifiModulationClass {
  ns3::WIFI_MOD_CLASS_UNKNOWN = 0 , ns3::WIFI_MOD_CLASS_DSSS , ns3::WIFI_MOD_CLASS_HR_DSSS , ns3::WIFI_MOD_CLASS_ERP_OFDM ,
  ns3::WIFI_MOD_CLASS_OFDM , ns3::WIFI_MOD_CLASS_HT , ns3::WIFI_MOD_CLASS_VHT , ns3::WIFI_MOD_CLASS_DMG_CTRL ,
  ns3::WIFI_MOD_CLASS_DMG_OFDM , ns3::WIFI_MOD_CLASS_DMG_SC , ns3::WIFI_MOD_CLASS_DMG_LP_SC , ns3::WIFI_MOD_CLASS_HE ,
  ns3::WIFI_MOD_CLASS_EHT
}
 This enumeration defines the modulation classes per (Table 10-6 "Modulation classes"; IEEE 802.11-2016, with updated in 802.11ax/D6.0 as Table 10-9). More...
 
enum  ns3::WifiPhyRxfailureReason {
  ns3::UNKNOWN = 0 , ns3::UNSUPPORTED_SETTINGS , ns3::CHANNEL_SWITCHING , ns3::RXING ,
  ns3::TXING , ns3::SLEEPING , ns3::POWERED_OFF , ns3::TRUNCATED_TX ,
  ns3::BUSY_DECODING_PREAMBLE , ns3::PREAMBLE_DETECT_FAILURE , ns3::RECEPTION_ABORTED_BY_TX , ns3::L_SIG_FAILURE ,
  ns3::HT_SIG_FAILURE , ns3::SIG_A_FAILURE , ns3::SIG_B_FAILURE , ns3::U_SIG_FAILURE ,
  ns3::EHT_SIG_FAILURE , ns3::PREAMBLE_DETECTION_PACKET_SWITCH , ns3::FRAME_CAPTURE_PACKET_SWITCH , ns3::OBSS_PD_CCA_RESET ,
  ns3::PPDU_TOO_LATE , ns3::FILTERED , ns3::DMG_HEADER_FAILURE , ns3::DMG_ALLOCATION_ENDED ,
  ns3::SIGNAL_DETECTION_ABORTED_BY_TX
}
 Enumeration of the possible reception failure reasons. More...
 
enum  ns3::WifiPpduField {
  ns3::WIFI_PPDU_FIELD_PREAMBLE = 0 , ns3::WIFI_PPDU_FIELD_NON_HT_HEADER , ns3::WIFI_PPDU_FIELD_HT_SIG , ns3::WIFI_PPDU_FIELD_TRAINING ,
  ns3::WIFI_PPDU_FIELD_SIG_A , ns3::WIFI_PPDU_FIELD_SIG_B , ns3::WIFI_PPDU_FIELD_U_SIG , ns3::WIFI_PPDU_FIELD_EHT_SIG ,
  ns3::WIFI_PPDU_FIELD_DATA
}
 The type of PPDU field (grouped for convenience) More...
 
enum  ns3::WifiPpduType { ns3::WIFI_PPDU_TYPE_SU = 0 , ns3::WIFI_PPDU_TYPE_DL_MU , ns3::WIFI_PPDU_TYPE_UL_MU }
 The type of PPDU (SU, DL MU, or UL MU) More...
 
enum  ns3::WifiPreamble {
  ns3::WIFI_PREAMBLE_LONG , ns3::WIFI_PREAMBLE_SHORT , ns3::WIFI_PREAMBLE_HT_MF , ns3::WIFI_PREAMBLE_VHT_SU ,
  ns3::WIFI_PREAMBLE_VHT_MU , ns3::WIFI_PREAMBLE_DMG_CTRL , ns3::WIFI_PREAMBLE_DMG_SC , ns3::WIFI_PREAMBLE_DMG_OFDM ,
  ns3::WIFI_PREAMBLE_HE_SU , ns3::WIFI_PREAMBLE_HE_ER_SU , ns3::WIFI_PREAMBLE_HE_MU , ns3::WIFI_PREAMBLE_HE_TB ,
  ns3::WIFI_PREAMBLE_EHT_MU , ns3::WIFI_PREAMBLE_EHT_TB
}
 The type of preamble to be used by an IEEE 802.11 transmission. More...
 

Functions

MHz_u ns3::GetChannelWidthInMhz (WifiChannelWidthType width)
 Get the total channel width for the channel width type.
 
Time ns3::GetGuardIntervalForMode (WifiMode mode, bool htShortGuardInterval, Time heGuardInterval)
 Get the guard interval for a given WifiMode.
 
Time ns3::GetGuardIntervalForMode (WifiMode mode, const Ptr< WifiNetDevice > device)
 Get the guard interval for a given WifiMode.
 
MHz_u ns3::GetMaximumChannelWidth (WifiModulationClass modulation)
 Get the maximum channel width allowed for the given modulation class.
 
WifiModulationClass ns3::GetModulationClassForPreamble (WifiPreamble preamble)
 Return the modulation class corresponding to the given preamble type.
 
WifiModulationClass ns3::GetModulationClassForStandard (WifiStandard standard)
 Return the modulation class corresponding to a given standard.
 
Time ns3::GetPpduMaxTime (WifiPreamble preamble)
 Get the maximum PPDU duration (see Section 10.14 of 802.11-2016) for the PHY layers defining the aPPDUMaxTime characteristic (HT, VHT and HE).
 
WifiPreamble ns3::GetPreambleForTransmission (WifiModulationClass modulation, bool useShortPreamble=false)
 Return the preamble to be used for the transmission.
 
bool ns3::IsAllowedControlAnswerModulationClass (WifiModulationClass modClassReq, WifiModulationClass modClassAnswer)
 Return whether the modulation class of the selected mode for the control answer frame is allowed.
 
bool ns3::IsDlMu (WifiPreamble preamble)
 Return true if a preamble corresponds to a downlink multi-user transmission.
 
bool ns3::IsEht (WifiPreamble preamble)
 Return true if a preamble corresponds to an EHT transmission.
 
bool ns3::IsMu (WifiPreamble preamble)
 Return true if a preamble corresponds to a multi-user transmission.
 
bool ns3::IsUlMu (WifiPreamble preamble)
 Return true if a preamble corresponds to a uplink multi-user transmission.
 
bool ns3::operator< (const WifiSpectrumBandInfo &lhs, const WifiSpectrumBandInfo &rhs)
 Compare two bands.
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiCodeRate &codeRate)
 Stream insertion operator.
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiModulationClass &modulation)
 Stream insertion operator.
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiPhyRxfailureReason &reason)
 Stream insertion operator.
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiPpduField &field)
 Stream insertion operator.
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiPpduType &type)
 Stream insertion operator.
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiPreamble &preamble)
 Stream insertion operator.
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiSpectrumBandInfo &band)
 Stream insertion operator.
 
std::ostream & ns3::operator<< (std::ostream &os, WifiChannelListType type)
 Stream insertion operator.
 
std::ostream & ns3::operator<< (std::ostream &os, WifiChannelWidthType width)
 Stream insertion operator.
 

Variables

static constexpr uint8_t ns3::MAX_PROPAGATION_DELAY_USEC = 1
 maximum propagation delay
 

Detailed Description