Friday, April 3, 2015

A "Simplified" Explanation of 802.11n/ac technologies: MIMO, Beam Forming, and MU-MIMO

In 802.11n, two radio technologies, Multi-In Multi-Out (MIMO) and Transmit Beamforming (TxBF), were introduced as mechanisms to enhance throughput and range of Wi-Fi signals.  While these techniques were new to Wi-Fi, they were based closely on radar and celluar radio technologies that have been used successfully for decades.  802.11ac introduces a further enhancement, Multi-User MIMO (MU-MIMO), that leverages both of these other techniques to enable an AP to literally talk to multiple clients simultaneously. 

This post is intended to provide a pragmatic, easy to understand guide for Wi-Fi engineers and  professionals of how Wi-Fi systems utilize MIMO and Beam Forming in 802.11n and MU-MIMO 802.11ac.  While basic physics and mathematical principles behind this technique will be discussed, this is not intended to provide a comprehensive mathematical proof of all of the physics and mathematics involved in making these techniques work.


When an antenna transmits a radio signal, the propagation of the signal does not just proceed in a straight line to the receiver.  Instead, the signal spreads outwards from the transmit antenna, and parts of the signal can be impacted by reflection, diffraction, and reflection from objects in the environment.  As a result, the radio signal that reaches the receive antenna comes in along multiple paths.  This effect is known as multipath.  Multipath serves to shift the phase of the signal, and the multiple paths recombining at the receiver antenna can constructively or destructively interfere.

In older 802.11b/g networks, this effect was a large problem, and was typically addressed by using access points utilizing receive diversity across two antennas.  The two antennas were physically separated so as to be out of phase with each other (i.e. an odd multiple of 1/2 wavelength), so that one antenna would receive a stronger signal (i.e. a signal with more constructive interfere) than the other (i.e. a signal with less constructive interference).  The access point would then use whichever antenna was last "stronger" to transmit to the client.  While helpful, diversity is far from foolproof.   First and foremost, most client devices did not utilize multiple antennas, so any improvements from diversity really only occurred in the upstream direction.  Additionally, multipath signals that net out to a 45 degree phase shift would be equally good (or bad) on both antennas. 

Multi-In Multi-Out

Starting in 802.11n, MIMO was introduced as a method for taking advantage of multipath to either increase capacity or increase range.   For MIMO to work, each wireless device has multiple radio / antenna chains which are identical and physically separated from each other so as to be out of phase.  A Wi-Fi MIMO device will be indicated by the following:

