I wrote an android app for beacon detection but the rssi value is varying even when the distance between the device and beacon is same. I don't think finding the mean gives a accurate reading. Can you suggest a way to process the data(rssi values) to get an accurate value of rssi?
Asked
Active
Viewed 1,882 times
1 Answers
1
The Android Beacon Library provides two means of filtering RSSI values. By default it uses running average module. This takes a 20 second running average (mean) throwing away the top 10% and bottom 10% of values.
It also supports an alternate filter mechanism that uses an ARMA filter on RSSI, which converges faster, but takes longer to completely settle.
Whatever filtering you use, set your expectations properly. No filter can completely eliminate radio noise, and they are of limited use against multipath and obstructions. Read more about beacon ranging here.

davidgyoung
- 63,876
- 14
- 121
- 204
-
Hi David, could you explain how the ARMA model in your ArmaRssiFilter lines up with the description on wikipedia. Looks more like an IIR to my untrained eye. – Sam Sep 29 '15 at 14:48
-
You might try contacting @IgorZaus on GitHub who submitted that code. He's the one who named it ARMA -- I just know that it worked pretty well. See here: https://github.com/AltBeacon/android-beacon-library/issues/113 – davidgyoung Sep 29 '15 at 15:09