This is an old revision of the document!
Spectral Scan Support
The AR9280 and later NICs have the ability to report FFT data from the baseband under user-controlled conditions.
Overview
(TBD)
Configuration
(TBD)
Frame format
Spectral scan data is reported as a PHY error.
- 0x5 - RADAR
- 0x24 - RADAR, possible false, out of band or wideband signal
- 0x26 - SPECTRAL payload
HT20:
| Byte | Description |
| 0 | bin -28 magnitude[7:0] = (|i| + |q|) » max_exp |
| 1 | bin -27 magnitude[7:0] = (|i| + |q|) » max_exp |
| 2 - 53 … | |
| 54 | bin 26 magnitude[7:0] = (|i| + |q|) » max_exp |
| 55 | bin 27 magnitude[7:0] = (|i| + |q|) » max_exp |
| 56 | [7:0]: all bins {max_magnitude[1:0], bitmap_weight[5:0]} |
| 57 | [7:0]: all bins max_magnitude[9:2] |
| 58 | [7:0]: all bins {max_index[5:0], max_magnitude[11:10]} |
| 59 | [3:0]: max_exp (shift amount to size max bin to 8-bit unsigned) |
HT40:
| 0 | bin -64 magnitude[7:0] = (|i| + |q|) » max_exp |
| 1 | bin -63 magnitude[7:0] = (|i| + |q|) » max_exp |
| 2 - 125 … | |
| 126 | bin 62 magnitude[7:0] = (|i| + |q|) » max_exp |
| 127 | bin 63 magnitude[7:0] = (|i| + |q|) » max_exp |
| 128 | [7:0]: lower bins {max_magnitude[1:0], bitmap_weight[5:0]} |
| 129 | [7:0]: lower bins max_magnitude[9:2] |
| 130 | [7:0]: lower bins {max_index[5:0], max_magnitude[11:10]} |
| 131 | [7:0]: upper bins {max_magnitude[1:0], bitmap_weight[5:0]} |
| 132 | [7:0]: upper bins max_magnitude[9:2] |
| 133 | [7:0]: upper bins {max_index[5:0], max_magnitude[11:10]} |
| 134 | [3:0]: max_exp (shift amount to size max bin to 8-bit unsigned) |
Calculating a dBm value from the reported magnitudes
(TBD)
Known Issues
- The MAC sometimes mis-classifies these frames as data rather than PHY error payloads and helpfully “aligns” them for us. This partially corrupts one of the FFT results.