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 awlanEHTMUConfig
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 awlanEHTMUConfig
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 Bandwidth | Number of Content Channels |
---|---|
40 MHz | 2 |
80 MHz | 2 |
160 MHz | 2 per 80 MHz subblock |
320 MHz | 2 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.
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.
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.