Has anyone discovered a reliable method for converting an RSSI signal to an accurate distance? We have experimented with various formulas, but each one yields a different outcome.
One formula in particular that we've been testing is as follows:
public double calculateDistance(double signalLevelInDb, double freqInMHz) {
double exp = (27.55 - (20 * Math.log10(freqInMHz)) + Math.abs(signalLevelInDb)) / 20.0;
return Math.pow(10.0, exp);
}