雷达 · 通信 · 电子战 / 基础精学 173
标量Kalman更新把先验估计与新测量按不确定度融合,在随机游走模型中形成预测、创新和修正的闭环递推。
实际记录只包含有限个采样值。由记录计算得到的数值与总体参数并不相同:前者受记录长度、噪声、边界约定及运算精度影响,后者属于给定模型的属性。建立可复核结论需要先固定输入含义、统计假设和归一化方式,再比较可计算量与理论量。
抽象实标量状态;独立零均值过程噪声和测量噪声;方差Q非负、R严格为正;初始误差与噪声独立。
Pk−,Pk+:预测及更新误差方差(状态平方)
Kk:Kalman增益(无量纲)
νk:创新(状态)
随机游走只把新的过程扰动加到原状态。
状态均值不变,误差方差增加过程噪声。
测量相对预测的差值是可用于修正的新信息。
任意线性增益下误差为先验误差与测量噪声的组合。
对二次方差求导并令零。
代入最优增益,得到乘积除以和。
标量测量方差 R>0、先验方差 P−≥0 时,最优增益和后验均值满足
因此 0≤ K<1,均值更新为先验与测量的凸组合。
可信测量对应 R 小,可信先验对应 P− 小,两种情况分别使增益靠近一和零。对正方差还可写成信息形式
信息相加依赖先验误差与当前测量噪声独立。
若同一测量已用于生成先验,再重复更新会错误增加信息;接口上的不同变量名并不能保证统计独立。
增益不是经验平滑系数,而由预测与测量的不确定度决定。预测越不可靠越依赖测量;测量噪声越大越保留先验。全部变量只表示抽象数字序列,不涉及具体运动或操作方案。
固定Q为0.02、R为0.5,仿真600步随机游走,比较原始测量与递推估计误差,并验证两种后验方差形式相等、增益在零一之间。数值脚本使用固定随机种子;随机实验的判据采用有限容差,代数关系的判据采用浮点残差。图中同时展示参数变化趋势与对应误差,关键数值写入独立结果文件。
| 量 | 数值 |
|---|---|
| 样本数 | 600 |
| 过程噪声方差 | 0.02 |
| 测量噪声方差 | 0.5 |
| raw measurement MSE | 0.474237620079 |
| filtered MSE | 0.0817498213826 |
| final posterior variance | 0.0904987562112 |
| covariance identity error | 1.38777878078e-17 |

图 1 标量随机游走的Kalman更新的固定参数数值验证
表中数值和图中曲线由 MATLAB 实际运行得到,随机种子为 20261092;运行版本与完整结果另存为独立文件。
SystemVerilog实现输入先验、测量及外部Q14增益后的创新和状态修正子核;增益除法及方差递推由软件完成。端口为16位有符号码,内部64位,同步复位,valid空拍保持状态;
逐有效输入输出。自检覆盖多组数据、空拍、边界和复位,仅验证所述整数子核,不代表完整算法的硬件验证。
独立自检程序已在 Icarus Verilog 13.0 中实际运行并通过。该结果不包含器件综合、静态时序分析或板级测试。
用于缓慢变化传感量的数字平滑、参数漂移估计及测量融合基础验证。Q与R应反映同一采样周期和同一状态单位。
错误Q与R会使报告方差与实际误差失配。
非线性或重尾误差不再满足精确高斯后验模型。
有限精度实现必须区分输入量化、内部舍入和最终结果格式,不能仅依据浮点曲线估计硬件误差。
随机游走Kalman更新是按方差确定权重的递推融合,其核心是对创新作自适应幅度修正。
内容依据:每日精学第 173 课《标量随机游走的Kalman更新》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。