WiFi

 

 

 

OFDMA

 

OFDMA (Orthogonal Frequency Division Multiple Access) is a new technology introduced from 802.11ax (WiFi 6). It is a technology that enable an WiFi AP to communicate with multiple STA(User) at the same time.

The main difference between OFDM and OFDMA can be illustrated as follows. In OFDM, at a given time ONLY ONE user take up the full frequency spectrum. On the contrary, in OFDMA at a given time MULTIPLE user can split the full spectrum into multiple frequency segments and communicate SIMULTANEOUSLY with AP. In this scheme, each user using the different frequency spectrum the signal from each of the user does not collide each other (i.e, no problem with CSMA/CA process).

NOTE : OFDMA is the mechanism that has been used in 4G(LTE), 5G(NR) cellular communication from day 1. So you would familiar with the concept if you have experience with 4G/5G celluar protocol.

OFDM with users 1, 2 and 3 taking turns over the full band, and OFDMA with the three users sharing the band at the same time

  • OFDM, on the left : User 1, User 2 and User 3 take turns in time, and each one occupies the full frequency range during its turn.
  • OFDMA, on the right : User 1 takes a large block of subcarriers at the bottom for the whole period, User 3 takes a band at the top, and User 2 takes a middle band for only part of the period.

What is the problem with the existing method - OFDM ?

Why we decided to introduce the OFDMA in WiFi ? In other words, is there any problem with the exising method (OFDM) ? I wouldn't say there is any problem with OFDM but I can say there is some inefficiency with it. The enefficiency come from the fact that at a given time a SINGLE user takes up the full spectrum and no other user can communicate during the period. This would cause inefficiency in two important aspects. First thing is that this type of spectrum allocation would cause waste of resource in many case. A report shows that considerable amount of WiFi traffic is only the size of 256 Byte or less and it would be obvious that such a small amount of traffic would not require the full spectrum. Another issue is that it would not allow multiple user (i.e, more than one user) to communicate simultaneously at a given time, meaning that all other User should wait until the one user finish its traffic. This would cause time delay for all the user except the one user.

OFDMA solves the issues mentioned above. OFDMA can split the full spectrum into multiple segments that are just enough for each user leading to more efficient use of spectrum. Also, it can reduce the time delay for many users since multiple user can communicate at the same time without waiting until other user complete the traffic.

Note what OFDMA does not change. A single transmission to one STA does not get faster, because each STA now gets only part of the channel. The gain comes from the overhead around the data. With OFDM, nine short packets to nine STAs need nine separate contentions, nine preambles and nine acknowledgements. With OFDMA, the AP can put them in one transmission and collect the acknowledgements together, as the scheduling sections below show.

  • OFDMA targets short packets : a small packet does not need the full channel, so the rest of the channel can serve other STAs.
  • The gain is in the overhead : contention, preambles and acknowledgements are shared, while the data rate per STA goes down.

Basic Unit of OFDAM Scheduling = RU

As mentioned above, the fundamental principle of OFDMA is to split a full spectrum into multiple small segments. Then a question arises. How small segments it can split ? Extremely speaking, can we split the full spectrum into multiples of single subcarriers ? Can we split the spectrum into multiples of arbitrary number of subcarriers ? The answer is no. If we split the spectrum into as small as single carrier or into arbitray span, there would be huge overhead on resource allocation signaling process and cause difficulties in baseband signal processing as well. So it is decided to specify a set of discrete sized spectrum to be used for transmission. The allowed size of the spectrum segment is called a RU (Resource Unit). There are multiple different sizes of RU and the possible size varies a little bit differently depending on the bandwidth of the full spectrum. For example, in 20Mhz spectrum case the size of RU and their combination comprising the full spectrum is illustrated as follows. As you would notice, the smallest sized RU is made up of 26 subcarriers(2 Mhz) and the second smallest one is the one made up of 52 subcarriers(4 Mhz), and then 106 (8Mhz) and then 242 (20 Mhz). If the channel bandwidth is wider, we can use RUs of even more subcarriers like 484 subcarriers (40 Mhz), 996 subcarriers (80 Mhz).

Source : IEEE 802.11ax TECHNOLOGY INTRODUCTION (Rohde & Schwarz Whitepaper)

The diagram above shows four ways to fill one 20 MHz channel, one per row. The numbers inside the blocks are the tone counts, and the pilot tone indices are marked at the top.

  • First row : nine 26-tone RUs. The centre RU is split into 13 + 13 tones around 7 DC tones.
  • Second row : four 52-tone RUs, plus the same split centre 26-tone RU.
  • Third row : two 106-tone RUs, labelled 102+4, plus the split centre 26-tone RU.
  • Fourth row : one 242-tone RU with 3 DC tones, which fills the whole channel.
  • Edges and gaps : every row has 6 edge tones on the left and 5 on the right. Single leftover tones, marked 1, sit between some RUs.

