Contenu principal

wlanUHRUser

R2026b

Configure users for Wi-Fi 8 multi-user transmission

Since R2026b

Description

The wlanUHRUser object contains properties of a user within a WLAN ultra high-reliability multi-user (UHR MU) resource unit (RU). The User property of a wlanUHRMUConfig object is 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.

Creation

Description

cfgUHR.User = wlanUHRUser(RUNumber) creates a UHR user configuration object for RUNumber, the input RU number.

example

cfgUHR.User = wlanUHRUser(___,PropertyName=Value) sets properties using one or more name-value arguments.

Properties

expand all

Aggregated MPDU (A-MPDU) pre-end-of-frame (pre-EOF) padding (APEP) length, in bytes, specified as an integer in the range [0, 15523198].

The object uses this property to determine the number of OFDM symbols in the data field. For more information, see IEEE® P802.11bn™ [1].

Data Types: double

Number of space-time streams in the transmission, specified as an integer in the range [1, 8]. The maximum number of space-time streams for any user within an MU-MIMO RU is four. The maximum value of the sum of the number of space-time streams over all users in an RU is eight. For information on these and other restrictions on the number of space-time streams, see Table 36-42 of IEEE Std 802.11be™-2024 [2].

Data Types: double

Forward-error-correction (FEC) coding type for the UHR-Data field, specified as "ldpc" for low-density parity-check (LDPC) coding, "bcc" for binary convolutional coding (BCC), or "ldpc2x" for LDPC coding with double codeword length.

You can set this property to "bcc" only when all of these conditions are satisfied:

  • The size of any RU is less than or equal to 242. Obtain the RU sizes by using the ruInfo object function.

  • The NumSpaceTimeStreams property is less than or equal to 4.

Data Types: char | string | enumeration

Modulation and coding scheme (MCS) used for transmission, specified as an integer in the range [0, 13], 15, 17, 19, 20, or 23. This table shows the modulation scheme and coding rate for each valid value of MCS:

MCSModulationDual Carrier ModulationCoding Rate
0Binary phase-shift keying (BPSK)

Not applicable

1/2
1Quadrature phase-shift keying (QPSK)1/2
23/4
316-point quadrature amplitude modulation (16-QAM)1/2
43/4
564-QAM2/3
63/4
75/6
8256-QAM3/4
95/6
101024-QAM3/4
115/6
124096-QAM3/4
135/6
15BPSK-DCMIn use1/2
17QPSK

Not applicable

2/3
1916-QAM2/3
2016-QAM5/6
23256-QAM2/3

When you set the UEQM property to true, this property specifies the MCS of the first space-time stream. The UEQMPattern property determines the MCSs of the remaining streams. MCSs 0 and 15 are not supported when UEQM is true.

Data Types: double

Enable unequal modulation (UEQM) by setting this property to true. UEQM enables different space-time streams to use different modulation schemes. The coding rate must be the same for all streams.

Data Types: logical

UEQM pattern, specified as an integer in the range [0, 3]. When you enable UEQM, the MCS property determines the MCS of the first space-time stream. This property determines the modulation schemes of the remaining space-time streams in accordance with the UEQM pattern subfield encoding table in 802.11bn. See the UEQMPatternTable property for more information.

Dependencies

This property applies only when you specify the UEQM property as true.

Data Types: double

Station (STA) identifier, specified as an integer in the range [0, 2047]. The value of this property determines the station association identifier (AID) field as defined in Section 37.13.1.1 of 802.11bn[1]. The 11 least significant bits (LSBs) of the AID field are used to address the STA. When you create a wlanUHRUser object, the default value of this property is 0 for the first wlanUHRUser object and increases by 1 for each subsequent object. When you set this property to 2046, the associated RU carries no data.

Data Types: double

RU number, specified as an integer or a vector of integers. This property indexes the appropriate cell array elements of the RU property.

Note

This property is read-only after you create the object.

Data Types: double

Nominal packet padding, in microseconds, specified as 0, 8, 16, or 20. The wlanUHRUser object uses this property and the pre-forward-error-correction (pre-FEC) padding factor to calculate the duration, TPE, of the packet extension field. For more information about the packet extension field, see Section 38.3.17 of 802.11bn[1].

This table shows the possible values of TPE for different values of this property and a, a parameter defined by Equation (36-58) or (36-59) of 802.11be [2].

Value of aValue of TPE in Microseconds
NominalPacketPadding Set to 0NominalPacketPadding Set to 8NominalPacketPadding Set to 16NominalPacketPadding Set to 20
10048
200812
3041216
4081620

For a UHR MU PPDU TPE is defined the same way as in 802.11be. Equation 36-91 of 802.11be defines the value of TPE as the maximum of the TPE values that you specify for each user.

Data Types: double

Post-FEC padding bit source used by the wlanWaveformGenerator function, specified as one of these values.

  • "mt19937arwithseed" — Generate normally distributed random bits by using the mt19937ar algorithm with seed specified in the PostFECPaddingSeed property.

  • "globalstream" — Generate normally distributed random bits by using the current global random number stream.

  • "userdefined" — Use the bits specified in the PostFECPaddingBits property as the post-FEC padding bits.

Data Types: char | string | enumeration

Post-FEC padding bit seed for the mt19937ar algorithm, specified as a nonnegative integer.

Dependencies

To enable this property, set the PostFECPaddingSource property to "mt19937arWithSeed".

Data Types: double

Post-FEC padding bits, specified as a binary-valued scalar or column vector.

To generate a waveform, the wlanWaveformGenerator function requires n bits, where n depends on the configuration you specify. To calculate n, use the numPostFECPaddingBits object function with your specified configuration object as the input argument and specify this property as a vector of length n. Alternatively, specify this input as a binary-valued scalar or column vector of arbitrary length. If the length of this property is less than n, the waveform generator loops the vector to create a vector of length n. If the length of this property is greater than n, the function uses only the first n entries as the post-FEC padding bits.

Data Types: single | double | int8

Table of UEQM patterns, represented as a table.

Number of Spatial StreamsUEQM PatternConstellation Index
Stream 1Stream 2Stream 3Stream 4
20ss – 1N/AN/A
1ss – 2N/AN/A
30sss – 1N/A
1sss – 2N/A
2ss – 1s – 2N/A
40ssss – 1
1ssss – 2
2sss – 1s – 2
3ss – 1s – 1s – 2

The ConstellationIndexTable property shows the correspondence between constellation indices and constellations.

Example: With two space-time streams, if you specify MCS as3 and UEQMPattern as 0, the first row of the table applies with s = 2, so the second space-time stream uses QPSK modulation, which corresponds to constellation index s – 1 = 1.

Data Types: table

Table of constellation indices, represented as a table.

Constellation IndexModulation SchemeMCS
1QPSK1, 2, 17
216-QAM3, 4, 19, 20
364-QAM5, 6, 7
4256-QAM8, 9, 23
51024-QAM10, 11
64096-QAM12, 13

Data Types: table

Object Functions

rateDependentParametersModulation scheme and coding rate for user in Wi-Fi 8 transmission

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"]

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.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