卡尔曼滤波原理详解
2026年6月20日
什么是卡尔曼滤波?
卡尔曼滤波(Kalman Filter)是一种递归的、最优的状态估计算法。它能够从包含噪声的测量数据中,估计出动态系统的真实状态。1960 年由 Rudolf E. Kálmán 提出,广泛应用于导航、自动驾驶、目标跟踪、信号处理等领域。
核心思想:预测 + 更新
卡尔曼滤波的核心是一个两步循环:
第一步:预测(Predict)
根据系统模型,预测下一时刻的状态:
x^k∣k−1Pk∣k−1=Fk⋅x^k−1∣k−1=Fk⋅Pk−1∣k−1⋅FkT+Qk
- x^k∣k−1:预测的状态估计
- Pk∣k−1:预测的误差协方差
- Fk:状态转移矩阵(描述系统如何演化)
- Qk:过程噪声协方差(描述模型的不确定性)
第二步:更新(Update)
用实际测量值修正预测:
Kkx^k∣kPk∣k=Pk∣k−1HkT(HkPk∣k−1HkT+Rk)−1=x^k∣k−1+Kk(zk−Hkx^k∣k−1)=(I−KkHk)Pk∣k−1
- Kk:卡尔曼增益(决定”信任”预测还是测量)
- zk:实际测量值
- Hk:观测矩阵(将状态映射到测量空间)
- Rk:测量噪声协方差(描述传感器的不可靠性)
关键参数解读
| 参数 | 符号 | 含义 | 调大效果 |
|---|
| 过程噪声协方差 | Q | 模型不确定性 | 更信任测量值,响应更快但更抖动 |
| 测量噪声协方差 | R | 传感器噪声 | 更信任模型预测,估计更平滑但响应慢 |
| 初始状态估计 | x̂₀ | 滤波器初始猜测 | 影响收敛速度 |
| 初始误差协方差 | P₀ | 初始不确定度 | 越大收敛越快,但初始阶段波动大 |
卡尔曼增益的作用
卡尔曼增益 Kk 是滤波器的”信噪比”。当 Kk→1 时,滤波器几乎完全信任测量值;当 Kk→0 时,滤波器几乎完全信任模型预测。
增益的计算公式体现了预测不确定性与测量不确定性之间的权衡:
Kk=Pk∣k−1+RkPk∣k−1(当 Hk=1 时)
现在就去卡尔曼滤波仿真平台动手试试吧!
← 返回仿真平台