跳转至

第10章 滤波器设计

1.滤波器(Filter)基本知识

定义

滤波器:一种特别重要的线性时不变系统

选频滤波器:对信号的频率成分进行选择(通过或拒绝)的系统

滤波器的广义定义:能对某些频率进行修正的系统

分类

低通滤波器(Low-pass)

高通滤波器(High-pass)

带通滤波器(Band-pass)

带阻滤波器(Band-stop)

全通滤波器(All-pass)

image.png

判断可看半谱

数字滤波器判断

\((-\pi,\pi)\)为例,\(|\Omega|\)越接近\(\pi\),为高频;\(|\Omega|\)越接近0,为低频

image.png

判断DTFT的滤波器,主要看\((-\pi,\pi)\)的区域,若为\((0,2\pi)\),建议将\((\pi,2\pi)\)的段对称到\((-\pi,0)\)

2.离散傅里叶变换 DFT

理想滤波器的问题

理想滤波器时域无限长,为非因果的,实际上无法实现,因此要引入平缓的过渡带

image.png

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

IIR滤波器和FIR滤波器

有限脉冲响应和无限脉冲响应。

image.png

在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)

  1. 巴特沃兹滤波器 (Butterworth)
    • 特点:通带和阻带都非常平稳(最大平坦),没有波动。
    • 代价:过渡带很宽,想达到同样的滤波效果,需要更高的阶数。
  2. 切比雪夫滤波器 (Chebyshev)
    • I 型:通带有纹波(波动),阻带平滑。
    • II 型:通带平滑,阻带有纹波。
    • 特点:比巴特沃兹更锐利(过渡带窄)。
  3. 椭圆滤波器 (Elliptic)
    • 特点:通带阻带都有纹波。
    • 评价:它是最“高效”的,同样的指标下阶数最低。
特性指标 巴特沃兹 (Butterworth) 切比雪夫 (Chebyshev) 椭圆滤波器 (Elliptic)
通带/阻带表现 最大平坦 通带和阻带均无纹波,非常平稳。 有纹波 I型:通带波纹,阻带平滑 II型:通带平滑,阻带波纹 均有纹波 通带和阻带内均存在纹波。
过渡带特性 很宽 衰减缓慢,过渡不够锐利。 较窄 比巴特沃兹更锐利(衰减更快)。 最窄 衰减最快,过渡最锐利。
阶数要求 (相同指标下) 最高 需要较高的阶数才能达到相同的滤波效果。 中等 介于两者之间。 最低 效率最高,实现相同性能所需阶数最少。
相位响应 非线性相位 非线性相位 非线性相位
核心评价 牺牲了衰减速度,换取了通带的平坦度。 牺牲了部分频带的平坦度,换取了更快的衰减。 牺牲了全频带的平坦度和相位特性,换取了最高效的衰减性能。

脉冲响应不变法 (Impulse Invariance)

