How does 802.11ac MU-MIMO actually get the throughput numbers it claims to deliver? Qualcomm went into great detail on the subject a few weeks ago and SemiAccurate can bring you lots of the details.
The technology called 802.11ac MU-MIMO is a bit complex and has several parts to it that all need to line up in order to deliver much higher throughput than standard 802.11ac normally delivers. One problem with this technology is that it doesn’t up the maximum speed a single user sees, what MU-MIMO delivers is higher aggregate throughput for more users at a time who all connect to the same base station. It is a massive gain but one that is equally hard to describe without going into technical detail. Lets do just that.
Normal 802.11ac can deliver an ~350Mbps data stream to a single user. By using multiple streams simultaneously, 802.11ac can up this to much higher numbers but each stream takes an additional antenna and radio. This is commonly seen as AxB where A is the send antenna count, B is receive. As the antenna count term might suggest, you need a physical antenna for each stream on both ends to get the benefit, something that takes space, silicon, and compute resources on the client end. For mobile users, this translates into high power use.
There is also something called SU-MIMO or Single User MIMO, something that has been with us for a long time. In short the SU- version of MIMO will time slice a channel to allow multiple users to share a frequency. This works well but it also divides the available bandwidth by the number of users, it shares the spectrum.
All of these three things, SU-MIMO, AxB/multiple streams, and MU-MIMO can all work together on the same radio at the same time. If you have three users on a standard 1×1 802.11ac stream, they will each see 1/3rd of the available 350Mbps or about 117Mbps each. In short each of the three streams to three clients sees only a fraction of the bandwidth each but the aggregate is still the same net 350MBps.
MU-MIMO on the other hand doesn’t have the same limitations so three single client stream will deliver close to the full 350Mbps to each client. The same three clients using 802.11ac in MU-MIMO mode will see ~283Mbps each for a grand total of around 850Mbps net throughput on the router. The sharper eyed among you might have noticed that 3 x 350Mbps is 1050Mbps, not 850Mbps, so what happened to the missing 200Mbps, and how does it allow one to multiply the effective bandwidth for a slice of spectrum by nearly three? That is the magic of MU-MIMO.
Just to break the suspense, that 200Mbps or so is used for overhead and training packets necessary for MU-MIMO to function. We say ‘or so’ because it is a variable number but the 850Mbps throughput is an achievable figure in the real world. If conditions are bad that overhead number can go up, if things are good it can go down but 850 and 200 seem to be quite representative of real world use cases.
When an MU-MIMO radio is talking to a MU-MIMO client, the base station sends out a sounding packet to the client. This sounding packet is effectively a known signal pattern that is received by the client and compared to what it should be. If you recall 802.11ac is 5GHz only and uses 256QAM OFDM modulation meaning there are 256 sub-channels on the spectrum slice that is the channel. Each of these 256 channels are measured for interference, echoes, reflections, and other things that cause a signal to degrade or in some cases with wave addition, come in stronger. The conditions on each channel are then reported back to the base station by the client, that is where much of the overhead goes.
Once the radio has heard back from the client, it knows what the client sees in great detail. The radio can then shift the phase of each of the three or four antennas it has to beam form a signal for the client. If you remember back to high school physics and wave addition and/or destruction, the MU-MIMO radio does just that. Each client group has a signal that is tuned to be additive at the receiving antenna for the information it should get and destructive for the signals it is not meant to get.
Stepping back a bit into raw physics, the wavelength of a 5GHz signal is much smaller than an antenna so how can a radio null out a transmission on a receiver like that? Without gong to much into the raw physics, the short and very simplified version is that the antenna ‘sees’ an aggregate of the signals that hit it and this is actually tunable from the radio side. The base station will ‘null steer’ a channel to zero out on those receivers not in a specific MU-MIMO group and if possible boost the signal for those in the group. Believe it or not, it actually works in the real world and clients don’t need to be physically separated for this to work, devices from two groups and be pressed right up against each other.
You might have noticed we mentioned MU-MIMO groups, and according to the spec there are 62 theoretical groups and two reserved but you will never see anything close to that in the real world. A base station could, according to the spec, have 62 groups of clients receiving the full channel speed on the same spectrum at the same time. Since you get roughly the antenna count minus one for a bandwidth multiple, you would need an enormous amount of antennas and a vastly powerful DSP to crunch all of this in real-time. Don’t hold your breath for much more than 8×8 in the real world.
802.11ac SU-MIMO can send multiple streams of 350Mbps data to a client, that is how you get the 700 and 1000Mbps claims on routers but the client needs 2-4 antennas to receive and send those streams. They also need massive compute power to sort it all out and keep signals from stepping on each other. In short the compute burden in on the client side. MU-MIMO on the other hand puts no burden on the client side, all the compute is done at the base station. This isn’t to say it takes less compute power or energy to send out a MU-MIMO stream, just that the energy used is at a place that is probably not battery-powered or space constrained. MU-MIMO was designed for mobile, SU-MIMO for a fixed, PC-like client.
If a client is very still it is a best case scenario. Training packets are few and far between and the theoretical throughput is very close to what a client sees without MU-MIMO. If a client moves around a lot, the frequency of the training packets has to increase eating otherwise usable bandwidth. The weak point of MU-MIMO is effectively when a client is moving too fast for the data returned in the training packet to be relevant. The key to all of this is the time between training and data relative to the client movement speeds.
Note the problems with a moving client
What is a radio to do with such a moving client? If a base station sees a problem client or two, it can selectively drop that client out of MU-MIMO mode and service it the old fashioned shared spectrum way. The important bit as you can see above is that doing so does not affect the other groups, they go on as usual and are completely separated. Walking around a room slowly with a phone isn’t going to get you booted from a group but holding it in your hand and swinging it wildly probably will. It all comes down to software and each radio maker has their own unique set of algorithms to determine this. Grouping, ungrouping, and training packet timing is not an 802.11ac spec, it is a vendor choice. Your results will undoubtedly vary with different radios.
So if everything works right, an MU-MIMO radio will be able to support at least three times the users at near full speeds on the same spectrum that would normally support one user in SU-MIMO mode at the same rates. Each user doesn’t see any net increase in speeds but the throughput of the base station goes up by almost 3x. You can combine this with multiple antennas and channels for ~3x what you see in SU-MIMO mode with the same antenna and radio counts. Qualcomm says that with a four radio AP the theoretical maximum throughput is about 2.8Gbps and they are seeing 2.1-2.2Gbps on current radios with 2.6 being a real world achievable number in future generations. This is all for a 1x client mind you, much cheaper and more power efficient than a 3-4 radio client without MU-MIMO.
All of this sounds fine in the theoretical realm but does it actually work in the real world? That is where Qualcomm came in, they held an 802.11ac workshop to show off and test their radios. The setting was a dense part of San Francisco, not an RF shielded test lab. There were 25+ external APs seen by SemiAccurate during the test, the environment was something between challenging and harsh but nowhere near pathological. There were also no less than four full MU-MIMO tests going on in the same room too, right next to each other. How did the Qualcomm 802.11ac MU-MIMO radios do?
One sender, eight receivers
The test above was a simple one with one Linksys EA8500 MU-MIMO radio and eight client PCs each in different groups. When the test results came in the net throughput was about where we expected it to be, eight ~90Mbps streams from a single ‘350Mbps’ channel. Some of the overhead is from the client groups, some from the noisy environment, and some from user stupidity. By that we mean the artificially low score on device #4 which we were waving around during the test to see if it would drop the throughput on that device. It did, measurably. Luckily no one took videos of that incident. The raw scores are below.
Real world performance close to theoretical
The next test up was showing 4×4 simultaneous 2.4 and 5GHz transmission to clients with the 5GHz radio running in MU-MIMO mode. The point was to show that a Qualcomm radio could do both channels with 5GHz running in SU-MIMO or MU-MIMO without being affected by the 2.4GHz transmissions. On this test the throughput numbers weren’t all that impressive because the reference platform only had 2xGbE inputs. Needless to say the saturated inbound links were the choke point, not the radios. Aggregate throughput on all channels was >1.5Gbps.
Yet another test was showing off SU- vs MU- net throughput. With multiple clients in MU-MIMO mode the rig saw ~750Mbps throughput, not bad for such a noisy environment. If you flipped the base station to SU-MIMO mode on the fly, net throughput dropped to about 350Mbps or less than half the MU- throughput or about what we expected.
Last up was one of the most important tests which answered the question of what happens when a client gets booted out of the MU-MIMO group. Officially the claim is that the MU-MIMO groups will see about twice the bandwidth each as the SU-MIMO clients, the test above verified that claim. If you boot a client out of MU-mode it shouldn’t affect the MU-throughput. If it does the whole concept of MU-MIMO would be pretty flawed, almost pointless in the real world.
MU-MIMO mixed with SU-MIMO
Luckily for Qualcomm the three MU-MIMO clients are indeed not affected by the booting of their unsociable colleague. The SU-MIMO client sees ~60Mbps vs the 121-129Mbps of the MU-MIMO clients. Both can coexist happily on a channel and neither group sees any loss of throughput because of the existence of the other. MU-MIMO clients get vastly greater throughput and SU-MIMO clients see nothing amiss. It is the best of both worlds.
This all works via a clever sounding packet sent out by the base station to test the environment. The client receives this, reports real-time, real world conditions back to the radio and it takes action accordingly. Groups are formed and streams are zeroed via null steering to allow multiple signals on the same channel to exist in the same area without stepping on each other badly.
The end-user doesn’t actually see more net bandwidth from the channel, they just see no or far less drop-off when there are multiple users on the same base station. Instead of dividing up the channel, it can allow three users to see nearly full bandwidth at the same time and divide that nearly 3x bandwidth up if there are more users.
How each user is grouped, divided, added, or kicked out is a non-802.11ac spec decision, it is more of a radio manufacturer choice. That means initially there will probably be fairly large functional differences between radios on how things work but eventually there will be consensus. At the moment it does work, it does interoperate, and it does benefit users as long as there are more than one of them. MU-MIMO is going to evolve fast, keep an eye on it.S|A
Latest posts by Charlie Demerjian (see all)
- ARM outs Custom-X program, Cortex-X1, and Cortex-A78 cores - May 26, 2020
- ARM launches 2nd gen Valhall GPUs, Mali-G78 and Mali-G68 - May 26, 2020
- What comes after AMD’s Genoa/Epyc 4? - May 14, 2020
- Innovium announces Teralynx 8 25.6Tbps switch - May 11, 2020
- Qualcomm launches Snapdragon 768G SoC - May 11, 2020