(一)C语言嵌入式开发单片机通用KALMAN滤波

本文详细介绍了C语言在嵌入式开发中应用KALMAN滤波的原理、推导、代码实现及应用场景。通过状态方程和观测方程描述滤波过程,强调了KALMAN滤波在动态系统中的噪声抑制和状态估计作用,特别指出其在机器人状态估计、激光雷达数据过滤等领域的应用。同时,讨论了KALMAN滤波的优缺点,如在非线性非高斯模型下的局限性,并提供了简单的C语言实现示例。
摘要由CSDN通过智能技术生成

一直以来用过很多次KALMAN滤波,没有进行系统的总结,本次笔记将对此进行从原理到推导到代码实现及应用进行总结和分析,阐述一些个人使用的观点。首先,了解该滤波的原理及使用场景和应用范畴,然后,说明使用此滤波要达到的目的,之后,代码中如何加入该滤波模块及其调节增益,最后分析其带来的优缺点。

原理:KALMAN滤波器是一种线性的离散时间的有限维系统。卡尔曼滤波器由一系列递归数学公式描述。它们提供了一种高效可
计算的方法来估计过程的状态,并使估计均方误差最小。卡尔曼滤波器应用广泛且功能强大:它可以估计信号的过去和当前状态,甚至能估计将来的状态,即使并不知道模型的确切性质。卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,其基本思想是:采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。

    描述状态向量的过程方程,引入一个离散控制过程的系统。可用一个线性随机微分方程来描述:X(k)=A X(k-1)+B U(k)+W(k);

式中,向量X(k-1)表示系统在离散时间k-1的状态向量,它是不可观测的;矩阵A成为状态转移矩阵,描述动态系统在时间k-1的状态到k的状态之间的转移,应为已知。而向量B代表可选的控制输入的增益。W即为状态转移中间的噪声或误差即过程激励噪声。

    描述观测向量的观测方程:Z(k)=H X(k)+V(k),H为观测矩阵,描述状态经过作用,变成可预测的;应为已知。

    一般情况下,在理论推导和原理说明时,假设噪声均为零均值的正态分布的白噪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值