Main Content

802.11ax System-Level Simulation with Physical Layer Abstraction

This example demonstrates how to model a multi-node IEEE® 802.11ax™ [ 1 ] network with abstracted physical layer (PHY) using SimEvents®, Stateflow®, and WLAN Toolbox™. A PHY abstraction model largely reduces the complexity and the duration of system-level simulations by replacing the actual physical layer computations. This makes it possible to evaluate systems consisting of large number of nodes, resulting in increased scalability. Abstracted PHY models signal-power, gain, delay, loss and interference on each packet without generating physical layer packets, as specified by the TGax Evaluation Methodology [ 3 ].

Physical Layer Abstraction

This example shows how to model an 802.11ax network with abstracted PHY. The example presents a variation of the system model used in the example 802.11 MAC and Application Throughput Measurement (WLAN Toolbox). In 802.11 MAC and Application Throughput Measurement (WLAN Toolbox) example, full PHY processing is modeled where waveforms are generated and decoded at the physical layer. However, this example models an abstracted PHY where no waveforms are generated or decoded. Abstracting the physical layer reduces the time taken for simulation at the cost of fidelity. Fidelity refers to the degree of exactness with which the PHY is modeled in the simulation. Simulations that tolerate low fidelity at the physical layer can use the abstracted PHY model.

The abstracted PHY operates on pre-computed packet error rate (PER) tables and equations. These tables and equations are used to estimate the corrupted packet without any actual modulation or demodulation of packets, resulting in a low fidelity model. Refer the example Physical Layer Abstraction for System-Level Simulation (WLAN Toolbox) for more details related to the PHY abstraction.

Abstracted Physical Layer Blocks

This section explains the blocks used for modeling the abstracted PHY and how it fits into the 802.11 [ 2 ] network model. Full PHY modeling involves operations related to waveform transmission and reception through a fading channel. Abstracted PHY models signal-power, gain, delay, loss and interference on each packet without generating physical layer packets. This example provides a PHY Transmitter, a Statistical Channel, and a PHY Receiver for modeling an abstracted PHY. These blocks are available in the library wlanAbstractedPHYLib.

Abstracted PHY Transmitter:

The Abstracted PHY Transmitter block models the transmit chain of the physical layer. This block consumes the frame and corresponding transmission parameters from the MAC layer. Parameters like transmit power, preamble duration, header duration and payload duration are calculated in the block. This information is passed along with the MAC frame as the metadata to simulate the transmission of a waveform.

Interfaces to the Abstracted PHY Transmitter block are:

  • MACToPHYReq: Triggers for indicating transmission start/end requests from MAC layer

  • FrameToPHY: MAC frame to be transmitted

  • PhyTxConfirms: Confirmation triggers to MAC layer for indicating completion of MAC layer requests

  • Waveform: Abstract waveform transmitted into the channel (MAC frame and the metadata)

Statistical Channel:

The Statistical Channel block models pathloss, propagation delay, and reception range of the packet. To enable the estimation of loss, delay, and range at each receiver, the Statistical Channel block must be modeled inside every node coupled with the Abstracted PHY Receiver. Propagation delay is applied on each received packet, and the signal strength of each packet is degraded with optional pathloss. If the receiving node is within the range, the packet is forwarded to the Abstracted PHY Receiver with the effective signal strength. The packet is dropped if the receiving node is outside the range of the transmitter.

Interfaces to the Statistical Channel are:

  • WaveformIn: Input packet received from a PHY transmitter

  • WaveformOut: Output packet intended for PHY receivers after applying channel loss

Abstracted PHY Receiver:

The Abstracted PHY Receiver block models the receive chain of the physical layer. This block receives and processes the packet based on the received metadata. The Abstracted PHY Receiver block models interference based on the packets received at overlapping timelines. The received packets are processed only at these checkpoints: (a) End of the preamble duration (b) End of each subframe duration in the payload for aggregated frames (or) end of the payload duration for non-aggregated frames.

This block also provides an option for configuring the level of abstraction through the PHY Abstraction mask parameter. You can configure it to 'TGax Evaluation Methodology Appendix 1' [ 3 ] to predict the performance of a link with a TGax channel model using effective SINR mapping. Details of this procedure can be found in the example Physical Layer Abstraction for System-Level Simulation (WLAN Toolbox). Alternatively, you can configure it to 'TGax Simulation Scenarios MAC Calibration' [ 4 ] to assume a packet failure on interference, without actually calculating the link performance. Note that the option 'TGax Evaluation Methodology Appendix 1' works for only MCS values in the range [0-9], as the TGax Evaluation Methodology [ 3 ] is defined only for these values.

