Main Content

wlanDeviceConfig

Device configuration for WLAN node

Since R2023a

Description

The wlanDeviceConfig object contains properties that configure a WLAN node. The DeviceConfig property of a wlanNode object is a wlanDeviceConfig object or a vector of such objects.

Creation

Description

example

deviceCfg = wlanDeviceConfig creates a default WLAN device configuration object.

example

deviceCfg = wlanDeviceConfig(Name=Value) sets properties of the WLAN device configuration object using one or more optional name-value arguments.

Properties

expand all

Operating mode of the device, specified as "STA", "AP", or "mesh". These values mean that the device is a station, access point, or mesh point, respectively.

Data Types: char | string

Operating frequency band and channel number, specified as a vector of length 2. The vector's first entry specifies the frequency band in GHz. It must be 2.4, 5, or 6. The second entry specifies the channel number. It takes the following values:

  • An integer in the range [1, 14] if the frequency band is 2.4 GHz

  • An integer in the range [1, 200] if the frequency band is 5 GHz

  • An integer in the range [1, 233] if the frequency band is 6 GHz

Data Types: double

Physical layer (PHY) transmission format, specified as "HE-SU", "Non-HT", "HT-Mixed", "VHT", "HE-EXT-SU", "HE-MU-OFDMA", or "EHT-SU". This property determines the transmission format that the device uses for the unicast data frame transmissions. The "HE-MU-OFDMA" value of this property specifies the "HE-MU" format with downlink orthogonal frequency-division multiple access (DL OFDMA) frame exchange sequence containing DL multiuser (MU) PHY protocol data unit (PPDU), DL MU-block ACK request (MU-BAR), and uplink (UL) MU BAs. The "EHT-SU" value of this property specifies extremely high-throughput (EHT) MU PPDU format for a single user (SU). The data frames transmitted in response to trigger frames always use the "HE-TB" format regardless of the value to which you set this property. The broadcast data frame transmissions always use the "Non-HT" format regardless of the value to which you set this property.

Dependencies

Data Types: char | string

Channel bandwidth in Hz, specified as 20e6, 40e6, 80e6, 160e6, or 320e6.

  • If you set the TransmissionFormat property to "Non-HT" or "HE-EXT-SU", this property supports only 20e6 Hz.

  • If you set the TransmissionFormat property to "HT-Mixed", this property supports 20e6 Hz and 40e6 Hz.

  • If you set the TransmissionFormat property to "VHT", "HE-SU", or "HE-MU-OFDMA" this property supports 20e6 Hz, 40e6 Hz, 80e6 Hz, and 160e6 Hz.

  • If you set the TransmissionFormat property to "EHT-SU", this property supports all channel bandwidths.

Note

Devices operating on the same center frequency must specify an identical value to this property.

Data Types: single | double

Modulation and coding scheme, specified as an integer in the range [0, 13]. For unicast data frame transmissions, the set of values that this property can take depends on the TransmissionFormat property.

  • When TransmissionFormat is "Non-HT" or "HT-Mixed", the range of values is [0, 7]. The given value in the range [0, 7] maps to a value in the range [0, 31] using the calculation MCS+(NSTS–1)*8, where NSTS is the value of the NumSpaceTimeStreams property.

  • When TransmissionFormat is "VHT", the range of values is [0, 9]. The set of possible values additionally depends on the ChannelBandwidth and NumSpaceTimeStreams properties:

    • When ChannelBandwidth is 20e6, you can set the MCS value to 9 only when NumSpaceTimeStreams is set to 3 or 6.

    • When ChannelBandwidth is 80e6, the MCS value 6 is not supported when NumSpaceTimeStreams is set to 3 or 7. The MCS value 9 is not supported when NumSpaceTimeStreams is set to 6.

    • When ChannelBandwidth is 160e6, the MCS value 9 is not supported when NumSpaceTimeStreams is set to 3.

  • When TransmissionFormat is "HE-EXT-SU", the range of values is [0, 2].

  • When TransmissionFormat is "HE-SU" or "HE-MU-OFDMA", the range of values is [0, 11].

  • When TransmissionFormat is "EHT-SU", the range of values is [0, 13].

