首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用卡尔曼滤波估计误差

用卡尔曼滤波估计误差
EN

Stack Overflow用户
提问于 2014-12-18 03:19:27
回答 2查看 3K关注 0票数 3

我正在努力添加一个简单的一维卡尔曼滤波器到一个应用程序,以处理一些噪声输入数据,并输出一个清洁的结果。

我使用的示例代码来自本教程这个python代码的单变量示例部分。

这是很好的计算结果值,然而,当我第一次读到卡尔曼滤波器时,我的印象是,它们也可以用来测量输入中有多少“误差”。

举个例子,假设我测量的值为10,但是我的输入有很大的错误。我的输入数据看起来可能是6,11,14,5,19,5等等(一些高斯分布在10左右)。

但假设我切换到低噪音的测量,测量值是9.7,10.3,10.1,10.0,9.8,10.1。

在这两种情况下,卡尔曼滤波器理论上都会收敛到10的适当测量值。我想要的是,它也给我一些数值,估计这些数据流有多大的误差。

我相信这应该是很有可能的卡尔曼滤波器,然而,我有困难找到一个资源描述这一点。我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-20 07:49:21

事实上,情况正好相反:KF对您的过程噪声的估计完全不受您的数据的影响。如果您查看KF的预测/更新步骤,您将看到P项从未受到您的状态或度量的影响。它是根据你对加性过程噪声Q的估计和你对测量噪声R的估计来计算的。

如果您有一个数据集并想要度量它,您可以计算它的平均值和方差(这是您的状态和进程协方差所表示的)。如果你说的是你的输入,那么你是在测量你的样本的方差来设定R。

如果您的实际输入测量值比预期的要小,那么您将得到一个较小的噪音状态,但与您在R中正确设置预期时相比,延迟时间更大。

在运行中的过滤器中,您可以查看您的创新序列(预测的和实际的度量之间的差异),并将它们与您预测的创新协方差进行比较(通常称为S,尽管有时作为K的分母直接滚动)。

票数 4
EN

Stack Overflow用户

发布于 2014-12-18 23:15:19

卡尔曼滤波器不会给你一个关于输入中有多少“误差”的测量。您只会得到估计输出的误差。

为什么不使用在线算法来计算输入的方差呢?

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

https://stackoverflow.com/questions/27538729

复制
相关文章

相似问题

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