ESC
输入关键词搜索文章
目录

数字滤波器基础与分析

从系统函数到频率响应
FIR / IIR、零极点、理想响应、公差带、巴特沃斯原型
6大组结构
5+完整例题
4滤波器类型
FIR/IIR基础分析

章前回顾:频域分析的工具链

课件: 章前族谱--傅里叶变换分叉出拉普拉斯与 Z 变换,离散支再分出 DFT/FFT;右侧上下并列写出连续与离散系统的频率响应公式
图 1:章前族谱--频域分析工具链总览(来源:课件)

这一章是前面所有 DSP 知识汇合的地方。章前用一张"族谱"把整条频域分析的工具链重新串起来:

第一层 - 变换族:怎么描述一个系统

  • 傅里叶变换是根。它向两个方向分叉:
    • 连续域 → 拉普拉斯变换(频点用 $j\Omega$,$\Omega$ 为模拟角频率)
    • 离散域 → Z 变换(频点用 $e^{j\omega}$,$\omega$ 为数字角频率)
  • 离散这一支再向下分出 DFT / FFT:前者是数学定义(有限长序列在离散频点上的频谱采样),后者是它的快速算法。

第二层 - 频率响应:怎么刻画系统的频域行为

  • 连续系统的频率响应:$H(j\Omega)=|H(j\Omega)|\,e^{j\varphi(\Omega)}$,其中 $|H(j\Omega)|$ 是幅频响应,$\varphi(\Omega)$ 是相频响应。
  • 离散系统的频率响应:$H(e^{j\omega})=|H(e^{j\omega})|\,e^{j\varphi(\omega)}$,其中 $|H(e^{j\omega})|$ 是幅频响应,$\varphi(\omega)$ 是相频响应。
  • 两者在结构上完全平行,差别只在频点变量。
从描述到设计--进入滤波器章节的转折:前面所有内容都是"给定一个系统,求它的频域表现"。从这一章开始反过来:给定一个目标频率响应 $|H(e^{j\omega})|$,设计一个 $H(z)$ 让它实现。滤波器,就是这个目标响应的人为选择--低通保留低频、砍掉高频,高通反过来,带通取中间一段,带阻挖掉一段。剩下要解决的全部问题(IIR/FIR 选择、模拟原型、双线性变换、窗函数、级联/并联结构、字长效应),都是在解决"如何把目标 $|H|$ 变成可实现的 $H(z)$"。

前置知识回顾

数字滤波器是前面所有 DSP 基础的汇合点。读这一节前,建议先把下面几条线串起来:

  • 差分方程:知道 $y[n]$ 可以由当前/过去输入和过去输出递推得到。可回看 离散时间信号与系统
  • Z 变换与系统函数:理解 $H(z)=Y(z)/X(z)$,知道极点、零点和 ROC 的意义。可回看 Z 变换
  • DTFT 与频率响应:知道 $H(e^{j\omega})$ 描述系统对不同频率复指数的放大和相移。可回看 DTFT
  • DFT/FFT:实际计算频率响应时,经常用 DFT 采样和 FFT 快速实现。可回看 DFT 与 FFT
一、基本模型
从"滤波是什么"到系统函数

数字滤波器和模拟滤波器在功能上没有本质差别,目标都是保留某些频率成分、压制另一些频率成分。低通保留慢变化,高通强调快速变化,带通提取某个频带,带阻抑制某个频带。

区别在于实现方式。模拟滤波器由电阻、电容、电感或运放等硬件实现;数字滤波器由差分方程、系统函数和数值运算实现。一个 LTI 数字滤波器可以同时用三种方式描述:

  • 差分方程:直接说明输入输出样本如何递推。
  • 单位抽样响应:$h[n]$ 描述系统对 $\delta[n]$ 的响应,输出为 $y[n]=x[n]*h[n]$
  • 系统函数:$H(z)=Y(z)/X(z)$ 把时域递推变成复平面上的有理函数。

常系数差分方程的一般形式为

$$\sum_{k=0}^{N}a_k y[n-k]=\sum_{m=0}^{M}b_m x[n-m].$$

零初始条件下取 Z 变换,得到

$$H(z)=\frac{Y(z)}{X(z)}=\frac{\sum_{m=0}^{M}b_m z^{-m}}{\sum_{k=0}^{N}a_k z^{-k}}.$$
PDF系统函数:从 X(z) 到 Y(z) 的结构表示p.4
正在渲染 PDF 第 4 页…
系统函数:从 X(z) 到 Y(z) 的结构表示(PDF 第 4 页) · 打开原文

这里用 Z 变换而不是直接用傅里叶变换,是因为 $H(z)$ 描述的是系统在整个复平面上的结构:分子给零点,分母给极点,收敛域还能进一步判断因果性和稳定性。傅里叶变换只看单位圆上的频率表现,即把 $z=e^{j\omega}$ 代入后得到的 $H(e^{j\omega})$。所以通常先用 Z 变换求系统函数,再从系统函数读出频率响应。

为什么专门看单位圆?因为 $z=re^{j\omega}$ 中,角度 $\omega$ 表示振荡频率,半径 $r$ 表示序列包络是否随时间指数增长或衰减。只有当 $r=1$ 时,输入 $e^{j\omega n}$ 才是幅度不变的纯频率分量。数字滤波器的"滤波效果"问的正是:输入某个频率的正弦或复指数后,输出被放大多少、相移多少。因此要看单位圆上的 $H(e^{j\omega})$,其中 $|H(e^{j\omega})|$ 是幅度响应,$\arg H(e^{j\omega})$ 是相位响应。

滤波器分析的核心就是读懂这个 $H(z)$:它的分子给零点,分母给极点;它在单位圆上的取值 $H(e^{j\omega})$ 就是频率响应。

FIR 与 IIR:有没有反馈,决定了系统性格

按单位抽样响应(impulse response)是否会无限延续,数字滤波器最常见地分为 FIR 和 IIR。这里的名字本身就说明了差别:

FIR / IIR 的英文全称

  • FIR:Finite Impulse Response,有限长单位冲激响应滤波器。一个冲激输入进去,输出只响有限多拍,之后归零。
  • IIR:Infinite Impulse Response,无限长单位冲激响应滤波器。一个冲激输入进去,由于系统内部有反馈,输出理论上会一直拖尾。

"单位冲激响应"可以理解成系统被敲一下之后的回声。FIR 像敲一下桌面:响几下就没了;IIR 像带回声的房间:声音会在内部反复反射,越来越小或者越来越大。这里的关键不是名字,而是有没有把过去的输出再喂回系统

类型英文差分方程系统函数冲激响应核心特征
FIRFinite Impulse Response$y[n]=\sum_{m=0}^{M}b_m x[n-m]$$H(z)=\sum_{m=0}^{M}b_m z^{-m}$有限长无反馈,天然稳定,容易做线性相位
IIRInfinite Impulse Response$y[n]=\sum_{m=0}^{M}b_mx[n-m]-\sum_{k=1}^{N}a_ky[n-k]$$H(z)=\frac{\sum_{m=0}^{M}b_mz^{-m}}{1+\sum_{k=1}^{N}a_kz^{-k}}$通常无限长有反馈,低阶高效,但稳定性由极点控制

FIR:只记住有限段过去输入

FIR 的输出只依赖当前和过去若干个输入样本,不依赖过去输出。例如二点滑动平均

$$y[n]=\frac{1}{2}x[n]+\frac{1}{2}x[n-1]$$

对应的冲激响应只有两项:

$$h[n]=\frac{1}{2}\delta[n]+\frac{1}{2}\delta[n-1].$$

这就是"有限长"的意思:冲激输入只让系统响两拍。因为没有反馈,系统不会自己把能量滚起来,所以 FIR 只要系数有限,就天然 BIBO 稳定。

IIR:把过去输出再反馈回来

IIR 的输出会依赖过去输出。最简单的一阶例子是

$$y[n]=x[n]+ay[n-1].$$

如果输入是一个单位冲激 $\delta[n]$,输出会变成

$$h[n]=a^n u[n].$$

