卡尔曼滤波算法的基本原理实例解析

动态系统中有一个共同的基本特征:系统的状态。而通常情况下,状态又是不可测量的,而是用简介的方式测量一组观测值来反映状态对外部环境的影响。举下面以例子我想会有助于理解已知的观测值和待求得状态值之间的关系:一只猴子在经过一定程度的训练之后,能够在固定的L*M的区域中跟随人的口令将手指尖移至口令要求的点,与此同时,在猴子脑部运动皮层连接上一个电极来记录神经元峰电位数,猴子的手指尖在跟随着人的指令在固定区域中每做出一个移动动作时,电极即时采集峰电位数,这样在做出N个动作之后,也就将采集到N组对应的峰电位观测值。至此我们已经完成了数据的采集,我们进行一下设想:我们在已知现有的采样数据的情况下,能否仅根据猴子一段时间内脑部运动皮层的神经元峰电位数计算出该猴子在区域内的手指尖的移动数据?其实这是一个很有研究价值的一问,如果这个问题能得到完美解决,那么许多诸如此类的有关人的一些动作,神态与人脑在相应部位产生的神经元峰电位数就能通过建立空间状态模型,依据此算法,都能迎刃而解。在不久的将来,我们可能通过采集的某人脑部的相应部位的数据就能很清楚地知道此人将要做什么,甚至他在想什么都可以即时的检测出来。再回到这个问题中来,上面一问,就可建立一个状态空间模型。我们知道,状态空间模型用两个公式来描述观测值和待求的状态值关系。这两个公式呢,一个公式是描述“K-1时刻状态”、“K-1时刻状态向K时刻时的动态噪声”与“K时刻状态”之间的关系;另一个公式是描述“K时刻的状态”、“K时刻响应的测量噪声”与“K时刻的测量值”之间的关系,在次问中,观测值即是采集到的神经元峰电位数,而待求状态值就是该猴子的手指尖位置移动数据。借这个问题的大致思路有两点:第一步:先依据已经采集到的猴子的手指将的移动的位置数据及与之相应的神经元峰电位数数据,确定该动态系统的具体的状态空间模型;第二步:设计适合于该已确定状态空间模型的特征的卡尔曼滤波器算法(譬如:KF、EKF、CKF、PF等;具体选哪一种视状态空间模型而定;考虑:状态模型、观测模型是否为线性的,及与之对应的动态噪声、测量噪声是否服从高斯分布等),该实例问题求解思路即如此,至此完成。

卡尔曼博士论文下载链接

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
滤波算法是一种用于估计系统状态的递归滤波算法,它能够通过融合传感器测量值和系统模型来提高状态估计的准确性。扩展滤波算法(Extended Kalman Filter,EKF)是滤波算法的一种扩展,用于非线性系统的状态估计。 滤波算法原理如下: 1. 预测步骤:根据系统的动态模型,通过状态转移方程预测系统的状态,并计算预测的协方差矩阵。 2. 更新步骤:根据传感器的测量值,通过观测方程计算系统的观测值,并计算观测噪声的协方差矩阵。 3. 增益计算:根据预测的协方差矩阵和观测噪声的协方差矩阵,计算增益,用于融合预测值和观测值。 4. 状态更新:根据增益和观测值,更新系统的状态估计值,并更新协方差矩阵。 扩展滤波算法原理在于对非线性系统进行线性化处理,通过在预测和更新步骤中使用一阶泰勒展开来近似非线性函数。具体步骤如下: 1. 预测步骤:使用非线性状态转移函数对系统状态进行预测,并计算预测的协方差矩阵。同时,通过对状态转移函数进行线性化,得到状态转移矩阵和过程噪声协方差矩阵。 2. 更新步骤:使用非线性观测函数计算观测值,并计算观测噪声的协方差矩阵。同时,通过对观测函数进行线性化,得到观测矩阵和观测噪声协方差矩阵。 3. 增益计算:根据预测的协方差矩阵、观测噪声的协方差矩阵、状态转移矩阵和观测矩阵,计算增益。 4. 状态更新:根据增益和观测值,更新系统的状态估计值,并更新协方差矩阵。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值