如何理解卡尔曼滤波中的观测方程

bonus555 2016-10-21 04:41:43
小白求助,如何理解卡尔曼滤波中的观测方程呢?

卡尔曼滤波 首先有一个状态方程和一个观测方程:
X(k)=A X(k-1)+B U(k)+W(k)
Z(k)=H X(k)+V(k)

但是在卡尔曼递推的5个方程中,好像与观测方程并没有什么关系,
 X(k|k)= X(k|k-1)+Kg(k) (Z(k)-H X(k|k-1)) ……… (3)
这个更新最优估计的方程 也只是直接用到了测量值Z(X),而这个Z(X)是通过传感器等测量方法测量的结果,与观测有什么关系呢?

小白刚刚开始接触这方面的内容,还望大神指点~感激不尽!
...全文
5409 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
李辉豹 2018-10-10
  • 打赏
  • 举报
回复
楼上几位,混淆了仿真模拟和工程实际。 Z(k)=H*X(k)+V(k)是模拟观测值,实际是观测出来的值。 也就是说 观测方程是对传感器输出的描述。
不想睁眼睛 2018-09-04
  • 打赏
  • 举报
回复
为什么还有Z(k)=H*X(k)+V(k)呢,Z(k)不是观测出来的值吗?
safasdfas 2018-07-20
  • 打赏
  • 举报
回复
引用 7 楼 chudongwen 的回复:
在一些简单的卡尔曼用matlab实现的例子里,为什么都只需要输入初始观测值就可以进行滤波???比如我进行了100次观测,我会有100个观测值,那么除了初始观测值,其他99次没有用吗?
想了好久没懂,望指点Z(k)=H*X(k)+V(k),其中的Z难道不是每循环一次我们就需要给他赋值?如果有足够的观测值是不是不用写观测方程了吗?跪求

是呀,这点很奇怪呀
chudongwen 2017-11-25
  • 打赏
  • 举报
回复
在一些简单的卡尔曼用matlab实现的例子里,为什么都只需要输入初始观测值就可以进行滤波???比如我进行了100次观测,我会有100个观测值,那么除了初始观测值,其他99次没有用吗?
想了好久没懂,望指点Z(k)=H*X(k)+V(k),其中的Z难道不是每循环一次我们就需要给他赋值?如果有足够的观测值是不是不用写观测方程了吗?跪求
NoEdUl 2016-10-28
  • 打赏
  • 举报
回复
引用 5 楼 sinat_36428092 的回复:
[quote=引用 3 楼 u012947309 的回复:] 感觉自己第一次有了能拿分的回答。
哈哈哈既然这样 就给你分数吧~[/quote]
bonus555 2016-10-27
  • 打赏
  • 举报
回复
引用 3 楼 u012947309 的回复:
感觉自己第一次有了能拿分的回答。
哈哈哈既然这样 就给你分数吧~
NoEdUl 2016-10-26
  • 打赏
  • 举报
回复
引用 2 楼 u012947309 的回复:
你其实问的是H矩阵有啥用。 直接观测模型中,Z是单位矩阵。
写错了一个字,H是单位矩阵。 HX=X。
NoEdUl 2016-10-26
  • 打赏
  • 举报
回复
感觉自己第一次有了能拿分的回答。
NoEdUl 2016-10-26
  • 打赏
  • 举报
回复 6
你其实问的是H矩阵有啥用。 直接观测模型中,Z是单位矩阵。 correct过程中X+K(Z-HX)。 Z是你的观测。 HX=X。 这里就是拿观测Z和预测X直接做差,通过K来决定相信观测Z多一些还是相信预测X多一些。 但是如果你的模型不是直接观测呢? 比如圆形方程 X^2+Y^2+aX+bY+C或X^2+y^2=-aX-bY-c 假设我的状态量是abc,我预测出来的下一个时刻状态也是abc。而我的下一个时刻观测是X^2+y^2。 不能直接拿abc和x^2+y^2去做差吧? 你是不是需要一个H矩阵,把预测的abc,mapping到观测的空间。 有上面的圆公式得到: X^2+Y^2 = [-x, -y, -1]*[a, b, c]^-1 [-x, -y, -1]这个就是H矩阵,H矩阵能把状态量abc投射到观测量x^2+y^2的空间。
赵4老师 2016-10-21
  • 打赏
  • 举报
回复
百度搜相关关键字。

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