For broadcast data frame transmissions, set this property to 0. If you set the Mode property to "AP" and the EnableUplinkOFDMA property to 1 (true), the AP asks the associated stations to use this value for uplink (UL) OFDMA transmissions.

Data Types: single | double

Number of transmit antennas, specified as an integer in the range [1, 8].

Note

All devices in the network must have the same value for this property.

Data Types: single | double

Number of space-time streams, specified as an integer in the range [1, 8]. The value of this property must be less than or equal to the value of the NumTransmitAntennas property. If you set this value less than the NumTransmitAntennas value, the node uses the Fourier spatial mapping to transmit unicast data frames. To transmit broadcast data frames, set this value to 1. If you set the Mode property to "AP" and the EnableUplinkOFDMA property to 1 (true), the AP asks the associated stations to use this value for UL OFDMA transmissions. If you set the Mode property to "STA" and the EnableUplinkOFDMA property in the associated AP to 1 (true), the STA ignores this property and uses the value from the trigger frame for UL OFDMA transmissions.

Data Types: single | double

HT MAC protocol data unit (MPDU) aggregation selection, specified as 1 (true) or 0 (false). Set this property to true to create an aggregated MPDU (A-MPDU) by concatenating multiple MPDUs. This property applies only when the TransmissionFormat property is set to "HT-Mixed".

Data Types: logical

Maximum number of MPDUs in an A-MPDU, specified as an integer in the range [1, 1024]. The set of values that this property can take depends on the TransmissionFormat property:

  • When TransmissionFormat is "HT-Mixed" and the AggregateHTMPDU property is set to true, the range of values is [0, 64].

  • When TransmissionFormat is "VHT", the range of values is [0, 64].

  • When TransmissionFormat is "HE-SU", "HE-EXT-SU", or "HE-MU-OFDMA", the range of values is [0, 256].

  • When TransmissionFormat is "EHT-SU", the range of values is [0, 1024].

This property does not apply when TransmissionFormat is "Non-HT", or when TransmissionFormat is "HT-Mixed" and AggregateHTMPDU is set to false.

Note

All devices in the network must have the same value for this property.

Data Types: single | double

Size of the MAC transmission queue, specified as an integer scalar in the range [1, 2048]. This property specifies the size of the MAC transmission queue for buffering the MAC service data units (MSDUs). This value corresponds to the queue size per destination and per access category (AC). If you set the TransmissionFormat property to "EHT-SU", the default value of this property is 1024.

Data Types: double

Maximum number of transmission attempts for a frame, specified as an integer in the range [1, 65535].

Data Types: single | double

Frame length below which RTS is not transmitted, specified as an integer in the range [0, 6500631]. If the size of a MAC frame exceeds the value of this property, the Request To Send/Clear To Send (RTS/CTS) protection mechanism is used. This property applies only when the DisableRTS property is set to false and the TransmissionFormat property is not set to "HE-MU-OFDMA".

Data Types: single | double

RTS transmission selection, specified as 0 (false) or 1 (true). Set this property to true to disable the RTS/CTS protection mechanism in the simulation.

Data Types: logical

Disable acknowledgements selection, specified as 0 (false) or 1 (true). Set this property to true to disable the transmission of acknowledgements in response to data frames.

Data Types: logical

Minimum range of contention window for the four ACs, specified as a vector of four integers in the range [1, 1023]. The four entries are the minimum ranges for the Best Effort, Background, Video, and Voice ACs, respectively.

Data Types: single | double

Maximum range of contention window for the four ACs, specified as a vector of four integers in the range [1, 1023]. The four entries are the maximum ranges for the Best Effort, Background, Video, and Voice ACs, respectively.

Data Types: single | double

Arbitrary interframe space values for the four ACs, specified as a vector of four integers in the range [1, 15]. The entries of the vector represent the AIFS values, in slots, for the Best Effort, Background, Video, and Voice ACs, respectively. You can set the AIFS value for an AC to 1 only if the Mode property is "AP".

Data Types: single | double

6 Mb/s for control frames selection, specified as 0 (false) or 1 (true). Set this property to true to use a data rate of 6 Mb/s for control frames.

