Main Content

Allocation Indices and the EHT-SIG Field

In the IEEE® 802.11 family of standards, data transmits in discrete units called physical protocol data units (PPDUs) or packets. Each packet consists of preamble and data portions. The data portion holds user data. The preamble holds information about the transmission configuration. The structure of a packet varies between different 802.11 versions (see WLAN PPDU Structure). The structure affects how a packet stores resources for data transmission. This topic explains how 802.11be™ (Wi-Fi 7) extremely high-throughput multi-user (EHT MU) packets allocate resources in WLAN Toolbox™.

EHT MU Resource Allocations

In an EHT MU packet, resource allocations define how the transmission allocates the available channel bandwidth between users. This table summarizes the structure of an EHT MU packet.

PPDU Field Abbreviation

Description

Duration (µs)

L-STF

Non-HT Short Training field

8

L-LTF

Non-HT Long Training field

8

L-SIG

Non-HT Signal field

4

RL-SIG

Repeated Non-HT Signal field

4

U-SIG

Universal Signal field

8

EHT-SIG

EHT Signal field

Variable

EHT-STF

EHT Short Training field

4

EHT-LTF

EHT Long Training field

Variable

EHT-Data

Data field carrying the PSDUs

Variable

PE

Packet Extension field

Variable

The EHT-SIG field carries the information about the resource allocations. Some EHT MU packets use orthogonal frequency-division multiple access (OFDMA) and some do not. The information that the EHT-SIG field carries depends on whether it uses OFDMA:

  • Non-OFDMA — All users occupy the same bandwidth, which can be the entire channel or, in the case of puncturing, a portion of it. Therefore, the only significant information about the resource allocation is the total number of users. This number corresponds to the NumUsers property of a wlanEHTMUConfig object.

  • OFDMA — The bandwidth is split into discrete resource units (RUs) and multiple resource units (MRUs). An MRU is a group of RUs joined together. The EHT-SIG field contains RU allocation subfields that each consist of nine bits that encode an allocation index. The total number of subfields depends on the channel bandwidth. Together, these subfields correspond to the AllocationIndex property of a wlanEHTMUConfig object. The allocation index determines the number of RUs, the size of each RU, the number of users assigned to each RU, and which RUs are punctured. For a description of the correspondence between allocation indices and resource allocations, see EHT MU Transmission.

EHT-SIG Content Channels

If the channel bandwidth is greater than 20 MHz, and the transmission is either OFDMA or non-OFDMA with multiple users, the EHT-SIG field contains multiple content channels. If the channel bandwidth is 20 MHz, the EHT-SIG field contains one content channel. This table shows the number of content channels for each channel bandwidth above 20 MHz.

Channel BandwidthNumber of Content Channels
40 MHz2
80 MHz2
160 MHz2 per 80 MHz subblock
320 MHz2 per 80 MHz subblock

In OFDMA transmissions, if the channel bandwidth is 160 or 320 MHz, the content channels are allowed to carry different information per 80 MHz subblock. For example, consider a transmission with a channel bandwidth of 160 MHz and two users who each get one 80 MHz subblock. The transmission can be configured such that each 80 MHz subblock contains only information about its own allocation. Since each subblock needs only its own information to function properly, this configuration improves efficiency because it doesn't transmit unnecessary data.

Model EHT-SIG Content Channels

This example shows how WLAN Toolbox handles the EHT-SIG content channels.

Configurations with All RUs of Size 242 or Greater

Create a multi-user EHT configuration object with the allocation index set to the vector [151 30 30 30 64 64 29 29]. This setting specifies a 996+484-tone MRU and two 242-tone RUs in a 160 MHz channel. The MRU has eight users and the two RUs have one user each.

allocationIndex = [151 30 30 30 64 64 29 29];
cfgLMRU = wlanEHTMUConfig(allocationIndex);
cfgLMRU.User{9}.NumSpaceTimeStreams=8;
cfgLMRU.User{10}.NumSpaceTimeStreams=8;

