主要内容

wlanUHRMUConfig

R2026b

Configure Wi-Fi 8 multi-user transmission

Since R2026b

Description

The wlanUHRMUConfig object is a configuration object for the WLAN ultra high-reliability multi-user (UHR MU) packet format.

Creation

Description

cfgUHRMU = wlanUHRMUConfig(allocIndex) creates a configuration object that initializes transmit parameters for an IEEE® 802.11bn™ (Wi-Fi® 8) UHR MU PPDU. allocIndex is the input resource unit allocation. The PPDU type is OFDMA. For a detailed description of the UHR WLAN format, see IEEE P802.11bn [1].

example

cfgUHRMU = wlanUHRMUConfig(cbw) creates a configuration object that initializes transmit parameters for an IEEE 802.11bn UHR MU PPDU. cbw is the input channel bandwidth. The PPDU type is non-OFDMA.

example

cfgUHRMU = wlanUHRMUConfig(___,PropertyName=Value) sets properties using one or more name-value arguments. For example, wlanUHRMUConfig("CBW320",InterferenceMitigation=true) specifies a non-OFDMA transmission with a channel bandwidth of 320 MHz that uses interference mitigation.

At runtime, the calling function validates object settings for properties relevant to the operation of the function.

example

Input Arguments

expand all

Resource unit allocation index, specified as an integer, row vector of integers, or matrix of integers. Specify this argument to set the AllocationIndex property.

Channel bandwidth, specified as one of these values:

  • 'CBW20' — Channel bandwidth of 20 MHz

  • 'CBW40' — Channel bandwidth of 40 MHz

  • 'CBW80' — Channel bandwidth of 80 MHz

  • 'CBW160' — Channel bandwidth of 160 MHz

  • 'CBW320' — Channel bandwidth of 320 MHz

Specify this argument to set the ChannelBandwidth property.

Properties

expand all

This property is read-only after object creation.

Resource unit (RU) allocation index for each 20 MHz subchannel, specified as an integer, row vector of integers, or matrix of integers. You can set this property using the allocIndex input argument or a name-value argument, but not both simultaneously. This property determines the number of RUs, the size of each RU, the number of users assigned to each RU, and which RUs are punctured. For an example of puncturing in OFDMA transmissions, see Wi-Fi 8 Waveform Generation.

The correspondence between allocation indices and resource unit allocations is given in the RU Allocation Subfield table in Wi-Fi 8 Waveform Generation. This property applies only when the PPDU type is OFDMA.

The format of AllocationIndex depends on your desired channel bandwidth.

  • Specify AllocationIndex as an integer to set a channel bandwidth of 20 MHz. For example, specifying AllocationIndex as 0 gives nine RUs, each with one user and of size 26.

  • Specify AllocationIndex as a 1-by-N vector of integers to set a channel bandwidth of 40, 80, 160, or 320 MHz. N is equal to the number of 20 MHz subchannels. For example, specifying AllocationIndex as [0 0] gives 18 RUs, each with one user and of size 26.

  • Specify AllocationIndex as an M-by-N matrix of integers to set a channel bandwidth of 160 or 320 MHz. N is as defined above. M is equal to the number of 80 MHz subblocks. When you specify AllocationIndex as a matrix, all of its rows must be equal.

Note

When you specify AllocationIndex as a 1-by-N vector in the 160 MHz or 320 MHz case, the value of the property is set to an M-by-N matrix. M is 2 for 160 MHz and 4 for 320 MHz. The new rows may differ from your original input vector. The difference between the rows means that, in each 80 MHz subblock, a different UHR-SIG content channel carries the allocation information.

Data Types: double

This property is read-only after object creation.

Channel bandwidth, specified as one of these values:

  • 'CBW20' — Channel bandwidth of 20 MHz

  • 'CBW40' — Channel bandwidth of 40 MHz

  • 'CBW80' — Channel bandwidth of 80 MHz

  • 'CBW160' — Channel bandwidth of 160 MHz

  • 'CBW320' — Channel bandwidth of 320 MHz

Create a non-OFDMA wlanUHRMUConfig object by setting this property. You can set this property using the cbw input argument or a name-value argument, but not both simultaneously. When you create an OFDMA wlanUHRMUConfig object, the AllocationIndex determines this property.

Data Types: char | string

This property is read-only after object creation.

Number of users in a non-OFDMA configuration, specified as an integer in the range [1, 8].

Data Types: single | double

This property is read-only after object creation.

Puncturing pattern value for a non-OFDMA configuration, specified as an integer in the range [0, 24]. For the correspondence between puncturing patterns and integers in the range [0, 24], see Definition of Punctured Channel Field Values. For each channel bandwidth, the default, 0, specifies no puncturing.

  • For channel bandwidths of 20 and 40 MHz, PuncturedChannelFieldValue must be 0 because puncturing is not available at these bandwidths.

  • For an 80 MHz channel bandwidth, PuncturedChannelFieldValue must be in the range [0, 4].

  • For a 160 MHz channel bandwidth, PuncturedChannelFieldValue must be in the range [0, 12].

