HiNRG

• • • Calibrating RSSI values reported by CC2420 radios

0. Brief Introduction

This page is dedicated to illustrate the calibration technique proposed in our EWSN'10 paper. The paper lists the results of applying the calibration technique in several areas such as PRR-SNR modeling, PRR-SINR modeling, WSN simulation, radio propagation model parameters estimation and RF-based localization.

Click here to download the RSSI data points that we used to draw the CC2420 reference curve. In the txt file, the first column is the calibrated RSSI and the second column is the RSSI reported by the CC2420 radio. They correspond to the x-axis and y-axis of the reference curve respectively.

The slides are available here.

1. RSSI Response Curves We tested the RSSI response curves for 12 Tmote Sky motes and 2 MICAz motes. All the curves are very similar and we derived a single reference curve for CC2420 radio which is shown below. This curve gives the mapping from raw RSSI values (Y-axis) to calibrated RSSI values (X-axis).

Click here to download the RSSI data points that we used to draw the reference curve. Specifically, the txt file contains two columns. The first column is the calibrated RSSI and the second column is the RSSI reported by the CC2420 radio. They correspond to the x-axis and y-axis on the figure respectively. The CC2420 reference curve can directly be used to calibrate RSSI values. Suppose CC2420 tells us the RSSI value is b, then we can plot a point (0,b) on the Y-axis, as shown in the figure below. Next, we can find the correponding point on the reference curve, and in turn find the corresponding point on the X-axis, say (a,0). Now, the calibrated RSSI is a. In this particular example, a=-50dBm. When using the data points that we provide, one can do interpolation to compute the corresponding X-axis value. The problem with the above approach is that there are two non-monotonic regions on the reference curve. As a result, when we try to find a corresponding X-axis value for a given y value, there could be multiple candidates. The following graph labels these two non-monotonic regions. In order to find the true X-axis value, the receiver now needs the sender to cooperate, such that the multipoint calibration process as shown below would be possible.

1) Sender puts the transmission power info in a packet. 3 bits are needed when using CC2420 due to 8 transmission power levels.

2) After receiving several packets that were transmitted at different power levels from the same sender, the receiver can start calibrating in the following three steps.

(a) Plot 8 points on the graph where each point represents a packet that was transmitted at a given power level. (b) Put the 8 points on the reference graph, while keeping the relative locations among those points unchanged. Note that the raw RSSI values of those packets determine the locations of those points along the Y-axis direction on both graphs. (c) Move along the X-axis to find the best fit, and the corresponding X-axis values would be the calibrated RSSI for those packets. 3. Brief Discussion

• The multipoint calibration is needed due to the non-monotonic regions of CC2420. Therefore, it is not necessary for other radio chips that do not have such non-monotonic regions, such as AT86RF230. Nevertheless, multipoint calibration can still be used to increase the calibration accuracy.
• A minimum of 2 points should usually be sufficient to do the multipoint calibration. More points would lead to higher accuracy.
• RSSI is an 8-bit integer, but we can get sub-integer RSSI value by averaging multiple RSSI readings.

4. Reference

• Yin Chen, Andreas Terzis, On the Mechanisms and Effects of Calibrating RSSI Measurements for 802.15.4 Radios. Appeared in the proceedings of the 7th European Conference on Wireless Sensor Networks (EWSN 2010). PDF Slides BibTex