只要 $a\ne0$,这个序列理论上永远不会在有限时间后精确归零,所以叫 Infinite Impulse Response。它的好处是:用一个反馈系数就能形成很长的指数尾巴,因此低阶 IIR 就能做出较陡的频率选择性;风险是:如果反馈太强,也就是极点跑到单位圆外,尾巴会越滚越大,系统不稳定。

选择直觉:如果任务强调严格线性相位、稳定性和实现简单,优先考虑 FIR;如果任务强调用较低阶数获得陡峭过渡带,常考虑 IIR,但必须检查极点是否在单位圆内。

理想响应:完美矩形频响为什么不能直接实现

先把目标说清楚:所谓"理想低通",就是希望所有低频原封不动通过,所有高频完全砍掉。若截止频率是 $\omega_c$,理想幅频响应可以写成

$$H_d(e^{j\omega})=\begin{cases}1,&|\omega|\le \omega_c,\\0,&\omega_c<|\omega|\le \pi. \end{cases}$$

这张图就是它的样子:中间一段完全平坦,两侧突然掉到 0。它在频域非常漂亮,但"突然掉下去"这件事,正是麻烦的来源。

理想低通滤波器的矩形幅频响应JSXGraph
理想低通滤波器的矩形幅频响应
关键直觉:频域里切得越干净,时域里拖得越长。理想低通的"无限锋利边界"会变成时域中无限长的振荡尾巴。

为什么会这样?因为冲激响应 $h_d[n]$ 是频率响应 $H_d(e^{j\omega})$ 的反 DTFT:

$$h_d[n]=\frac{1}{2\pi}\int_{-\omega_c}^{\omega_c}e^{j\omega n}\,d\omega.$$

$n\ne0$ 时,积分结果为

$$h_d[n]=\frac{\sin(\omega_c n)}{\pi n};$$

$n=0$ 时,极限值为 $h_d[0]=\omega_c/\pi$。如果用 sinc 函数 的写法,也常写成

$$h_d[n]=\frac{\omega_c}{\pi}\operatorname{sinc}\left(\frac{\omega_c n}{\pi}\right).$$

这里的重点不是记住某个写法,而是看懂图像:它不是只在有限几个采样点非零,而是向左、向右都无限延伸,并且一边振荡一边慢慢衰减。

理想低通对应的 sinc 型冲激响应JSXGraph
理想低通对应的 sinc 型冲激响应

于是理想低通有两个实现障碍。第一,它的 $h_d[n]$ 对所有正负 $n$ 都可能非零,长度无限;真实滤波器不能存储和计算无限多个抽头。第二,它在 $n<0$ 的位置也有值,这意味着输出当前样本时需要用到"未来输入",所以通常是非因果的。

理想滤波器不是设计结果,而是逼近目标

课程里画理想低通,是为了说明"想要什么频率选择性",不是说真实系统可以直接实现这个矩形响应。

真正的 FIR/IIR 设计,就是在通带起伏、阻带衰减、过渡带宽、阶数和稳定性之间折中:允许边界不那么锋利,换来因果、稳定、有限复杂度的系统。

实际幅频响应:把"想要什么"翻译成"能接受什么"

理想低通是一张"完美账单"--低频 1、高频 0、过渡带为 0。但工程里永远做不出这种账单,只能给它一个容差区间,把"必须严格"换成"必须落在某条带子里"。这就是低通滤波器的实际幅频特性曲线:

课件: 实际低通滤波器的幅频特性曲线与公差带--通带在 [1-δ1, 1+δ1] 之间,过渡带宽 [ωp, ωst],阻带落在 δ2 以下
图 2:实际低通滤波器的幅频特性与公差带(来源:课件)

横轴是数字角频率 $\omega$,从 $0$ 一直走到 $\pi$;纵轴是幅频响应 $|H(e^{j\omega})|$。曲线在三个频段里分别遵守不同的"规矩":

频段 频率范围 $|H|$ 的要求 容差项 工程含义
通带 $0 \le \omega \le \omega_p$ $1-\delta_1 \le |H(e^{j\omega})| \le 1+\delta_1$ 通带纹波 $\delta_1$ 希望信号几乎无失真地通过,允许小幅起伏
过渡带 $\omega_p < \omega < \omega_{st}$ $1+\delta_1$ 单调下降到 $\delta_2$ 过渡带宽 $\Delta\omega = \omega_{st}-\omega_p$ 不可避免的"渐变区",越窄说明选择性越强
阻带 $\omega_{st} \le \omega \le \pi$ $|H(e^{j\omega})| \le \delta_2$ 阻带纹波 $\delta_2$ 希望噪声/干扰被压到几乎为零,允许极小残余

用对数刻度(dB)写更直观:

$$A_p = 20\log_{10}\frac{1+\delta_1}{1-\delta_1},\qquad A_s = -20\log_{10}\delta_2.$$

对绝大多数工程设计,$\delta_1,\delta_2\ll 1$,可以近似为 $A_p\approx 20\log_{10}(1+\delta_1)\approx 17.4\delta_1\,\text{dB}$,$A_s\approx -20\log_{10}\delta_2\,\text{dB}$。这两个 dB 值就是给设计方法(巴特沃斯、切比雪夫、椭圆、凯泽窗...)的目标输入。

滤波器设计的全部内容:给定这四个指标 $(\omega_p,\omega_{st},A_p,A_s)$,用 FIR 还是 IIR、用什么原型、阶数要多少、用哪种结构实现--所有方法都是在做同一件事:在保证 $|H|$ 落在容差带内的前提下,最小化阶数或计算量。能落进带子里就行,落在带子外的不是滤波器,是噪声。

四类基本滤波器:低通、高通、带通、带阻

四类基本滤波器可以先按"通带保留哪里、阻带压制哪里"来记。阅读时不要只记名字,而要盯住通带、阻带和过渡带的位置。

四种理想响应:四个矩形脉冲一张图

把四类基本滤波器放在一张图里看会更直观。四种理想滤波器的幅频响应本质上是四个不同位置摆放的矩形脉冲--只是 1 这条带子中心在 $\omega$ 轴上的位置不同:

四种基本滤波器的理想幅频特性(对称形式)JSXGraph
四种基本滤波器的理想幅频特性(对称形式)

四张图的区别只在"1 这条带子放在哪":

  • 低通:矩形居中,$|\omega|<\omega_c$ 通过,其余阻断。
  • 高通:矩形在两端,$|\omega|>\omega_c$ 通过,中间阻断。
  • 带通:矩形在中段,$\omega_L<|\omega|<\omega_H$ 通过,两侧阻断。
  • 带阻:矩形在两端与中央,$\omega_L<|\omega|<\omega_H$ 阻断,其余通过。
记住捷径:看完四种理想矩形,立刻跳回上一节的公差带--理想版本是"目标形状",公差带是"必须落在哪"。后面所有 IIR/FIR 设计方法,本质都在解决"如何把目标矩形压成公差带内可接受的曲线"。
滤波器类型通带保留阻带压制典型用途
低通低频高频平滑、去高频噪声、抗混叠预滤波
高通高频低频去直流、边缘/突变检测
带通某一频段频段外提取载波、语音频段、谐振成分
带阻除某一频段外某一频段陷波、去 50/60 Hz 工频干扰

实际设计时还要给出通带边界、阻带边界、通带起伏和阻带衰减。没有这些指标,就谈不上"设计",只能说是"想要某种大概效果"。

二、频域判断
用零极点和例题读懂滤波效果

前一组回答了"滤波器如何表示"。接下来要回答的是"如何从这个表示判断它到底在滤什么"。关键入口不是盯着差分方程的外形猜,而是把系统函数放到单位圆上看。

零极点几何:系统函数如何决定滤波效果

$z$ 限制在单位圆上,令 $z=e^{j\omega}$,就得到频率响应。若系统函数写成

$$H(z)=G\frac{\prod_i(z-z_i)}{\prod_k(z-p_k)},$$

则单位圆上某一点 $e^{j\omega}$ 的响应大小可理解为:

