Showing posts with label MU-MIMO. Show all posts
Showing posts with label MU-MIMO. Show all posts

Friday, July 11, 2014

802.11 n and ac Transmit Beamforming: Crash Course

Theory


Beamforming: Form the beam in the direction of destination. Simple, isn't it? Well for starters that's the aim, but we have lot of obstacles in the path, read the mathematics part and you will "its not that simple after all." :-).

Traditional antenna, radiates omnidirectionally meaning everywhere, but for some use cases we need to focus on specific areas/directions, like when there are multiple destinations we want to make sure the one with whom we are speaking gets the best SNR.

For 11n, this was simpley a SNR improvement technique, but for 11ac with the introduction of MU-MIMO we need to communicate with multiple users simultaneously without any cross-interference. So the need for beamforming is more in 11ac.

Generally we use this in cases where the No of antennae are more than the no of spatial streams like 4X2, 8X4 etc.

Beamforming gains are expected to be approximately 3 dB in the transmitted direction. In practice, this gain will typically be one step up in data rates (increasing one MCS number) for a mid-range transmission.

Beamforming is achieved by combining elements in a phased array in such a way that signals at particular angles experience constructive interference while others experience destructive interference


Basic Mathematics


Lets take a look at how do we arrive at those angles, and lets try to keep the mathematics simple and not delve in the gory details.

MIMO communication can be modeled as below

Yk = HkXk + n

X ==> Vector of Tx signal using Ntx antennae [ x1 x2 …xNtx]
Y ==> Vector of Rx signal using Nrx antennae [y1 y2 …yNrx]
H ==> Channel Matrxix Ntx X Nrx.
k  ==> Subarrier
n  ==> Constant Noise in the Channel

Now in order to make sure transmitted signal is steered towards the receiver, we have to tune the transmit signal in such way that we control the phase and amplitude so that the resulting signal will be received by that particular receiver with good SNR.

In mathematical form, we need to calculate the matrix Qk referred as steering matrix, such that Yk is optimized.

Yk = HkQkXk + n

Qk has values known as weights to control phase and amplitude for all Transmit Antennae for that particular subcarrier k.

X is the beamformer
Y is the beamformee

Still with me? Lets do the same for MU-MIMO,

Yku = HkuQkuXku + n

u==> user, specific beamformee.

Qku has values known as weights to control phase and amplitude for all Transmit Antennae for that particular subcarrier k and for that particular beamformee u.


Types 

Explicit Feedback


Qk is formed based on the Feedback from the receiver. So Y will send some training data known as sounding data, based on which X estimates the channel characteristics and derives Qk.

This sounding known as NDP (Null Data packet) sounding uses a special packet with Length 0 as the name indicates.

Here channel need not be reciprocal, as feedback is given based on NDP (from beamformer-beamformee) which is same direction as data packet.

Implicit Feedback


Beamformer X chooses Qk, and adjusts it based on the feedback of beamformee Y.There is not extra data being sent by beamformer, it only prepares the feedback based on the normal data signal from beamformee.

But as the feedback is based on the channel characteristics from Y to X, based on which X decides Qk for X to Y, so this only works when the channel is reciprocal.

Uncompressed


The feedback sent by beamformee comprises of entire beamforming feedback matrices, known commonly as Vk based on which Qk is derived.

Compressed

The feedback sent by beamformee comprises of angles instead of the full matrix which will be decompressed in to full matrix Vk at beamformer.

To understand how we derive Qk from Vk we need to understand SVD (Singular Value Decomposition) which is complex matrix factorization technique outside the scope of this article.

For 11ac only compressed beamforming technique is allowed.

That's the most we can go without getting our hands dirty with some advanced mathematics (SVD, matrices) etc. Hope this throws some light on inner details of beamforming.

References:

1) IEEE specs
2) Wikipedia.

Revision Info:


1) Fixed the definitions of explicit and implicit beamforming: Thanks to Ashok Bandi.

Thursday, August 8, 2013

802.11 AC Primer: Whats all the fuzz about?

802.11ac is the upcoming big standard with tremendous increase in the data rates and throughput if properly utilized. Lets take a Brief/Raw look at the all the new features and how they help to achieve greater data rates and spectrum utilization.


