Showing posts with label 11n. Show all posts
Showing posts with label 11n. 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.

Wednesday, August 14, 2013

Why are some of the MCS combinations invalid in 11ac?

11ac boosts the WLAN rates tremendously in to the gigabit range, but it also introduces a slight problematic area which is not really focused in 11n (because its not much of a problem) "the no of BCC encoders."


In 802.11 there are 2 types of convolutional codes (FEC) defined,

 
  • BCC (binary convolutional code)
    • Encodes the data as per the coding rate, if multiple encoders are used demultiplexes the scrambled bits among NES (number of BCC encoders for the Data field) BCC encoders, in a round robin manner
    • Punctures the Encoded output to achieve higher coding rate, by puncturing we mean we decrease the no of output bits (the denominator of the coding rate) there by resulting in an higher coding rate.
        

                   "Higher  rates are derived from it by employing 'puncturing.' Puncturing is a procedure for omitting some of the encoded bits in the transmitter (thus reducing the number of transmitted bits and increasing the coding rate) and inserting a dummy “zero” metric into the convolutional decoder on the receive side in place of the omitted bits. Decoding by the Viterbi algorithm is recommended."


  • LDPC (low-density parity check code.)
    • High performance error-correcting codes, lets us discuss these some other time.
Note: The same MCS table shall be used for both BCC and LDPC coded transmissions.


Lets take a look at both 11N and 11AC with regard to BCC encoding and MCS Rates Validity.


11N:

The rules of BCC encoder in 11N are:

  1. A single BCC encoder can support up to 300 Mbps of data rate at most, after that for every 300 Mbps step we need to use an additional encoder.
  2. NES values were chosen to yield an integer number of punctured blocks for each BCC encoder per OFDM symbol.
  3. The number of BCC encoders is not limited

So if we observe the MCS's 21, 22, 23 they all use 2 BCC encoders as the Tx Rate is > 300 Mbps. When using multiple BCC encoders the encoder parser demultiplexes the scrambled bits among NES (number of BCC encoders for the Data field) BCC encoders, in a round robin manner. 

802.11ac data flow from higher-level protocols to symbols
Process of Convolutional Coding: Multiple BCC Encoders

So the total number of bits must be multiple of no of encoders, else there will be some extra bits left at the end of the distribution.

For Eg: In case of 
optional 40 MHz, NSS = 3, EQM

MCS 21: 64QAM-2/3-1944-1296-2 Encoders

The total number of coded bits 1944 are split across   648 blocks of BCC encoders with 3 bit length, each block yields 2 bits resulting in 1296 Data bits/sub carrier.

11AC:


The rules for BCC encoder in 11AC are:
  1. The maximum data rate per BCC encoder is 600Mbps
  2. The number of BCC encoders for a particular combination of MCS, Nsts and BW is determined by the short GI data rate and the same number of encoders are used for the corresponding normal GI rate
  3. The number of BCC encoders is not limited
  4. NES values were chosen to yield an integer number of punctured blocks for each BCC encoder per OFDM symbol.

As shown in the 11N example, lets take the case of 

mandatory 20 MHz, NSS = 1, 


MCS-8: 256QAM-3/4-416-312


Here the total no of coded bits 416 should be split across 104 blocks BCC encoders with 4 bit length each block yielding 3 data bits resulting in 312 data bits/sub carrier.


MCS-9: 256QAM-5/6-416-??

Here the total no of coded bits 416 cannot be split across a interger number of encoders violating the above rule #4, hence this MCS combination is invalid.


mandatory 20 MHz, NSS = 3, 


MCS-9: 256QAM-5/6-1248-1040


1248/6 = 208 Blocks of 6 bits each yielding 5 bits output resulting in 1040 data bits, which is valid.

Similarly we can do for other MCS holes (Missing MCS rates which are thrown because they are considered invalid).


Conclusion:


So if we convert the above example in to a mathematical forumala...it sumps as below


The reminder of the division of Total no of coded bits/denominator of coding rate (the length of each convolutional code block) should be 0.


         "For BCC encoding, some of the MCS-NSS combinations are excluded from the MCS table to avoid additional padding symbols. Allowed MCSs are selected such that the number of coded bits in each OFDM symbol contains an integer number of punctured blocks from all encoders, i.e., mathematically every allowed MCS-NSS satisfies:"
Condition for a MCS to be valid: For definitions refer the IEEE spec

References:


1) IEEE 802.11ac-draft 5.0
2) IEEE 802.11-2012

Saturday, April 27, 2013

Roadmap of wifi: For coming years...

Is wifi saturated? whats coming up in wifi world?
Lately, i have been hearing this question a lot and decided to find an answer.

I believe that the field of wifi is very busy in the coming years, technology wise not so much change, the basic protocol remains same and so are the basic rules, but its more user-centric now and more real world scenario based. Lets take a look at the things coming up and soon in wifi

Lets divide the upcoming things in wifi in to technology based and user based.This time less text and more crisp no detailed technical analysis :-) , because most of these things have a roadmap of around 2015-2016, many of the TG's are in the nascent state.

