简体   繁体   English

快速卡尔曼滤波器

[英]Fast Kalman Filter

I wonder if anyone can give me a pointer to really fast/efficient Kalman filter implementation, possibly in Python (or Cython, but C/C++ could also work if it is much faster). 我想知道是否有人可以给我一个真正快速/高效的卡尔曼滤波器实现的指针,可能在Python(或Cython,但如果它更快,C / C ++也可以工作)。 I have a problem with many learning epochs (possibly hundreds of millions), and many input (cues; say, between tens to hundred thousands). 我有许多学习时期(可能是数亿)的问题,以及许多输入(提示;比方说,数十到数十万之间)。 Thus, updating a covariance matrix will be a big issue. 因此,更新协方差矩阵将是一个大问题。 I read a bit about Ensemble KF, but, for now, I would really like to stick with the standard KF. 我读了一下关于Ensemble KF的一些内容,但是,就目前而言,我真的很想坚持使用标准的KF。 [ I started reading and testing it, and I would like to give it a try with my real data. [我开始阅读和测试它,我想尝试一下我的真实数据。 ] ]

The size of the covariance matrix is driven by the size of your state. 协方差矩阵的大小由您所在州的大小决定。 Another question relates to the assumptions on your model and if this can bring up significant optimizations (obviously, optimizing implies reworking the "standard KF"). 另一个问题涉及对模型的假设,以及这是否会带来显着的优化(显然,优化意味着重新设计“标准KF”)。

From my POV, your situation roughly depends on the value (number_of_states² * number_of_iterations)/(processing_power). 从我的POV,您的情况大致取决于值(number_of_states²* number_of_iterations)/(processing_power)。

If you have many measurements per update, you should look at the information form of the Kalman filter. 如果每次更新有多个测量值,则应查看卡尔曼滤波器的信息表。 Each additional measurement is just addition. 每个额外的测量只是添加。 The tradeoff is a more complex predict step, and the cost of inverting the information matrix whenever you want to get your state out. 权衡是一个更复杂的预测步骤,以及每当您想要了解状态时反转信息矩阵的成本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM