- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试从我实验室天花板上部署的低功耗蓝牙信标获得平滑的 RSSI 值。我使用加权平均滤波器和移动平均滤波器但无法获得良好的结果。通过各种期刊论文,我了解到卡尔曼滤波器可用于此目的。但是我无法得到一个合适的数学方程来用 objective-c 编码。有人可以提供有关数学方程式或卡尔曼滤波器实现的任何提示吗?非常感谢。
最佳答案
像这样的一维情况意味着所有矩阵实际上都只是标量值。你需要知道两件事:
R
,测量方差。您可以通过记录一系列 RSSI 值(在固定位置)来直接测量这一点,就像您通常那样,然后测量它们的方差。您可以使用 Excel 或 Python 轻松完成此操作,甚至可以从头开始编写自己的代码。Q
,过程差异。这是您期望 RSSI 在相同时间内(两次测量之间)实际变化的程度。您也可以对此进行衡量,或者您可以对其进行推理。如果您查看卡尔曼滤波器方程式,您会注意到 P
不依赖于您的实际测量值,仅依赖于上面的两个值。结果,由于它们是常量,P
将收敛到一个固定值。由于 K
(卡尔曼增益)仅依赖于这些值,它也会收敛。对于像您这样的应用程序,找到稳态 K
并一直使用它通常就足够了。
现在这只是一种创建简单移动平均滤波器的复杂方法(但在最小二乘意义上是最优的)。
关于ios - 适用于 iOS 的卡尔曼滤波器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28871156/
我有一个卡片列表: hand = ["KC", "QC", "4C", "0S"] 而且我总是想获得排名最高的卡片,就像在这个列表中一样 rank_cards = ["2", "3",
我正在使用 Opencv 2.4.3,我的显卡是 ATI,但我一直在阅读 CUDA 启用了 Nvidia,这是否意味着只要我有 ATI 显卡我就不能使用 gpu 功能? 最佳答案 的确,CUDA 技术
在 Android 中实现 Stripe 时,有一个 CardInputWidget 给你一个 Card 对象,然后你得到一个token 来自 Stripe API 使用该卡,最后您将该 token
我是一名优秀的程序员,十分优秀!