# Kalman 测量噪声非零均值如何处理

> 原文链接：https://robotics.hellobike.com/pitfalls/2017-12-11-robotics-se-14774
> 频道：pitfalls | 更新日期：2017-12-11 | 标签：auto, stackexchange, kalman-filter
> 核心摘要：误差被错误取为绝对值导致均值偏正，应改用有符号误差并用均值校准测量值。

# Kalman 测量噪声非零均值如何处理

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Measurement model for Kalman filter but non-zero mean](https://robotics.stackexchange.com/questions/14774/measurement-model-for-kalman-filter-but-non-zero-mean)（Robotics Stack Exchange #14774）

**状态**：已解决

## 问题

提问者用卡尔曼滤波融合两个视觉算法估计车辆 `X=(x,y,θ)`，为测量噪声矩阵 `R` 估计方差时发现 `e(x)=sqrt((x_m-x_gt)^2)` 不是零均值高斯噪声。

## 环境

状态估计 / EKF 滤波器

## 解决办法

1. 将误差定义为 `x_m - x_gt`，不要用 `sqrt((x_m-x_gt)^2)`，因为这会把所有误差强制为正并造成正均值。
2. 若修正后仍有非零均值，先估计实际均值，再从传感器/算法测量值中减去该均值后送入滤波器，这属于传感器校准。
3. 非高斯误差可以拟合高斯，但需实验选择 `sigma`：过小会低估离群点使滤波器过度自信，过大会更平滑但精度较低。

原问题作者：Daphnee；采纳答案作者：Eric Lavigne。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #14774：Measurement model for Kalman filter but non-zero mean](https://robotics.stackexchange.com/questions/14774/measurement-model-for-kalman-filter-but-non-zero-mean)