卡尔曼滤波应用

##理论分析
Kalman滤波是应用比较广而且很强大的一种滤波方法。卡尔曼滤波又分为很多种,如应用在线性领域中的经典卡尔曼,非线性系统中的扩展卡尔曼和无迹卡尔曼等等。学习任何一种算法都需要理论支撑。这里只讨论一维卡尔曼,简单的写一下公式。因为本人数学水平不高,所以使用的字母或符号不太规范,只是按照本人理解表述出来。
计算之前需要知道几个变量。
设:
Z ( k − 1 ) Z_{(k-1)} Z(k1)为k-1时刻的真实值(这里认为通过Kalman计算出的k-1时刻时的值为K-1时刻的真实值)
X ( k − 1 ) X_{(k-1)} X(k1)为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(k1)X(k1)+Q+R)(Z(k1)X(k1)+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(k1)+K×(X(k)X(k1))

如上公式将各个数据带入可以计算得到k时刻的真实值,我们认为此值即为最后Kalman滤波后的计算值。

##计算实例

你可能感兴趣的:(算法,代码,理论)