游戏中心

游戏知识实验课:短窗口中位滤波怎样处理孤立尖峰——5项中位窗口中的十七次采样(练习21)


界面上的测量值偶尔出现很高的一次尖峰时,短窗口平均值会受到它的数值大小影响。中位数改为取窗口排序后的中间项,表现不同,但也会改变显示对变化的响应。

本篇用一组独立输入把规则展开为可重复核对的记录。先确认单位、编号及边界,再自行尝试推演,然后寻找与下面过程第一次不同的位置。所有结果只在这里写明的规则下成立,不能当作所有游戏的统一实现。

规则与输入

采样值均为整数,窗口长度为三或五。只有收满一个窗口后才输出结果;以后每次保留最近固定个数,同时计算中位数和精确平均值。所有例子只比较记录,不声称一种滤波对所有信号都更好。

窗口5 [57, 41, 45, 54, 59, 114, 41, 41, 58, 48, 58, 49, 49, 54, 48, 45, 40]

逐步推演

采样0为57,最近记录[57],尚未收满,不输出滤波值。

采样1为41,最近记录[57, 41],尚未收满,不输出滤波值。

采样2为45,最近记录[57, 41, 45],尚未收满,不输出滤波值。

采样3为54,最近记录[57, 41, 45, 54],尚未收满,不输出滤波值。

采样4为59,最近记录[57, 41, 45, 54, 59],中位数54,平均值256/5,两者使用同一个5项窗口。

采样5为114,最近记录[41, 45, 54, 59, 114],中位数54,平均值313/5,两者使用同一个5项窗口。

采样6为41,最近记录[45, 54, 59, 114, 41],中位数54,平均值313/5,两者使用同一个5项窗口。

采样7为41,最近记录[54, 59, 114, 41, 41],中位数54,平均值309/5,两者使用同一个5项窗口。

采样8为58,最近记录[59, 114, 41, 41, 58],中位数58,平均值313/5,两者使用同一个5项窗口。

采样9为48,最近记录[114, 41, 41, 58, 48],中位数48,平均值302/5,两者使用同一个5项窗口。

采样10为58,最近记录[41, 41, 58, 48, 58],中位数48,平均值246/5,两者使用同一个5项窗口。

采样11为49,最近记录[41, 58, 48, 58, 49],中位数49,平均值254/5,两者使用同一个5项窗口。

采样12为49,最近记录[58, 48, 58, 49, 49],中位数49,平均值262/5,两者使用同一个5项窗口。

采样13为54,最近记录[48, 58, 49, 49, 54],中位数49,平均值258/5,两者使用同一个5项窗口。

采样14为48,最近记录[58, 49, 49, 54, 48],中位数49,平均值258/5,两者使用同一个5项窗口。

采样15为45,最近记录[49, 49, 54, 48, 45],中位数49,平均值49,两者使用同一个5项窗口。

采样16为40,最近记录[49, 54, 48, 45, 40],中位数48,平均值236/5,两者使用同一个5项窗口。

共13个完整窗口,初始4次保留为空状态。

怎样独立检查

独立检查候选中位数两侧的数量:至少一半样本不大于它,也至少一半不小于它。平均值则直接用窗口和除长度;窗口成员必须与当前时刻以前的最近记录一致。

中位滤波能减弱某些孤立异常值的影响,却可能掩盖真实短暂事件。连续多次高值会逐渐占据窗口,结果不能只用单个尖峰的例子推断。起始未收满窗口时输出为空,不能把这个空状态误当作数值零。

练习时先保存原始输入及中间结果,再只改变一个条件观察差异。重点检查空状态、相同数值、恰好到达边界和最后一步。不要为了凑出相同的最终结果而忽略较早出现的偏差,过程和结论都应能由同一套规则解释。