【发布时间】:2014-03-05 09:47:26
【问题描述】:
我刚刚下载了 kFilter 库 (http://kalman.sourceforge.net/),并且对它的使用有一些疑问,但我在文档中找不到。过去有人用过这个库吗?
我的问题基本上是这些:
eKFilter 的 Step 函数接收两个向量(u 和 v)。这些向量代表什么?我能找到的唯一参考是评论说
"// U u U-D Covariance Matrix (n, nn)"我假设这些向量之一应该代表新的测量值(大概是v)。另一个应该代表测量的协方差吗?这些值应该如何插入?通常情况下,卡尔曼滤波器不会期望定期进行测量。相反,我希望每次读数都会伴随一个时间,表明它发生的实际时间。在给出的示例中,使用了一个常数值(称为 Period)。此外,EKFilter 类中的任何虚函数都不能接收任何输入。如何将时间用作对应于新测量的输入?类似地,给出的示例具有恒定的 R 和 Q 矩阵。如何使用协方差作为对应于读数的输入?
【问题讨论】:
-
对不起,我从来没有使用过这个库,所以帮不上忙。然而,以下内容引起了我的注意:“通常情况下,卡尔曼滤波器不会期望在定期时间间隔上进行测量。相反,我希望每次读数都会伴随一个时间,指示它发生的实际时间。” 你能给我指一些关于不规则时间观察的卡尔曼滤波器的书籍/论文吗?谢谢
-
@aix:通过改变噪声方差可以很容易地引入不规则的时间步长。
-
@Alexandre C.:我明白你在说什么。仍然希望一些人看到一些教科书(或更高级)的主题处理。有什么指点吗?
-
@aix:没有。我被教导卡尔曼滤波器是一种自己动手计算的东西。
-
@aix 查看关于卡尔曼滤波器的维基百科页面:en.wikipedia.org/wiki/…
标签: c++ kalman-filter