Main Content

WLAN Node Composition and Configuration

This topic gives an overview of the composition and configuration of a WLAN node. The Node Composition section describes the node composition by mapping the layers and functionalities of a WLAN node with corresponding helper objects. The Node Configuration section describes different node configuration parameters related to the physical layer (PHY), medium access control (MAC) layer, application layer (APP), and channel that facilitates transmissions and receptions.

Node Composition

WLAN system-level simulation begins by creating nodes using the hCreateWLANNodeshelper function. This function creates a set of WLAN nodes, each consisting of the APP, MAC, PHY, and channel.

  • To model the APP functionality of a WLAN node, hCreateWLANNodes uses the hApplication helper object.

  • To model the MAC layer functionality of a WLAN node, hCreateWLANNodes uses the hEDCAMAC helper object. To implement functionalities like round-robin scheduling, MAC queue management, power control algorithm, and rate control algorithms, the hEDCAMAC helper object uses the hSchedulerRoundRobin, hMACQueueManagement, hPowerControlFixed, hRateControARF (autorate fallback (ARF) algorithm), and hRateControlFixed (fixed-rate control algorithm) helper objects, respectively.

  • To model the PHY transmitter and receiver, hCreateWLANNodes uses the hPHYTxAbstract and hPHYRxAbstract helper objects, respectively. To model interference, hCreateWLANNodes uses the hInterference helper object. The hCreateWLANNodes helper function creates a channel link quality model by using the hTGaxLinkQualityModel helper object.

  • To model the wireless channel, hCreateWLANNodes uses the hChannel helper object.

This figure shows the WLAN node composition by mapping the APP, MAC, PHY, and channel functionalities of a WLAN node with the corresponding helper objects.

This table describes the functionalities of the helper functions and objects that are used in the WLAN system-level simulation.

Helper Function or Object or ClassDescription

hWirelessNetworkSimulator

Simulate wireless network.

hWirelessNode

Create a base class for nodes in a wireless network.

hWLANNode

Create a WLAN node object consisting of APP, MAC, PHY and channel and interference modeling. You can have multiple interfaces, each with a corresponding PHY, MAC, and channel. Add the interfaces by using the addInterface function.

hCreateWLANNodes

Create WLAN nodes with specified configuration parameters.

hApplication

Create a WLAN APP object.

hEDCAMAC

Create a WLAN enhanced distributed channel access (EDCA) MAC object.

hSchedulerRoundRobin

Create a round-robin scheduler object.

hMACQueueManagement

Create a WLAN MAC queue management object.

hPowerControl

Create a base class to implement a power control algorithm. This class defines an interface supported for power control.

hPowerControlFixed

Create a fixed transmit power selection object

hRateControl

Create a base class to implement a rate control algorithm. This class defines an interface supported for rate control.

hRateControlARF

Create an object providing functionality for the ARF algorithm .

hRateControlFixed

Create a fixed-rate selection object.

hPHYRxInterface

Create a WLAN PHY receiver interface class. This interface class acts as a base class for all the PHY types. This class defines an interface to the PHY receiver. In this class, you can set the properties and methods to interact with the higher layers.

hPHYRxAbstract

Create a WLAN abstracted PHY receiver object for PHY decoding.

hPHYRx

Create a WLAN PHY receiver object for PHY decoding.

hInterference

Create an object to model interference at the PHY.

hTGaxLinkQualityModel

Create a link quality model object. This model estimates the signal-to-interference noise ratio (SINR) for an 802.11ax SU link assuming perfect synchronization.

hPHYTxInterface

Create a WLAN PHY transmitter interface class. This interface class acts as a base class for all PHY transmitters. This class defines an interface to the PHY transmitter. In this class, you can set the properties and methods to interact with the higher layers.

hPHYTxAbstract

Create an object for the WLAN abstracted PHY transmitter. The object creates a WLAN PHY transmitter object that supports these operations:

  • Handling requests from the MAC layer

  • Creating an abstracted waveform (PHY protocol data unit (PPDU))

  • Handling transmit power (Tx power)

hPHYTx

Create an object for the WLAN PHY transmitter. The object creates a WLAN PHY transmitter object that supports these operations:

  • Handling requests from the MAC layer

  • Creating a waveform (PPDU)

  • Handling transmit power (Tx power)

