信号滤波

所属分类:时间序列分析

这个方法是做什么的

按频率把序列切开:低通保留慢变成分、抑制高频毛刺;高通去掉基线漂移、保留快变细节;带通只留中间一段频带。滤波器族是 Butterworth(通带最平坦、无纹波,过渡带较缓),阶数越高过渡越陡但数值稳定性越差。实现方式是 filtfilt 前后向各滤一次,因此没有相位延迟——代价是实际作用在数据上的幅频响应是 |H(ω)|²,实测的 −3dB 点会比你设定的截止频率更靠通带内侧(演示设 0.1000,实测 0.0898)。

滤波是确定性变换,没有原假设也没有 p 值,所以报告用另一套指标交代“到底动了多少”:滤波前后的标准差、方差、峰峰值、粗糙度 Σ(Δ²x)² 与 lag-1 自相关逐项对照,加上幅频响应实测曲线、能量保留比例、方差削减比例与保真度 r。读这份报告只需记住一件事:判断滤波强度看去均值口径的方差削减比例,不要看含直流的能量保留比例——两者在同一份数据上可以差出四十几个百分点。

需要准备什么数据

  • 放入[定量]信号序列:1 个

数据要求

  • 数据表至少 30 行。
  • 单列缺失率不超过 10%。
  • 不接受取值全都一样的列(零方差列没有可分析的变异)。

以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。

什么时候用它

  • 传感器或高频采集数据,需要在保留波形主体的前提下压掉噪声
  • 去掉缓慢的基线漂移,只看快速变化的部分(高通)
  • 只关心某一段频带内的成分,例如提取特定周期的波动(带通)
  • 作图前的平滑预处理,且不希望引入相位偏移

前提是等间隔采样——归一化截止频率以奈奎斯特频率(采样率的一半)为 1,采样不等间隔时这个数就没有物理含义了。零相位滤波要求样本数大于 3 倍滤波器长度,4 阶时是 15。行数下限 30 行,29 行会被直接拦下;缺失容忍度一成,模块按行剔除缺失,缺失多时应先插值再滤波。本模块没有时间列拖拽区,行序即采样先后,也不会把结果写回你的数据集。

什么时候不要用它

  • 要的是趋势项与季节项的可解释拆分:滤波给的是频带而不是成分,用「季节分解模型」。
  • 要的是滚动均值、滚动标准差这类可以喂进模型的特征:用「时序滑窗特征」,它还给窗宽敏感性对照。
  • 想知道序列里到底有哪些频率成分、各占多少能量:先用「谱分析」看清楚再决定截止频率怎么设。
  • 只是想压掉几个极端值:那不是频率问题,用「缩尾处理(Winsorize)」。
  • 数据缺失较多:先用「多重插补」或「均值估计/回归插补」补齐,再来滤波。

容易误读的地方

  • 含直流的“能量保留比例”几乎恒等于 100%,用它判断滤波强度会得出完全相反的印象。 演示序列均值 57.34,直流分量独占总能量的 99.30%,于是低通滤完“能量保留 99.81%”,看上去几乎没动数据;而去均值口径的方差实际削减了 23.51%。卡④ 的表注专门解释了这一点:能量类指标的分母 Σx²=n·x̄²+(n−1)·Var(x),非零均值信号的直流项会主导分母。判断滤波强度以方差削减比例为准。
  • 三种滤波器改变的东西完全不同,不能套用同一套读法。 同一份数据实测:低通(Wn=0.1)方差削减 23.51%、粗糙度下降 99.98%、保真度 r=0.8634;高通(同样 Wn=0.1)方差削减 74.62%,而粗糙度只下降 0.16%——高通根本不平滑曲线,它去掉的是低频基线;带通(0.05,0.2)方差削减 80.05%、粗糙度下降 94.98%、r=0.4902。看到“粗糙度下降不多”不要以为滤波没生效,先看你选的是哪一种。
  • 带通必须填两个逗号分隔的数值,只填一个会被直接拒绝。 截止频率控件默认是“0.1”,切到带通后如果不改,请求会返回 400 并提示“带通滤波的截止频率需为两个逗号分隔的数值,如 0.1,0.3。”这是本模块唯一一个会因控件组合直接报错的地方,不是数据问题。
  • 滤波会人为抬高相邻样本的相关性,滤完再做假定独立性的检验会严重高估显著性。 演示的 lag-1 自相关由 0.9117 升到 0.9820。低通滤波本质上就是在做局部平均,相邻点当然更像。把滤波后的序列拿去做相关检验、回归或任何以独立同分布为前提的推断,p 值都会偏小;卡⑤ 对此有专门提醒。
  • “信噪比 27.45 dB”这个数以“被滤除的就是噪声”为前提。 卡④ 的表注写明了这一条。如果阻带里其实也有真实信号(比如你想留的周期恰好落在截止频率之外),这个数会高估滤波收益,同时你把有用的成分一起删掉了却看不出来。截止频率应当由「谱分析」的结果或采集设备的物理特性决定,而不是试到曲线好看为止。

报告里有什么

  1. 输出结果一:数据概览与前提检验
  2. 输出结果二:滤波参数与滤波前后对比
  3. 输出结果三:时域对比与幅频响应
  4. 输出结果四:频域特性与噪声抑制指标
  5. 输出结果五:结论与学术表述
原始信号 vs 滤波后信号
图1 原始信号 vs 滤波后信号
两条曲线分别为原始信号与滤波后信号,横轴为样本序号;可切换为表格逐点查看被滤除成分。
低通滤波器幅频响应(Butterworth,4 阶)
图2 低通滤波器幅频响应(Butterworth,4 阶)
幅频响应由 scipy.signal.freqz 对实际使用的 (b,a) 实测得到;「零相位」曲线为 filtfilt 的等效响应 |H(ω)|²,是本次真正作用在数据上的频率加权。

在线统计分析平台 · 233 种分析方法 · AI 智能解读

在线使用
使用教程