Data Types: double | single

Transmission properties of each RU and MRU in the transmission, specified as a cell array of wlanUHRRU objects. For an OFDMA wlanUHRMUConfig object, the AllocationIndex property determines the RU property. For a non-OFDMA wlanUHRMUConfig object, the ChannelBandwidth property determines the RU property.

Data Types: cell

Transmission properties of each user, specified as a cell array of wlanUHRUser objects. For an OFDMA wlanUHRMUConfig object, the AllocationIndex property determines the User property. For a non-OFDMA wlanUHRMUConfig object, the ChannelBandwidth property determines the User property.

Data Types: cell

Number of transmit antennas, specified as a positive integer.

Data Types: double

Cyclic shift values, in nanoseconds, of additional transmit antennas for the pre-UHR fields of the waveform. The first eight antennas use the cyclic shift values specified in Table 21-10 of IEEE Std 802.11™-2024 [2]. The remaining L antennas use the values that you specify in this property, where L = NumTransmitAntennas – 8. Specify this property as one of these values:

  • An integer in the range [–200, 0] — the wlanUHRMUConfig object uses this cyclic shift value for each of the L additional antennas.

  • A row vector of length L of integers in the range [–200, 0] — the wlanUHRMUConfig object uses the kth element as the cyclic shift value for the (k + 8)th transmit antenna.

    Note

    If you specify this property as a row vector of length greater than L, the wlanUHRMUConfig object uses only the first L elements. For example, if you set the NumTransmitAntennas property to 16, the wlanUHRMUConfig object uses only the first L = 16 – 8 = 8 elements of this vector.

Dependencies

To enable this property, set the NumTransmitAntennas property to a value greater than 8.

Data Types: double

Phase rotation values for the pre-UHR portion of the waveform, specified as a row vector of length 16 with entries equal to 1 or –1. The 16 entries of this property correspond to 20 MHz subchannels in ascending order of frequency, as defined in Equation 36-12 of IEEE Std 802.11be™-2024 [3].

Dependencies

This property applies only when the channel bandwidth is 320 MHz.

Data Types: double

Guard range (cyclic prefix) duration for the data field within a packet, in microseconds, specified as 3.2, 1.6, or 0.8.

Note

The possible value of this property depends on the UHRLTFType property. For 2 × UHR-LTF, the value cannot be 3.2. For 4 × UHR-LTF, the value cannot be 1.6.

Data Types: double

UHR-LTF compression mode, specified as 2 or 4. These values correspond to the 2 × UHR-LTF and 4 × UHR-LTF compression modes. The UHR-LTF type is defined in Table 38-18 of 802.11bn [1] as:

  • 2 × UHR-LTF — Duration of 6.4 μs. The guard interval duration must be 0.8 μs or 1.6 μs.

  • 4 × UHR-LTF — Duration of 12.8 μs. The guard interval duration must be 0.8 μs or 3.2 μs.

For more information on the UHR-LTF, see Section 38.3.15.11 of 802.11bn [1].

Data Types: double

Number of extra UHR-LTF symbols, specified as an integer in the range [0, 7]. This property is the amount by which the number of UHR-LTF symbols exceeds the initial number of UHR-LTF symbols. The initial number of UHR-LTF symbols is determined by the total number of spatial streams, per Table 38-39 in 802.11bn [1]. The sum of NumExtraUHRLTFSymbols and the initial number of UHR-LTF symbols cannot exceed eight.

Data Types: double

Modulation and coding scheme (MCS) of the UHR signal (UHR-SIG) field, specified as 0, 1, or 3. These respectively correspond to the UHR-SIG-MCS values 0, 1, and 2 in Table 38-83 of 802.11bn [1].

Data Types: double

Uplink indication, specified as a numeric or logical 1 (true) or 0 (false). To indicate that the PPDU is sent on a downlink transmission, set this property to 0 (false). To indicate that the PPDU is sent on an uplink transmission, set this property to 1 (true). This property must be false for OFDMA configurations.

Data Types: logical

Basic service set (BSS) color identifier, specified as an integer in the range [0, 63].

Data Types: double

Spatial reuse indication, specified as an integer in the range [0, 15].

Data Types: double

Enable coordinated spatial reuse by setting this property to true or 1. In coordinated spatial reuse, APs share information to enable concurrent transmissions on the same channel while maintaining acceptable SINRs at STAs. Each AP uses the shared information to coordinate channel access and adjust transmit power levels to maintain signal quality at associated stations while limiting the interference at non‑associated stations. For more information, see Section 37.15.2.2 of 802.11bn [1].

Dependencies

  • This property applies only when the PPDU type is non-OFDMA and NumUsers is 1.

  • 802.11bn does not support coordinated spatial reuse when the UHRLTFType property is 4 and the GuardInterval property is 0.8.

Data Types: logical

Second BSS color identifier, specified as an integer in the range [1, 63].

Dependencies

This property applies only if CoordinatedSpatialReuse is set to true.