$$|H(e^{j\omega})|=|G|\frac{\prod_i |e^{j\omega}-z_i|}{\prod_k |e^{j\omega}-p_k|}.$$

这给出一个非常好用的几何直觉:单位圆上的频点离零点越近,响应越小;离极点越近,响应越大。零点负责"挖坑",极点负责"抬峰"。

稳定性底线:因果 IIR 滤波器稳定要求所有极点严格在单位圆内。这个结论来自 Z 变换里的 ROC 逻辑:因果系统的 $h[n]$ 是右边序列,ROC 在最外极点之外;稳定又要求单位圆落在 ROC 内,所以最外极点必须小于 1。可回看 Z 变换:右边序列、ROC 与因果系统。零点可以在单位圆外,但极点不能。

直觉理解:极点像反馈回声的衰减因子

可以把一个因果 IIR 系统想成"输入激发一次,系统内部会一圈圈反馈回声"。一阶系统 $H(z)=1/(1-az^{-1})$ 的冲激响应是 $h[n]=a^n u[n]$:第一拍是 1,下一拍剩 $a$,再下一拍剩 $a^2$,之后是 $a^3,a^4,\ldots$

如果 $|a|<1$,每绕一圈都乘上一个小于 1 的数,回声越来越小,尾巴虽然无限长,但总量有限,所以稳定;如果 $|a|>1$,每绕一圈都被放大,哪怕输入只有一个冲激,输出也会越滚越大,系统就不稳定。单位圆半径正好是"乘一次后不变大也不变小"的边界,所以极点必须落在单位圆内。

多极点系统也可以这样看:每个极点都对应一种指数模式。只要有一个极点在单位圆外,就有一种内部模式会放大;只有所有极点都在单位圆内,所有反馈模式才都会衰减。

四种基本滤波器的零极点分布

上一节的几何直觉可以反过来用:要构造某种选择性,就在单位圆上挑位置

  • 保留哪个频段,就在相应角度的单位圆内靠近该频点处放极点(抬峰)。
  • 阻断哪个频段,就在相应角度的单位圆附近零点(挖坑)。
  • 极点必须严格落在单位圆内,否则系统不稳定;零点可以落在任何位置。
四种基本滤波器的零极点分布JSXGraph
四种基本滤波器的零极点分布

把图展开来读一遍:

  • 低通:极点放在正实轴上的单位圆内(靠近原点),让 $\omega=0$ 附近的频点靠近极点而被放大;通常不配零点(实数系数的一阶 LPF 已经是典型形态)。
  • 高通:在 $z=1$(即 $\omega=0$ 处)放零点挖掉低频,极点放在 $z=1$ 附近的单位圆内,把高频抬起来。
  • 带通:在 $z=1$$z=-1$(即 $\omega=0$$\omega=\pi$ 处)放零点挖掉直流和最高频,极点作为共轭对放在某中心频率 $\pm\omega_c$ 附近的单位圆内,把中间的 $\omega_c$ 抬起来。
  • 带阻:在想要阻断的频段位置($\pm\omega_L$$\pm\omega_H$,对称)放在单位圆上的零点挖坑,极点放在零点附近但严格在单位圆内,把坑挖尖但不破坏稳定性。
稳定性提醒:注意带阻图中那 4 个极点都贴着单位圆但都在圆内--这是设计陷波滤波器的典型做法:要在窄带内"挖到几乎为零"又不能让极点真的跑到圆外失稳,所以零点在圆上挖坑、极点在圆内几毫米处撑住。圆上能放零点但不能放极点
三、巴特沃斯
巴特沃斯滤波器:从指标到系统函数的完整设计链

巴特沃斯(Butterworth)是最基础的模拟低通原型,核心特点是通带内最平坦(幅度函数在 $\Omega=0$ 处的前 $2N-1$ 阶导数全为零),代价是过渡带较宽、相同指标下阶数最高。下面按“定义 → 指标到参数 → 极点 → 系统函数”的顺序,把完整设计链路讲清楚。切比雪夫、椭圆、贝塞尔等原型见后续章节。

幅度平方函数

Butterworth 幅度平方函数

$$|H_a(j\Omega)|^2=\frac{1}{1+\left(\frac{\Omega}{\Omega_c}\right)^{2N}}.$$

$N$ 为阶数,$\Omega_c$ 为 3 dB 截止频率($|H_a(j\Omega_c)|^2=1/2$)。无论 $N$ 多大,所有幅度曲线都精确穿过 $(\Omega_c,\,1/\sqrt{2})$ 点。

3 dB 点(半功率点):幅度下降到通带最大值 $1/\sqrt{2}\approx0.707$ 倍处的频率。$20\lg(1/\sqrt{2})\approx-3$ dB;功率正比于幅度平方,此时功率 $=1/2$,故也叫"半功率点"。设计题中若只给"截止频率 $f_c$"而未注明衰减值,通常按 3 dB 点处理($\alpha_p=3$ dB)。

从指标到参数:$\lambda_{sp}$$k_{sp}$$k_1$

设计题的标准输入是四个指标:通带边界 $\Omega_p$、阻带边界 $\Omega_s$、通带最大衰减 $\alpha_p$(dB)、阻带最小衰减 $\alpha_s$(dB)。但阶数公式不是直接用这四个原始量--需要先做两步归一化,把指标压缩成两个无量纲参数。

三个中间参数

频率归一化比(过渡带比):

$$\lambda_{sp}=\frac{\Omega_s}{\Omega_p}.$$

它衡量过渡带有多宽:$\lambda_{sp}$ 越大(阻带边界离通带边界越远),对滤波器的要求越宽松,所需阶数越低。

选择参数:

$$k_{sp}=\frac{1}{\lambda_{sp}}=\frac{\Omega_p}{\Omega_s}.$$

$k_{sp}<1$,越接近 1 说明过渡带越窄、设计越难。

区分度参数:

$$k_1=\sqrt{\frac{10^{0.1\alpha_p}-1}{10^{0.1\alpha_s}-1}}.$$

它衡量衰减差有多悬殊:$\alpha_s$$\alpha_p$ 大得越多,$k_1$ 越小,说明阻带比通带压得深得多,需要更高阶数才能实现这种落差。

为什么要定义 $\lambda_{sp}$$k_1$?因为阶数只取决于两个无量纲比值--"过渡带有多窄"($\lambda_{sp}$)和"衰减差有多大"($k_1$)。把它们分离出来,阶数公式就可以写成极其简洁的形式。考试时如果题目给了 $\Omega_p, \Omega_s, \alpha_p, \alpha_s$,第一步永远是先算 $\lambda_{sp}$$k_1$

阶数公式

用中间参数表示,阶数公式极其简洁:

$$N\ge\frac{\lg k_1}{\lg k_{sp}}=\frac{\lg\sqrt{\frac{10^{0.1\alpha_p}-1}{10^{0.1\alpha_s}-1}}}{\lg\frac{\Omega_p}{\Omega_s}}.$$

取不小于此值的最小整数

分子 $\lg k_1<0$(因为 $k_1<1$)、分母 $\lg k_{sp}<0$(因为 $k_{sp}<1$),负负得正。等价写法:

$$N\ge\frac{\lg\left[(10^{0.1\alpha_s}-1)/(10^{0.1\alpha_p}-1)\right]}{2\lg(\Omega_s/\Omega_p)}.$$

推导逻辑(不是死记公式,而是理解它怎么来的):

  1. 在通带边界 $\Omega_p$ 处,要求 $|H_a(j\Omega_p)|^2\ge 10^{-0.1\alpha_p}$,代入幅度平方函数得 $\Omega_c^{2N}\ge\Omega_p^{2N}/(10^{0.1\alpha_p}-1)$
  2. 在阻带边界 $\Omega_s$ 处,要求 $|H_a(j\Omega_s)|^2\le 10^{-0.1\alpha_s}$,代入得 $\Omega_c^{2N}\le\Omega_s^{2N}/(10^{0.1\alpha_s}-1)$
  3. 两式联立,消去 $\Omega_c$,就得到阶数 $N$ 的下界。

截止频率 $\Omega_c$ 的确定