这是最原始的思路:让数字系统的单位冲激响应 \(h[n]\) 刚好等于模拟系统 \(h_a(t)\) 的采样值。

  • 物理意义\(h[n] = h_a(nT)\)

  • 数学映射\(s\) 平面到 \(z\) 平面的关系是 \(z = e^{sT}\)

  • 结论

    1. 稳定性\(s\) 左半平面映射到 \(z\) 单位圆内。如果模拟滤波器稳定,数字的也稳定。
    2. 频率映射:是线性的,\(\Omega = \omega T\)
  • 缺点——频谱混叠 (Aliasing)

    • 因为 \(z = e^{sT}\) 是周期性映射,模拟域中高于采样频率一半(折叠频率)的所有信号都会叠回来。
    • 这种方法只能用于设计低通(Low-pass)或带通(Band-pass)滤波器。设计高通或带阻时,由于模拟滤波器在高频处不为 0,混叠会毁掉整个设计。
  • 步骤:

    核心思路:数字指标 \(\to\) 模拟指标 \(\to\) 模拟滤波器 \(H_a(s)\) \(\to\) 部分分式展开 \(\to\) 映射为 \(H(z)\)

    1. 确定数字滤波器指标

    2. 给定通带截止频率 \(\Omega_p\)、阻带截止频率 \(\Omega_s\)、通带最大衰减 \(\alpha_p\)、阻带最小衰减 \(\alpha_s\)

    3. 模拟频率转换

    4. 利用线性关系 \(\Omega = \omega T\) 将数字频率转换为模拟频率。

    5. 设计模拟滤波器原型 \(H_a(s)\)

    6. 根据转换后的模拟指标 \((\Omega_p, \Omega_s, \alpha_p, \alpha_s)\),设计巴特沃兹或切比雪夫滤波器,得到系统函数 \(H_a(s)\)

    7. 部分分式展开 (关键步骤)

    8. \(H_a(s)\) 展开为部分分式和的形式(只有展开成一阶极点形式,才能对应到 Z 变换):

      \(H_a(s) = \sum_{k=1}^{N} \frac{A_k}{s - p_k}\)

      其中 \(p_k\) 是模拟滤波器的极点,\(A_k\) 是系数。

    9. 极点映射

    10. 利用变换对 \(\frac{1}{s - p_k} \longleftrightarrow \frac{1}{1 - e^{p_k T_d} z^{-1}}\),将每一项映射到 Z 域。

    11. 得到数字滤波器系统函数:

      \(H(z) = \sum_{k=1}^{N} \frac{T_d A_k}{1 - e^{p_k T} z^{-1}}\)

image.png

双线性变换法 (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)\)

    1. 确定数字滤波器指标

    2. 给定 \(\Omega_p, \Omega_s, \alpha_p, \alpha_s\)

    3. 频率预畸变 (Pre-warping)

    4. 由于频率映射是非线性的,必须先对数字截止频率进行预畸变,得到修正后的模拟频率 \(\omega\)

      \(\omega = \frac{2}{T} \tan\left(\frac{\Omega}{2}\right),\Omega=\arctan (\frac{\omega T}{2})\)

    5. 设计模拟滤波器原型 \(H_a(s)\)

    6. 根据预畸变后的模拟指标 \((\Omega_p, \Omega_s, \alpha_p, \alpha_s)\),设计模拟滤波器得到 \(H_a(s)\)

    7. 代数替换 (S 域到 Z 域)

    8. 直接将 \(H_a(s)\) 中的 \(s\) 替换为双线性变换公式:

      \(s = \frac{2}{T} \frac{1 - z^{-1}}{1 + z^{-1}}\)

    9. 化简整理

    10. 将替换后的式子通分、整理,化简为标准的 \(H(z)\) 形式(分子分母为 \(z^{-1}\) 的多项式)。

image.png

方法 脉冲响应不变法 (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)是恒定的一常数。波形整体延迟,波形保持不失真

  • 如果我们用非线性相位的滤波器,导致波形被“拉伸”或“挤压”,这种相位的变化叫作相位畸变

image.png

  • 数学条件: 单位脉冲响应 \(h[n]\) 必须具备对称性
    • \(h[n] = h[N-1-n]\)(偶对称)
    • \(h[n] = -h[N-1-n]\)​(奇对称)

线性相位系统

\[ H_{id}(\Omega)=e^{-j\Omega \alpha},|\Omega|\le \pi \]

式中\(\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]\)​作为设计线性相位系统的条件

image.png

image.png

image.png

窗函数设计法 (Window Method)

窗函数满足前面所述的对称条件。理想的滤波器(比如完美的矩形低通)在时域上是一个无限长的 sinc 函数。我们无法实现无限长的东西,所以必须“截断”。

对理想滤波器的脉冲响应\(h_d [n]\)(无限长,非因果序列),用窗函数截断,得到具有对称性的有限长因果序列\(h[n]\)

image.png

带来的副作用: 当你用窗函数截断时,在频域会与sinc函数卷积,导致:

  1. 过渡带出现:时域中窗函数的下降线变成了斜坡。斜坡的宽度由窗函数的主瓣宽度决定。
  2. 纹波出现:在截断点附近会出现波纹(振荡)。纹波波动的大小由窗函数的旁瓣大小决定。

常见窗函数的权衡 (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\)​ 可以使过渡带变窄,但不能减小阻带的波动(波动大小只取决于窗的种类)。

image.png