From 18c580ba7e0da76e4d4e9097d409a4778c55f6da Mon Sep 17 00:00:00 2001 From: Tom Henderson Date: Thu, 31 Dec 2020 09:32:12 -0800 Subject: [PATCH] wifi: Some small documentation updates --- .../doc/source/figures/WifiArchitecture.dia | Bin 3579 -> 3960 bytes src/wifi/doc/source/wifi-design.rst | 9 +++++--- src/wifi/doc/source/wifi-user.rst | 20 ++++++++++++------ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/wifi/doc/source/figures/WifiArchitecture.dia b/src/wifi/doc/source/figures/WifiArchitecture.dia index e37d7bcac9ee380a9548fd9e1d676d1659554d83..b9eb872b2587e9c3108f41b021cba82d1d5572cf 100644 GIT binary patch literal 3960 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 B3*!I) 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`` | +------------------+-------------------------------------------+