diff --git a/src/wifi/doc/source/figures/WifiArchitecture.dia b/src/wifi/doc/source/figures/WifiArchitecture.dia index e37d7bcac..b9eb872b2 100644 Binary files a/src/wifi/doc/source/figures/WifiArchitecture.dia and b/src/wifi/doc/source/figures/WifiArchitecture.dia differ diff --git a/src/wifi/doc/source/wifi-design.rst b/src/wifi/doc/source/wifi-design.rst index f76372395..0844fc964 100644 --- a/src/wifi/doc/source/wifi-design.rst +++ b/src/wifi/doc/source/wifi-design.rst @@ -25,6 +25,8 @@ on the IEEE 802.11 standard [ieee80211]_. We will go into more detail below but * QoS-based EDCA and queueing extensions of **802.11e** * the ability to use different propagation loss models and propagation delay models, please see the chapter on :ref:`Propagation` for more detail +* packet error models and frame detection models that have been validated + against link simulations and other references * various rate control algorithms including **Aarf, Arf, Cara, Onoe, Rraa, ConstantRate, Minstrel and Minstrel-HT** * 802.11s (mesh), described in another chapter @@ -175,7 +177,7 @@ The following details pertain to the physical layer and channel models: * Processing delays are not modeled * The current implementation assumes that secondary channels are always higher than primary channels * Channel bonding implementation only supports the use of the configured channel width -and does not perform CCA on secondary channels + and does not perform CCA on secondary channels * Cases where RTS/CTS and ACK are transmitted using HT/VHT/HE formats are not supported * Energy consumption model does not consider MIMO @@ -194,7 +196,7 @@ Design Details The remainder of this section is devoted to more in-depth design descriptions of some of the Wi-Fi models. Users interested in skipping to the section -on usage of the wifi module (:ref:`sec-wifi-user-doc`) may do so at this point. +on usage of the wifi module (:ref:`User Documentation`) may do so at this point. We organize these more detailed sections from the bottom-up, in terms of layering, by describing the channel and PHY models first, followed by the MAC models. @@ -551,7 +553,8 @@ if not, it uses a backup model derived from MATLAB simulations. The error curves for analytical models are shown to diverge from link simulation results for higher MCS in Figure :ref:`error-models-comparison`. This prompted the move to a new error -model based on link simulations (the default TableBasedErrorRateModel). +model based on link simulations (the default TableBasedErrorRateModel, which +provides curves close to those depicted by the TGn dashed line). .. _error-models-comparison: diff --git a/src/wifi/doc/source/wifi-user.rst b/src/wifi/doc/source/wifi-user.rst index 6f136dde8..698a73a9e 100644 --- a/src/wifi/doc/source/wifi-user.rst +++ b/src/wifi/doc/source/wifi-user.rst @@ -1,8 +1,8 @@ -.. _sec-wifi-user-doc: - .. include:: replace.txt .. highlight:: cpp +.. _sec-wifi-user-doc: + ++++++++++++++++++ User Documentation ++++++++++++++++++ @@ -50,8 +50,9 @@ To create a WifiNetDevice, users need to follow these steps: HT (802.11n) and/or VHT (802.11ac) and/or HE (802.11ax) features are supported or not. * Create WifiDevice: at this step, users configure the desired wifi standard (e.g. **802.11b**, **802.11g**, **802.11a**, **802.11n**, **802.11ac** or **802.11ax**) and rate control algorithm. -* Configure mobility: finally, mobility model is (usually) required before WifiNetDevice - can be used. +* Configure mobility: finally, a mobility model is (usually) required before WifiNetDevice + can be used; even if the devices are stationary, their relative positions + are needed for propagation loss calculations. The following sample code illustrates a typical configuration using mostly default values in the simulator, and infrastructure mode:: @@ -119,9 +120,8 @@ a discussion of the |ns3| object model, if you are not familiar with it. The following two methods are useful when configuring YansWifiChannelHelper: -* ``YansWifiChannelHelper::AddPropagationLoss`` adds a PropagationLossModel - to a chain of PropagationLossModel -* ``YansWifiChannelHelper::SetPropagationDelay`` sets a PropagationDelayModel +* ``YansWifiChannelHelper::AddPropagationLoss`` adds a PropagationLossModel; if one or more PropagationLossModels already exist, the new model is chained to the end +* ``YansWifiChannelHelper::SetPropagationDelay`` sets a PropagationDelayModel (not chainable) YansWifiPhyHelper ================= @@ -341,6 +341,9 @@ The following channel numbers are well-defined for 2.4 GHz standards: The following channel numbers are well-defined for 5 GHz standards: +.. table:: 5 GHz channel numbers + :width: 30 70 +.. tabularcolumns:: |p{3cm}|p{10cm}| +------------------+-------------------------------------------+ | ``ChannelWidth`` | ``ChannelNumber`` | +------------------+-------------------------------------------+ @@ -363,6 +366,9 @@ The following channel numbers are well-defined for 5 GHz standards: The following channel numbers are well-defined for 6 GHz standards (802.11ax only): +.. table:: 6 GHz channel numbers + :width: 30 70 +.. tabularcolumns:: |p{3cm}|p{10cm}| +------------------+-------------------------------------------+ | ``ChannelWidth`` | ``ChannelNumber`` | +------------------+-------------------------------------------+