我正在使用其RSSI和三尾算法使用BLE(蓝牙低能)将室内定位系统用于室内定位系统。
问题是如何使用RSSI找到准确的距离。
每次,信标都会给出不同的RSSI值,因为一定的干扰。
我读到Kalman Filter可以在某种程度上解决此问题,但是如何使用Kalman滤镜?
就我的知识而言,有两个功能。一个是预测,另一个是校正。但是我应该从哪里开始?
卡尔曼过滤器不适合您的问题。
问题
- 您将噪声描述为"一些干扰"。您需要知道提前的噪声分布。
- 由阻塞引起的错误(人类位于 移动设备和BLE信标)将使过滤错误非常 大的。实际上,您需要调查许多工作 绕过非线性的方法。
- BLE的RSS指示器不是移动设备的实际位置的线性函数(再次,非线性)
答案
- 您要么需要在您的案例,您想调查"无知的卡尔曼过滤器","扩展Kalman滤波器"(非线性的扩展)或"粒子过滤器"(例如非线性滤波器,独立噪声分布)。本地化(在机器人技术的背景下)可以在此处找到:http://robots.stanford.edu/papers/thrun.probrob.pdf等详细信息:http://www.probabilistic-robotics.org/
- 因为我认为您对房间和信标有预识职位,更直接的方法可能是调查BLE指纹技术。该链接还包含其他室内定位技术的文献。
使用ble确实很难估计准确的距离。如果您使用的是许多信标(每1 m),则可以估计它,但是如果信标之间的距离很大,则很难由于信号的反射和吸收。您可以尝试使用指纹识别以提高准确性。Kalman过滤器对于此应用程序不是正确的选择,因为您没有其他控制向量可以预测。如果您是固定的,那么KF可以提供帮助,但是对于动态案例,您需要具有控制向量来预测,并且可以将RSSI级别用作测量。
kalman滤波器仅与"存在"检测而不是"位置"相关,即如果位置是静态的,则可能有用。
预测函数将是一个简单的常数函数:RSSI(t) = RSSI(t-1)
。要进行更正,您需要设置一个任意值,代表您"信任"您的措施的数量。
如果您想调查此解决方案,此博客文章可能是一个不错的起点:它提供了说明,简化的模型以及此类Kalman过滤器的实现。