有人能解释和/或发布高级卡尔曼滤波算法的C代码吗?

有人能解释和/或发布高级卡尔曼滤波算法的C代码吗?,c,algorithm,C,Algorithm,我需要一个先进的卡尔曼滤波算法的解释。最好是C代码,但只有算法对我有效。卡尔曼滤波器是维纳滤波器的专用版本。具体而言,卡尔曼滤波器获取有关问题域的信息,并通过应用该领域特定的知识来增强维纳滤波器。我发现Wikipedia页面是理解算法细节的一个很好的参考源 在不重复这里的具体细节(没有线性代数图像函数)的情况下,卡尔曼滤波器以增量方式估计未来状态(维纳滤波器也是如此)。特别是,我们估计状态,应用问题域特定的噪声估计和状态变化近似,然后迭代。也就是说,我们获取当前状态的观测值,过滤这些观测值,预测

我需要一个先进的卡尔曼滤波算法的解释。最好是C代码,但只有算法对我有效。

卡尔曼滤波器是维纳滤波器的专用版本。具体而言,卡尔曼滤波器获取有关问题域的信息,并通过应用该领域特定的知识来增强维纳滤波器。我发现Wikipedia页面是理解算法细节的一个很好的参考源

在不重复这里的具体细节(没有线性代数图像函数)的情况下,卡尔曼滤波器以增量方式估计未来状态(维纳滤波器也是如此)。特别是,我们估计状态,应用问题域特定的噪声估计和状态变化近似,然后迭代。也就是说,我们获取当前状态的观测值,过滤这些观测值,预测下一个状态,然后结合该输出生成一些新的下一个状态观测值

我发现卡尔曼滤波器对于预测运动路径非常有用。由于运动路径是平滑的,所以卡尔曼滤波器工作得特别好——可以使用过去已知的状态观测值轻松预测运动。因此,假设你在一辆沿着道路行驶的汽车中,你会将汽车的当前坐标记录为当前状态。然后过滤过去对状态的观察(您以前的位置),以预测汽车的下一个时间点。请注意,您可以应用物理定律(例如,动量)自定义此过滤器,并得出相当合理的结果。速度或方向的随机变化对预测有一定影响

看看这一点,您可以看到,在运行卡尔曼滤波器时,我们有两个主要功能
估计
更新
(这两个功能都有提到,但调用
估计
预测
”)


最终,您将需要为您希望应用卡尔曼滤波器的问题确定一些非常具体的统计数据。特别是,您需要生成/记录/观察有关您观察到的噪声信号方差随时间变化的统计信息。假设您预测的过程也是随机的,因此您还需要估计其统计信息。

这实际上只是这个元线程的一个相对礼貌的版本:。我敦促你修改你的答案。如果你知道什么是卡尔曼滤波器,那么请详细说明。否则,如果您没有,请删除您的答案。因此,请提供上下文和注释以及对算法的一些见解。但是仅仅提供一个谷歌链接就可以获得声誉点,这会稀释声誉点的意义,最终降低StackOverflow的价值。哇,你知道如何使用Google.fwiw,我最初的回答回答回答了OP关于拥有算法的问题,我很高兴就算法的使用提供评论,但是SO对线性代数的支持还不够,它应该足以链接到一所大学维护良好的数学资源。未来我会尽量远离直接链接;你提供了很好的洞察力。你可以通过遍历运算法则将其转化为一个优秀的答案(这些答案中的一个将为你赢得声誉点,直到时间的尽头)。谢谢你把我的评论放在心上,回来提供这样的答案。这就是为什么StackOverflow是金子。再加上我的一个。我认为现在的答案非常好。