Atheros HAL: Ambient Noise Immunity (ANI)

| Driver | HAL | Supported Hardware |

Overview

Ambient Noise Immunity (ANI) is a software driven method for controlling radio sensitivity in the face of noise sources. It tunes various parameters based on OFDM/CCK errors and beacon RSSI levels.

Details

The patent document provides a good overview to the operation of the ANI code in FreeBSD. The AR5212 implementation is almost verbatim from the ANI patent.

ANI attempts to work around a noisy, unpredictable environment. Given that there are a variety of noise sources - other stations, spread spectrum sources, non-802.11 devices (eg video bridges) and 2.4ghz devices (eg microwaves), ANI attempts to set various packet and signal detection thresholds to minimise errors.

The inputs to ANI are:

The variables being modified by ANI are:

What could be done in the future

Currently these parameters are programmed into ANI and raised/lowered to a very strict set of values in a strict order. It may be a good project to instead modify these values along a continuum, track what affect they have on error rates, signal TX/RX error rates, channel busy conditions, etc, and then choose optimal values based on that.

There's currently very limited debugging and inspection tools for ANI. These would be nice.

dev/ath_hal(4)/AutomaticNoiseImmunity (last edited 2011-11-09 06:20:29 by AdrianChadd)