求出 $N$ 后(向上取整),$\Omega_c$ 不是唯一确定的--阶数取整后有余量。有两种口径:

  • 通带精确(牺牲阻带余量):$\Omega_c=\Omega_p\bigl(10^{0.1\alpha_p}-1\bigr)^{-1/(2N)}$。保证通带恰好满足 $\alpha_p$,阻带会有富裕。
  • 阻带精确(牺牲通带余量):$\Omega_c=\Omega_s\bigl(10^{0.1\alpha_s}-1\bigr)^{-1/(2N)}$。保证阻带恰好满足 $\alpha_s$,通带会有富裕。

工程上取两者之间的值都行,考试中通常按通带精确口径计算。

极点分布

$\Omega^2=-s^2$ 代入 $|H_a(j\Omega)|^2$ 得到 $H_a(s)H_a(-s)=1/[1+(s/j\Omega_c)^{2N}]$。令分母为零,解出 $2N$ 个极点均匀分布在半径 $\Omega_c$ 的圆上:

$$s_k=\Omega_c\,e^{j\pi\left(\frac{1}{2}+\frac{2k+1}{2N}\right)},\qquad k=0,1,\ldots,2N-1.$$

相邻极点角度间隔 $\pi/N$,$N$ 为奇数时实轴上有极点、$N$ 为偶数时没有。取左半平面$N$ 个极点构成因果稳定的 $H_a(s)$(右半平面的归给 $H_a(-s)$)。Butterworth 是全极点滤波器--分子为常数、无有限零点。

PDFButterworth 极点分布推导:H_a(s)H_a(-s) 与全极点特性p.64
正在渲染 PDF 第 64 页…
Butterworth 极点分布推导:H_a(s)H_a(-s) 与全极点特性(PDF 第 64 页) · 打开原文
PDFButterworth 极点分布规律与图 6-18:三阶与四阶在 s 平面的极点位置p.65
正在渲染 PDF 第 65 页…
Butterworth 极点分布规律与图 6-18:三阶与四阶在 s 平面的极点位置(PDF 第 65 页) · 打开原文

归一化系统函数与去归一化

实际计算时,工程上几乎总是走"归一化 → 查表 → 去归一化"的路线,而不是每次从头解极点方程:

  1. 归一化:取 $\Omega_c=1$,写出归一化低通系统函数 $H_{an}(s)=1/B_N(s)$,其中 $B_N(s)$$N$ 阶 Butterworth 多项式。前几阶可以直接查表:
$N$$B_N(s)$(归一化分母多项式)
1$s+1$
2$s^2+\sqrt{2}\,s+1$
3$s^3+2s^2+2s+1$
4$s^4+2.613\,s^3+3.414\,s^2+2.613\,s+1$
5$s^5+3.236\,s^4+5.236\,s^3+5.236\,s^2+3.236\,s+1$
6$s^6+3.864\,s^5+7.464\,s^4+9.141\,s^3+7.464\,s^2+3.864\,s+1$
  1. 去归一化:做频率代换 $s\to s/\Omega_c$(把截止频率从 1 搬到目标 $\Omega_c$),同时乘 $\Omega_c^N$ 保证增益归一:
$$H_a(s)=\Omega_c^N\cdot H_{an}\!\left(\frac{s}{\Omega_c}\right)=\frac{\Omega_c^N}{B_N(s/\Omega_c)}.$$

完整设计流程速查

Butterworth 低通设计五步:
  1. 算中间参数:$\lambda_{sp}=\Omega_s/\Omega_p$,$k_1=\sqrt{(10^{0.1\alpha_p}-1)/(10^{0.1\alpha_s}-1)}$;
  2. 定阶数:$N\ge\lg k_1\,/\,\lg(1/\lambda_{sp})$,向上取整;
  3. 定截止频率:$\Omega_c=\Omega_p(10^{0.1\alpha_p}-1)^{-1/(2N)}$(通带精确口径);
  4. 查表:按 $N$ 查归一化多项式 $B_N(s)$;
  5. 去归一化:$H_a(s)=\Omega_c^N/B_N(s/\Omega_c)$,展开整理即得最终 $H_a(s)$

这个流程也解释了为什么例题里"先算 N、次定 $\Omega_c$、再套 $B_N$"--每一步都对应上面设计流程的一个环节。

PDFButterworth 系统函数:H_a(s) 构造与归一化、去归一化频率代换p.66
正在渲染 PDF 第 66 页…
Butterworth 系统函数:H_a(s) 构造与归一化、去归一化频率代换(PDF 第 66 页) · 打开原文
PDFButterworth 低通逼近:幅度平方函数与最平坦特性p.62
正在渲染 PDF 第 62 页…
Butterworth 低通逼近:幅度平方函数与最平坦特性(PDF 第 62 页) · 打开原文
PDFButterworth 幅度函数特点与图 6-17:不同阶数 N 的幅度特性对比p.63
正在渲染 PDF 第 63 页…
Butterworth 幅度函数特点与图 6-17:不同阶数 N 的幅度特性对比(PDF 第 63 页) · 打开原文
PDFButterworth 设计步骤与阶数公式p.67
正在渲染 PDF 第 67 页…
Butterworth 设计步骤与阶数公式(PDF 第 67 页) · 打开原文
PDF由幅度平方函数反求系统函数:Ω2=-s2 代换、取左半平面极点与定增益常数p.61
正在渲染 PDF 第 61 页…
由幅度平方函数反求系统函数:Ω2=-s2 代换、取左半平面极点与定增益常数(PDF 第 61 页) · 打开原文

从低通到高通:频率变换法

前面讲的都是低通原型设计。如果目标滤波器是高通、带通或带阻,不需要从头来--只要把低通原型通过频率变换转换过去。这里先讲高通。

课件: 巴特沃斯模拟高通滤波器设计--指标转换、设计步骤、低通归一化原型与高通幅频特性对比
巴特沃斯模拟高通滤波器设计流程与频响示意(来源:课件)

高通滤波器的指标用下标 $h$ 标记:通带截止 $\Omega_{ph}$、阻带截止 $\Omega_{sh}$、通带衰减 $\alpha_p$、阻带衰减 $\alpha_s$。注意高通的 $\Omega_{sh}<\Omega_{ph}$(阻带在低频侧)。

Butterworth 模拟高通设计五步

  1. 高通指标 → 低通归一化指标:令 $\lambda_p=1$,$\lambda_s=\Omega_{ph}/\Omega_{sh}$。因为 $\Omega_{ph}>\Omega_{sh}$,所以 $\lambda_s>1$--低通原型的阻带在右侧,这正好对应高通阻带在左侧的镜像翻转。
  2. 定阶数 $N$:用 Butterworth 低通阶数公式
    $$N\ge\frac{\lg\big[(10^{0.1\alpha_s}-1)/(10^{0.1\alpha_p}-1)\big]}{2\lg\lambda_s}.$$
  3. 查表写归一化低通 $G_a(p)$:按 $N$$B_N(p)$ 表,$G_a(p)=1/B_N(p)$
  4. 定归一化 3 dB 截止频率 $\lambda_c$:
    $$\lambda_c=\lambda_p\bigl(10^{0.1\alpha_p}-1\bigr)^{-1/(2N)}=\bigl(10^{0.1\alpha_p}-1\bigr)^{-1/(2N)}.$$

    (因为 $\lambda_p=1$。)

  5. 频率代换得高通 $H_{HP}(s)$:令
    $$p=\frac{\Omega_{ph}}{s\,\lambda_c},$$

    代入 $G_a(p)$ 得到高通系统函数:

    $$H_{HP}(s)=G_a\!\left(\frac{\Omega_{ph}}{s\,\lambda_c}\right).$$
关键变换 $p=\Omega_{ph}/(s\lambda_c)$ 的含义:它把低通变量 $p$ 换成 $1/s$ 的函数--$s\to\infty$(高频)时 $p\to 0$(低通通带),$s\to 0$(低频/直流)时 $p\to\infty$(低通阻带)。正是这种"频率倒转"把低通形状翻成了高通形状。$\Omega_{ph}/\lambda_c$ 这个系数保证了通带边界恰好落在 $\Omega_{ph}$ 处。