Technology Centric: IEEE

User Centric: WFA

802.11 ac
PHY Changes
256 QAM, MU-MIMO, Beamforming, BW signalling,
Wifi Miracast
On top of P2P based Sharing ending Video and Audio over wifi, eg: project your video from laptop to TV
802.11aq
MAC Changes
Low Power Pre-association discovery
Neighbour aware networking
On top of P2P with
Low power pre-association discovery and Information sharing, Get a pop up if the information matches then proceed through normal connection (P2P/AP)
802.11ah
PHY Changes
sub 1GHz < 1GHz (excluding TV) spectrum and 1,2,4,8,16 MHz bandwidths, over 1KM distances and 300 Kbps
Low Power
Large STA association
Improvised legacy Powersave
Wifi Docking
P2P based Connecting Multiple peripheral using wifi
802.11ad
PHY Changes
Gigabit Wifi, 60 GHz Unlicensed
WNM Powersave
Max Idle Periods, Proxy ARP, WoW, Convert Multicast to Unicast (Direct/Flexible)
802.11af
PHY Changes
Wifi TV: SUB 1GHz TV band
Optional AC for spectrum sense
Wifi Smart Grid
Smart Energy Profiles 2.0 compatible with non-wifi as well eg. Zigbee.
802.11ae
MAC Changes
Prioritization of Management frames


802.11ai
MAC Changes
Fast initial link setup: < 100ms data connection
Lesser Management Frames



In short, we have got all the three tracks covered IEEE is working on huge

                     Major PHY changes : 

        • Spectrum     : 3.7GHz, sub 1GHz, 60GHz
        • Bandwidth   : 1, 2,4,8 and 16 MHz
        • Low power   : Energey Efficient
        • FSN OFDM : 64 subcarriers (Fixed Subcarrier Number)

                    Minor MAC changes 

        • All advanced WFA programs are P2P based.
        • Fast Discovery
        • Fast Connection, 
        • Efficient and Long powersave, 
        • QoS for Management,


where as WFA is working on IOT and End-User scenarios and applications.

So for coming 5 years i would say wifi has lots of work to do. Especially the standard 802.11ah and ad are very popular among engineers and companies and are highest attended TG's.

Any more new ideas/use cases for wifi ? Please share your opinion.

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.


OFDM in WLAN: 802.11n: Similar to 802.11a and 802.11g with minor changes

In the previous article we have discussed about OFDM in 802.11 a/g, now let's take a look at how OFDM works in 11n. 

OFDM has little to do with the drastic 11n rate boost, MIMO is the key player there. Lets leave the MIMO part aside, its a candidate for next article. As far as OFDM is concerned it will work per antenna, but the basic concept per antenna is the same as 11g with few changes.


20 MHz:  This is same as 802.11 a/g but 


a) With an extra 4 sub carriers.
In 802.11a/g we use 48 sub-carriers for data and 4 sub-carriers for pilot. But in 11n we make use of an extra 4 sub-carriers from the reserved for data sub-carriers.So this results in increased throughput.


b) Short Guard Interval (Optional)

we have short guard interval introduced in 11nIn the previous article we have take the guard interval as 1/4 of symbol time, now in 11n they have still decreased the guard interval to 1/8 of the symbol time. So it comes down to,                          3.2us *1/8=0.4us 

Lets take an example to understand:

a) Full Guard Interval

20MHz/64=0.3125; 1/0.3125 =3.2us + 1/4 * 3.2 us=4 us

b) Short guard Interval

20MHz/64=0.3125; 1/0.3125 =3.2us + 1/8 * 3.2 us=3.6 us


Note: Important point to note here is that while doing the calculations for the FFT period we have considered the maximum carriers 64 not the used carriers, so the above calculation of 3.2us holds good in spite of increased sub carriers.

40 MHz: 

Its same as 20MHz but the process repeated in both primary and secondary channels.

So as derived above the total no of sub-carriers in  a 40MHz channel is 52*2 (primary and secondary) + 4 (extra).

The reason for these extra 4 data sub carriers is that we don't need that many (8) pilot sub-carriers combined for both the channels, so we converted some of them to data sub carriers.

Data Sub-Carriers = 52 *2 = 104
Pilot sub-carriers  = 4 + 4  = 8
======================
Total Sub-carriers = 112 with 8 pilot sub-carriers.

Now out of that if remove 2 sub-carriers from 8 and convert them to 2 and add 2 more (why?) 
======================
Data Sub-carriers = 104+2 (from pilot)+2 (extra)=108
Pilot sub-carriers = 4-1 + 4-1=6
======================
Total sub-carriers = 108+6 =114

I am not sure of the exact rationale behind adding some number of sub carriers  but its safe to attribute that to the evolution, as the IEEE std progresses they are trying to make use of all the reserved sub-carriers in that process.

With the same logic in the previous article we can similarly derive the rate calculations for the above 20MHz and 40Mhz as well. The above tables from the IEEE 802.11-2012 will help you.