找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 13527|回复: 438

三阶卡尔曼滤波器算法实现(C语言)

  [复制链接]
发表于 2015-6-11 17:10:40 | 显示全部楼层 |阅读模式

加入社区,轻松玩转无人机!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
游客,如果您要查看本帖隐藏内容请回复


回复

使用道具 举报

发表于 2015-6-15 18:13:39 | 显示全部楼层
谢谢楼主分享
回复 支持 0 反对 1

使用道具 举报

发表于 2015-6-15 18:13:58 | 显示全部楼层
谢谢楼主分享         
回复 支持 反对

使用道具 举报

发表于 2015-6-16 22:20:16 | 显示全部楼层
看不懂     
回复 支持 反对

使用道具 举报

发表于 2015-6-16 22:31:10 | 显示全部楼层
下面程序的kalman.h就是上面的那段程序吗?

为什么是 xk[0] xk[4] xk[8] 输出角度?
am_angle_mat 和  gyro_angle_mat也是0 4 8,为何要定义九个?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-16 22:44:27 | 显示全部楼层
Nemo_o 发表于 2015-6-16 22:31
下面程序的kalman.h就是上面的那段程序吗?

为什么是 xk[0] xk[4] xk[8] 输出角度?

14.jpg

这里gyro_angle_mat实际是经过运算后得到的B*Uk,为控制输入矩阵,这里为三阶矩阵。前面的数组(向量)对三阶矩阵进行赋值实质是简化后的矩阵运算(直接赋值得到控制输入矩阵),原本应该是控制输入模型乘以控制输入(角速度测量值)。


am_angle_mat 的赋值为类似的道理,也是简化后的矩阵运算(简化了观测矩阵和观测映射矩阵之前的运算,观测矩阵这里即为加速度计算得到角度值)。
回复 支持 反对

使用道具 举报

发表于 2015-6-17 22:08:28 | 显示全部楼层
很好的东东感谢分享
回复 支持 反对

使用道具 举报

发表于 2015-6-18 20:04:00 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2015-6-18 20:04:27 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2015-6-18 20:59:40 | 显示全部楼层
谢谢分享,顶起!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表