|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
23 #ifndef WIFI_PHY_COMMON_H
24 #define WIFI_PHY_COMMON_H
27 #include "ns3/fatal-error.h"
92 return (os <<
"LONG");
94 return (os <<
"SHORT");
96 return (os <<
"HT_MF");
98 return (os <<
"VHT_SU");
100 return (os <<
"VHT_MU");
102 return (os <<
"HE_SU");
104 return (os <<
"HE_ER_SU");
106 return (os <<
"HE_MU");
108 return (os <<
"HE_TB");
111 return (os <<
"INVALID");
147 return (os <<
"DSSS");
149 return (os <<
"HR/DSSS");
151 return (os <<
"ERP-OFDM");
153 return (os <<
"OFDM");
157 return (os <<
"VHT");
162 return (os <<
"unknown");
205 return (os <<
"preamble");
207 return (os <<
"non-HT header");
209 return (os <<
"HT-SIG");
211 return (os <<
"training");
213 return (os <<
"SIG-A");
215 return (os <<
"SIG-B");
217 return (os <<
"data");
220 return (os <<
"unknown");
249 return (os <<
"DL MU");
251 return (os <<
"UL MU");
254 return (os <<
"unknown");
296 return (os <<
"UNSUPPORTED_SETTINGS");
298 return (os <<
"CHANNEL_SWITCHING");
300 return (os <<
"RXING");
302 return (os <<
"TXING");
304 return (os <<
"SLEEPING");
306 return (os <<
"BUSY_DECODING_PREAMBLE");
308 return (os <<
"PREAMBLE_DETECT_FAILURE");
310 return (os <<
"RECEPTION_ABORTED_BY_TX");
312 return (os <<
"L_SIG_FAILURE");
314 return (os <<
"HT_SIG_FAILURE");
316 return (os <<
"SIG_A_FAILURE");
318 return (os <<
"SIG_B_FAILURE");
320 return (os <<
"PREAMBLE_DETECTION_PACKET_SWITCH");
322 return (os <<
"FRAME_CAPTURE_PACKET_SWITCH");
324 return (os <<
"OBSS_PD_CCA_RESET");
326 return (os <<
"HE_TB_PPDU_TOO_LATE");
328 return (os <<
"FILTERED");
332 return (os <<
"UNKNOWN");
@ WIFI_MOD_CLASS_ERP_OFDM
ERP-OFDM (18.4)
@ WIFI_PPDU_FIELD_HT_SIG
HT-SIG field.
@ WIFI_PPDU_FIELD_SIG_A
SIG-A field.
const uint16_t WIFI_CODE_RATE_5_6
5/6 coding rate
bool IsMu(WifiPreamble preamble)
Return true if a preamble corresponds to a multi-user transmission.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
@ WIFI_MOD_CLASS_HT
HT (Clause 19)
@ WIFI_MOD_CLASS_HE
HE (Clause 27)
const uint16_t WIFI_CODE_RATE_UNDEFINED
undefined coding rate
@ WIFI_MOD_CLASS_OFDM
OFDM (Clause 17)
@ WIFI_PPDU_FIELD_PREAMBLE
SYNC + SFD fields for DSSS or ERP, shortSYNC + shortSFD fields for HR/DSSS or ERP,...
@ PREAMBLE_DETECT_FAILURE
@ FRAME_CAPTURE_PACKET_SWITCH
@ WIFI_MOD_CLASS_UNKNOWN
Modulation class unknown or unspecified.
Time GetPpduMaxTime(WifiPreamble preamble)
Get the maximum PPDU duration (see Section 10.14 of 802.11-2016) for the PHY layers defining the aPPD...
@ PREAMBLE_DETECTION_PACKET_SWITCH
@ WIFI_MOD_CLASS_HR_DSSS
HR/DSSS (Clause 16)
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
uint16_t WifiCodeRate
These constants define the various convolutional coding rates used for the OFDM transmission modes in...
@ RECEPTION_ABORTED_BY_TX
WifiPhyRxfailureReason
Enumeration of the possible reception failure reasons.
uint16_t ConvertGuardIntervalToNanoSeconds(WifiMode mode, const Ptr< WifiNetDevice > device)
Convert the guard interval to nanoseconds based on the WifiMode.
const uint16_t WIFI_CODE_RATE_2_3
2/3 coding rate
uint16_t GetChannelWidthForTransmission(WifiMode mode, uint16_t maxSupportedChannelWidth)
Return the channel width that corresponds to the selected mode (instead of letting the PHY's default ...
WifiPpduField
The type of PPDU field (grouped for convenience)
WifiPreamble
The type of preamble to be used by an IEEE 802.11 transmission.
WifiPreamble GetPreambleForTransmission(WifiModulationClass modulation, bool useShortPreamble)
Return the preamble to be used for the transmission.
const uint16_t WIFI_CODE_RATE_1_2
1/2 coding rate
WifiPpduType
The type of PPDU (SU, DL MU, or UL MU)
@ WIFI_PPDU_FIELD_DATA
data field
bool IsUlMu(WifiPreamble preamble)
Return true if a preamble corresponds to a uplink multi-user transmission.
void(* Time)(Time oldValue, Time newValue)
TracedValue callback signature for Time.
@ WIFI_PPDU_FIELD_TRAINING
STF + LTF fields (excluding those in preamble for HT-GF)
bool IsAllowedControlAnswerModulationClass(WifiModulationClass modClassReq, WifiModulationClass modClassAnswer)
Return whether the modulation class of the selected mode for the control answer frame is allowed.
const uint16_t WIFI_CODE_RATE_3_4
3/4 coding rate
@ WIFI_MOD_CLASS_VHT
VHT (Clause 22)
std::ostream & operator<<(std::ostream &os, const Angles &a)
@ WIFI_PPDU_FIELD_SIG_B
SIG-B field.
@ WIFI_PPDU_FIELD_NON_HT_HEADER
PHY header field for DSSS or ERP, short PHY header field for HR/DSSS or ERP, field not present for HT...
@ WIFI_MOD_CLASS_DSSS
DSSS (Clause 15)
WifiModulationClass
This enumeration defines the modulation classes per (Table 10-6 "Modulation classes"; IEEE 802....
bool IsDlMu(WifiPreamble preamble)
Return true if a preamble corresponds to a downlink multi-user transmission.