User Tools

Site Tools


en:developers:documentation:ieee80211:802.11n

Go back –> IEEE-802.11 standards

Review of IEEE-802.11n

IEEE-802.11n was designed to allow transmissions of up to 100Mbps, thanks to this work, devices are theoretically capable of transmitting at rates of up to 600Mbps (PHY data rate). This section summarizes what 802.11n is for developers.

Spatial streams

802.11n capable hardware can have more than one spatial stream. You can have multiple spatial streams all capable of transmitting and receiving concurrently. Each stream can use multiple RX or TX chains. Streams are different than chains, each TX or RX chain consists of a dedicated radio and at least one antenna (a chain can also use antenna diversity). One stream can use one chain or move between them intelligently (this is called selection diversity). Theoretically, you can use as many chains as needed for one stream. This differs from the notion of antenna diversity on 802.11abg hardware. In antenna diversity you are switching the antenna you use to TX or RX dynamically.

The NxM nomenclature tells us about the number of TX/RX chains, and has nothing to do with streams. It should be noted that each stream increases the overall throughput. See below for nSS on the table.

MCS Rates

With 802.11n you can use a new set of rates designed specifically for high throughput (HT). Below are the HT Modulation and Coding Schemes (MCS) rates and its dependent symbols. These come from section 20.6 from 802.11n D5.

Legend

nSS number of spatial streams
R coding rate
nBPCSS(iSS) Number of coded bits per signal carrier for each spatial stream, iSS = 1…, nSS
nSD Number of complex data numbers per spatial stream per ODFM symbol
nSP Number of pilot values per OFDM symbol
nCBPS Number of coded bits per OFDM symbol
nDBPS Number of data bits per OFDM symbol

HT20 rates

HT20 mode uses 20 MHz width channels.

MCS Index nSS Modulation R nBPCSS(iSS) nSD nSP nCBPS nDBPS Mbps (800 ns GI) Mbps (400 ns GI)
0 1 BPSK 1/2 1 52 4 52 26 6.5 7.2
1 1 QPSK 1/2 2 52 4 104 52 13.0 14.4
2 1 QPSK 3/4 2 52 4 104 78 19.5 21.7
3 1 16-QAM 1/2 4 52 4 208 104 26.0 28.9
4 1 16-QAM 3/4 4 52 4 208 156 39.0 43.3
5 1 64-QAM 2/3 6 52 4 312 208 52.0 57.8
6 1 64-QAM 3/4 6 52 4 312 234 58.5 65.0
7 1 64-QAM 5/6 6 52 4 312 260 65.0 72.2
8 2 BPSK 1/2 1 52 4 104 52 13.0 14.4
9 2 QPSK 1/2 2 52 4 208 104 26.0 28.9
10 2 QPSK 3/4 2 52 4 208 156 39.0 43.3
11 2 16-QAM 1/2 4 52 4 416 208 52.0 57.8
12 2 16-QAM 3/4 4 52 4 416 312 78.0 86.7
13 2 64-QAM 2/3 6 52 4 624 416 104.0 115.6
14 2 64-QAM 3/4 6 52 4 624 468 117.0 130.0
15 2 64-QAM 5/6 6 52 4 624 520 130.0 144.0
16 3 BSSK 1/2 1 52 4 156 78 19.5 21.7
17 3 QPSK 1/2 2 52 4 312 156 39.0 43.3
18 3 QPSK 3/4 2 52 4 312 234 58.5 65.0
19 3 16-QAM 1/2 4 52 4 624 312 78.0 86.7
20 3 16-QAM 3/4 4 52 4 624 468 117.0 130.0
21 3 64-QAM 2/3 6 52 4 936 624 156.0 173.3
22 3 64-QAM 3/4 6 52 4 936 702 175.5 195.0
23 3 64-QAM 5/6 6 52 4 936 780 195.0 216.7
24 4 BPSK 1/2 1 52 4 208 104 26.0 28.9
25 4 QPSK 1/2 2 52 4 416 208 52.0 57.8
26 4 QPSK 3/4 2 52 4 416 312 78.0 86.7
27 4 16-QAM 1/2 4 52 4 832 624 156.0 173.3
28 4 16-QAM 3/4 4 52 4 832 624 156.0 173.3
29 4 64-QAM 2/3 6 52 4 1248 832 208.0 231.1
30 4 64-QAM 3/4 6 52 4 1248 936 234.0 260.0
31 4 64-QAM 5/6 6 52 4 1248 1040 260.0 288.9

HT40 rates

MCS Index nSS Modulation R nBPCSS(iSS) nSD nSP nCBPS nDBPS Mbps (800 ns GI) Mbps (400 ns GI)
0 1 BPSK 1/2 1 108 6 108 54 13.5 15.0
1 1 QPSK 1/2 2 108 6 216 108 27.0 30.0
2 1 QPSK 3/4 2 108 6 216 162 40.5 45.0
3 1 16-QAM 1/2 4 108 6 432 216 54.0 60.0
4 1 16-QAM 3/4 4 108 6 432 324 81.0 90.0
5 1 64-QAM 2/3 6 108 6 648 432 108.0 120.0
6 1 64-QAM 3/4 6 108 6 648 486 121.5 135.0
7 1 64-QAM 5/6 6 108 6 648 540 135.0 150.0
8 2 BPSK 1/2 1 108 6 216 108 27.0 30.0
9 2 QPSK 1/2 2 108 6 432 216 54.0 60.0
10 2 QPSK 3/4 2 108 6 432 324 81.0 90.0
11 2 16-QAM 1/2 4 108 6 864 432 108.0 120.0
12 2 16-QAM 3/4 4 108 6 864 648 162.0 180.0
13 2 64-QAM 2/3 6 108 6 1296 864 216.0 240.0
14 2 64-QAM 3/4 6 108 6 1296 972 243.0 270.0
15 2 64-QAM 5/6 6 108 6 1296 1080 270.0 300.0

Note that MCS [16-76] exist going up to 600 Mbps but too lazy to write that from the docs, feel free to expand – the section with this table on the 802.11n specification is on tables 20-29 up to 20-43. These rates also require the addition of another entry in the table, the nES (number of BCC encoders for the DATA field).

See http://mcsindex.com/ for all of them. Raw tables are available at https://github.com/ewa/802.11-data.

Block Acks

Block Acks let you acknowledge a set of frames with a single new modified type of ACK. This is extremely useful when you use aggregation. If a transmitter did not get a block ack back it will send a block ack request to the receiver after a period of time.

Aggregation

802.11n introduces two types of aggregation to increase throughput.

A-MPDU

This is the most common form of aggregation supported and used by drivers. mac80211 has full support for this type of aggregation. With it you pack together frames and each frame has its own dedicated CRC. The receiver can send a BlockAck with a bitmap of each successful frame. In the bitmap it can also specify which frame failed to force the transmitter to retransmit the single unsuccessful frame.

A-MSDU

This is not commonly used, but the standard and WiFi certification requires support for receiving A-MSDUs. mac80211 has support for this, so drivers don't need to do anything. With A-MSDUs you cannot check each individual frame as each of them does not have a dedicated CRC. If a frame is corrupt you will have to retransmit the entire aggregate.

More references

You can read this paper written for computer scientists without a strong EE/RF signal processing background called “802.11 with Multiple Antennas for Dummies”:

http://www.cs.washington.edu/homes/dhalperi/pubs/mimo_for_dummies.pdf

en/developers/documentation/ieee80211/802.11n.txt · Last modified: 2015/01/26 09:49 (external edit)