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.
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.
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