第10章 滤波器设计
1.滤波器(Filter)基本知识
定义
滤波器:一种特别重要的线性时不变系统
选频滤波器:对信号的频率成分进行选择(通过或拒绝)的系统
滤波器的广义定义:能对某些频率进行修正的系统
分类
低通滤波器(Low-pass)
高通滤波器(High-pass)
带通滤波器(Band-pass)
带阻滤波器(Band-stop)
全通滤波器(All-pass)

判断可看半谱
数字滤波器判断
以\((-\pi,\pi)\)为例,\(|\Omega|\)越接近\(\pi\),为高频;\(|\Omega|\)越接近0,为低频

判断DTFT的滤波器,主要看\((-\pi,\pi)\)的区域,若为\((0,2\pi)\),建议将\((\pi,2\pi)\)的段对称到\((-\pi,0)\)
2.离散傅里叶变换 DFT
理想滤波器的问题
理想滤波器时域无限长,为非因果的,实际上无法实现,因此要引入平缓的过渡带

具体的滤波器设计:确定符合频率指标要求的系统函数(频率响应、脉冲响应)
IIR滤波器和FIR滤波器
有限脉冲响应和无限脉冲响应。

在FIR系统中,\(h[n]=b_n\)
| 特性维度 | IIR (Infinite Impulse Response) | FIR (Finite Impulse Response) |
|---|---|---|
| 反馈机制 | 有反馈 (With feedback),即表达式中包含 \(y[n-i]\) 项 | 无反馈 (No feedback),即表达式中不含 \(y[n-i]\) 项 |
| 系数特点 | 至少有一个系数 \(a_i \neq 0\) | 所有系数 \(a_i = 0\) |
| 极点分布 | Z 平面内存在极点 (Poles in z-plane) | Z 平面内无极点 (No poles in z-plane) |
| 冲激响应 \(h[n]\) | 无限长 (Infinite) | 有限长 (Finite,例如长度为 \(M+1\)) |
| 结构类型 | 递归型 (Recursive) | 非递归型 (Non-recursive) |
| 相位特性 | 通常是非线性相位滤波器 (Generally a nonlinear phase filter) | 可以设计为线性相位滤波器 (Can be designed as a linear phase filter) |
2. IIR 滤波器设计
IIR 设计的核心逻辑:借用模拟滤波器的成熟理论。我们不直接设计 \(H(z)\),而是先设计一个模拟滤波器 \(H_a(s)\),再把它“映射”到数字域。
模拟滤波器原型 (Analog Filter Prototypes)
- 巴特沃兹滤波器 (Butterworth):
- 特点:通带和阻带都非常平稳(最大平坦),没有波动。
- 代价:过渡带很宽,想达到同样的滤波效果,需要更高的阶数。
- 切比雪夫滤波器 (Chebyshev):
- I 型:通带有纹波(波动),阻带平滑。
- II 型:通带平滑,阻带有纹波。
- 特点:比巴特沃兹更锐利(过渡带窄)。
- 椭圆滤波器 (Elliptic):
- 特点:通带阻带都有纹波。
- 评价:它是最“高效”的,同样的指标下阶数最低。
| 特性指标 | 巴特沃兹 (Butterworth) | 切比雪夫 (Chebyshev) | 椭圆滤波器 (Elliptic) |
|---|---|---|---|
| 通带/阻带表现 | 最大平坦 通带和阻带均无纹波,非常平稳。 | 有纹波 I型:通带波纹,阻带平滑 II型:通带平滑,阻带波纹 | 均有纹波 通带和阻带内均存在纹波。 |
| 过渡带特性 | 很宽 衰减缓慢,过渡不够锐利。 | 较窄 比巴特沃兹更锐利(衰减更快)。 | 最窄 衰减最快,过渡最锐利。 |
| 阶数要求 (相同指标下) | 最高 需要较高的阶数才能达到相同的滤波效果。 | 中等 介于两者之间。 | 最低 效率最高,实现相同性能所需阶数最少。 |
| 相位响应 | 非线性相位 | 非线性相位 | 非线性相位 |
| 核心评价 | 牺牲了衰减速度,换取了通带的平坦度。 | 牺牲了部分频带的平坦度,换取了更快的衰减。 | 牺牲了全频带的平坦度和相位特性,换取了最高效的衰减性能。 |
脉冲响应不变法 (Impulse Invariance)
这是最原始的思路:让数字系统的单位冲激响应 \(h[n]\) 刚好等于模拟系统 \(h_a(t)\) 的采样值。
-
物理意义:\(h[n] = h_a(nT)\)。
-
数学映射:\(s\) 平面到 \(z\) 平面的关系是 \(z = e^{sT}\)。
-
结论:
- 稳定性:\(s\) 左半平面映射到 \(z\) 单位圆内。如果模拟滤波器稳定,数字的也稳定。
- 频率映射:是线性的,\(\Omega = \omega T\)。
-
缺点——频谱混叠 (Aliasing):
- 因为 \(z = e^{sT}\) 是周期性映射,模拟域中高于采样频率一半(折叠频率)的所有信号都会叠回来。
- 这种方法只能用于设计低通(Low-pass)或带通(Band-pass)滤波器。设计高通或带阻时,由于模拟滤波器在高频处不为 0,混叠会毁掉整个设计。
-
步骤:
核心思路:数字指标 \(\to\) 模拟指标 \(\to\) 模拟滤波器 \(H_a(s)\) \(\to\) 部分分式展开 \(\to\) 映射为 \(H(z)\)
-
确定数字滤波器指标
-
给定通带截止频率 \(\Omega_p\)、阻带截止频率 \(\Omega_s\)、通带最大衰减 \(\alpha_p\)、阻带最小衰减 \(\alpha_s\)。
-
模拟频率转换
-
利用线性关系 \(\Omega = \omega T\) 将数字频率转换为模拟频率。
-
设计模拟滤波器原型 \(H_a(s)\)
-
根据转换后的模拟指标 \((\Omega_p, \Omega_s, \alpha_p, \alpha_s)\),设计巴特沃兹或切比雪夫滤波器,得到系统函数 \(H_a(s)\)。
-
部分分式展开 (关键步骤)
-
将 \(H_a(s)\) 展开为部分分式和的形式(只有展开成一阶极点形式,才能对应到 Z 变换):
\(H_a(s) = \sum_{k=1}^{N} \frac{A_k}{s - p_k}\)
其中 \(p_k\) 是模拟滤波器的极点,\(A_k\) 是系数。
-
极点映射
-
利用变换对 \(\frac{1}{s - p_k} \longleftrightarrow \frac{1}{1 - e^{p_k T_d} z^{-1}}\),将每一项映射到 Z 域。
-
得到数字滤波器系统函数:
\(H(z) = \sum_{k=1}^{N} \frac{T_d A_k}{1 - e^{p_k T} z^{-1}}\)
-

