计算与estimote beacon在android上的近似距离

时间:2016-07-27 12:11:12

标签: android distance beacon

我发现了这个post,但我不知道我的理解是否正确,以及(如果我)遗失的地方: 我使用一个带有两个不同的lib的应用程序,一个带有sdk estimote,我正在尝试根据此公式计算距离,另一个使用lib Alt Beacon计算距离。

公式:

double getDistance(int rssi, int txPower) {
    /*
     * RSSI = TxPower - 10 * n * lg(d)
     * n = 2 (in free space)
     * 
     * d = 10 ^ ((TxPower - RSSI) / (10 * n))
     */

    return Math.pow(10d, ((double) txPower - rssi) / (10 * 2));
}

Alt Beacon给我一个接近正确的值,但是当我根据我的理解尝试使用这个帖子的公式时,这个距离的值非常不同。

我的Estimote公式:

double getDistance(int rssi, int txPower) {
    /*
     * RSSI = TxPower - 10 * n * lg(d)
     * n = 2 (in free space)
     * 
     * d = 10 ^ ((TxPower - RSSI) / (10 * n))
     */

    return Math.pow(10d, ((double) beacon.getMeasuredPower() - beacon.getRssi()) / (10 * 2));
}

样本信标estimote值:

beacon.getMeasuredPower() = -65
beacon.getRssi() = -66

Alt lib返回的距离值= + - 4米。

公式返回的距离值= + - 20米。

在公式中放置的实际数量是多少,以便我可以与信标保持距离,如果你可以在x,y平面上学习雷达。

0 个答案:

没有答案