带通和带阻的设计思路完全类似--只是频率变换的代换式不同(带通用 $p=\frac{\Omega_0}{B}\left(\frac{s}{\Omega_0}+\frac{\Omega_0}{s}\right)$,带阻用 $p=\frac{\Omega_0}{B}\left(\frac{s}{\Omega_0}+\frac{\Omega_0}{s}\right)^{-1}$)。详细的频率变换公式表见 IIR 设计 · 数字频带变换法

例题区

例题 4:双线性变换法设计一阶巴特沃斯低通数字滤波器

题目:用双线性变换法设计一个一阶巴特沃斯低通数字滤波器,要求通带最大衰减 $\alpha_p=3$ dB,通带截止频率 $f_p=200$ Hz,采样频率 $f_s=1$ kHz。画出结构流图。

已知:$\alpha_p=3$ dB,$f_p=200$ Hz,$f_s=1000$ Hz,$T=1/f_s=10^{-3}$ s,$N=1$

  1. 数字截止频率:
    $$\omega_p=\frac{2\pi f_p}{f_s}=\frac{2\pi\times 200}{1000}=0.4\pi$$
  2. 预畸变(双线性变换频率映射):
    $$\Omega_p=\frac{2}{T}\tan\frac{\omega_p}{2}=2000\tan(0.2\pi)\approx 2000\times 0.7265=1453.1\text{ rad/s}$$
  3. $\Omega_c$因为 $\alpha_p=3$ dB 恰好是巴特沃斯的 3 dB 截止点,所以 $\Omega_c=\Omega_p=1453.1$ rad/s。
  4. 写归一化原型 $B_1(p)=p+1$
    $$H_{an}(p)=\frac{1}{p+1}$$
  5. 去归一化($p\to s/\Omega_c$):
    $$H_a(s)=\frac{\Omega_c}{s+\Omega_c}=\frac{1453.1}{s+1453.1}$$
  6. 双线性变换 $s=\dfrac{2}{T}\cdot\dfrac{1-z^{-1}}{1+z^{-1}}=2000\cdot\dfrac{1-z^{-1}}{1+z^{-1}}$
    $$\begin{aligned} H(z)&=\frac{1453.1}{2000\frac{1-z^{-1}}{1+z^{-1}}+1453.1}\\ &=\frac{1453.1(1+z^{-1})}{(2000+1453.1)+(1453.1-2000)z^{-1}}\\ &=\frac{1453.1(1+z^{-1})}{3453.1-546.9z^{-1}} \end{aligned}$$
  7. 归一化分母:
    $$H(z)=\frac{0.4208(1+z^{-1})}{1-0.1584z^{-1}}=\frac{0.4208+0.4208z^{-1}}{1-0.1584z^{-1}}$$

差分方程:

$$y[n]=0.4208\,x[n]+0.4208\,x[n-1]+0.1584\,y[n-1]$$

结构流图(直接 I 型):

$x[n]\to 0.4208\to\oplus\to y[n]$,同时 $x[n-1]\to 0.4208\to\oplus$$y[n-1]\to 0.1584\to\oplus$

即:输入 $x[n]$ 乘以 $0.4208$,前一次输入 $x[n-1]$ 乘以 $0.4208$,前一次输出 $y[n-1]$ 乘以 $0.1584$,三者相加得到 $y[n]$

验证:代入 $z=e^{j0.4\pi}$$|H(e^{j0.4\pi})|=0.7071=1/\sqrt{2}$,即 $-3.01$ dB ✓,恰好满足 $\alpha_p=3$ dB 的指标。
关键技巧:$\alpha_p=3$ dB 时,巴特沃斯的 $\Omega_c$ 直接等于 $\Omega_p$,无需按 $\Omega_c=\Omega_p(10^{0.1\alpha_p}-1)^{-1/(2N)}$ 计算(因为 $10^{0.3}-1\approx 0.995\approx 1$,指数 $-1/(2\times1)=-0.5$,开根号约等于 1)。
四、切比雪夫
切比雪夫滤波器:用通带波纹换过渡陡峭

Chebyshev I 型幅度平方函数

$$|H_a(j\Omega)|^2=\frac{1}{1+\varepsilon^2\,T_N^2\left(\frac{\Omega}{\Omega_p}\right)}.$$

$T_N(x)$$N$ 阶 Chebyshev 多项式,$\varepsilon$ 控制通带波纹幅度。

Chebyshev 多项式 $T_N(x)$

Chebyshev 多项式的递推定义为

$$T_0(x)=1,\quad T_1(x)=x,\quad T_{N+1}(x)=2xT_N(x)-T_{N-1}(x).$$

其封闭形式为 $T_N(x)=\cos(N\arccos x)$(当 $|x|\le 1$ 时),在 $[-1,1]$ 上等幅振荡于 $\pm 1$ 之间;当 $|x|>1$ 时,$T_N(x)=\cosh(N\cosh^{-1}x)$,这解释了 Chebyshev 阶数公式为什么会出现反双曲余弦函数。

Chebyshev I 型的特点是:

  • 通带内等波纹(波纹大小由 $\varepsilon$ 控制),阻带单调下降。
  • 过渡带比 Butterworth 更陡,相同指标下阶数更低。
  • 极点分布在左半平面的椭圆上(而非 Butterworth 的圆上)。

Chebyshev 阶数公式

$$N\ge\frac{\cosh^{-1}\left[(10^{0.1\alpha_s}-1)^{1/2}/\varepsilon\right]}{\cosh^{-1}(\Omega_s/\Omega_p)},\qquad \varepsilon=\sqrt{10^{0.1\alpha_p}-1}.$$

与 Butterworth 的对数公式不同,Chebyshev 阶数公式涉及反双曲余弦函数,这是因为 Chebyshev 多项式在 $|x|>1$ 时表现为 $\cosh$ 形式。

Chebyshev II 型(逆 Chebyshev)则相反:阻带等波纹,通带单调。

三类模拟低通原型的幅频特性对比JSXGraph
三类模拟低通原型的幅频特性对比
原型通带阻带过渡带相位
Butterworth最平坦单调最宽较好
Chebyshev I等波纹单调较陡一般
Chebyshev II单调等波纹较陡一般
椭圆等波纹等波纹最陡最差

Chebyshev 概念后面要重点看通带内的等波纹形状:它不是 Butterworth 那种"尽量平",而是有意把误差均匀分摊到通带里,从而换来更陡的过渡带。课件用一页把两种型号的幅度特性并排画出:图 6-19 是 Chebyshev I 型(通带等波纹、阻带单调,画出 $N$ 为奇数与偶数两种情形,波纹 2 dB),图 6-20 是 Chebyshev II 型(通带单调、阻带等波纹)。对照 $1/\sqrt{1+\varepsilon^2}$$1/A$ 这两条幅度参考线,可以一眼看出"波纹放在通带还是阻带"决定了 I 型与 II 型的区别--这是理解 Chebyshev 两型差异不可或缺的图页。

PDFChebyshev 低通逼近:图 6-19(I 型通带等波纹)与图 6-20(II 型阻带等波纹)幅度特性p.79
正在渲染 PDF 第 79 页…
Chebyshev 低通逼近:图 6-19(I 型通带等波纹)与图 6-20(II 型阻带等波纹)幅度特性(PDF 第 79 页) · 打开原文

Chebyshev 的设计步骤围绕波纹参数 $\varepsilon$、多项式 $T_N(x)$ 和阶数公式展开;上文已经写出这些关键公式,因此这里作为公式出处和步骤对照。

PDFChebyshev 滤波器设计步骤:阶数、波纹参数与原型函数p.87
正在渲染 PDF 第 87 页…
Chebyshev 滤波器设计步骤:阶数、波纹参数与原型函数(PDF 第 87 页) · 打开原文

常用模拟低通原型可以放在同一张对比表里理解:Butterworth 最平坦但过渡慢,Chebyshev 用波纹换过渡陡峭,椭圆滤波器过渡最快但相位代价最大。