Interfaces to the Abstracted PHY Receiver block are:

  • PHYMode: Trigger for switching off the receiver function when transmission is in progress

  • Waveform: Abstract waveform received from the channel (MAC frame and the metadata)

  • RxIndications: Triggers to MAC for indicating channel state shift (busy/idle) events or receive (start/end) events

  • FrameToMAC: Received MAC frame

System-Level Simulation

This example simulates a network with 10 nodes in the model, WLANMultiNodeAbstractedPHYModel, as shown in this figure. These nodes implement carrier-sense multiple access with collision avoidance (CSMA/CA) with physical carrier sense and virtual carrier sense. The physical carrier sensing uses the clear channel assessment (CCA) mechanism to determine whether the medium is busy before transmitting. The virtual carrier sensing uses the RTS/CTS handshake to prevent the hidden node problem.

The positions for all the nodes in the network are configured through the node position allocator (NPA) block in the model. The state of each node can be visualized during run-time through the configuration available in the Visualizer block. The Channel Matrix block is a Data Store Memory. On initialization, a TGax channel realization is generated between each pair of nodes in the network and the resulting channel matrix per subcarrier is stored in the block. During the simulation, each receiver node accesses the memory to obtain the channel matrix between itself and a transmitting node to determine the link quality. In this model, nodes 1, 2, 3, 6, 7, and 8 act as both the transmitters and receivers, while nodes 4, 5, 9, and 10 are just passive receivers.

Node Subsystem

Each node in the above model is a subsystem representing a WLAN device. Each node contains an application layer, a MAC layer and a physical layer. The physical layer is modeled using the abstracted PHY blocks described in the previous section. You can configure a node to transmit and receive packets on a specific channel (frequency) by changing the Multicast tag parameter of the Entity Multicast and the Multicast Receive Queue blocks. By default, all nodes operate on the same channel. You can also configure the receive range for a specific node using the Packet Receive Range parameter of the Statistical Channel block.

You can easily switch between abstracted PHY blocks available in the wlanAbstractedPHYLib and full PHY processing blocks available in the wlanFullPHYLib.slx library of the example 802.11 MAC and Application Throughput Measurement (WLAN Toolbox). The interfaces to the transmitter, receiver and channel blocks remain the same. By default, the abstracted PHY blocks run in the Interpreted execution mode. For longer simulation time, configure all the blocks to Code generation mode for better performance.

Simulation results

Running the model simulates the WLAN network for the specified simulation time. A plot with network-level statistics (corresponding to MAC layer) is generated at the end of simulation. Detailed node-level statistics (corresponding to application, MAC, and physical layers) are collected during the simulation and saved to a base workspace file statistics.mat. You can also enable an optional live visualization, to see the state of each node during run-time, through the mask configuration of the Visualizer block.

Scalability

The above model shows a network of 10 nodes. You can create a network with a large number of nodes by using the hCreateWLANNetworkModel function. This helper function uses the node subsystem from this example and creates a network of WLAN nodes positioned linearly 10 meters apart from each other. You can create different simulation scenarios and analyze the node-level or network-level statistics with varying number of nodes. For example, the plot below shows the retransmissions and successful transmissions relative to the total transmissions, as the number of nodes in the network increase. The configuration parameters used for collecting the results are:

  • Format: HE-SU

  • Modulation and coding scheme (MCS) index: 0

  • Number of subframes in A-MPDU: 1

  • Distance between nodes: 10 meters

  • Path loss: Not applied

  • PHY abstraction type: "TGax Evaluation Methodology Appendix 1"

  • Range propagation: All the nodes are within range of each other

  • Operating frequency: All the nodes operate in the same frequency

The plot below shows that the simulation runs faster with abstracted PHY as compared to full PHY processing, thus making it more scalable. The configuration parameters used for collecting the performance results are:

  • Format: HE-SU

  • Modulation and coding scheme (MCS) index: 0

  • Number of subframes in A-MPDU: 2

  • Distance between nodes: 1 meter

  • Path loss: Not applied

  • PHY abstraction type: "TGax Evaluation Methodology Appendix 1"

  • Range propagation: All nodes are within range of each other

  • Operating frequency: All the nodes operate in the same frequency

  • Simulation mode: Code generation mode for all the blocks

  • Simulation time: 5 seconds

  • Packet generation interval: 0.001 seconds