双线性变换法 (Bilinear Transformation)
为了解决混叠问题,科学家发明了这种“重塑”频率轴的方法。
-
数学公式:\(s = \frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}}\)。
-
映射逻辑:它把 \(s\) 平面的虚轴(从 \(-\infty\) 到 \(+\infty\))压缩映射到了 \(z\) 平面的单位圆(从 \(-\pi\) 到 \(+\pi\))上。
-
优点:
- 无混叠:因为它是一一对应的映射,不存在重叠。
- 全能:可以设计任何类型的滤波器(高通、带阻都行)。
-
代价——频率畸变 (Frequency Warping):
- \(\omega\)和\(\Omega\)的映射关系是非线性的,\(\omega=\frac{2}{T_d}\tan(\frac{\Omega}{2})\)。虽然低频处很准,但高频处被严重压缩了。
- 解决办法:在设计模拟滤波器之前,先进行“预畸变(Pre-warping)”,提前修正频率。
-
步骤:
-
核心思路:数字指标 \(\to\) 预畸变 \(\to\) 模拟指标 \(\to\) 模拟滤波器 \(H_a(s)\) \(\to\) 代数替换 \(\to\) \(H(z)\)
-
确定数字滤波器指标
-
给定 \(\Omega_p, \Omega_s, \alpha_p, \alpha_s\)。
-
频率预畸变 (Pre-warping)
-
由于频率映射是非线性的,必须先对数字截止频率进行预畸变,得到修正后的模拟频率 \(\omega\):
\(\omega = \frac{2}{T} \tan\left(\frac{\Omega}{2}\right),\Omega=\arctan (\frac{\omega T}{2})\)
-
设计模拟滤波器原型 \(H_a(s)\)
-
根据预畸变后的模拟指标 \((\Omega_p, \Omega_s, \alpha_p, \alpha_s)\),设计模拟滤波器得到 \(H_a(s)\)。
-
代数替换 (S 域到 Z 域)
-
直接将 \(H_a(s)\) 中的 \(s\) 替换为双线性变换公式:
\(s = \frac{2}{T} \frac{1 - z^{-1}}{1 + z^{-1}}\)
-
化简整理
-
将替换后的式子通分、整理,化简为标准的 \(H(z)\) 形式(分子分母为 \(z^{-1}\) 的多项式)。
-