PHY Features
  • 256 QAM
    • Very high order modulation scheme which increases the spectral efficiency only when used with beamforming technology, as high order modulation schemes are susceptible to noise and interference.
    • Compared to 11n 64QAM, spectrum efficiency improves by 33% 
    • Require about 30dB increase in SNR and coverage area is reduced (beam forming can solve this)
  • Sub-carriers
    • The maximum subcarriers that can be used with OFDM in WLAN is 64/20MHz, as of now 11ac uses this limit most efficiently, the next standard will run out the this limit, its time to increase it to 128/20MHz #IEEE :-)
      • 11a/11g ==> 52
      • 11n        ==> 57
      • 11ac      ==> ~59
  • 80 MHz
  • 160MHz
  • 80+80 MHz
    • Single continuous 160MHz and 2 discrete 80MHz can also be combined as 160MHz channel, increases the throuhgput but not the spctral efficiency.
  • 8 Spatial Streams
    • Sounds high, yeah for a single user it doesn't make sense, but with Multi User MIMO we can exploit this to increase the overall spectrum efficiency.
  • MU-MIMO
    • Instead of using all the Antennae for a single user (Even though some of them are not really used for some MCSes) we can use each antenna for a single user (max up to 4) and serve all of them in parallel.  This poses few issues like how do we identify each STA? What about group frames? How can a STA for which the data is not destined can ignore the frames? 
    • The answer to these questions is the additional features introduced in MAC as explained below. 
  • AES-256
  • GMAC and GCMP
    • Present in 11n in most of the enterprise AP's, now its official along with few other extra algorithms.

MAC Features


PHY ID's (Included in the VHT SIG field) 


Basic motivation is determine if the packet is not destined for you at the earliest possible stage (PHY instead of MAC) and go to micro sleep. (Most likely the case when MU-MIMO is in use)


GroupID


"An AP determines the possible combinations of STAs that can be addressed by an MU PPDU by assigning
STAs to groups and to specific user positions within those groups. (through a new GroupID management Frame).
So after decoding the TXVECTOR the STA can decided whether the frame is for itself (or) not."


Note: Group ID 0 is reserved for transmissions to AP and Group ID 63 is reserved for downlink SU transmissions

Partial AID: The partial AID is a non-unique identifier of a STA and is 9 bits conveyed in the TXVECTOR To identify whther the transmissions are destined to a STA/not, used in conjunction with GroupID.


PHY Power-saving with PHY ID's



TXOP Sharing 

In the TXOP won for a particular AC, we can also send frames destined for others AC's to other STA's as well.
"This mode only applies to an AP that supports DL-MU-MIMO. 
The AC associated with the EDCAF that gains an EDCA TXOP becomes the primary AC. TXOP sharing is allowed when primary AC traffic is transmitted in a VHT MU PPDU and resources permit traffic from secondary ACs to be included, targeting up to four STAs."


TXOP power save


Sounds weird but is a good feature. Basically in a TXOP for MU-MIMO, if the frame is not destined for the STA it can doze off for that TXOP duration.

"If the AP allows non-AP VHT STAs to enter Doze state during a TXOP, then a non-AP VHT STA that is in VHT TXOP power save mode may enter the Doze state till the end of that TXOP when one of the following
conditions is met:
— On receipt of a VHT MU PPDU, the STA determines that it is not a member of the group indicated by the RXVECTOR parameter GROUP_ID. 
— On receipt of an SU PPDU, the STA determines that the RXVECTOR parameter PARTIAL_AID is neither equal to 0 nor does it match the STA’s partial AID. 
— The STA finds that the PARTIAL_AID in the RXVECTOR matches its partial AID but the RA in the MAC header of the corresponding frame that is received correctly does not match the MAC address of the STA."
 References:

    1. IEEE Discussions: Spectrum Efficiency 
    2. IEEE Discussion: PHY Powersave
    3. 802.11ac-draft 5.0

Monday, February 18, 2013

MU-MIMO and 802.11n/ac:An User Level Overview

Multi User MIMO, the technology introduced first in 802.11ac (By first means in to the IEEE std's) and is known to increase the spectral efficiency of the wifi channel by using multiple antennas for multiple recipients in the Downlink.


When a 11n/11ac AP with 4 antennae transmitting to a smart phones with typically a single antenna, the AP is forced to use single antenna only, causing high spectral wastage. Now imagine, if we can make use of the other 3 antennas to transmit data to other connected clients while antenna1 is transmitting to STA1? 

Here's a quote from the 802.11-ac-draft-4.0:

The support for VHT transmit beamforming sounding and VHT MU PPDUs in a VHT AP and more than oneVHT STA within a VHT BSS enables the optional use of DL-MU-MIMO. 
With DL-MU-MIMO the AP can create up to four A-MPDUs each carrying MPDUs destined for an associated MU capable STA. The AP uses group identifiers (GIDs) to signal potential recipient STAs. 
The AP transmits the A-MPDUs simultaneously in separate space-time streams such that each recipient STA is able to demodulate the space-time streams carrying its A-MPDU. 
The simultaneous transmission of A-MPDUs in a single VHT MU PPDU provides a means to increase aggregate throughput over that which would be achieved by sending the A-MPDUs in separateSU PPDUs.
That's MU-MIMO causing us a higher DL throughput even when there are many STA's connected to AP. Now for a technical mind, we shall discuss the below queries in the upcoming 802.11ac article.


a) How the CSMA/CA works here?

b) How the ACK procedure works? 

c) Why TxBF is mandatory for DL-MU-MIMO

d) Can we explot this for Multi AP and Multi Channel COncurrency...so on


Here's a nice video demonstration by qualcomm R&D, Enjoy.