PDF常用模拟低通滤波器特性比较p.58
正在渲染 PDF 第 58 页…
常用模拟低通滤波器特性比较(PDF 第 58 页) · 打开原文

这张表对应上面的原型对比表,也解释了为什么工程设计要在"阶数、过渡带、波纹、相位"之间取舍。

五、其他原型
椭圆与贝塞尔:过渡最陡与群时延最平

椭圆(Elliptic / Cauer)滤波器

椭圆滤波器也叫 Cauer 滤波器。它同时允许通带和阻带出现等波纹,因此在相同阶数下可以获得最窄的过渡带,也就是"最陡"的幅频下降。

代价:椭圆滤波器的相位非线性通常最严重,时域波形保真要求高时要谨慎使用。

Bessel 贝塞尔滤波器

Bessel 滤波器的核心目标不是最陡过渡,而是尽量平坦的群时延。它常用于更看重波形形状、瞬态响应和相位线性的场景。

原型主要优点主要代价适合场景
Butterworth通带最平坦过渡带较宽通用幅度逼近
Chebyshev过渡更陡存在通带或阻带波纹阶数受限的选频设计
Ellipse过渡最陡相位非线性最明显幅度指标最紧的设计
Bessel群时延平坦、波形保真好幅度选择性较弱脉冲、音频、测量波形保真

设计流程:先定指标,再选 FIR/IIR,再谈实现

面对滤波器设计题,顺序不能反。不要一上来就问"用窗函数还是双线性变换",而是先把需求写成指标:

  1. 通带和阻带边界在哪里。
  2. 通带允许多大起伏。
  3. 阻带至少要衰减多少。
  4. 是否要求线性相位。
  5. 是否更关心低阶数、低延迟或数值稳定。

如果要求线性相位且可以接受较高阶数,FIR 常更合适;如果希望较低阶实现陡峭响应,IIR 常更高效。后续具体设计方法包括:窗函数法、频率采样法、Parks-McClellan FIR 设计、巴特沃斯/切比雪夫/椭圆 IIR 设计、双线性变换等。

例题区

例题:从实际公差带波形读出设计指标

原题:给出一张低通滤波器的公差带示意图(图见下),从图上读出通带截止频率 $\Omega_p$、阻带起始频率 $\Omega_s$、通带最大衰减 $\alpha_p$、阻带最小衰减 $\alpha_s$ 四个指标。

课件: 低通滤波器的公差带示意图--标注 Ωp、Ωc、Ωs、αp、αs 五个关键参数
图 5:低通滤波器公差带示意图--从图上读出通带截止 Ωp、阻带起始 Ωs、通带衰减 αp、阻带衰减 αs 四个指标(来源:课件)

读图四步:

  1. 看纵轴 $\Omega=0$ 附近的曲线高度,记作 $1$(0 dB 参考);
  2. 看横轴上通带边缘位置 $\Omega_p$:这里曲线第一次越过 $-\alpha_p$ 线;
  3. 看横轴上阻带边缘位置 $\Omega_s$:这里曲线第一次低于 $-\alpha_s$;
  4. 中间的 $\Omega_c$ 是 3 dB 截止频率,是设计 $\Omega_p$$\Omega_s$ 之间的中间点。

读出来的 $(\Omega_p,\Omega_s,\alpha_p,\alpha_s)$ 就是后面对接巴特沃斯、切比雪夫、椭圆等设计方法的入口参数。

例题:巴特沃斯低通滤波器设计套路

原题:设计一个巴特沃斯低通滤波器,要求 $f_p=5\text{kHz}$$\alpha_p=2\text{dB}$$f_s=12\text{kHz}$$\alpha_s=30\text{dB}$。求阶数 $N$、3 dB 截止频率 $\Omega_c$ 和系统函数 $H(s)$

课件: 巴特沃斯低通滤波器设计原题--给出 fp、fs、αp、αs 四个指标
图 6:巴特沃斯低通设计原题--从 fp、fs、αp、αs 四个指标入手(来源:课件)
课件: 巴特沃斯低通滤波器幅度特性与阶数 N 的关系--N 越大过渡带越陡,通带越平坦
图 7:巴特沃斯低通幅度特性随阶数 N 的变化--N 越大过渡带越陡(来源:课件)
课件: 巴特沃斯低通滤波器设计步骤--从指标 (Ωp, Ωs, αp, αs) 求阶数 N、截止频率 Ωc,再写出 H(s)
图 8:巴特沃斯低通设计步骤总结--先算 N,次定 Ωc,再套 B_N(来源:课件)

四步套路:

  1. 求阶数 N:由 $(\alpha_p,\alpha_s,\Omega_p,\Omega_s)$ 决定,
    $$N=\left\lceil\frac{\log_{10}\!\sqrt{\dfrac{10^{0.1\alpha_s}-1}{10^{0.1\alpha_p}-1}}}{\log_{10}\!\dfrac{\Omega_s}{\Omega_p}}\right\rceil.$$

    物理含义:分子是"阻带比通带多压了多少 dB",分母是"过渡带比十倍频多少",两者之比就是最少需要的阶数。

  2. 求 3 dB 截止频率 $\Omega_c$:用通带口径算出的较小者保证两侧都达标,
    $$\Omega_c=\frac{\Omega_p}{\bigl(10^{0.1\alpha_p}-1\bigr)^{1/(2N)}}.$$

    也可以用阻带口径算 $\Omega_c=\Omega_s/(10^{0.1\alpha_s}-1)^{1/(2N)}$,两者取较小的那个。

  3. 写出 $H(s)$:$H(s)$ 是 N 阶全极点低通,分子是 $\Omega_c^N$,分母是归一化巴特沃斯多项式左移 $\Omega_c$:
    $$H(s)=\frac{\Omega_c^N}{B_N(s/\Omega_c)},\qquad B_N(s)=\prod_{k=1}^{N}\Bigl(s-e^{j\pi(2k+N-1)/(2N)}\Bigr).$$

    $B_1(s)=s+1$,$B_2(s)=s^2+\sqrt2\,s+1$,$B_3(s)=s^3+2s^2+2s+1$,更高阶按规律递推。

  4. 转离散(若需数字域):用双线性变换
    $$s=\frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}}$$

    $H(s)$ 变到 $H(z)$;注意这一步会频率非线性畸变,对截止频率要做预畸:$\Omega_c^\prime=\dfrac{2}{T}\tan\!\dfrac{\Omega_c T}{2}$

套路口诀:"先算 N,次定 $\Omega_c$,再套 $B_N$,最后双线性。"--四步解决一切巴特沃斯题。$\alpha_p$ 决定"偏向通带还是阻带",$\alpha_s$ 决定"陡不陡",$N$ 是两者折中后的最小阶数。巴特沃斯的优点是通带内最平坦(无纹波),代价是过渡带最宽--要更陡的话下一站是切比雪夫/椭圆。

例题 1:判断滤波器类型和系统函数

题目:给定差分方程 $y[n]=0.5x[n]+0.5x[n-1]$。判断它是 FIR 还是 IIR,并求 $H(z)$

  1. 看是否含过去输出:右端只有输入项 $x[n]$$x[n-1]$,没有 $y[n-k]$,所以没有反馈。
  2. 取 Z 变换:$Y(z)=0.5X(z)+0.5z^{-1}X(z)$
  3. 求系统函数:
    $$H(z)=\frac{Y(z)}{X(z)}=0.5(1+z^{-1}).$$
  4. 读频率响应:$H(e^{j\omega})=0.5(1+e^{-j\omega})=e^{-j\omega/2}\cos(\omega/2)$

答案:这是二点滑动平均 FIR 滤波器,低频 $\omega=0$ 处增益为 1,高频 $\omega=\pi$ 处增益为 0,具有低通倾向。

易错点:"平均"并不是凭直觉低通,而是因为 $|\cos(\omega/2)|$ 在高频处变小。

例题 2:由极点判断 IIR 稳定性和滤波倾向

