EVM reporting notes

Overview

EVM (error vector magnitude) is a measure of how far from the ideal each pilot carrier is.

There's one set of EVM pilots for each stream.

The hardware populates EVM for each received HT rate frame.

Details

The unit of the EVM data is a signed number of dB above noise floor. The order in which the EVM fields are populated apparently not only depends on the number of streams, but also on whether HT40 was used for the packet or not.

EVM pilot format

Here's a list of the EVM word to pilot mapping (LSB to MSB, stream:pilot), HT40 adds pilots 4, 5

For single stream rates: EVM0 = 0:0, 0:1, 0:2, 0:3 EVM1 = 0:4, 0:5

For dual stream rates: EVM0 = 0:0, 1:0, 0:1, 1:1 EVM1 = 0:2, 1:2, 0:3, 1:3 EVM2 = 0:4, 1:4, 0:5, 1:5

For triple stream rates (AR9003 only): EVM0 = 0:0, 1:0, 2:0, 0:1 EVM1 = 1:1, 2:1, 0:2, 1:2 EVM2 = 2:2, 0:3, 1:3, 2:3 EVM3 = 0:4, 1:4, 2:4, 0:5 EVM4 = 1:5, 2:5

dev/ath_hal(4)/EVM (last edited 2013-06-10T21:07:08+0000 by AdrianChadd)