hChannel

Create an object for the WLAN channel.

hStatsLogger

Create a class to log and visualize statistics. This class implements the functionality to plot the statistics at the end of the simulation.

To access the helper files, add the mlWLANSystemSimulation folder to the MATLAB® path.

addpath(genpath(fullfile(pwd,'mlWLANSystemSimulation')));

Node Configuration

The WLAN node configuration comprises of the APP traffic configuration and the node configuration. To explore the APP, MAC, and PHY configuration, use the hConfigurationHelp helper function.

APP Traffic Configuration

To configure the APP layer at a node, configure the APP traffic fields in the wlanTrafficConfig structure. To configure multiple applications in the network, follow these steps.

  1. Replicate the wlanTrafficConfig structure.

  2. Configure each structure with the desired values of SourceNode and DestinationNode fields.

This table defines the APP traffic configuration fields at a WLAN node.

FieldsDescriptionValid ValuesDefault Value

SourceNode

ID of the node transmitting the packet at which the application is running

Integer less than or equal to the number of nodes in the network

1

DestinationNode

ID of the node to which the packet originated at SourceNode is intended

Integer less than or equal to the number of nodes in the network

4

PacketSize

Size of the generated application packets

Integer in the range [1, 2034]

1500

DataRateKbps

Rate, in Kbps, at which the application packets are generated

Numeric scalar

6,00,000

AccessCategory

Access category (AC)

Nonnegative integer in the range [0,3]

  • 0 for best-effort traffic (BE)

  • 1 for background traffic (BK)

  • 2 for video traffic (VI)

  • 3 for voice traffic (VO)

0

To view the APP traffic configuration fields of a WLAN node, enter this command at the MATLAB command prompt.

hConfigurationHelp('wlanTrafficConfig')

MAC, PHY, and Channel Configuration

To configure the MAC, PHY, and channel at a WLAN node, configure the fields in the wlanNodeConfig structure. To configure multiple nodes in the network, you must replicate the wlanNodeConfig structure. Then, you can customize the node configuration fields for any node in the network.

This table shows the configurable fields at the MAC layer of a WLAN node.

FieldsDescriptionValid ValuesDefault Value

TxFormat

Format used for frame transmission

  • "NonHT"

  • "HTMixed"

  • "VHT"

  • "HE_SU"

  • "HE_EXT_SU"

To configure this field, see the hFrameFormats helper class.

"HE_SU"

Bandwidth

Channel bandwidth, in MHz

20, 40, 80, or 160

20

TxMCS

Modulation and coding scheme (MCS) index for transmitting the frame.

To enable this field, set RateControl field to "FixedRate".

  • When you set TxFormat field to "HE_SU", the valid values are integers in the range [0, 11].

  • When you set TxFormat field to "HE_EXT_SU", the valid values are in the range [0, 2].

  • When you set TxFormat field to "VHT":

    • If Bandwidth is 20 MHz and NumTxChains field is 3 or 6, the valid values are integers in the range [0, 9]. Otherwise, the range is [0, 8].

    • If Bandwidth is 40 MHz, the valid values are integers in the range [0, 9].

    • If Bandwidth is 80 MHz and NumTxChains field is not 3, 6, or 7, the valid values are integers in the range [0, 9].

    • If Bandwidth is 80 MHz and NumTxChains fiield is 3 or 7, the valid values are integers in the range [0, 9] excluding 6.

    • If Bandwidth is 80 MHz and NumTxChains field is 6, the valid values are integers in the range [0, 8].

    • If Bandwidth is 160 MHz and NumTxChains field is 3, the valid values are integers in the range [0, 8]. Otherwise, the range is [0, 9].

  • When you set NumTxChains field to "HTMixed" or "NonHT", the valid values are integers in the range [0, 7].

  • When you set TxFormat field is set to "HTMixed", any input in the range [0, 7] is automatically mapped to an integer in the range [0, 31] based on the NumTxChains field value.

7

NumTxChains

