失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 控制算法学习 一 卡尔曼滤波(4)最优估计的无偏性

控制算法学习 一 卡尔曼滤波(4)最优估计的无偏性

时间:2019-02-09 14:10:37

相关推荐

控制算法学习 一 卡尔曼滤波(4)最优估计的无偏性

控制算法学习 一、卡尔曼滤波(4)最优估计的无偏性

前言无偏估计卡尔曼滤波的无偏性证明后记

前言

这是线性卡尔曼滤波的最后一部分内容,即线性卡尔曼滤波的无偏性证明。

无偏估计

无偏估计,是指对于某个系统而言,对它的状态估计 x ^ n \hat x_n x^n​的期望与真实状态 x n x_n xn​的期望相同,即 E ( x n − x ^ n ) = 0 E(x_n-\hat x_n) = 0 E(xn​−x^n​)=0。

卡尔曼滤波的无偏性证明

假设上一时刻的状态最优估计 x ^ n − 1 ∣ n − 1 \hat x_{n-1|n-1} x^n−1∣n−1​是无偏的,即:

E ( x n − 1 − x ^ n − 1 ∣ n − 1 ) = 0 E(x_{n-1} - \hat x_{n-1|n-1})=0 E(xn−1​−x^n−1∣n−1​)=0

通过状态方程,获得本时刻的状态预测:

x ^ n ∣ n − 1 = A x ^ n − 1 ∣ n − 1 + w n , w n ∼ N ( 0 , R ) \hat x_{n|n-1} = A \hat x_{n-1|n-1}+w_n,w_n \sim N(0,R) x^n∣n−1​=Ax^n−1∣n−1​+wn​,wn​∼N(0,R)

状态方程同样能够运用到真实状态 x n − 1 x_{n-1} xn−1​上,证明状态预测是无偏的(注意真实状态预测是没有过程噪声的):

x n = A x n − 1 E ( x n − x ^ n ∣ n − 1 ) = E ( A x n − 1 − A x ^ n − 1 ∣ n − 1 − w n ) = A E ( x n − 1 − x ^ n − 1 ∣ n − 1 ) = 0 x_n=Ax_{n-1} \\ \quad \\ E(x_n- \hat x_{n|n-1})=E(Ax_{n-1} - A \hat x_{n-1|n-1} - w_n) \\ =AE(x_{n-1}-\hat x_{n-1|n-1})=0 \\ xn​=Axn−1​E(xn​−x^n∣n−1​)=E(Axn−1​−Ax^n−1∣n−1​−wn​)=AE(xn−1​−x^n−1∣n−1​)=0

通过观测方程,获得本时刻的观测预测(注意观测预测是没有传感器噪声的):

z ^ n ∣ n − 1 = H A x ^ n − 1 ∣ n − 1 + H w n \hat z_{n|n-1} = HA\hat x_{n-1|n-1}+Hw_n z^n∣n−1​=HAx^n−1∣n−1​+Hwn​

通过观测残差和卡尔曼增益,获得本时刻的最优估计:

x ^ n ∣ n = x ^ n ∣ n − 1 + K k ( z ^ n − z ^ n ∣ n − 1 ) = ( I − K k H ) x ^ n ∣ n − 1 + K k H x n + K k v n x ^ n ∣ n − x n = ( I − K k H ) x ^ n ∣ n − 1 + K k H x n + K k v n − x n = ( I − K k H ) x ^ n ∣ n − 1 − ( I − K k H ) x n + K k v n \begin{aligned} \hat x_{n|n} &= \hat x_{n|n-1} + K_k(\hat z_n - \hat z_{n|n-1}) \\ &= (I-K_kH)\hat x_{n|n-1} + K_kHx_n+K_kv_n \\ \quad \\ \hat x_{n|n} - x_n &= (I-K_kH)\hat x_{n|n-1} + K_kHx_n+K_kv_n -x_n \\ &= (I-K_kH)\hat x_{n|n-1} - (I - K_kH)x_n+K_kv_n \\ \end{aligned} x^n∣n​x^n∣n​−xn​​=x^n∣n−1​+Kk​(z^n​−z^n∣n−1​)=(I−Kk​H)x^n∣n−1​+Kk​Hxn​+Kk​vn​=(I−Kk​H)x^n∣n−1​+Kk​Hxn​+Kk​vn​−xn​=(I−Kk​H)x^n∣n−1​−(I−Kk​H)xn​+Kk​vn​​

由以上可以进一步推导:

E ( x ^ n ∣ n − x n ) = E ( ( I − K k H ) x ^ n ∣ n − 1 − ( I − K k H ) x n + K k v n ) = ( I − K k H ) E ( x ^ n ∣ n − 1 − x n ) + K k E ( v n ) = 0 E(\hat x_{n|n} - x_n)= E((I-K_kH)\hat x_{n|n-1} - (I - K_kH)x_n+K_kv_n) \\ = (I-K_kH)E(\hat x_{n|n-1} - x_n) + K_kE(v_n) =0 \\ E(x^n∣n​−xn​)=E((I−Kk​H)x^n∣n−1​−(I−Kk​H)xn​+Kk​vn​)=(I−Kk​H)E(x^n∣n−1​−xn​)+Kk​E(vn​)=0

由此,就推出了 E ( x ^ n ∣ n − x n ) = 0 E(\hat x_{n|n} - x_n)=0 E(x^n∣n​−xn​)=0,表明线性卡尔曼滤波是无偏的。

后记

卡尔曼滤波的无偏性,要求上一时刻的最优估计是无偏的。

因此,卡尔曼滤波实际上是保持无偏性。线性卡尔曼滤波是无偏估计的前提为初始状态估计无偏。一旦滤波过程中出现非线性,卡尔曼滤波就不再是无偏估计了。

如果觉得《控制算法学习 一 卡尔曼滤波(4)最优估计的无偏性》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。