Let's check the tone count of the first row: 9 x 26 + 7 DC + 6 + 5 edge tones + 4 single tones = 256. So a 20 MHz channel has 256 subcarriers, and the subcarrier spacing is 20 MHz / 256 = 78.125 kHz. The OFDM symbol then lasts 1 / 78.125 kHz = 12.8 microseconds before the guard interval. With this spacing, a 26-tone RU is 2.03 MHz wide, a 52-tone RU is 4.06 MHz, a 106-tone RU is 8.28 MHz and a 242-tone RU is 18.91 MHz. The 484-tone and 996-tone RUs are 37.81 MHz and 77.81 MHz wide, which is why they need a 40 MHz and an 80 MHz channel.

A wider channel repeats the same pattern. The table below lists how many RUs of each size fit in one channel. The counts follow the RU Allocation index ranges that Wireshark uses to decode a Trigger frame.

 

Channel bandwidth

26-tone

52-tone

106-tone

242-tone

484-tone

996-tone

20 MHz

9

4

2

1

-

-

40 MHz

18

8

4

2

1

-

80 MHz

37

16

8

4

2

1

 

  • An RU is a fixed block of subcarriers : 26, 52, 106, 242, 484 or 996 tones, not an arbitrary width.
  • The subcarrier spacing is 78.125 kHz : 256 subcarriers in 20 MHz, so the symbol is 12.8 microseconds before the guard interval.
  • A bigger RU fits only in a wider channel : the 484-tone RU needs 40 MHz, and the 996-tone RU needs 80 MHz.

How to schedule downlink ?

As you may notice, OFDMA provide the increased flexibility in terms of spectrum utilization. Our experience says 'anything more flexible' would require 'more complex' signaling process (i.e, more complicated control mechanism). In the same logic, OFDMA would require a little bit more complicated signaling process comparing to OFDM. In case of Downlink (i.e, AP to Station) the OFDMA signaling process goes as follows.

  • (1) : AP sends a trigger called MU-RTS(Request to Send). This trigger would carry much more information comparing to conventional RTS used in OFDM. Since multiple spectrum segments and multiple User (Station) are involved in OFDMA, this trigger should carry more information like destination address for multiple users and the number of RUs (spectrum width) for each user etc (To me, this trigger seems similar to DCI in 4G/5G cellular technology). Basically this trigger says "I have data to send to all of you, are you ready ?". At this step, the MU-RTS is a single broadcast frame in the non-HT format, so it reaches all the Users at the same time without DL OFDMA.
  • (2) : The Users (Stations) that are specified in the trigger sends CTS(Clear to Send). This indicates "Yes, I am ready". At this step, all the users transmit an identical CTS in the non-HT format at the same time, so UL OFDMA is not used for the CTS.
  • (3) : AP sends data for all the users simultaneously.
  • (4) : AP sends BAR(Block Ack Request) to all the users. This says "Are you guys received and decoded the data ?" At this step, thanks to DL OFDAM the trigger can be delivered to all the Users at the same time.
  • (5) : The stations (users) sends Block ACK, meaning "Yes, I got the data and decoded with no problem". At this step, thanks to UL OFDMA all the users can transmit the Block ACK at the same time.

NOTE : In comparison to 4G/5G cellular communication, something similar to Trigger and ACK is used in the celluar system as well, but there is no such a thing as CTS and BAR. In cellular system, the timing between the trigger and data and the timing between data and ACK is preconfigured by higher layer message or by trigger itself. It implies that WiFi 6 still has more signaling overhead (handshaking overhead) comparing to cellular system. If you are interested in how the OFDMA scheduling happens in celluar communication, refer to this(4G/LTE) and this(5G/NR) note.

The diagram below shows the five steps for four STAs. The AP row is at the top, and each STA row shows what that STA sends. SIFS separates every step, and AIFS comes before the MU-RTS. In step (3), the four DL PPDUs are stacked in frequency, and the one for STA2 is taller because it has a larger RU.

Downlink OFDMA sequence: MU-RTS, simultaneous CTS, DL PPDUs for STA1 to STA4 stacked in frequency, BAR and simultaneous Block ACK

  • Step (1) : MU-RTS, labelled Trigger#1. It is Trigger Type 3, and it addresses each STA by its AID in a User Info field.
  • Step (2) : STA1 to STA4 send CTS in the same slot, SIFS after the MU-RTS. The AP needs only one of them to decide that the MU-RTS worked.
  • Step (3) : the four DL PPDUs occupy different RUs of the same channel at the same time.
  • Step (4) : one BAR for all the STAs. The 802.11ax Trigger frame for this job is MU-BAR, Trigger Type 2.
  • Step (5) : the four Block ACKs come back at the same time, each in its own RU.
  • Only step (3) and step (5) use OFDMA : the MU-RTS and the CTS are non-HT frames that every STA can decode.
  • The CTS replies are identical : they carry no transmitter address, so the copies from different STAs are the same, and the AP can receive them together.

