1.3 滤波器与卷积
核心问题: 什么是滤波器?卷积如何实现滤波?
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
什么是滤波器
定义: 滤波器是一个系统,它改变信号的频率成分。
目的:
- 去掉不想要的频率(噪音、干扰)
- 保留想要的频率(信息)
例子:
- 低通滤波器:保留低频,去掉高频(平滑信号)
- 高通滤波器:保留高频,去掉低频(突出边界)
- 带通滤波器:保留某个频率范围
滤波器的数学表示
频域表示
滤波器的频率响应:
其中:
:输入信号的频谱 :输出信号的频谱 :滤波器的频率响应
滤波过程:
时域表示
滤波器的冲激响应:
滤波过程(卷积):
卷积的直观理解
什么是卷积
卷积是一种运算,它把两个信号混合在一起。
卷积的步骤
- 翻转:把
翻转成 - 平移:平移
个单位 - 相乘:
和平移后的 相乘 - 求和:把所有乘积加起来
卷积的性质
交换律:
结合律:
分配律:
常见滤波器
1. 低通滤波器(Low-Pass Filter)
目的: 保留低频,去掉高频。
冲激响应:
其中
应用: 平滑信号,去掉高频噪音。
2. 高通滤波器(High-Pass Filter)
目的: 保留高频,去掉低频。
冲激响应:
应用: 突出边界,检测快速变化。
3. 移动平均滤波器(Moving Average)
最简单的低通滤波器:
效果: 平滑信号。
卷积定理
时域卷积 = 频域乘法
为什么重要
时域卷积很慢:
频域乘法很快:
快速卷积算法
- 对
和 做FFT - 在频域相乘
- 做逆FFT
结果: 速度快100倍以上!
CNN中的卷积
从DSP到深度学习
DSP中的卷积:
- 滤波器
是固定的(设计好的) - 用来处理信号
CNN中的卷积:
- 卷积核是可学习的参数
- 网络从数据中学习适合当前任务的卷积核
启示
CNN可以看作是从数据中学习滤波器,而不是手工指定滤波器。
每个卷积层学习多个滤波器:
- 第一层:学习边界检测器
- 第二层:学习纹理检测器
- 第三层:学习形状检测器
- ...
卷积在信号检测中的应用
卷积不仅用于滤波,还是信号检测的核心工具。特别是匹配滤波器(Matched Filter)是卷积在检测中的直接应用。
匹配滤波器的思想: 用与待检测信号相匹配的滤波器进行卷积,输出最大时表示信号存在。
关键性质:
- 在已知信号和高斯噪声等条件下最大化输出信噪比(SNR)
- 可实现相关检测器对应的检验统计量
- 本质上是卷积运算

代码文件: code/ch01_dsp/random_signals.py
运行方式: python code/ch01_dsp/random_signals.py
图1.3:卷积对信号的作用示意。滤波器通过卷积抑制噪声、突出目标结构,这也是匹配滤波器能够提升检测性能的直观基础。
本节小结
滤波器通过卷积改变信号的频率成分:
- 时域:卷积运算
- 频域:乘法运算
- 卷积定理:连接时域和频域
CNN中的卷积核就是可学习的滤波器。
与后续章节的联系
本节强调的是一个更基础的观点:滤波和卷积都在做“按结构加权”的信息提取。
DSP 到 CNN
- DSP 中的滤波器是手工设计的
- CNN 中的卷积核是数据驱动学习出来的
- 两者共享“局部模式提取”的结构
卷积到注意力
- 卷积使用固定核,关注局部邻域
- 注意力使用动态权重,关注与当前 token 相关的上下文
- 两者都可以理解为对信息的加权聚合,只是权重是否随输入变化不同
多尺度与多头
- 滤波器组对应不同频段的分析
- 多头注意力对应不同关系模式的并行建模
- 后续章节会继续用这种“多视角提取”的思路理解表示学习
下一节: 1.4 时频分析