| 方法 | 脉冲响应不变法 (Impulse Invariance Method) | 双线性变换法 (Bilinear Transformation Method) |
|---|---|---|
| 变换原理 | 让数字滤波器的脉冲响应 \(h[n]\) 采样逼近模拟滤波器的冲激响应 \(h_a(t)\)。 | 利用非线性频率压缩,将整个模拟 \(s\) 平面 \(j\Omega\) 轴映射到数字 \(z\) 平面单位圆上。 |
| 映射关系 | \(z = e^{sT}\) (多值映射,s平面条带 \(\to\) z平面) | \(s = \frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}}\) (单值映射,s全平面 \(\to\) z平面) |
| 频谱混叠 | 存在混叠 模拟信号必须是带限的,否则高频部分会折叠到低频,产生失真。 | 无混叠 将模拟频率的 \((-\infty, +\infty)\) 压缩映射到数字频率的 \((-\pi, \pi)\)。 |
| 频率关系 | 线性关系 \(\omega = \Omega T\) 保持了模拟频率和数字频率的线性比例。 | 非线性关系 (频率畸变) \(\Omega = \frac{2}{T}\tan(\frac{\omega}{2})\) 低频近似线性,高频严重压缩。 |
| 相位特性 | 较好保持 能较好地保留原模拟滤波器的相位线性特性(在无混叠区域)。 | 相位畸变 由于频率映射的非线性,原模拟滤波器的相位特性会发生改变,不再保持线性。 |
| 适用范围 | 仅限低通、带通 模拟滤波器的高频衰减必须足够快,不适用于高通、带阻滤波器。 | 通用 (低通、高通、带通、带阻) 适用于所有类型的滤波器设计。 |
| 主要优点 | 1. 时域特性好(脉冲响应完全模仿)。 2. 频率线性映射,无频率畸变。 | 1. 完全消除了频谱混叠。 2. 可设计任意类型的滤波器(包括高通/带阻)。 |
| 主要缺点 | 1. 存在频谱混叠,高频响应失真大。 2. 设计受限,只能设计低通的滤波器,不能设计高通和带阻滤波器。 | 1. 频率刻度发生非线性畸变 (Warping)。 2. 设计时必须先对边界频率进行“预畸变”校正。 |
3. FIR 滤波器设计
线性相位滤波器 (Linear Phase)
-
如果一个滤波器系统是线性相位的,意味着它对所有频率成分产生的时间延迟(Time Delay)是恒定的一常数。波形整体延迟,波形保持不失真
-
如果我们用非线性相位的滤波器,导致波形被“拉伸”或“挤压”,这种相位的变化叫作相位畸变。

- 数学条件:
单位脉冲响应 \(h[n]\) 必须具备对称性。
- \(h[n] = h[N-1-n]\)(偶对称)
- \(h[n] = -h[N-1-n]\)(奇对称)
线性相位系统
式中\(\alpha\)为实数,系统称为理想延迟系统(ideal delay system)
结论:如果\(2\alpha\)为整数,即\(\alpha\)是整数或整数再加1/2,则单位脉冲响应是关于\(\alpha\)偶对称。\(h[2\alpha-n]=h[n]\)
若\(h[n]\)关于\(2\alpha\)(整数)偶对称或奇对称,即 \(h[2\alpha-n] = ±h[n]\),则\(h[n]\)必为线性相位系统。
当然,线性相位系统其\(h[n]\)并不一定是关于\(2\alpha\)(整数)偶对称或奇对称。
实际使用中,考虑到设计的方便将\(h[2\alpha-n] = ±h[n]\)作为设计线性相位系统的条件



窗函数设计法 (Window Method)
窗函数满足前面所述的对称条件。理想的滤波器(比如完美的矩形低通)在时域上是一个无限长的 sinc 函数。我们无法实现无限长的东西,所以必须“截断”。
对理想滤波器的脉冲响应\(h_d [n]\)(无限长,非因果序列),用窗函数截断,得到具有对称性的有限长因果序列\(h[n]\)

带来的副作用: 当你用窗函数截断时,在频域会与sinc函数卷积,导致:
- 过渡带出现:时域中窗函数的下降线变成了斜坡。斜坡的宽度由窗函数的主瓣宽度决定。
- 纹波出现:在截断点附近会出现波纹(振荡)。纹波波动的大小由窗函数的旁瓣大小决定。
常见窗函数的权衡 (Trade-off):
结论:主瓣越窄,过渡带越窄(性能越好);旁瓣越低,阻带波纹越小(滤波越干净)。
| 窗函数 | 过渡带宽 | 最小阻带衰减 | 评价 |
|---|---|---|---|
| 矩形窗 | \(1.8\pi/N\) | -21 dB | 主瓣最窄,但旁瓣极高,波动严重。 |
| 汉宁窗 | \(6.2\pi/N\) | -44 dB | 性能均衡。 |
| 海明窗 | \(6.6\pi/N\) | -53 dB | 工程最常用,旁瓣压制比汉宁更优。 |
| 布莱克曼窗 | \(11\pi/N\) | -74 dB | 阻带极干净,但过渡带太宽。 |
对于 FIR:增加窗长 \(N\) 可以使过渡带变窄,但不能减小阻带的波动(波动大小只取决于窗的种类)。