How to schedule uplink ?

The uplink needs more steps than the downlink, because the AP does not know which STAs have data, or how much. So the AP first asks, then protects the channel, and only then assigns the RUs. OFDMA scheduling for Uplink goes as follows.

  • (1) AP sends Trigger (BSRP, Buffer Status Report Poll) to multiple users (Stations). It means 'Hey ! do you guys have any data to send to me ?'.  The Trigger frame is a broadcast frame, so AP can reach multiple Users with one transmission.
  • (2) The multiple Users (Stations) transmit BSR (Buffer Status Report) to AP at the same time. This says "Yes, I have data to send". Thanks to OFDMA, all the assigned UE can transmit the packet simultaneously.
  • (3) AP sends MU-RTS to multiple users that sent BSR all at the same time. This says "Are you ready to send the data ?. The MU-RTS is a broadcast frame, so AP can reach multiple Users with one transmission.
  • (4) The multiple stations(users) sends CTS to AP at the same time. This says "Yes, I am ready to send". all the assigned UE can transmit the packet simultaneously.
  • (5) AP sends a Trigger to the multiple stations. It says "Station 1, you can send the data using this RU, Station 2 you can send the data using this RU etc". The Trigger frame is a broadcast frame, so AP can reach multiple Users with one transmission.
  • (6) Each of the user(station) send out data at the same time. all the assigned UE can transmit the packet simultaneously.
  • (7) AP sends out ACK to all the users. It says "I received and decoded the data". This is a Multi-STA Block ACK sent to the broadcast address, so one frame acknowledges all the users.

The diagram below shows the seven steps for four STAs. The AP sends three Trigger frames, labelled Trigger#1 to Trigger#3, and each one gets a simultaneous answer from STA1 to STA4. The sequence ends with one Multi-STA Block ACK from the AP.

Uplink OFDMA sequence: BSRP trigger and BSR, MU-RTS and CTS, Basic Trigger and UL PPDUs, then Multi-STA Block ACK

  • Trigger#1, BSRP : Buffer Status Report Poll, Trigger Type 4. The STAs answer with BSR in step (2).
  • Trigger#2, MU-RTS : Trigger Type 3. The STAs answer with CTS in step (4).
  • Trigger#3, Trigger : the Basic Trigger, Trigger Type 0. Its User Info field gives each STA an RU Allocation, an MCS, a UL Length and a Target RSSI.
  • Step (6), UL PPDU : the STAs send their data in the assigned RUs at the same time.
  • Step (7), Multi-STA Block ACK : one frame from the AP acknowledges the data of all the STAs.

The AP controls every parameter of the uplink transmission. It chooses the MCS and the length for each STA, and it sets a Target RSSI, which is the power at which it wants to receive each STA. So the STAs do not contend with each other during the sequence. They only answer the Trigger frames. The UL Length also matters. It gives all the UL PPDUs the same length, so they end together before the AP sends the Multi-STA Block ACK.

  • The AP asks before it schedules : BSRP and BSR tell the AP which STAs have data, and how much.
  • The Basic Trigger is the uplink grant : it carries the RU, the MCS, the length and the target receive power for each STA.
  • One acknowledgement frame covers all the STAs : the Multi-STA Block ACK goes to the broadcast address.

How many users - stations - can be supported in OFDMA ?

One STA needs at least one RU, so the smallest RU size sets the user limit, and the channel bandwidth sets the number of those RUs. Maximum 37 stations can be supported in OFDAM per 80 Mhz channel bandwidth.

The number 37 comes from the RU table above. It is the number of 26-tone RUs in an 80 MHz channel, and one STA needs at least one RU. In the same way, a 20 MHz channel supports up to 9 STAs, and a 40 MHz channel up to 18. A 160 MHz channel is two 80 MHz halves, so it supports up to 74. Each extra STA also adds one User Info field to every Trigger frame, and one more Block ACK to collect, so the signalling grows with the user count.

A small RU carries little data, so let's check what one STA gets from a 26-tone RU. It has 24 data subcarriers and 2 pilots. With a 0.8 microsecond guard interval, one symbol lasts 12.8 + 0.8 = 13.6 microseconds. At MCS 11, which is 1024-QAM with coding rate 5/6, one spatial stream carries 24 x 10 x 5/6 / 13.6 = 14.7 Mbps. At MCS 0, which is BPSK with rate 1/2, it carries only 0.88 Mbps. For comparison, the full 242-tone RU has 234 data subcarriers and carries 143.4 Mbps at MCS 11.

So the maximum user count suits many small packets, such as sensor reports or acknowledgements. A STA with a large file transfer gets more from a larger RU, or from the whole channel.

  • The user limit is the 26-tone RU count : 9, 18, 37 and 74 for 20, 40, 80 and 160 MHz.
  • More users means smaller RUs : one 26-tone RU gives 0.88 to 14.7 Mbps per spatial stream, from MCS 0 to MCS 11.

References

YouTube