Number of transmit chains used during the transmission

  • When you set TxFormat field to "VHT" or "HE_SU", the valid values are integers in the range [1, 8].

  • When you set TxFormat field to "HTMixed", the valid values are integers in the range [1, 4].

  • When you set TxFormat field to "HE_EXT_SU", the valid values are integers in the range [1, 2].

  • When you set TxFormat field to "NonHT", the valid value is 1.

1

MPDUAggregation

Flag to enable or disable MAC protocol data unit (MPDU) aggregation

  • When you set TxFormat to "HTMixed", the valid values are a logical 1 (true) or 0 (false).

  • When you set TxFormat to "VHT", "HE_SU", or "HE_EXT_SU", this field is read-only and its value is a logical 1 (true).

  • When you set TxFormat to "NonHT", this field is read-only and its value is a logical 0 (false).

true

DisableAck

Flag to indicate that the transmitting node does not solicit acknowledgment for the data frame

logical 1 or (true) or 0 or (false)

0 or (false)

MaxSubframes

Maximum number of subframes that can be aggregated in the aggregate-MPDU (A-MPDU)

Integer in the range [1, 256]

64

RTSThreshold

Threshold length of the frame below which the node does not use request to send/clear to send (RTS/CTS) protection for data transmission

To enable this field, set the DisableRTS field value to 0 or (false).

Integer in the range [0, 65,536]

65,536

DisableRTS

Flag to enable or disable the RTS/CTS exchange for data transmissions

logical 1 or (true) or 0 or (false)

0 or (false)

MaxShortRetries

Retry limit for frames less than or equal to RTS threshold

Integer in the range [1, 255]

7

MaxLongRetries

Retry limit for frames greater than the RTS threshold

Integer in the range [1, 255]

7

BasicRates

Non-HT rates, in Mbps, supported by all the nodes in the network to transmit control frames

Row vector of data rate values from the set {6, 9, 12, 18, 24, 36, 48, 54}.

[6 12 24]

Use6MbpsForControlFrames

Flag to indicate the use of 6 Mbps data rate for all control frames, ignoring the values in the BasicRates set

logical 1 or (true) or 0 or (false)

0 or (false)

BandAndChannel

Operating band and channel number

Cell array of a vector in the form {[x, y]}, where x is a frequency band of 2.4, 5, or 6 GHz and y is any valid channel number. The value of x can be 2.4, 5, or 6. The value of y can be any valid channel number.

[2.4, 6]

CWMin

Minimum value of the contention window range for each AC

Four-element row vector of elements that are integers in the range [1, 1023], where each element indicates a value of an AC

[15 15 7 3]

CWMax

Maximum value of the contention window range for each AC

Four-element row vector of elements that are integers in the range [1, 1023], where each element indicates a value of an AC

[1023 1023 15 7]

AIFSSlots

Number of arbitrary interframe space (AIFS) slots for each AC

Four-element row vector of elements that are integers in the range [2, 15], where each element indicates number of AIFS slots for four ACs

[3 7 2 2]

RateControl

Rate control algorithm

"FixedRate" or "ARF"

“FixedRate”

PowerControl

Power control algorithm

"FixedPower"

“FixedPower”

This table shows the configurable fields at the PHY layer of a WLAN node.

FieldsDescriptionValid ValuesDefault Value

TxPower

Transmit power, in dBm

Numeric scalar

15

TxGain

Transmit gain, in dB

Numeric scalar

1

RxGain

Receive gain, in dB

Numeric scalar

0

EDThreshold

Energy detection threshold, in dBm

Numeric scalar

-82

RxNoiseFigure

Receiver noise figure, in dB

A scalar number specifying the noise figure in dB

7

This table shows the channel configuration fields at a WLAN node.

FieldsDescriptionValid ValuesDefault Value

NodePosition

Position, in meters, of the node in Cartesian coordinates

Three-element vector of elements corresponding to the (x, y, z) point

[0 0 0]

ReceiverRange

Distance, in meters, beyond which the receiver ignores signal to reduce the simulation complexity

Numeric scalar

1000

FreeSpacePathloss

Flag to enable or disable free space pathloss

logical 1 or (true) or 0 or (false)

1 or (true)

To view the PHY, MAC, and channel configuration fields of a WLAN node, enter this command at the MATLAB command prompt.

hConfigurationHelp('wlanNodeConfig')

Related Topics