题目:系统满足 $y[n]-ay[n-1]=x[n]$,其中 $0<a<1$。判断类型、稳定性和频率倾向。

  1. 类型:方程含过去输出 $y[n-1]$,因此是 IIR。
  2. 系统函数:
    $$H(z)=\frac{1}{1-az^{-1}}.$$
  3. 极点:极点在 $z=a$。因 $0<a<1$,极点在单位圆内;对因果系统而言,ROC 在最外极点之外并包含单位圆,所以系统稳定。这个逻辑见 Z 变换笔记中的 ROC 解释
  4. 频率响应:
    $$|H(e^{j\omega})|=\frac{1}{|1-ae^{-j\omega}|}.$$

    $\omega=0$ 时分母为 $|1-a|$,当 $\omega=\pi$ 时分母为 $|1+a|$,所以低频增益更大。

答案:这是稳定的一阶 IIR 低通滤波器。

易错点:IIR 是否稳定不由"有反馈"直接决定,而由 因果 ROC 是否包含单位圆 决定;对因果有理系统,这等价于所有极点落在单位圆内。

例题 3:FIR 梳状滤波器 $y[n]=x[n]+x[n-8]$

题目:由系统结构图写出差分方程,并求系统函数、单位抽样响应、频率响应和零极点分布。

解:

  1. 差分方程:输入一路直接到达加法器,另一路延迟 8 个样本后到达加法器,两路相加得输出:
    $$y[n]=x[n]+x[n-8].$$
  2. 系统函数:两边取 Z 变换,利用移位性质:
    $$Y(z)=X(z)+z^{-8}X(z)=(1+z^{-8})X(z), \quad\Rightarrow\quad H(z)=1+z^{-8}=\frac{z^8+1}{z^8}.$$
  3. 单位抽样响应:逆 Z 变换:
    $$h[n]=\delta[n]+\delta[n-8].$$

    这是长度为 9 的 FIR 冲激响应,只有 $n=0$$n=8$ 处为 1。

  4. 频率响应:$z=e^{j\omega}$:
    $$H(e^{j\omega})=1+e^{-j8\omega}=e^{-j4\omega}\bigl(e^{j4\omega}+e^{-j4\omega}\bigr)=2\cos(4\omega)\,e^{-j4\omega}.$$

    因此幅频响应为

    $$|H(e^{j\omega})|=2|\cos(4\omega)|.$$
  5. 零极点:极点由 $z^8=0$ 给出,是原点处的 8 阶极点;零点由 $z^8+1=0$ 给出,即 $z^8=-1=e^{j\pi}$,故
    $$z_k=e^{j(2k+1)\pi/8},\quad k=0,1,\ldots,7.$$

    8 个零点均匀分布在单位圆上,角度为 $\pi/8,3\pi/8,5\pi/8,\ldots,15\pi/8$

滤波特性:$|H(e^{j\omega})|=2|\cos(4\omega)|$

$$\omega=0,\ \frac{\pi}{4},\ \frac{\pi}{2},\ \frac{3\pi}{4},\ \pi$$
处取最大值 2,在
$$\omega=\frac{\pi}{8},\ \frac{3\pi}{8},\ \frac{5\pi}{8},\ \frac{7\pi}{8}$$
处为 0。因此这是一个 FIR 梳状滤波器(Comb Filter),具有多个等间隔的通带和阻带。

关键记忆:"输入 + 延迟"结构没有反馈支路,必为 FIR;$|1+z^{-M}|$ 型系统会在单位圆上产生 $M$ 个均匀零点,形成梳状幅频响应。这与 $y[n]=x[n]-x[n-N]$ 型(零点在 $z^N=1$)是两类最常用的数字梳状滤波器。
六、分析方法复习
数字滤波器做题入口

前面的 DTFT、DFT、Z 变换都在为滤波器服务。DTFT 给频率响应,DFT/FFT 给计算工具,Z 变换给系统函数和稳定性判据。滤波器把这些工具合成一个工程对象:给定指标,构造一个可实现系统。

如果继续深入,下一步通常会分成两条线:FIR 设计重在窗函数、线性相位和频率采样;IIR 设计重在模拟原型、频率变换和双线性变换。

复习速查:数字滤波器做题入口

问题入口判断标准常见误区
FIR/IIR 判断看差分方程是否含过去输出无反馈为 FIR,有反馈通常为 IIR把有限阶差分方程误认为 FIR
稳定性看极点位置因果 IIR 极点必须在单位圆内只看零点不看极点
频率响应$z=e^{j\omega}$$|H(e^{j\omega})|$ 和相位只看幅度忽略相位
低通/高通判断比较 $\omega=0$$\omega=\pi$低频大为低通,高频大为高通凭差分方程外观猜
理想响应可实现性$h[n]$ 是否因果有限/稳定突变频响常对应无限非因果冲激响应把理想响应当真实系统
设计选择先列指标线性相位偏 FIR,低阶陡峭偏 IIR先选算法再补需求
七、结构语言
从系统函数到结构图

数字滤波器的概念

滤波器

数字滤波器是对输入离散时间序列 $x(n)$ 进行运算、得到输出序列 $y(n)$ 的离散时间系统。它的任务不是"凭空产生新信号",而是按照给定频率选择规则保留、削弱或改变信号中的某些频率分量:低通保留低频,高通保留高频,带通保留某个频带,带阻抑制某个频带。

系统函数

数字滤波器通常被看成线性时不变系统。若输入为 $x(n)$、输出为 $y(n)$,则系统函数定义为 $H(z)=Y(z)/X(z)$。当 $H(z)$ 写成 $z^{-1}$ 的有理分式时,分子系数 $b_k$ 对应输入延迟项,分母系数 $a_k$ 对应输出反馈项。

差分方程

从系统角度看,滤波器可以同时用三种语言描述:时域里的差分方程,$z$ 域里的系统函数 $H(z)$,以及工程实现里的结构图。差分方程告诉我们每一拍怎样递推;系统函数告诉我们零点、极点和频率响应;结构图则回答"这些加法器、乘法器、延迟器应该怎样连接"。

一个 $N$ 阶 IIR 滤波器的系统函数和差分方程分别为

$$H(z)=\frac{\sum_{k=0}^{M}b_k z^{-k}}{1-\sum_{k=1}^{N}a_k z^{-k}},\qquad y(n)=\sum_{k=0}^{M}b_k x(n-k)+\sum_{k=1}^{N}a_k y(n-k).$$

分子实现零点(对 $x(n)$ 的加权延迟),分母实现极点(对 $y(n)$ 的加权延迟,即反馈)。结构设计的核心问题就是:如何用最少存储单元、最少乘法、最稳定的数值特性来实现同一 $H(z)$

滤波器的功能与实现

无论滤波器多复杂,实现它所需的基本运算只有三种:加法、乘常数、单位延迟。

三种基本运算

运算时域表示Z 域表示在结构图中的角色
加法$y(n)=x_1(n)+x_2(n)$$Y(z)=X_1(z)+X_2(z)$汇合节点,把多个支路输出相加
乘常数$y(n)=a\,x(n)$$Y(z)=a\,X(z)$滤波器系数,决定每条支路权重
单位延迟$y(n)=x(n-1)$$Y(z)=z^{-1}X(z)$存储一个采样周期,形成历史样本或状态
PDF方框图法:单位延时与乘常数p.6
正在渲染 PDF 第 6 页…
方框图法:单位延时与乘常数(PDF 第 6 页) · 打开原文
PDF方框图法:相加节点与递推方程例子p.7
正在渲染 PDF 第 7 页…
方框图法:相加节点与递推方程例子(PDF 第 7 页) · 打开原文
结构实现的出发点:同一个 $H(z)$ 可以对应许多不同结构。它们理论频率响应相同,但延迟单元数量、内部变量动态范围、系数量化敏感度和并行实现难度不同。

滤波器结构要比较什么?

  • 存储量:需要多少个单位延迟器,也就是要保存多少个历史样本或状态。
  • 运算量:每输出一个样本需要多少次乘法和加法。
  • 数值稳定性:有限字长下,系数量化和舍入误差是否容易放大。
  • 可调性:某个系数变化时,能否局部控制一对零点或极点。
  • 并行性:不同支路能否同时计算,是否适合 FPGA、GPU 或多 MAC 单元 DSP。

