##理论分析
Kalman滤波是应用比较广而且很强大的一种滤波方法。卡尔曼滤波又分为很多种,如应用在线性领域中的经典卡尔曼,非线性系统中的扩展卡尔曼和无迹卡尔曼等等。学习任何一种算法都需要理论支撑。这里只讨论一维卡尔曼,简单的写一下公式。因为本人数学水平不高,所以使用的字母或符号不太规范,只是按照本人理解表述出来。
计算之前需要知道几个变量。
设:
Z
(
k
−
1
)
Z_{(k-1)}
Z(k−1)为k-1时刻的真实值(这里认为通过Kalman计算出的k-1时刻时的值为K-1时刻的真实值)
X
(
k
−
1
)
X_{(k-1)}
X(k−1)为k-1时刻的测量值
X
(
k
)
X_{(k)}
X(k)为k时刻的测量值
Z
(
k
)
Z_{(k)}
Z(k)为k时刻的真实值
Q为过程噪声系数(外部环境影响造成的误差,如不考虑可设为0)
R为测量噪声系数(传感器本身精度造成误差,测量误差的方差)
K为卡尔曼增益
列出公式:
K
=
(
Z
(
k
−
1
)
−
X
(
k
−
1
)
+
Q
)
(
Z
(
k
−
1
)
−
X
(
k
−
1
)
+
Q
+
R
)
①
K = \frac{(Z_{(k-1)} - X_{(k-1)} + Q)}{(Z_{(k-1)} - X_{(k-1)} + Q + R)} ①
K=(Z(k−1)−X(k−1)+Q+R)(Z(k−1)−X(k−1)+Q)①
Z
k
=
X
(
k
−
1
)
+
K
×
(
X
(
k
)
−
X
(
k
−
1
)
)
②
Z_{k} = X_{(k-1)} + K × (X_{(k)} - X_{(k-1)}) ②
Zk=X(k−1)+K×(X(k)−X(k−1))②
如上公式将各个数据带入可以计算得到k时刻的真实值,我们认为此值即为最后Kalman滤波后的计算值。
##计算实例