Display the AllocationIndex property.

disp(cfgLMRU.AllocationIndex);
   151    30    30    30    28    28    29    29
    30    30    30    30    64    64    29    29

Even though you specified the allocation index as a row vector, the object saved the property as a matrix with two rows. This result shows the fact that the configuration has two EHT-SIG content channels per 80 MHz subblock.

The first and second rows of the matrix correspond to the lower and upper 80 MHz subblocks, respectively. The odd- and even-numbered columns correspond to the first and second content channels, respectively. In this configuration:

  • The lower 80 MHz subblock's first content channel signals users 1–8, the eight users of the MRU. This fact is indicated by the presence of 151 in column 1, which is odd-numbered. The second content channel signals no users.

  • The upper 80 MHz subblock's first and second content channels signal users 9 and 10, respectively. This fact is indicated by the presence of 64 in columns 5 and 6, which are respectively odd- and even-numbered. Users 9 and 10 each have one 242-tone RU.

The second half of the first 80 MHz subblock and the first half of the second 80 MHz subblock have been filled with values of 28, 29, and 30. These values correspond to EHT-SIG content channels containing RUs of size 242 or greater with no users signaled on them. Each 80 MHz subblock contains information about only its own allocation. The first user group (users 1–8, signaled in the first 80 MHz subblock) and the second user group (users 9 and 10, signaled in the second 80 MHz subblock) contain different and complementary resource allocation information.

This diagram shows how this configuration allocates resources to each 80 MHz subblock.

Resource allocation for the two 80 MHz subblocks

Now create a multi-user EHT configuration object with the allocation index set to the 2-by-8 matrix obtained by duplicating the previous allocation index.

allocationIndex = [allocationIndex;allocationIndex];
cfg2by8 = wlanEHTMUConfig(allocationIndex);
cfg2by8.User{9}.NumSpaceTimeStreams=8;
cfg2by8.User{10}.NumSpaceTimeStreams=8;

Display the AllocationIndex property.

disp(cfg2by8.AllocationIndex);
   151    30    30    30    64    64    29    29
   151    30    30    30    64    64    29    29

In this configuration, both 80 MHz subblocks contain the same allocation information. Users 1–9 are signaled on content channel 1, where users 1–8 are indicated by 151 in column 1 and user 9 is indicated by 64 in column 5. User 10 is signaled on content channel 2, which is indicated by 64 in column 6. Each 80 MHz subblock contains information about the entire allocation.

Resource allocation for both 80 MHz subblocks

Configurations Including RUs of Size Smaller Than 242

Now create a multi-user EHT configuration object with the allocation index set to the vector [151 30 30 30 50 51 29 29]. This setting specifies the following RUs:

  • A 996+484-tone MRU with eight users

  • Two 106+26-tone MRUs with one user each

  • One 52+26-tone MRU with one user

  • One 106-tone RU with one user

  • One 26-tone RU with one user

allocationIndex = [151 30 30 30 50 51 29 29];
cfgSMRU = wlanEHTMUConfig(allocationIndex);

Display the AllocationIndex property of the configuration.

disp(cfgSMRU.AllocationIndex)
   151    30    30    30    50    51    29    29
    30    30    30    30    50    51    29    29

Now display the AllocationIndex property of the first configuration you created.

disp(cfgLMRU.AllocationIndex)
   151    30    30    30    28    28    29    29
    30    30    30    30    64    64    29    29

Unlike in the first configuration, the values 50 and 51 are repeated across both subblocks (see row 1 and row 2 of cfgSMRU.AllocationIndex). This pattern occurs because the empty allocations 28, 29, and 30 apply only to RUs of size 242 or greater. The RUs defined by values 50 and 51 are all under this size, so no corresponding numbers signal empty allocations, and the values must be signaled in both subblocks.

See Also

Related Examples

More About