首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用万向节信标装置进行室内定位,以提高数据的稳定性和准确性?

如何使用万向节信标装置进行室内定位,以提高数据的稳定性和准确性?
EN

Stack Overflow用户
提问于 2014-11-14 18:13:56
回答 2查看 1.2K关注 0票数 3

在安卓系统中,如何提高多路信标检测的稳定性?我使用的是万向节信标,适用于室内positioning.Is定位数据的访问。

EN

回答 2

Stack Overflow用户

发布于 2015-01-29 05:03:42

我已经在这方面做了大量的工作,因为我在充满会议室的走廊里放置了信标,所有这些都离我很近。

首先,我建议将信标放置在天花板上。信号应该以向下的角度广播。这大大减少了干扰。请记住,这可能不是每个房间的解决方案,但在我的情况下,房间彼此靠近,这有很大帮助。

接下来,一定要为signal smoothing使用一个好的选项。Gimbal处理到达和离开的概念。只有当信号在某个阈值内时,才会触发这些事件。信号平滑将防止这样的情况,即一个信标的报告信号为-56,然后在下一秒跳到-75。它使用平均算法来平滑信号,以防止如此巨大的报告差距。这防止了由于报告信号中的巨大尖峰而导致的虚假到达和离开。

最后,调整您的到达和出发信号,信号平滑选项和信标位置,以找到工作。不幸的是,没有一个适合所有人的解决方案,你必须进行连续的站点调查,以确保你的调整按预期的方式进行。

如果你想了解更多关于Android的Gimbal的信息,我已经在这个主题上写了一个深入的文章。你可以查看那篇文章here。但是,如果你使用的是Gimbal的最新版本,他们已经更新了他们的API并丢弃了VisitManager。因此,我的文章只与他们的SDK v1.33相关。我将在将来写一篇关于他们更新的SDK的新文章,我现在正在积极地工作。

票数 1
EN

Stack Overflow用户

发布于 2015-02-25 21:41:36

在我看来,答案是:是的,BLE适合于室内本地化。

我建议使用low pass filter来平滑距离/信号强度读数。我可以想到两种方法来做到这一点:

  1. Simple:running average。只需取最近3/10/30的读数的平均值。看看什么效果最好。

或者:

  1. 更复杂但更具可配置性:RC filter。算法是这样的:

//对于来自BLE的每个新读数,执行以下操作: // fc =截止频率Hz;即: //您想要检测来自接收器的BLE来和离开的频率//这取决于人的范围和速度(见下表) var real fc := 0.21 // <--配置这个!// a常量-,还有pi = 3.1415 var real RC := 1/ (2*pi + fc) // <--或者根据下表进行配置!// dt =两次连续读数之间的时间var real dt := 1 // <--每次读取时可能需要更新!// a常量var real := dt / (RC + dt) //当前距离的估计值基于://当前读数xi和之前的估计值yi-1 yi :=α* xi + (1-α) * yi-1 // <--结果!

我已经为RC (常量)计算了一个表;在我看来,它取决于BLE的范围,因为如果一个人在这个范围内进出,那么距离越小,进出的频率就越高。尝试这5个值,看看它对你有什么作用:

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

1:0.212212849,3:0.636638548,10:2.122128495,30:6.366385485,60:12.73277097

祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26927573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档