【发布时间】:2020-12-16 14:26:08
【问题描述】:
我正在实现基于论文的卡尔曼滤波器。状态空间向量有6个变量,因为状态变量随着时间的评估而变化,论文还提供了变量随着时间(dt)的评估的微分方程。 我的问题是,在 python 中实现这个概念时,我应该如何使用带有 dt 的微分方程。我想简单地将方程与 dt 相乘,但我认为这不是解决方案,因为它是一个微分方程。请在这方面指导我。另外,我想问一下,因为这些方程会估计新状态,所以应该在更新步骤中添加它们?谢谢!
【问题讨论】:
-
你累了什么,给我们看看你的代码示例?阅读 filterpy 或 pyKalman 的代码可能更有指导意义。
-
@PaulBrennan,这是我的代码示例,我无法复制整个代码,因为它很长。 dt 是时间步,u 是输入,y 是测量值
class KF: def predict(self, dt, u) x = [a b c d e f] # predict equations of kalman filter def update(self, y) # update equation of kalman filter # Equation for a variable in state space model a = (V * np.sin(sigma + beta)) # V is velocity, sigma is angle, and beta is float angle在此,我很困惑在哪里添加方程'a',它是状态空间向量中的变量之一,用于估计下一个时间步中变量的状态
标签: python kalman-filter estimation state-space