Data Types: logical

Non-HT data rates supported in the basic service set (BSS), specified as a vector that is a subset of [6 9 12 18 24 36 48 54]. This property applies only when the Mode property is set to "AP". The stations associated with an AP use the same basic rates as the AP.

Data Types: single | double

Enable AP to trigger UL OFDMA transmissions, specified as 0 (false) or 1 (true). If you set this property to 1 (true), the AP node triggers the UL OFDMA data transmissions from the associated stations.

Dependencies

To enable this property, set the Mode property to "AP" and the TransmissionFormat property to "HE-SU" or "HE-MU-OFDMA".

Data Types: logical

Mesh time-to-live, specified as an integer in the range [1, 255]. The value of this property is the maximum number of hops that a packet can traverse in a mesh network before being dropped. This property applies only when the Mode property is set to "mesh".

Data Types: single | double

Transmit power in dBm, specified as a real scalar. If you enable spatial reuse by setting the BSSColor property to a nonzero value, the object might not use this value. Instead, the object compares the value of this property with the adjusted transmit power and uses the smallest of the two. The adjusted transmit power is defined in Section 26.10.2.4 of IEEE® Std 802.11ax™-2021 [1].

Data Types: single | double

Transmit gain in dB, specified as a real scalar.

Data Types: single | double

Receive gain in dB, specified as a real scalar.

Data Types: single | double

Receiver noise figure in dB, specified as a nonnegative scalar.

Data Types: single | double

Color of the basic service set (BSS), specified as an integer in the range [0, 63]. Specifying a nonzero value for this property enables you to use the spatial reuse operation.

This property applies only when the Mode property is set to "AP". The stations associated with an AP use the same BSS color as the AP.

Data Types: single | double

Overlapping basic service set packet detect (OBSS PD) threshold in dBm, specified as an integer scalar. If the device detects a frame whose BSS color differs from its own, it uses this value to decide whether to ignore the received frame or proceed with inter-BSS frame transmissions.

  • If Mode is set to "AP", this property applies when the BSSColor property is nonzero.

  • If Mode is set to "STA", this property applies when the BSS color of the associated AP is nonzero.

  • If Mode is set to "mesh", this property does not apply.

Data Types: single | double

Beacon interval in TU, specified as a scalar integer in the range [1, 65535]. A TU is a measurement of time equal to 1024 microseconds. At the end of each beacon interval, the beacon frames contend for medium access by using the default values of CWMin, CWMax, and AIFS (which are 3, 7, and 2, respectively) corresponding to the voice access category. The MAC sets the service set identifier (SSID) in a beacon frame to "WLAN". To differentiate beacons of different AP or mesh devices in a packet analyzer tool such as Wireshark, use the MAC address of the AP or mesh device transmitting the beacon.

Dependencies

To enable this property, set the Mode property to "AP" or "mesh".

Data Types: double

Time offset specified for the first beacon transmission in TUs, specified as a nonnegative scalar integer or a nonnegative row vector of [MinTimeOffset, MaxTimeOffset]. A TU is a measurement of time equal to 1024 microseconds. If you specify this property as a scalar, the object assigns this value to the initial time offset. If you specify this property as a row vector, the object assigns a random integer in the range [MinTimeOffset×1024e3, MaxTimeOffset×1024e3] nanoseconds to the time offset. The valid values of scalar offset, MinTimeOffset, and MaxTimeOffset are the integers in the range [0, 65535].

Dependencies

To enable this property, set the Mode property to "AP" or "mesh" and the BeaconInterval property to a finite value.

Data Types: double

Type of interference modeling, specified as "co-channel", "overlapping-adjacent-channel", or "non-overlapping-adjacent-channel". These values mean the following:

  • "co-channel" — The object considers signals with the same center frequency and bandwidth as the signal of interest (SOI) to be interference.

    Co-channel interference

  • "overlapping-adjacent-channel" — The object considers signals that overlap with the SOI in time and frequency to be interference.

    Overlapping adjacent channel interference

  • "non-overlapping-adjacent-channel" — The object considers signals that overlap with the SOI in time and with the interval [f1fd, f2 + fd] in frequency to be interference. f1 and f2 are the starting and ending frequencies of the SOI, respectively. fd is the value of the MaxInterferenceOffset property.

    Non-overlapping adjacent channel interference

