Atheros CSI Tool

Overview | Users | Credits
GitHub | Installation | Hardware | SWAN | FAQ

Overview (Cite this tool)

Channel State Information (CSI)

CSI in thoery. Channel state information (CSI) represents the coefficent of a wireless channel. In Wi-Fi systems using OFDM modulation, the CSI of every sub-carrier is a complex number, i.e., csi = a+bj, as shown in following figure. The CSI of a packet transmitted with M transmitting antennas, N receiving antennas, 20MHz channel bandwitdh, is a complex matrix of size M×N×56. If the bandwith is 40MHz, then the size of CSI matrix becomes M×N×114.

CSI complex

CSI from Wi-Fi NIC. Wi-Fi NIC use several bits to reprensent the value of a and b. For example, Atheros Wi-Fi NIC uses 10 bits to give the value of a and another 10 bits to describe b. (We note that other Wi-Fi NIC may give the CSI with different resolution, e.g., Intel 5300 Wi-Fi NIC uses 8 bits to describe the value of a and b.) The CSI obtained from Atheros Wi-Fi NIC are thus complex numbers whose imag and real part fall into the range of [-512, 512]. The right figure plots the distribution of four CSI matrix (1×56) we measured using Atheros QCA9558. During the measurement, the channel is stable. Theoretically, the CSI should be the same in the complex plane. The measurements data, however, exhibit the opposite patterns. Let's then take a closer look at the amplitude and phase of the measured CSI.

CSI complex

The following figure (a) and (b) depicts the amplitude and amplitude in dB level of four CSI. We see that the amplitudes are similar in shape with each other but with offsets with each other. Figure c plots the phase of four CSI. Similarly, the phase has obvious offset across CSIs. The phase offsets results in the rotation of CSI in the complex plane, as shown in above figure.

CSI complex
CSI complex
CSI complex

Atheros CSI tool

Atheros-CSI-Tool is an open source 802.11n measurement and experimentation tool. It enables extraction of detailed PHY wireless communication information from the Atheros WiFi NICs, including the Channel State Information (CSI), the received packet payload, and other additional information (the time stamp, the RSSI of each antenna, the data rate, etc.). Atheros-CSI-Tool is built on top of ath9k, which is an open source Linux kernel driver supporting Atheros 802.11n PCI/PCI-E chips, so theoretically this tool is supposed to be able to support all types of Atheros 802.11n WiFi chipsets. We have tested it on Atheros AR9580, AR9590, AR9344 and QCA9558. Atheros-CSI-Tool is open source and all functionalities are implemented in software without any modification to the firmware. Therefore, you are able to extend the functionalities of Atheros-CSI-Tool with your own codes under the GPL license. You are welcome to get back to us with new functionalities contributed to the tool.

Atheros-CSI-Tool works on various Linux distribution, e.g., Ubuntu, OpenWRT, Linino, and so on. Different Linux distribution works on different hardware. Ubuntu works for personal computers like laptops or desktops. OpenWRT works for embeded devices such as Wi-Fi routers. Linino works for IoT devices, such as Arduino YUN. We provides the source code for Ubuntu version and OpenWRT version of Atheros CSI tool. The installation instructions can be found from our WiKi. We also provide the PDF version of the installation guide for Ubuntu version and OpenWRT version .

SWAN: Stitched Wi-Fi ANtennas

We build a general-purpose antenna extension solution with commodity Wi-Fi using our Atheros CSI tool. The proposed solution, SWAN, builds an array of stitched antennas extended from the radio chains of commodity Wi-Fi. SWAN has low hardware cost and provides easy-to-use interfaces embedded in the Linux kernel. Integrated with Atheros CSI tool, SWAN collects CSI from all the antennas in the array and group the CSI into a large matrix, which is further used for Wi-Fi sensing purposes such as estimating the AoA. The architecture of SWAN is shown in the following figure. We also build a prototype of SWAN using commodity devices, including Wi-Fi AP, Arduino and RF switches. More information about SWAN could be found from this page.



The tool has been used by over 1100 registered users from top research institutes, universities, technology companies including MIT, Stanford, Princeton, Cambridge, TUBerlin, Tsinghua, Huawei, Samsung, etc. Below are the list of published papers from our users based on this tool.

OpenWRT version

Ubuntu version


Maintainer: Yaxiong Xie       Author: Mo Li, Yaxiong Xie       Collaborators: Zhenjiang Li, Kyle Jamieson