结构表示法

实现滤波器必须回到系统框图与信号流图:方框图法从差分方程直接翻译,信号流图法更紧凑,便于结构推导与等价变换。详细的画法、三抽头示例、流图四要素与梅森公式见 离散时间系统的模拟与基本原理

八、结构分论
IIR 与 FIR 的基本结构

前一节回答了"实现滤波器需要哪些基本运算"。这一节回答"这些运算怎么组织起来"。同一个 $H(z)$ 可以对应许多不同结构--它们的频率响应完全相同,但延迟单元数、系数量化敏感度、内部状态动态范围和并行能力各不相同。

数字滤波器的结构按有没有反馈分成两大类:

IIR 结构(有反馈 / 递归型)

IIR 滤波器有极点,需要反馈支路。四种基本结构各有侧重:

  • 直接 I 型:按差分方程原样画,零点网络 + 极点网络串联,延迟单元 $M+N$ 个。
  • 直接 II 型(正准型):交换零极点网络顺序,合并共用延迟链,延迟单元降到 $\max(M,N)$ 个。
  • 级联型:因式分解为二阶节(Biquad)串联,零极点独立可调,工程最常用。
  • 并联型:部分分式展开为支路相加,误差不串行传递,适合并行硬件。

详见 IIR 数字滤波器的设计

FIR 结构(无反馈 / 非递归型)

FIR 滤波器只有零点,没有极点(除 $z=0$),天然稳定。六种基本结构围绕不同优化目标展开:

  • 横截型(直接型):直接用卷积和公式,每个抽头对应一个 $h(k)$
  • 转置横截型:转置定理变体,适合流水线实现。
  • 级联型:因式分解为零点因子的乘积。
  • 频率抽样型:梳状滤波器 + 谐振器组,改 $H(k)$ 即改频响。
  • 线性相位型:利用 $h(n)$ 对称性,乘法次数减半。
  • FFT 快速卷积:频域乘法代替时域卷积,长 FIR 时更高效。

详见 FIR 数字滤波器的设计

核心区别:IIR 的结构选择主要在管住极点灵敏度和反馈误差;FIR 没有稳定性压力,结构选择更多是在优化乘法次数、线性相位约束和频域调节方式。
九、工程取舍
实际工程中怎么选

同一个滤波器指标通常可以落到多种结构上。真正实现时,不是只问"哪个公式正确",而是问"这个平台上哪个结构更稳、更省、更容易调"。

选择维度倾向 IIR倾向 FIR
过渡带陡峭度低阶即可很陡需要高阶才能达到同样陡度
线性相位难以保证(非线性相位)天然可实现严格线性相位
稳定性极点受量化影响可能失稳天然稳定(无反馈)
延迟低延迟群延迟 = $(N-1)/2$ 个样本
结构选择级联二阶节最常用横截型 / 线性相位型 / FFT 卷积
工程经验:实际 DSP 芯片通常用级联型二阶节(Biquad)实现 IIR,用横截型或线性相位型实现 FIR。当 FIR 阶数超过 64 时,FFT 快速卷积比直接卷积更高效。具体结构实现的推导和例题见 IIR 设计FIR 设计 两章。
十、线性相位
FIR 的独特优势:严格线性相位从何而来

数字滤波器除了有幅频特性,还有相频特性。如果相位响应不随频率线性变化,不同频率分量经过的延迟就不同,信号波形就会失真。这正是 FIR 滤波器不可替代的地方--它可以实现严格线性相位

线性相位滤波器

若滤波器的频率响应可写成

$$H(e^{j\omega}) = |H(e^{j\omega})| \, e^{j\theta(\omega)}$$

且相位满足

$$\theta(\omega) = -\tau \omega + \beta$$

则称该系统具有线性相位。其群延迟 $-\frac{d\theta}{d\omega}=\tau$ 为常数,意味着所有频率分量经历相同的时延,因此波形不会失真。

为什么线性相位重要:语音、图像、通信等场景关心波形保真度。非线性相位会让不同频率分量"走散",造成波形畸变;线性相位只让整体信号延迟一个固定时间,形状不变。

FIR 线性相位的充要条件

长度为 $N$ 的 FIR 滤波器单位冲激响应 $h[n]$ 若满足

$$h[n] = \pm h[N-1-n]$$

则滤波器具有严格线性相位。

  • 偶对称 $h[n]=h[N-1-n]$:纯线性相位,$\theta(\omega)=-\frac{N-1}{2}\omega$
  • 奇对称 $h[n]=-h[N-1-n]$:线性相位加 $90°$ 固定相移,$\theta(\omega)=-\frac{N-1}{2}\omega+\frac{\pi}{2}$

无论哪种对称,群延迟都是常数 $\tau=\frac{N-1}{2}$ 个样本。

直观理解:FIR 的 $h[n]$ 只有有限个非零值,可以自由排列。只要让它关于中心对称,所有频率分量就会"等权"地经历相同的延迟,从而得到线性相位。IIR 滤波器因为存在反馈,$h[n]$ 无限长且受极点支配,无法关于某个中心对称,因此通常不能实现严格线性相位。

情况对称性$N$群延迟频率响应特点可设计类型
I$h[n]=h[N-1-n]$$(N-1)/2$纯线性相位低通/高通/带通/带阻
II$h[n]=h[N-1-n]$$(N-1)/2$$H(\pi)=0$不能高通/带阻
III$h[n]=-h[N-1-n]$$(N-1)/2$$H(0)=H(\pi)=0$只能带通
IV$h[n]=-h[N-1-n]$$(N-1)/2$$H(0)=0$不能低通/带阻
设计提示:窗函数法中,只要窗函数 $w[n]$ 也关于中心对称(矩形、Hanning、Hamming、Blackman 等都满足),截断后的 $h[n]=h_d[n]w[n]$ 就保持对称性,自然得到线性相位 FIR。这就是为什么窗函数法常常 implicitly 保证线性相位。
工程权衡:线性相位 FIR 的代价是群延迟 $(N-1)/2$ 个样本。阶数越高,延迟越大。对实时性要求极高的场景(如低延迟音频处理),需要在线性相位与延迟之间取舍。
PDF线性相位 FIR 滤波器的直接型结构p.56
正在渲染 PDF 第 56 页…
线性相位 FIR 滤波器的直接型结构(PDF 第 56 页) · 打开原文

复习速查

  • 数字滤波器:对离散序列做频率选择的 LTI 系统,用差分方程、$H(z)$ 和结构图三种方式描述。
  • FIR vs IIR:有没有反馈支路决定了系统性格--FIR 天然稳定、可做线性相位;IIR 低阶高效但极点控制稳定性。
  • 线性相位:FIR 通过 $h[n]=\pm h[N-1-n]$ 实现严格线性相位,群延迟恒为 $(N-1)/2$;IIR 通常只能近似线性相位。
  • 频率响应:令 $z=e^{j\omega}$,读 $|H(e^{j\omega})|$(幅度)和 $\arg H(e^{j\omega})$(相位)。
  • 零极点几何:频点离零点近→响应小,离极点近→响应大;极点必须在单位圆内(因果稳定 IIR)。
  • 理想响应不可实现:矩形频响对应无限长 sinc 冲激响应,非因果。
  • 公差带:通带纹波 $\delta_1$、阻带纹波 $\delta_2$、过渡带宽 $\Delta\omega$--所有设计方法的输入指标。
  • 巴特沃斯原型:$|H(j\Omega)|^2=1/(1+(\Omega/\Omega_c)^{2N})$,通带最平坦,过渡带最宽;设计四步:求 $N$→定 $\Omega_c$→写 $H(s)$→双线性变换。
  • 结构实现:三种基本运算(加法、乘常数、单位延迟);IIR 四种结构(直接I/II、级联、并联)和 FIR 六种结构(横截、转置、级联、频率抽样、线性相位、FFT卷积)详见各自专题页。

参考来源