This example explained the physical layer abstraction and demonstrated a 10-node WLAN network with abstracted PHY. This example shows that a network simulation with abstracted PHY is faster and more scalable compared to using full PHY processing.

Further Exploration

In this example, the A-MPDUs exchanged between the nodes are deaggregated to MPDUs at the receiving node. These MPDUs are exported to packet capture (PCAP) and packet capture next generation (PCAPNG) format file using the pcapDump DES block. To use the pcapDump DES block, go to wlanSystemLevelComponentsLib

Export to PCAP/PCAPNG Format File

The PCAP/PCAPNG format files contain the packet data of the network. These files are mainly associated with network analyzers like Wireshark [ 5 ], a third party tool used to visualize and analyze PCAP/PCAPNG files. The main advantages of using PCAP/PCAPNG files during system level simulations are:

  • Monitor the network traffic.

  • Visualize and analyze the network characteristics of the data.

To duplicate the MAC layer input entities (received A-MPDUs, FrameToMAC, and PhyRxIndicator vector) and output entities (transmitted A-MPDUs, FrameToPHY, and MACReqToPHY vector), use the Entity Replicator blocks. The MAC layer provides RxFrameToPCAP, PhyIndToPCAP, TxFrameToPCAP, and MACReqToPCAP as inputs to the pcapDump DES block.

The pcapDump DES block contains two input ports, one for Tx/Rx A-MPDUs and other for Tx/Rx information.

Select the capture format as pcap or pcapng. As the simulation starts, the packets exchanged between the nodes are logged into the selected capture format file.

To capture the packet, double click the pcapDump DES block and select the parameter Capture as Enable.

A new capture file (PCAP/PCAPNG format) is created for every node. The file name corresponds to name of the node. If name of the node is Node1, the captured file name is Node1.pcap or Node1.pcapng.

Appendix

The example uses these helpers:

  1. edcaFrameFormats.m: Create an enumeration for PHY frame formats.

  2. edcaNodeInfo.m: Return MAC address of a node.

  3. edcaPlotQueueLengths.m: Plot MAC queue lengths in the simulation.

  4. edcaPlotStats.m: Plot MAC state transitions with respect to simulation times.

  5. edcaStats.m: Create an enumeration for simulation statistics.

  6. edcaUpdateStats.m: Update statistics of the simulation.

  7. helperSubframeBoundaries.m : Return subframe boundaries of an A-MPDU. * phyTxAbstracted: Model PHY operations related to packet transmission * phyRxAbstracted: Model PHY operations related to packet reception * channelBlock: Model the channel for a node

  8. addMUPadding.m: Add or remove the padding difference between an HE-SU and HE-MU PSDU

  9. macQueueManagement.m: Create a WLAN MAC queue management object

  10. roundRobinScheduler.m: Create round-robin scheduler object

  11. calculateSubframesCount.m: Calculate the number of subframes required to form MU-PSDU * hCreateWLANNetworkModel: Create a WLAN network with given number of nodes * hDisplayNetworkStats: Display network level statistics * hSetupAbstractChannel: TGax channel setup * HelperPCAPNGWriter: Create a PCAPNG file writer handle object * HelperPCAPWriter: Create a PCAP file writer handle object * HelperWLANPacketWriter: Create a file writer handle object that writes WLAN packets into PCAP/PCAPNG format file * HelperPCAPUtils: Provide methods that are commonly used in PCAP helpers * createRadiotapHeader: Create a radiotap header

  12. rateAdaptationARF.m: Create an auto rate fallback (ARF) algorithm object.

  13. rateAdaptationMinstrelNonHT.m: Create a minstrel algorithm object.

References

  1. IEEE P802.11ax™/D4.1 Draft Standard for Information technology - Telecommunications and information exchange between systems Local and metropolitan area networks - Specific requirements -Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications - Amendment 6: Enhancements for High Efficiency WLAN.

  2. IEEE Std 802.11™ - 2016 IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.

  3. IEEE 802.11-14/0571r12 - 11ax Evaluation Methodology.

  4. IEEE 802.11-14/0980r16 - TGax Simulation Scenarios.

  5. Wireshark - Go Deep. https://www.wireshark.org/. Accessed 9 Dec. 2019.