Resource Unit Allocation for Downlink OFDMA
Previously, we examined the method used by 802.11ax access points to communicate OFDMA resource unit (RU) assignments to client devices for uplink transmission of data. This post will explore RU assignments for downlink communication—that is, from the AP to the to the clients.
Because multiple STAs are intended as recipients in downlink OFDMA, the AP must coordinate which RUs are assigned to which STAs, and how those RU assignments are organized in the frequency domain. The SIG-B field in the HE_MU_PPDU contains two subfields used for this purpose:
Common Field: Used to communicate how RUs are organized within the channel, using an 8-bit binary code. A table for decoding this assignment for a 20 MHz channel is shown below. The Common Field also contains subfields for communicating the use of the center 26-tone RU in 80 and 160 MHz channels, as well as subfields for the CRC and tail.
User-Specific Field: As you might guess, this is where per-STA info is held (STA-ID, MCS, etc.)
Example:
An OFDMA AP using a 20 MHz channel has data for four OFDMA STAs. In the RU Allocation subfield of the Common Field within the SIG-B field of the HE_MU_PPDU, it sends 00111000, meaning that the channel will be sub-divided into four RUs: Two 52 tone RUs, a 26 tone RU, and one 106 tone RU. The User Specific Field of the HE_MU_PPDU would further specify which STA is assigned to each RU, along with the STA-ID, number of spatial streams used, whether transmit beamforming applies, the MCS, etc.
A matter of time
This is fairly straightforward and easy to understand, but there’s another interesting aspect of OFDMA worth considering. In 802.11ax, we have to maintain backward compatibility with non-OFDMA capable STAs. This means communication must not only be aligned in the frequency domain, but also in the time domain—meaning that STAs share the same time allocation. Consider that that legacy (OFDM) STAs will still contend for the channel using CSMA. Supposing that a STA participating in a downlink OFDMA transmission was set to receive more data than the others, if the RF energy dropped to near the noise floor in the other RUs as data transmission ended, it’s reasonable to imagine that a legacy STA might not detect enough energy on the channel near the end of the time allocation and begin to transmit, causing a collision. OFDMA STAs are allowed to aggregate frames to fill the time slot, as well as employ fragmentation, but this still doesn’t prevent mismatched ending of data transmission among STAs. To avoid a potential collision in this scenario, padding bits must be transmitted at the same transmit power as the data bits though the end of the time allocation. I’ve created an animation depicting the addition of padding bits to a data transmission below.