Data Types: double

Enable interference mitigation by setting this property to true or 1.

Data Types: logical

Duration information for transmit opportunity (TXOP) protection in microseconds, specified as an integer in the range [0, 8448]. In the TXOP subfield of the U-SIG field, these durations are represented by integers in the range [0, 127]. Therefore, a duration in microseconds must be converted using the procedure given in Table 38-1 of 802.11bn [1]. The default, [], indicates that no information is specified. In this case, the TXOP subfield of the U-SIG field is set to 127.

Data Types: double

Channelization for a 320 MHz channel bandwidth, specified as 1 or 2. A 320 MHz channel has three possible locations for the channel center frequencies. In accordance with Section 36.3.24 of 802.11be [3], when you specify 1, these locations are numbered 31, 95, and 159. When you specify 2, the locations are numbers 63, 127, and 191.

Dependencies

This property applies only when you specify the ChannelBandwidth property as "CBW320".

Data Types: double

Object Functions

numPostFECPaddingBitsRequired number of post-FEC padding bits
packetFormat WLAN packet format
psduLengthPSDU length
ruInfoResource unit allocation information
transmitTimePacket transmission time
showAllocationResource unit allocation

Examples

collapse all

Create a multi-user UHR configuration object with the allocation index set to 55. This setting specifies an OFDMA configuration with one 52+26-tone MRU and three 52-tone RUs in a 20 MHz channel. All four resource units have one user.

allocationIndex = 55;
cfgUHRMU = wlanUHRMUConfig(allocationIndex);

Show the RU allocation of the configuration.

showAllocation(cfgUHRMU)

Figure RU/MRU Assignment and Occupied Subcarriers contains an axes object. The axes object with ylabel Subcarrier Index contains 12 objects of type patch, line, text. This object represents .

Specify two transmit antennas and two space-time streams for each resource unit.

cfgUHRMU.NumTransmitAntennas = 2;
for i=1:4
    cfgUHRMU.User{i}.NumSpaceTimeStreams = cfgUHRMU.NumTransmitAntennas;
end

Specify the first user's MCS as 5. This setting specifies that both space-time streams use 64-QAM.

cfgUHRMU.User{1}.MCS = 5;
rateParams = rateDependentParameters(cfgUHRMU.User{1});
disp(rateParams)
    Modulation: ["64QAM"    "64QAM"]
    CodingRate: ["2/3"    "2/3"]

Now specify the second user's MCS as 23. Enable UEQM and specify the UEQMPattern property as 1. This setting specifies that the first space-time stream uses 256-QAM, but the second stream uses 16-QAM.

cfgUHRMU.User{2}.MCS = 23;
cfgUHRMU.User{2}.UEQM = true;
cfgUHRMU.User{2}.UEQMPattern = 1;
rateParams = rateDependentParameters(cfgUHRMU.User{2});
disp(rateParams)
    Modulation: ["256QAM"    "16QAM"]
    CodingRate: ["2/3"    "2/3"]

Create a non-OFDMA UHR MU configuration object. Set the channel bandwidth to 320 MHz. Specify two users and two space-time streams.

cfgUHRMU = wlanUHRMUConfig("CBW320",NumUsers=2,NumTransmitAntennas=2);

Show the bandwidth allocation of the configuration. Both users are allocated the whole channel bandwidth.

showAllocation(cfgUHRMU)

Figure RU/MRU Assignment and Occupied Subcarriers contains an axes object. The axes object with ylabel Subcarrier Index contains 49 objects of type patch, line, text. This object represents .

Specify the first user's MCS as 13. Display the corresponding modulation scheme and coding rate.

cfgUHRMU.User{1}.MCS = 13;
rateParams = rateDependentParameters(cfgUHRMU.User{1})
rateParams = struct with fields:
    Modulation: "4096QAM"
    CodingRate: "5/6"

Specify the second user's channel coding as "ldpc2x". This setting specifies an LDPC codeword size of 3888, which is new to Wi-Fi 8.

cfgUHRMU.User{2}.ChannelCoding = "ldpc2x";

Limitations

  • In R2026b: The wlanUHRMUConfig object does not support coordinated beamforming (Co-BF) or the generation of null data packets (NDPs).

Algorithms

expand all

References

[1] IEEE P802.11bn/D1.4. “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. Amendment 6: Enhancements for ultra high reliability (UHR).” Draft Standard for Information Technology — Telecommunications and Information Exchange between Systems — Local and Metropolitan Area Networks — Specific Requirements

[2] IEEE Std 802.11-2024 (Revision of IEEE Std 802.11-2020). “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.” IEEE Standard for Information Technology — Telecommunications and Information Exchange between Systems — Local and Metropolitan Area Networks — Specific Requirements. https://ieeexplore.ieee.org/document/10979691

[3] IEEE Std 802.11be-2024 “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. Amendment 2: Enhancements for Extremely High Throughput (EHT).” https://ieeexplore.ieee.org/document/11090080

Version History

Introduced in R2026b