如何提高室内定位使用云台信标设备的数据稳定性和准确性?

在android中如何提高multipe信标检测的稳定性?我使用的是Gimbal信标进行室内定位,BLE是否适用于室内位置数据访问?

我已经在广泛的工作了,因为我已经把信标放在满是会议室的走廊里,都在很近的地方。

首先,我build议把信标放在天花板上。 信号应该是向下传播的。 这相当程度地减less了干扰。 请记住,这可能不是每个房间的解决scheme,但在我的情况下,彼此靠近的房间,这显着帮助。

接下来,一定要使用一个很好的信号平滑选项。 万向节SDK工作在到达和离开的概念。 这些事件只有在信号在一定的阈值内才会被触发。 信号平滑将防止一个信标的报告信号为-56,然后跳转到下一个-75的情况。 它使用一个平滑的信号平滑algorithm,以防止这样一个巨大的报告的差距。 这可以防止由于报告信号的巨大峰值而导致错误的到达和离开。

最后,调整你的到达和离开信号,信号平滑选项和信标放置,以find有效的。 不幸的是没有一个适合所有解决scheme,你将不得不执行连续的现场调查,以确保您的调整工作的方式。

如果你想了解更多有关Android的Proximity Gimbal SDK,我已经写了一个深入的研究这个问题。 您可以在这里查看该文章。 但是,如果您使用的是最新的Gimbal SDK,那么他们已经更新了API并删除了VisitManager。 因此,我的文章只与SDK到v1.33有关。 我将来会写更新的SDK的一篇新文章,现在我正在积极地开展工作。

在我看来,答案是:是的,BLE适合室内定位。

我会build议使用低通滤波器来消除距离/信号强度读数。 我可以想到两种方法来做到这一点:

  1. 简单: 平均跑步 。 只是平均最后3/10/30的读数。 看看什么效果最好。

要么:

  1. 更复杂但更可configuration的RC滤波器 。 algorithm锄头是这样的:

    // FOR EACH new reading from the BLE do this: // fc = cutoff frequency [Hz]; ie: // how frequent do you want to detect the BLE coming and parting from the receptor // this depends on the range and speed of people (see table below) var real fc := 0.21 // <-- configure this! // a constant [-], also pi = 3.1415 var real RC := 1 / (2*pi + fc) // <-- OR configure this from the table below! // dt = time between two consecutive readings [s] var real dt := 1 // <-- might need updating at each reading ! // a constant var real α := dt / (RC + dt) //the current estimate of the distance that is based on: // the current reading x[i] and the previous estimate y[i-1] y[i] := α * x[i] + (1-α) * y[i-1] // <-- result !!!! 

我已经为RC (常数)计算了一张表格。 在我看来,这取决于BLE的范围,因为如果一个人在这个范围内进出,那么如果距离较小,进出的频率就会更高。 试试这5个值,看看它是否适合你:

我们看的最大距离[m], RC (constant) :RC

1: 0.2122128490.6366385482.1221284956.36638548512.73277097

祝你好运