Dependencies

Abstract PHY simulations do not support modeling adjacent channel interference. To specify this property as "overlapping-adjacent-channel" or "non-overlapping-adjacent-channel", you must specify the PHYAbstractionMethod property of the wlanNode object as "none".

Data Types: char | string

Maximum frequency offset for determining interference, specified as a nonnegative scalar. Frequency is measured in Hz. This property specifies the offset between the edge of the SOI frequency and the edge of the interfering signal. If you specify this property as Inf, the object considers all signals that overlap in time to be interference, regardless of their frequency. If you specify this property as a nonnegative finite scalar, the object considers signals that overlap with the SOI in time and with the interval [f1MaxInterferenceOffset, f2 + MaxInterferenceOffset] in frequency to be interference.

Dependencies

This property applies only when InterferenceModeling is set to "non-overlapping-adjacent-channel".

Data Types: double | single

Examples

collapse all

Simulate a wireless local area network (WLAN) using WLAN Toolbox™ with the Communications Toolbox™ Wireless Network Simulation Library.

In this example, you:

  1. Create and configure a WLAN with an access point (AP) node and a station (STA) node.

  2. Add application traffic from the AP node to the STA node.

  3. Simulate the WLAN and retrieve the statistics of the AP node and the STA node.

Check if the Communications Toolbox™ Wireless Network Simulation Library support package is installed. If the support package is not installed, MATLAB® returns an error with a link to download and install the support package.

wirelessnetworkSupportPackageCheck;

Create a wireless network simulator.

networksimulator = wirelessNetworkSimulator.init();

Create a wlanDeviceConfig object, specifying the operating mode and beacon interval. Use this configuration to create a WLAN node and specify its name and position.

deviceCfg = wlanDeviceConfig(Mode="AP",BeaconInterval=5);
apNode = wlanNode(Name="AP",Position=[0 10 0],DeviceConfig=deviceCfg);

Create a WLAN node with the default device configuration. Confirm that the default mode is STA.

staNode = wlanNode(Name="STA",Position=[5 0 0]);
disp(staNode.DeviceConfig.Mode)
STA

Add a random waypoint mobility model to the WLAN node with the default device configuration. Set the shape of the node's mobility area to "circle".

addMobility(staNode,BoundaryShape="circle");

Associate the STA node with the AP node using the associateStations function.

associateStations(apNode,staNode);

Create a networkTrafficOnOff object to generate an On-Off application traffic pattern. Specify the data rate in kilobits per second and the packet size in bytes. Enable packet generation to generate an application packet with a payload.

traffic = networkTrafficOnOff(DataRate=100,PacketSize=10,GeneratePacket=true);

Add application traffic from the AP node to the STA node.

addTrafficSource(apNode,traffic,DestinationNode=staNode);

Add the AP node and STA node to the wireless network simulator.

addNodes(networksimulator,{apNode,staNode});

Set the simulation time in seconds and run the simulation.

simulationTime = 0.05;
run(networksimulator,simulationTime);

Get and display the physical layer (PHY) statistics that correspond to the AP node and STA node.

apStats = statistics(apNode);
staStats = statistics(staNode);
disp(apStats.PHY)
         TransmittedPackets: 135
    TransmittedPayloadBytes: 6165
            ReceivedPackets: 126
       ReceivedPayloadBytes: 1764
             DroppedPackets: 0
disp(staStats.PHY)
         TransmittedPackets: 126
    TransmittedPayloadBytes: 1764
            ReceivedPackets: 135
       ReceivedPayloadBytes: 6165
             DroppedPackets: 0

References

[1] IEEE Std 802.11ax-2021 (Amendment to IEEE Std 802.11™-2020). “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. Amendment 1: Enhancements for High Efficiency WLAN.” IEEE Standard for Information Technology — Telecommunications and Information Exchange between Systems. Local and Metropolitan Area Networks — Specific Requirements.

Version History

Introduced in R2023a

expand all