Friday, August 16, 2013
Introduction to Ambient BackScatter, How it works?
What is Backscattering?
Ambient backscatter differs from RFID-style backscatter in threekey respects.
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.
- 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.
- High performance error-correcting codes, lets us discuss these some other time.
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:
- 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.
- NES values were chosen to yield an integer number of punctured blocks for each BCC encoder per OFDM symbol.
- 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.
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:
- The
maximum data rate per BCC encoder is 600Mbps
- 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
- The
number of BCC encoders is not limited
- 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
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
- 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)
- 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
- Single continuous 160MHz and 2 discrete 80MHz can also be combined as 160MHz channel, increases the throuhgput but not the spctral efficiency.
- 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.
- 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.
- Present in 11n in most of the enterprise AP's, now its official along with few other extra algorithms.
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:
- IEEE Discussions: Spectrum Efficiency
- IEEE Discussion: PHY Powersave
- 802.11ac-draft 5.0
- IEEE Discussions: Spectrum Efficiency
- IEEE Discussion: PHY Powersave
- 802.11ac-draft 5.0
Subscribe to:
Posts (Atom)