{# Tx antennas} x {# Rx antennas} : {# spatial streams}

A spatial stream is a data set, sent by a transmitting radio chain, that can be mathematically reconstructed by the receiver.  The number of spatial streams that a Wi-Fi device can support is therefore limited by the lesser of the number of transmit radio chains or receive radio chains in the Wi-Fi device.

In MIMO, each spatial stream is transmitted from a different radio/antenna chain in the same frequency channel.  The receiver will receive each stream on each of its identical radio/antenna chains.  Since the receiver knows the phase offsets of its own antennas, it can use signal processing techniques to mathematically reconstruct the original streams.

To increase signal range, 802.11n uses space-time block coding (STBC), where the same information is transmitted across multiple antennas.   Since copies of the same information are sent, once the receiver mathematically decouples the individual streams, it can easily determine the phase offsets between the streams and "constructively interfere" them mathematically, producing a stronger resultant signal.  Hence, a receiver can receive a data stream at a particular MCS rate at a worse absolute signal-to-noise ratio, and thus can be further away from the transmitter.   When using this MIMO method, additional receive radio/antenna chains are useful to even further mathematically enhance the signal.  There is a related technique in the 802.11n spec intended for use with legacy client devices (i.e. 802.11b/g) known as cyclic shift diversity (CSD), where each stream has the same data but is sent with a slightly different phase offset.  The intent of CSD is to create more constructive interference at the 802.11b/g receiver, though it is subject to the same limitations as 802.11b/g devices with multipath, and as such is rarely used in practice. 

To increase capacity, MIMO utilizes spatial multiplexing to take a signal and separate it into multiple parallel streams.  Thus, each stream from the transmitter contains a different set of data.   Obviously, the more streams you have, the higher your throughput.  With two data streams, the effective data rate is doubled; with three data streams, the effective data rate is tripled.

To summarize, when each spatial stream contains the same data set, MIMO enhances the signal.  When each spatial stream contains different data sets intended for the same receiver, MIMO enhances throughput.   Since MIMO is virtually always used in practical applications to enhance throughput, additional radios are not required, and the number of transmit radios / receive radios, and spatial streams are identical.   The number of streams actually used is driven by whichever device (transmitter or receiver) has fewer radios.  In practical terms, this is usually the client device.  Most smartphone and tablet devices only have support for one or two streams, to conserve both space and battery power.   

Transmit Beam Forming (TxBF)

802.11n also introduced Transmit Beamforming (TxBF), which enhances MIMO by using phase adjustments across each antenna to increase range.   TxBF is decoupled from MIMO, so MIMO access point using TxBF can both simultaneously increase data capacity and increase range.   

There are two major caveats, however, to using TxBF:
  • The number of transmit radios must exceed the number of spatial streams
  • The transmitter needs to know the location of the receiver in space
Beam forming requires the use of a phased antenna array,  where there are multiple identical antennas at fixed separation distances (so as to be out of phase).  


Like CSD, the phase of each data stream is transmitted by all antennas with different phase offsets.  However, unlike CSD, the phase offset from each antenna is deliberately calculated to constructively interfere at a particular point in space (i.e. the  location of the receiver), thereby enhancing the signal strength at that location.  The signal can be enhanced by 2x (i.e. 3 dB) for every phased antenna.

When using omni-directional antennas, which is the case with most access points capable of supporting beam forming, the effective antenna pattern created tends to be symmetrical.

In order to identify the location of the client, there are sounding and calibration packets (think sonar) that are passed between the access point and the client to pass back appropriate parameters so that the access point can mathematically estimate the relative location of the client device.  I am not going to cover the details of this process - Chapter 10 of the CWAP Certified Wireless Analysis Professional Official Study Guide: Exam PW0-270 provides a very comprehensive, though somewhat incomprehensible, explanation of this.   Suffice it to say that the client device driver must support receiving and sending such messages to the access point, and most 802.11n and 802.11ac wave 1 clients do not offer such support.  Client device support is required for 802.11ac wave 2, however, as beam forming is at the heart of MU-MIMO.

The BeamFlex(TM) technology deployed by Ruckus Wireless is essentially a beam forming antenna, though uses proprietary technology that is completely independent of TxBF.  Instead of using omni-directional antennas, each antenna is actually an array of directional antenna elements.  When a signal comes in from a client, the strength and relative polarity of the signal on each antenna element can be used to mathematically triangulate the position and orientation of the client device.  Accordingly, since the AP itself determines the position of the client, there is no need for client device support.  Ruckus originally introduced this technology on its 802.11g access points.  Because it is using an array of directional antennas, the resulting beam pattern can be made more directional than in the 802.11 TxBF case.

In conventional MIMO, the multiple BeamFlex antennas are all given identical profiles.  Thus, BeamFlex can be combined with TxBF for additional effect.

Multi-User MIMO (MU-MIMO)

The throughput gain of conventional MIMO is limited by the number of spatial streams supported by the client device, and that is limited by the size and power capacity of the device itself.  So how can throughput be further enhanced in Wi-Fi to help our insatiable desire for faster wireless speeds?

In 802.11ac wave 1, throughput is enhanced by going to wider channel widths and the more complex 256-QAM modulation and coding scheme.  Both of these have limitations.  The total size of the 5 GHz band is "finite", and thus wider channels lead to fewer independent channels and are subject to larger interference.  While there are efforts in the US Congress to open up for unlicensed spectrum, The 80 MHz channels introduced in 802.11ac wave 1 is likely a hard practical channel size limit going forward.  802.11ac allows for 160 MHz channels, though given that this only provides two independent channels on the entire 5 GHz band, using 160 MHz channels is impractical for multi-AP deployments.   Furthermore, the new 256-QAM scheme requires a minimum SNR of 29 dB, meaning that you need to have a really good signal between the Wi-Fi devices, only making this achievable at very close distances in very clean RF environments.

The other method of enhancing throughput, of course, is to actually talk to multiple client devices simultaneously, and this is what multi-user MIMO (MU-MIMO) in 802.11ac will attempt to achieve.  It utilizes both conventional MIMO, TxBF, and extra transmit radio chains to send different streams to different client devices in the same environment.

There are some practical restrictions on MU-MIMO that will likely limit the areas where it can actually improve throughput.
  • MU-MIMO is not backwards-compatible.  The client devices must all support the 802.11 TxBF feedback mechanisms in order for the AP to know the location of each client device.  At a minimum, this likely means 802.11ac client devices with drivers that have TxBF enabled.
  • The clients must be spatially separated.  Essentially, MU-MIMO is adding together the directionalized antenna pattern for each client device.  The clients must be physically far apart from each other to make sure that the signal intended for the first client is fully destructively interfered at the location of all other clients.  
  • The clients must be at similar data (MCS) rates and data quantity.  This is more of a pragmatic requirement than a technical one.  In theory, the separate spatial streams could each be transmitted at their own speeds and data content sizes.  In practice, the optimal utilization of the air time to maximize throughput performance of the access point means that the transmission times of the spatial streams for each parallel client should be identical.  This will necessitate the need for similar amounts of data transmitted at similar data rates.
In low density environments, there is nothing to be gained from MU-MIMO.   In very high density environments, such as sports arenas and stadiums, high density coverage is typically achieved by using highly directional antennas to divide up the area into very small sectors, which may not provide the spatial separation that MU-MIMO requires.   In certain high density environments, such as classrooms, convention centers, shopping malls and districts, etc., there could potentially be some gain from the use of MU-MIMO. 

There is a question as to how "ACKs" work with MU-MIMO.   Since the AP can only talk or listen at any given time, how can the AP receive ACKs occurring from multiple clients?   Logically, the transmission length to all of the clients would be approximately equal, so that the transmissions start and end at the same time.  Otherwise, the AP would miss the initial ACK as it would still be transmitting to other clients.  However, if the clients are all waiting a SIFS and then responding with ACKs, these are also happening simultaneously.  There are a couple of potential mechanisms around this, though I do not know what vendors are using:
  • Block Ack:   When using the BlockAck mechanism of 802.11e, the transmitter would send a BlockAck Request to the receiver at the end of the aggregated data.  If all MU-MIMO data is sent as aggregated data (even if it is an aggregation set of "1"), then BlockAckRequest could be sent to each client individually.   This is somewhat undesirable as it would cause additional overhead, which though minor somewhat defeats the purpose of MU-MIMO to begin with.
  • Phased Receiver:  Since the AP knows the location of each client and has already phase shifted its transmission output to  maximize the intended signal at each receiver and nullify the signals for the other clients, you could theoretically do this in reverse - i.e. phase shift the signals from the multiple ACKs that occur simultaneously to separate them out mathematically.

While the practical gains from the complexity of MU-MIMO are still a big unknown, the equipment manufacturers are charging ahead full steam.  Ruckus just introduced the first enterprise 802.11ac wave 2 MU-MIMO access point, the R710, on April 2, 2015.   Other enterprise vendors are not currently scheduled to introduce their models until the end of 2015 / beginning of 2016, though I expect that there are already large efforts at some vendors to pull in these dates.  From a practical standpoint, however, very few client devices currently support TxBF, so MU-MIMO cannot be implemented.  Thus, we will continue to wait until its true ability to improve throughput can be assessed.


  1. One of the most lucid and concise descriptions of MIMO, transmit beamforming, and MU-MIMO that I have seen. It's hard to describe these without either oversimplifying or getting bogged down in matrix math. This post captures the essence of these techniques without the math.

    With regard to MU-MIMO BlockAcks, the first method you described (send BlockAck Requests) is what's being implemented. The AP picks one of the clients to return a BlockAck immediately after the downlink frame. After that client's BlockAck has been received, it waits a SIFS and sends a BlockAck Request to client #2, gets its BlockAck, and so on for the rest of the clients. You are correct that it has a fair bit of overhead - so those MU-MIMO A-MPDUs had better be nice and long to compensate. (There is absolute no purpose in sending voice over MU-MIMO, for example.)

    Your second approach is theoretically feasible, but the penalty of losing a BlockAck is pretty high (the client would have to retransmit the entire A-MPDU) and it would also entail implementing a successive cancellation receiver in the AP to separate out all those BlockAcks transmitted on top of each other. So they aren't doing it at the moment.

    Once again, great post!

  2. Thanks. I put this post together because I was having a lot of difficulty finding any sources with a pragmatic explanation of how MU-MIMO works conceptually. Hence it made sense to put one together myself.