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

IIR 数字滤波器的设计

第六讲
从技术指标到数字实现:模拟原型、时域不变法、双线性变换与频率变换
6主节
4模拟原型
3变换方法
5+典型例题
一、基本概念
数字滤波器的基本概念

前置知识回顾

本节讨论"如何设计一个满足给定指标的数字滤波器"。读之前需要手边有:

  • 模拟滤波器基础:知道幅度响应、截止频率、通带/阻带/过渡带的概念。
  • 系统函数与零极点:会写 $H(s)$$H(z)$,理解稳定性与极点位置的关系。
  • 滤波器结构:知道直接型、级联型、并联型的区别。可回看 数字滤波器基础与结构

什么是模拟滤波器?什么是 IIR 数字滤波器?

模拟滤波器是直接处理连续时间信号的滤波器。它的输入、输出都是随时间连续变化的电压、电流或声学信号,通常用电阻、电容、电感、运算放大器等模拟电路实现。

从数学上看,模拟滤波器通常用拉普拉斯域系统函数 $H_a(s)$ 描述;从功能上看,它和数字滤波器一样,也是保留某些频率、压制另一些频率。例如低通模拟滤波器会让低频成分通过,衰减高频噪声。

IIR 数字滤波器则是处理离散时间序列 $x[n]$ 的数字系统,它的冲激响应理论上无限长,因此叫 Infinite Impulse Response。IIR 的系统函数一般写成

$$H(z)=\frac{b_0+b_1z^{-1}+\cdots+b_Mz^{-M}}{1+a_1z^{-1}+\cdots+a_Nz^{-N}},$$

对应的差分方程含有输出反馈项:

$$y[n]=\sum_{k=0}^{M}b_kx[n-k]-\sum_{k=1}^{N}a_ky[n-k].$$

也正因为有反馈,IIR 滤波器能用较低阶数实现陡峭的幅频特性,但必须检查极点是否在单位圆内,才能保证因果稳定。

对比项模拟滤波器IIR 数字滤波器
处理对象连续时间信号 $x_a(t)$离散时间序列 $x[n]$
数学表示$H_a(s)$,定义在 $s$ 平面$H(z)$,定义在 $z$ 平面
实现方式模拟电路,如 RC、RLC、运放电路差分方程、程序或 DSP 芯片
稳定条件因果系统极点在 $s$ 平面左半平面因果系统极点在 $z$ 平面单位圆内
本章作用作为 Butterworth、Chebyshev 等成熟原型最终要实现的离散系统
一句话理解:IIR 设计里先学模拟滤波器,是因为经典模拟原型已经有成熟公式;我们先设计 $H_a(s)$,再通过 $s\to z$ 的映射得到数字滤波器 $H(z)$

为什么可以用模拟滤波器设计 IIR 数字滤波器?

关键原因是:模拟滤波器和 IIR 数字滤波器都可以用有理系统函数描述。模拟滤波器是 $H_a(s)$,IIR 数字滤波器是 $H(z)$;只要找到合适的映射,把 $s$ 平面的稳定区域、频率轴和系统函数关系转换到 $z$ 平面,就可以把成熟的模拟原型变成可实现的数字滤波器。

更具体地说,模拟设计已经解决了“怎样根据通带、阻带、波纹和衰减指标构造 Butterworth、Chebyshev、椭圆原型”的问题。IIR 设计借用这些原型,再处理两个转换问题:

  1. 频率指标转换:把数字频率 $\omega$ 和模拟频率 $\Omega$ 对齐,必要时做预畸变。
  2. 系统函数映射:把 $H_a(s)$ 变成 $H(z)$,同时尽量保持稳定性和目标幅频特性。
设计方法核心思想优点主要限制
冲激响应不变法$h[n]$ 对应 $h_a(t)$ 的采样时域意义直观,频率关系局部线性频谱周期复制会产生混叠
阶跃响应不变法令阶跃响应 $g[n]$ 对应 $g_a(t)$ 的采样保留阶跃响应采样点仍然受混叠限制
双线性变换法$s=\frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}}$ 做一一映射无混叠,稳定性保持频率轴非线性压缩,需要预畸变
频率变换法先设计低通原型,再变成高通、带通或带阻复用低通设计公式需要正确处理截止频率映射

数字滤波器的设计通常走一条"间接"路线:先在模拟域设计一个满足指标的原型滤波器,再通过某种变换把它映射到数字域。这是因为模拟滤波器(Butterworth、Chebyshev、椭圆)已有成熟的设计公式和表格,而数字域直接设计 IIR 滤波器则困难得多。第六讲的主线正是:先明确数字滤波器的技术指标,再学习三类模拟原型,最后用冲激响应不变法、阶跃响应不变法、双线性变换和频率变换得到目标数字滤波器。

数字滤波器如何分类?

从设计思想看,数字滤波器可以粗略分成两大类:

类别核心问题典型代表本节关系
经典滤波器按频率选择信号成分低通、高通、带通、带阻、全通本节重点讨论的选频 IIR 滤波器
现代滤波器按统计模型、状态估计或在线学习改善信号维纳滤波、卡尔曼滤波、自适应滤波通常不只看固定幅频指标

如果按功能分类,经典选频滤波器又可以分为低通、高通、带通、带阻和全通。前四类主要规定“哪些频率通过、哪些频率被压制”;全通的幅度响应恒为 1,主要用来调整相位。

数字滤波器的分类可以从两条线理解:一条是经典滤波器现代滤波器的区分,另一条是经典选频滤波器内部按功能分成低通、高通、带通、带阻和全通。前者回答“滤波问题的建模方式是什么”,后者回答“频率轴上要保留或压制哪些成分”。

PDF数字滤波器分类:经典/现代与按功能分类 · p.4–5p.4–5
正在渲染 PDF 第 4 页…
正在渲染 PDF 第 5 页…
数字滤波器分类:经典/现代与按功能分类(PDF p.4–5) · 打开原文

因此,本讲的 IIR 设计主要处理经典选频滤波器,而不是维纳、卡尔曼或自适应滤波这类现代滤波问题。

什么是选频滤波器?

选频滤波器是一类按频率选择信号成分的滤波器:它让指定频带内的频率成分尽量通过,同时把其他频带内的频率成分尽量衰减。低通、高通、带通、带阻都属于选频滤波器;全通滤波器虽然幅度恒为 1,但也常放在滤波器分类中,用来改变相位而不改变幅度。

因此,选频滤波器设计的核心不是“让所有频率都好看”,而是把频率轴划分成通带阻带过渡带,再用容限规定每一段允许的误差。

选频数字滤波器的技术指标

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

$$H(e^{j\omega})=|H(e^{j\omega})|e^{j\phi(\omega)}.$$

这里 $|H(e^{j\omega})|$幅度响应,也叫幅频特性,表示输入中频率为 $\omega$ 的正弦或复指数分量通过滤波器后会被放大或衰减多少倍。例如低通滤波器希望低频处 $|H(e^{j\omega})|\approx 1$,高频处 $|H(e^{j\omega})|\approx 0$$\phi(\omega)$相位响应,反映各频率成分通过滤波器后的相位移动或时间延迟。工程指标通常用通带截止频率、阻带截止频率、通带容限和阻带容限来规定滤波器。

频率响应、幅频特性和相频特性应当放在一起理解:$H(e^{j\omega})$ 是“每个频率分量通过系统后的复数增益”,模长对应幅度变化,辐角对应相位移动。

PDF频率响应:幅度响应与相位响应p.9
正在渲染 PDF 第 9 页…
频率响应:幅度响应与相位响应(PDF 第 9 页) · 打开原文

因此,后面讲通带、阻带和滤波器指标时,默认关注的是幅度响应;而最小相位系统、全通系统和相位均衡,则是在讨论相位响应。

符号含义在设计中的作用
$\omega_p$ / $\Omega_p$通带截止频率规定应该尽量通过的频率边界
$\omega_s$ / $\Omega_s$阻带截止频率规定必须充分衰减的频率边界
$\delta_1$$\alpha_p$通带容限 / 通带最大衰减控制通带内允许的波纹或衰减
$\delta_2$$\alpha_s$阻带容限 / 阻带最小衰减控制阻带中残留频率成分的上限

通带、过渡带和阻带是在频率轴上划出的三个区域。通带不是“完全等于 1”,阻带也不是“完全等于 0”,二者都允许一定误差;过渡带则是不强行规定指标的连接区域。

PDF技术指标中的通带、过渡带与阻带p.10
正在渲染 PDF 第 10 页…
技术指标中的通带、过渡带与阻带(PDF 第 10 页) · 打开原文

这正是上表里 $\omega_p$$\omega_s$$\delta_1$$\delta_2$ 的作用:它们把“想要一个低通/高通”变成可计算的设计约束。

IIR vs FIR 设计对比

特性IIRFIR
阶数低(同样指标)高(通常 5~10 倍)
相位非线性可严格线性
稳定性需检验极点总是稳定
设计方法模拟原型 + 变换窗函数 / 频率抽样 / 优化
典型应用音频均衡、通信信道线性相位系统、图像处理
flowchart LR
    A["数字滤波器指标"] --> B["模拟低通原型"]
    B --> C{"目标类型"}
    C -->|"低通"| D["模拟到数字映射"]
    C -->|"高通 / 带通 / 带阻"| E["频率变换"]
    E --> D
    D --> F["数字系统函数 H(z)"]
    F --> G["结构实现与指标验证"]
  
二、相位系统
最小与最大相位延时系统、最小与最大相位超前系统

频率选择滤波器首先看幅度响应,但系统函数的零点位置还会决定相位延时或相位超前。若两个系统有相同的幅度响应,它们的零点可以关于单位圆成镜像关系;零点放在单位圆内还是单位圆外,会改变相位,却不改变幅度包络。这就是最小相位、最大相位以及相位超前/延时系统要解决的问题。

因果稳定系统与逆因果稳定系统

对有理系统函数 $H(z)$,若系统因果稳定,则它的收敛域在最外极点之外并包含单位圆;等价地,所有极点都在单位圆内。若系统的逆系统 $1/H(z)$ 也要因果稳定,则 $1/H(z)$ 的极点,也就是 $H(z)$ 的零点,也必须在单位圆内。

系统稳定要求对零极点的含义
因果稳定系统 $H(z)$极点在单位圆内输出不会因反馈发散
逆因果稳定系统 $1/H(z)$$H(z)$ 的零点也在单位圆内可以稳定地反滤波或均衡
非最小相位系统极点可稳定,但存在单位圆外零点原系统稳定,逆系统会不稳定

四类相位系统怎么区分?

在具有相同幅度响应的系统族中,零点相对单位圆的位置决定相位延时或相位超前的极端情况:

名称零点位置相位特征直观理解
最小相位延时系统全部零点在单位圆内相位延时最小在同幅度响应系统中“最靠前”
最大相位延时系统零点尽量镜像到单位圆外相位延时最大同幅度响应下延时最重
最小相位超前系统按逆系统或反向时间系统讨论相位超前最小超前效果最弱
最大相位超前系统与最大延时情形互为反向视角相位超前最大超前效果最强

课程里最常用的是最小相位延时系统:它同时要求因果稳定和逆因果稳定,因此所有零点、极点都在单位圆内。

2.1 最小相位延时系统的性质

因果稳定的 LTI 系统,若所有零点和极点都在单位圆内,则称为最小相位延时系统,通常也简称最小相位系统。它的特点是:

  • 幅频响应相同时,相移最小。
  • 能量集中在最前面(最小能量延迟)。
  • 逆系统也是因果稳定的(所有零极点在单位圆内)。

最小相位系统的核心是零点位置:零点在单位圆内外移动时,系统相位延时会改变;把零点镜像到单位圆内,可以在保持幅度响应的同时降低相位延时。

PDF最小相位系统:零点位置与相位延时p.20
正在渲染 PDF 第 20 页…
最小相位系统:零点位置与相位延时(PDF 第 20 页) · 打开原文

因此本节的主线是:因果稳定看极点,逆因果稳定看零点;最小相位延时系统则同时把极点和零点都约束在单位圆内。

三、全通系统
幅度不变,只重排相位与零极点

3.1 全通系统的定义

全通系统的幅度响应恒为 1,即 $|H(e^{j\omega})|=1$ 对所有 $\omega$ 成立。

一阶全通系统函数

$$H_{ap}(z)=\frac{z^{-1}-a}{1-az^{-1}},\qquad |a|<1.$$

零点在 $z=1/a$(单位圆外),极点在 $z=a$(单位圆内),两者关于单位圆呈镜像共轭关系。一般地,若 $z_0$ 是零点,则 $1/z_0^*$ 是极点。

为什么它的幅度响应恒为 1?

在单位圆上令 $z=e^{j\omega}$,则

$$H_{ap}(e^{j\omega})=\frac{e^{-j\omega}-a}{1-ae^{-j\omega}}.$$

$a$ 为实数,则分子模长的平方为

$$|e^{-j\omega}-a|^2=(e^{-j\omega}-a)(e^{j\omega}-a)=1-2a\cos\omega+a^2,$$

分母模长的平方为

$$|1-ae^{-j\omega}|^2=(1-ae^{-j\omega})(1-ae^{j\omega})=1-2a\cos\omega+a^2.$$

两者相等,因此

$$|H_{ap}(e^{j\omega})|=\frac{|e^{-j\omega}-a|}{|1-ae^{-j\omega}|}=1.$$
结论:一阶全通系统不改变任何频率成分的幅度,只改变相位;这也是“全通”这个名字的含义。

对于实系数全通系统,高阶形式为

$$H_{ap}(z)=\prod_{k=1}^{N_r}\frac{z^{-1}-a_k}{1-a_kz^{-1}}\cdot\prod_{k=1}^{N_c}\frac{(z^{-1}-b_k)(z^{-1}-b_k^*)}{(1-b_kz^{-1})(1-b_k^*z^{-1})}.$$

全通系统的核心应用:

  • 相位均衡:级联全通系统可以调整相位响应而不改变幅度。
  • 稳定性补偿:一个不稳定的因果系统可以通过级联全通系统,将单位圆外的极点"镜像"回单位圆内,变成稳定的因果系统。
  • 最小相位分解:任何因果稳定系统可以分解为最小相位系统与全通系统的级联。
一句话理解:最小相位系统把"相位代价"降到最低;全通系统只调相位不改幅度。两者配合可以灵活控制滤波器的相位特性。

全通系统需要抓住三件事:第一,幅度响应恒为 1;第二,一阶实系数全通系统的零点和极点以单位圆为镜像;第三,复系数情形要成共轭对出现,才能得到实系数系统。

PDF全通系统:幅度恒为 1 与零极点镜像关系 · p.24–26p.24–26
正在渲染 PDF 第 24 页…
正在渲染 PDF 第 25 页…
正在渲染 PDF 第 26 页…
全通系统:幅度恒为 1 与零极点镜像关系(PDF p.24–26) · 打开原文

全通系统的应用可以按两条线理解:一是利用全通系统做相位均衡,在不改变幅度响应的前提下修正相位;二是利用零极点镜像关系,把单位圆外的零点或极点搬回单位圆内,从而得到稳定、可逆或最小相位的等幅系统。

PDF全通系统的应用:相位均衡、稳定补偿与最小相位分解 · p.27–31p.27–31
正在渲染 PDF 第 27 页…
正在渲染 PDF 第 28 页…
正在渲染 PDF 第 29 页…
正在渲染 PDF 第 30 页…
正在渲染 PDF 第 31 页…
全通系统的应用:相位均衡、稳定补偿与最小相位分解(PDF p.27–31) · 打开原文

所以,全通系统不是为了改变选频幅度,而是在保持幅度不变的前提下重排相位与零极点位置,并把这种性质用于相位均衡、稳定补偿和最小相位分解。

为什么这里要先讲全通系统?除了相位均衡、稳定补偿、最小相位分解这三类直接应用,全通系统更是后面 6.2 数字频率变换的数学引擎。把一个数字低通 $H_L(z)$ 变成高通/带通/带阻时,做法是把其中的 $z^{-1}$ 替换成一个全通函数 $G(Z^{-1})$;之所以非全通函数不可,正是因为它的两个性质恰好对应频带变换的两个需求——“幅度恒为 1”保证替换后通带/阻带的形状(波纹、衰减特性)原封不动,“相位随频率变化”则负责把单位圆上的频率点重新映射、搬移频带位置。换句话说,没有全通系统就没有数字频带变换法,本章把它放在前面正是为第六章的频带变换法铺垫基础,读到 6.2 时可回看此处。
四、IIR 设计方法
用模拟滤波器设计 IIR 数字滤波器

这一节回答“为什么可以用模拟滤波器设计 IIR 数字滤波器,以及具体怎么做”。核心路线是:先根据数字指标换算出模拟指标,设计模拟低通原型 $H_a(s)$,再用冲激响应不变法、阶跃响应不变法或双线性变换得到数字系统函数 $H(z)$

有了模拟原型 $H_a(s)$,需要把它变成数字滤波器 $H(z)$。第六讲依次给出三条路线:冲激响应不变法保持冲激响应采样点,阶跃响应不变法保持阶跃响应采样点,双线性变换则用一一映射避免频谱混叠。

4.1 冲激响应不变法(Impulse Invariance)

冲激响应不变法的目标很直接:让数字滤波器在采样时刻的冲激响应,尽量复现模拟滤波器的冲激响应。也就是说,先在模拟域设计 $H_a(s)$,再把 $h_a(t)$$t=nT$ 处采样,得到数字滤波器的 $h(n)$

冲激响应不变法

令数字滤波器的单位冲激响应等于模拟滤波器冲激响应的采样:

$$h(n)=T\,h_a(nT),\qquad n=0,1,2,\ldots$$

其中 $T$ 为采样周期。于是

$$H(z)=\sum_{n=0}^{\infty}h(n)z^{-n}=T\sum_{n=0}^{\infty}h_a(nT)z^{-n}.$$

如果模拟系统中有一个极点 $s_k$,采样后对应的数字极点为

$$z_k=e^{s_kT}.$$

这就是冲激响应不变法最重要的极点映射关系。若 $s_k=\sigma_k+j\Omega_k$,则 $z_k=e^{\sigma_kT}e^{j\Omega_kT}$:模拟极点的实部决定数字极点半径,虚部决定数字极点角频率。

稳定性保持:如果模拟滤波器稳定,则所有极点满足 $\operatorname{Re}(s_k)<0$,因此 $|e^{s_kT}|=e^{\operatorname{Re}(s_k)T}<1$,映射后的数字滤波器极点仍在单位圆内。

$H_a(s)$ 只有单极点,部分分式展开为

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

对应的模拟冲激响应为 $h_a(t)=\sum_{k=1}^{N}A_k e^{s_kt}u(t)$。采样后

$$h(n)=T\sum_{k=1}^{N}A_k e^{s_knT},$$

再做 $z$ 变换,得到

$$H(z)=\sum_{k=1}^{N}\frac{T\,A_k}{1-e^{s_k T}z^{-1}}.$$

插一句:数字频率 $\omega$ 是什么,$\omega=2\pi f_c/f_s$ 从哪来

设计指标里反复出现的 $\omega$(如 $\omega_p=0.2\pi$)叫数字频率,它和模拟频率 $f_c$(Hz)、$\Omega=2\pi f_c$(rad/s)不是一回事。它由“采样”这个动作推出来:频率为 $f_c$ 的模拟正弦 $\cos(2\pi f_c t)$ 以采样率 $f_s$(采样周期 $T=1/f_s$)采样,得到序列

$$x(n)=\cos(2\pi f_c\cdot nT)=\cos\!\left(2\pi\frac{f_c}{f_s}\,n\right)=\cos(\omega n).$$

对照 $\cos(\omega n)$ 即得

$$\omega=2\pi\frac{f_c}{f_s}=\frac{2\pi f_c}{f_s}=\Omega T.$$

所以本质就是 $\omega=\Omega T$——模拟角频率乘采样周期。它有三个要点:(1)单位是 rad/sample(每个采样点转过的相位弧度),是个相对采样率的无量纲量;(2)因为 $n$ 是整数,$\omega$$2\pi$ 整数倍序列不变,故$2\pi$ 为周期,有效范围只看 $[0,\pi]$;(3)最高频是 $\omega=\pi$,对应 $f_c=f_s/2$(奈奎斯特频率)——这也是后面所有幅频响应图横轴画到 $\pi$(或 $\omega/\pi$ 到 1.0)就停的原因。直观读法:“信号频率占采样率的几分之几,再乘 $2\pi$”,例如 $f_c=1$ kHz、$f_s=10$ kHz 时 $\omega_c=0.2\pi$,正是下文例题里 $\omega_p=0.2\pi$ 的来历。

设计步骤

  1. 根据数字指标确定采样周期 $T$,并把数字频率换算为模拟频率:$\Omega=\omega/T$
  2. 设计满足模拟指标的模拟原型 $H_a(s)$
  3. $H_a(s)$ 做部分分式展开,写成若干一阶项或二阶共轭项。
  4. $z_k=e^{s_kT}$ 把每个模拟极点映射到数字极点。
  5. $H(z)=\sum_k \frac{T A_k}{1-e^{s_kT}z^{-1}}$ 合成数字系统函数。
关键问题:混叠。模拟频率 $\Omega$ 与数字频率 $\omega$ 的关系是 $\omega=\Omega T$。这个关系本身是线性的,但数字频率以 $2\pi$ 为周期,所以不同模拟频率可能折叠到同一个数字频率。

冲激响应不变法的频域关系

$$H(e^{j\omega})=\frac{1}{T}\sum_{k=-\infty}^{\infty}H_a\!\left(j\frac{\omega+2\pi k}{T}\right).$$

只有当 $H_a(j\Omega)$ 严格带限于 $|\Omega|<\pi/T$ 时,$k\ne 0$ 的项为零,才不发生混叠。实际中低通滤波器在阻带仍有残余,因此总有轻微混叠

因此冲激响应不变法适合低通、窄带带通这类模拟频谱主要集中在低频或有限频带内的场景;不适合高通和带阻,因为高频部分会被周期复制并折叠进低频,造成严重混叠。

维度冲激响应不变法的表现
时域保持采样点处的冲激响应形状
频率映射$\omega=\Omega T$,频率关系线性
稳定性$s$ 左半平面映射到 $z$ 单位圆内,稳定性保持
主要缺点频谱周期复制导致混叠
适用滤波器低通、窄带带通
不适用滤波器高通、带阻、频谱不带限的模拟原型

冲激响应不变法的频率映射关系要抓住一个矛盾:$\\Omega$$\\omega$ 的关系局部是线性的,但数字频率以 $2\pi$ 为周期,模拟频谱会被周期复制,这正是混叠来源。

PDF冲激响应不变法的频率映射p.35
正在渲染 PDF 第 35 页…
冲激响应不变法的频率映射(PDF 第 35 页) · 打开原文

所以这一路线的优点是时域直观、频率轴低频段容易理解;缺点是不能干净处理高通和带阻。课件用一个完整算例验证了这一点:图 6-24 给出用冲激响应不变法设计出的六阶 Butterworth 低通数字滤波器的频率响应,分幅度、增益(dB)、相位三幅图(横轴 $\omega$ 从 0 到 $\pi$)。可以看到通带在 $0.2\pi$ 附近平坦下降、阻带衰减单调加深,正是 Butterworth“通带最平坦”的特征;同时高频段并未抬起,说明此例频谱基本带限、混叠不严重——这页是把“冲激响应不变法 + Butterworth 原型”落到实际设计效果上不可或缺的一页。

PDF图 6-24:冲激响应不变法设计的六阶 Butterworth 低通数字滤波器频率响应p.73
正在渲染 PDF 第 73 页…
图 6-24:冲激响应不变法设计的六阶 Butterworth 低通数字滤波器频率响应(PDF 第 73 页) · 打开原文

例题:用冲激响应不变法设计数字 Butterworth 低通滤波器

题目:采用 Butterworth 滤波器设计一个数字低通滤波器,逼近以下模拟指标:通带截止 $f_c=2$ kHz(取作 3 dB 点)、阻带截止 $f_r=4$ kHz、在 $\Omega_r$ 处衰减不小于 15 dB,采样频率 $f_s=20$ kHz。

解:由于指标已是模拟频率且要“逼近模拟滤波器”,采用冲激响应不变法(数字与模拟频率呈线性关系 $\omega=\Omega T$,无需预畸变)。

步骤 0:整理指标。采样周期 $T=1/f_s=5\times10^{-5}$ s。

$$\Omega_c=2\pi f_c=4000\pi\ \text{rad/s},\qquad \Omega_r=2\pi f_r=8000\pi\ \text{rad/s},$$
$$\alpha_p=3\ \text{dB}\ (\text{因 }f_c\text{ 为 3 dB 点}),\qquad \alpha_s=15\ \text{dB}.$$

步骤 1:求阶数 $N$代入 Butterworth 阶数公式

$$N\ge\frac{\lg\left[(10^{0.1\alpha_s}-1)/(10^{0.1\alpha_p}-1)\right]}{2\lg(\Omega_r/\Omega_c)} =\frac{\lg\left[(10^{1.5}-1)/(10^{0.3}-1)\right]}{2\lg 2} \approx\frac{\lg(30.62/1.0)}{0.602}\approx2.47,$$

向上取整得 $N=3$

步骤 2:确定 3 dB 截止频率。$f_c$ 即 3 dB 点,直接取 $\Omega_c=4000\pi\approx1.257\times10^4$ rad/s。

步骤 3:写出模拟原型 $H_a(s)$三阶归一化 Butterworth 为 $H_{an}(s)=\dfrac{1}{(s+1)(s^2+s+1)}$,极点 $s=-1,\,e^{\pm j2\pi/3}$。去归一化($s\to s/\Omega_c$)得

$$H_a(s)=\frac{\Omega_c^3}{(s+\Omega_c)(s^2+\Omega_c s+\Omega_c^2)},$$

实际极点 $s_1=-\Omega_c,\ s_{2,3}=-\tfrac{\Omega_c}{2}\pm j\tfrac{\sqrt3}{2}\Omega_c$

步骤 4:冲激响应不变法转 $H(z)$$H_a(s)$ 部分分式展开后,按 $H(z)=\sum_k\dfrac{TA_k}{1-e^{s_kT}z^{-1}}$ 映射。代入 $\Omega_c T=4000\pi\times5\times10^{-5}=0.2\pi\approx0.6283$,得到各极点参数:

$$e^{-\Omega_c T}\approx0.534,\quad e^{-\Omega_c T/2}\approx0.730,\quad \cos\!\Big(\tfrac{\sqrt3}{2}\Omega_c T\Big)=\cos(0.544)\approx0.856.$$

于是数字滤波器为一阶节与二阶节之和:

$$H(z)=\frac{T\Omega_c}{1-0.534\,z^{-1}} +\frac{b_0+b_1z^{-1}}{1-1.250\,z^{-1}+0.5335\,z^{-2}},$$

其中二阶节分母由 $1-2e^{-\Omega_c T/2}\cos(\tfrac{\sqrt3}{2}\Omega_c T)z^{-1}+e^{-\Omega_c T}z^{-2}$ 算得,分子常数 $b_0,b_1$ 由部分分式系数 $A_k$$T$ 后取实部得到,最终可按通带增益归一化。

要点:(1)题目给的是模拟指标且要“逼近模拟滤波器”,所以走冲激响应不变法、用线性关系 $\Omega=2\pi f$ 即可,不必预畸变;(2)$f_c$ 未注明衰减值时按 3 dB 点取 $\alpha_p=3$ dB;(3)$\Omega_r/\Omega_c=2$ 使 $N$ 从 2.47 取整到 3,阻带余量充足。本例与上方图 6-24(冲激响应不变法设计的六阶 Butterworth 低通)属同一类方法。

4.2 阶跃响应不变法(Step Invariance)

冲激响应不变法是让 $h(n)$ 模仿 $h_a(t)$ 的采样。第六讲还给出一种平行思路:让数字系统的阶跃响应模仿模拟系统阶跃响应的采样。它适合从"系统对阶跃输入的累积响应"角度理解模拟到数字的映射。

阶跃响应不变法的构造

设模拟滤波器冲激响应为 $h_a(t)$,阶跃响应为

$$g_a(t)=u(t)*h_a(t),\qquad G_a(s)=\frac{1}{s}H_a(s).$$

数字滤波器中,阶跃输入的 $z$ 变换为 $z/(z-1)$,若 $g(n)=u(n)*h(n)$,则

$$G(z)=\frac{z}{z-1}H(z),\qquad H(z)=\frac{z-1}{z}G(z).$$

因此设计流程是:先由 $H_a(s)$ 得到 $G_a(s)$,反拉普拉斯变换得到 $g_a(t)$,采样成 $g(n)=g_a(nT)$,再做 $z$ 变换得到 $G(z)$,最后由 $H(z)=\frac{z-1}{z}G(z)$ 求数字滤波器。

和冲激响应不变法的区别:冲激响应不变法保采样点处的 $h_a(t)$;阶跃响应不变法保采样点处的 $g_a(t)$。两者都属于时域采样思想,也都会受到频谱周期延拓带来的混叠限制。

阶跃响应不变法的完整关系是:先从 $H_a(s)$ 得到 $G_a(s)$,再由采样后的 $G(z)$ 回到 $H(z)$。它比冲激响应不变法多了一个“先除以 $s$ 得到阶跃响应、最后再乘回 $(z-1)/z$”的步骤。

PDF阶跃响应不变法:由阶跃响应采样构造 H(z)p.45
正在渲染 PDF 第 45 页…
阶跃响应不变法:由阶跃响应采样构造 H(z)(PDF 第 45 页) · 打开原文

这样放置后,阶跃响应不变法的角色就很清楚:它仍是时域采样思想,只是采样对象从冲激响应换成了阶跃响应。

4.3 双线性变换法(Bilinear Transform)

双线性变换

用以下保角映射把 $s$ 平面左半平面一对一映射到 $z$ 平面单位圆内部:

$$s=\frac{2}{T}\,\frac{1-z^{-1}}{1+z^{-1}},\qquad z=\frac{1+sT/2}{1-sT/2}.$$

双线性变换的核心特性:

  • 无混叠$s$ 平面整个 $j\Omega$ 轴一对一映射到 $z$ 平面单位圆,没有频率重叠。
  • 频率畸变:模拟频率与数字频率的关系是非线性的:
    $$\Omega=\frac{2}{T}\tan\frac{\omega}{2},\qquad \omega=2\arctan\frac{\Omega T}{2}.$$
  • 稳定性保持$s$ 左半平面 $\to$ $z$ 单位圆内部,因果稳定的模拟滤波器一定映射为因果稳定的数字滤波器。

4.4 预畸变(Pre-warping)

由于双线性变换的频率畸变,若要求数字滤波器在 $\omega_c$ 处有截止频率,需要先把模拟原型的截止频率"预畸变"为

$$\Omega_c=\frac{2}{T}\tan\frac{\omega_c}{2}.$$

然后用 $\Omega_c$ 设计模拟滤波器,再做双线性变换,最终数字滤波器的截止频率就恰好落在 $\omega_c$

双线性变换的频率压缩:Ω = 2/T · tan(ω/2)JSXGraph
双线性变换的频率压缩:Ω = 2/T · tan(ω/2)
方法优点缺点适用
冲激响应不变线性频率关系混叠低通/带通(带限)
阶跃响应不变保持阶跃响应采样点混叠低通/带通(带限)
双线性变换无混叠,稳定保持频率畸变通用(需预畸变)
高通和带阻只能用双线性变换。冲激不变法和阶跃不变法都属于时域采样,频域上模拟频谱被周期延拓。高通/带阻的模拟原型在高频段有显著能量,这些高频分量折叠回低频后直接污染阻带,导致阻带衰减永远做不干净。只有双线性变换把整个 $\Omega$ 轴一一映射到 $[-\pi,\pi]$,不涉及采样,没有混叠,因此是设计高通和带阻的唯一选择。

双线性变换的关键优点是一一映射$s$ 平面的虚轴会映射到 $z$ 平面的单位圆,所以模拟频率不会像冲激响应不变法那样发生周期重叠,数字滤波器不会产生频率响应混叠。但这个一一映射不是线性的,而是

$$\Omega=c\tan\frac{\omega}{2}.$$

$\omega\to\pi$ 时,$\Omega\to\infty$,也就是说,整个模拟频率轴被压缩进有限的数字频率区间 $[-\pi,\pi]$。这种压缩不是均匀的:低频段近似线性,高频段被越来越强地拉伸。

非线性频率映射会带来一个直接后果:如果仍然按线性关系把模拟临界频率取成 $\Omega_1=\omega_1/T$,经过双线性变换后实际数字临界频率会变成

$$\omega=2\tan^{-1}\left(\frac{\Omega_1}{c}\right)\ne \omega_1.$$

因此模拟滤波器的分段常数幅频响应映射到数字域后,通带边界和阻带边界会偏离原本希望的位置。这里的“畸变”不是混叠,而是频率轴被非线性压缩导致的指标位置偏移。

幅频特性失真:线性映射 ω=ΩT vs 双线性映射 ω=2arctan(ΩT/2)
幅频特性失真:黑色直线 $\omega=\Omega T$ 超出 $\pi$(线性映射,存在混叠),红色曲线 $\omega=2\arctan(\Omega T/2)$ 始终在 $[-\pi,\pi]$ 内(双线性映射,无混叠但频率非线性)。低频段两者近似重合,高频段分歧越来越大。

预畸变就是这个问题的补救:既然双线性变换会把模拟频率 $\Omega$ 非线性映射成数字频率 $\omega$,设计前就先反向计算。给定希望数字滤波器落在 $\omega_1$ 的临界频率,先取

$$\Omega_1=c\tan\frac{\omega_1}{2},$$

再按这个 $\Omega_1$ 去设计模拟滤波器。这样经过双线性变换后,数字滤波器的临界频率就会落回目标 $\omega_1$。多边界滤波器也一样:通带边界、阻带边界都要分别做预畸变。

PDF双线性变换:频率非线性、幅频畸变与预畸变 · p.53–55p.53–55
正在渲染 PDF 第 53 页…
正在渲染 PDF 第 54 页…
正在渲染 PDF 第 55 页…
双线性变换:频率非线性、幅频畸变与预畸变(PDF p.53–55) · 打开原文
一句话:双线性变换解决的是“没有混叠”,代价是“频率非线性”;预畸变就是在模拟滤波器设计前预先把临界频率反向扭一下,让变换后的数字临界频率落回指定位置。

频率响应的几何表示法

双线性变换把模拟滤波器转化为数字滤波器后,$H(z)$ 的频率响应由零极点位置决定。理解这种关系最直观的方式是几何表示法:把单位圆上的点 $B=e^{j\omega}$ 看作一个沿圆周移动的“探针”,$|H(e^{j\omega})|$ 的大小就由零点和极点到 $B$ 的距离之比决定。

幅度响应的几何表示

$H(z)$ 的零点为 $c_1,c_2,\ldots,c_M$,极点为 $d_1,d_2,\ldots,d_N$,增益为 $A$。在 $z=e^{j\omega}$ 处:

$$|H(e^{j\omega})|=|A|\cdot\frac{\prod_{i=1}^{M}\overrightarrow{c_iB}}{\prod_{k=1}^{N}\overrightarrow{d_kB}}$$

其中 $\overrightarrow{c_iB}=|e^{j\omega}-c_i|$ 是零点 $c_i$ 到单位圆上 $B$ 点的向量长度,$\overrightarrow{d_kB}=|e^{j\omega}-d_k|$ 是极点 $d_k$$B$ 点的向量长度。

频率响应的几何表示法:z 平面零极点向量与幅度/相位响应
图 3.11 频率响应的几何表示法:左图为 z 平面上零点 $c_1$、极点 $d_k$ 到单位圆上 $B=e^{j\omega}$ 的向量;右图为对应的 $|H(e^{j\omega})|$$\varphi(\omega)$ 曲线。幅度响应等于所有零点向量长度之积除以所有极点向量长度之积。

从图中可以读出三条核心规律:

  • 极点靠近单位圆 → 幅度峰值:当 $B$ 点经过极点 $d_k$ 附近时,$\overrightarrow{d_kB}$ 变得很短,分母变小,$|H|$ 出现峰值。极点越靠近单位圆,峰值越尖锐。
  • 零点靠近单位圆 → 幅度谷值:当 $B$ 点经过零点 $c_i$ 附近时,$\overrightarrow{c_iB}$ 变得很短,分子变小,$|H|$ 出现谷值(陷波)。零点恰好在单位圆上时该频率处 $|H|=0$
  • 相位跳变$B$ 点经过极点或零点附近时,向量方向快速旋转,$\varphi(\omega)$ 出现剧烈变化(图中下方相位曲线在 $\omega=\pi$ 附近的跳变)。

这个几何视角在设计完数字滤波器后特别有用:拿到 $H(z)$ 的零极点分布图,不用算数值就能直观判断通带在哪个频段、过渡带有多陡、有没有不该有的峰值或谷值。反过来,如果设计指标要求在某个频率处有陷波,就往单位圆上对应位置放零点;要求通带峰值,就把极点放在靠近单位圆的对应角度。

课件用一个算例验证了双线性变换法的实际效果:图 6-25 给出用双线性变换法设计出的四阶 Chebyshev 低通数字滤波器幅频响应(纵轴 $20\lg|H(e^{j\omega})|$,单位 dB;横轴 $\omega/\pi$ 从 0 到 1.0)。可以看到通带边界在 $0.2\pi$ 附近、阻带衰减一路单调加深到 $-100$ dB 以下,且高频段没有因混叠而抬起——正好印证“双线性变换无混叠”的优点,也与前面冲激响应不变法的图 6-24 形成对照。这页是把双线性变换法落到实际设计效果上不可或缺的一页。

PDF图 6-25:双线性变换法设计的四阶 Chebyshev 低通数字滤波器幅频响应p.95
正在渲染 PDF 第 95 页…
图 6-25:双线性变换法设计的四阶 Chebyshev 低通数字滤波器幅频响应(PDF 第 95 页) · 打开原文

4.5 双线性变换法设计例题

例题:用双线性变换法设计数字低通滤波器

题目:设计一数字 Butterworth 低通滤波器,指标如下:

  • 通带截止频率 $\omega_p=0.2\pi$,通带最大衰减 $\alpha_p\le 1$ dB
  • 阻带截止频率 $\omega_s=0.3\pi$,阻带最小衰减 $\alpha_s\ge 15$ dB
  • 采样频率 $f_s=10$ kHz

解:

步骤 1:预畸变

$$\Omega_p=\frac{2}{T}\tan\frac{\omega_p}{2}=2f_s\tan(0.1\pi)\approx 6498\text{ rad/s},$$
$$\Omega_s=\frac{2}{T}\tan\frac{\omega_s}{2}=2f_s\tan(0.15\pi)\approx 10195\text{ rad/s}.$$

步骤 2:确定阶数 $N$

Butterworth 滤波器阶数公式:

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

代入 $\alpha_p=1,\alpha_s=15$

$$N\ge\frac{\log[(10^{1.5}-1)/(10^{0.1}-1)]}{2\log(10195/6498)}\approx\frac{\log(118.27)}{2\log(1.57)}\approx\frac{2.073}{0.391}\approx 5.30.$$

$N=6$

步骤 3:求模拟原型 $H_a(s)$

6 阶 Butterworth 极点均匀分布在左半圆上,$\Omega_c=\Omega_p/(10^{0.1\alpha_p}-1)^{1/(2N)}\approx 6498/0.894\approx 7272$ rad/s。写出

$$H_a(s)=\frac{\Omega_c^6}{\prod_{k=1}^{6}(s-s_k)}.$$

步骤 4:双线性变换

代入 $s=2f_s\frac{1-z^{-1}}{1+z^{-1}}$,展开后得到 $H(z)$。实际计算中通常先把 $H_a(s)$ 分解为二阶节,再对每个二阶节分别做双线性变换,最后级联。

易错点:(1)预畸变时 $\tan$ 的参数是 $\omega/2$ 不是 $\omega$;(2)阶数公式中的 $\alpha_p$$\alpha_s$ 是分贝值,需先转成 $10^{0.1\alpha}$;(3)双线性变换后通常需要数值化简,手工展开容易出错,建议用 MATLAB 的 bilinear 函数验证。

例题:用双线性变换法设计数字带通滤波器

题目:设计一数字 Butterworth 带通滤波器,指标如下:

  • 通带下截止 $\omega_{pl}=0.35\pi$,上截止 $\omega_{pu}=0.65\pi$
  • 阻带下截止 $\omega_{sl}=0.2\pi$,上截止 $\omega_{su}=0.8\pi$
  • 通带最大衰减 $\alpha_p\le 3$ dB,阻带最小衰减 $\alpha_s\ge 15$ dB

解:

步骤 1:预畸变

将各数字频率预畸变为模拟频率:

$$\Omega_{pl}=\tan\frac{\omega_{pl}}{2}=\tan(0.175\pi),\quad \Omega_{pu}=\tan\frac{\omega_{pu}}{2}=\tan(0.325\pi).$$

步骤 2:模拟带通原型

模拟带通的带宽 $B=\Omega_{pu}-\Omega_{pl}$,中心频率 $\Omega_0=\sqrt{\Omega_{pl}\Omega_{pu}}$

将带通指标变换为归一化低通指标,用 Butterworth 阶数公式确定 $N$

步骤 3:设计低通原型

用求得的阶数 $N$ 和截止频率设计归一化 Butterworth 低通 $H_{LP}(s)$

步骤 4:频率变换

$H_{LP}(s)$ 做带通变换:

$$s\to\Omega_0\frac{s^2+\Omega_{pl}\Omega_{pu}}{s(\Omega_{pu}-\Omega_{pl})}.$$

步骤 5:双线性变换

代入 $s=\frac{1-z^{-1}}{1+z^{-1}}$(取 $T=2$ 简化),得到数字带通滤波器 $H(z)$

设计流程总结:带通设计比低通多了频率变换一步,核心是"先预畸变、再变低通为带通、最后双线性映射到数字域"。实际中通常直接使用 MATLAB 的 butter(N, [wl, wu]) 完成全部步骤。

例题:用带阻滤波器除去 100 Hz 噪声(陷波器设计)

题目:采样频率 $f_s=1000$ Hz,信号受 100 Hz 噪声干扰。设计一个 Butterworth 带阻数字滤波器除噪:3 dB 边带频率为 90 Hz 和 110 Hz,阻带最小衰减 $\alpha_s\ge15$ dB。

设计决策(指标的两层含义与补全):题目给的两个量含义不同——“3 dB 边带 90/110 Hz”标记通带边界(幅度在此降到 $1/\sqrt2$、即 $\alpha_p=3$ dB,90 Hz 以下、110 Hz 以上的有用信号要保留);“阻带最小衰减 15 dB”规定阻带要陷多深$\alpha_s=15$ dB)。但带阻设计要定阶数,还需要一对阻带边界频率来确定过渡带宽度(即“从 3 dB 边缘到 15 dB 深度允许走多远”),原题未给,需由设计者选定。本例作为设计者取阻带边界为 95 Hz 与 105 Hz(过渡带各 5 Hz,对陷波器是合理的折中:过渡带越窄阶数越高、实现越复杂)。注意阻带边界不能取 100 Hz——它正是陷波中心,预畸变后与中心频率重合,会使阻带归一化频率 $\lambda_s\to\infty$、阶数退化为 0,是无意义的平凡条件。

解:带阻在高频段有通带,冲激响应不变法会因混叠失效,必须用双线性变换

步骤 1:物理频率 → 数字频率$\omega=2\pi f/f_s$)。

$$\omega_{p1}=0.18\pi,\quad \omega_{s1}=0.19\pi,\quad \omega_0=0.2\pi,\quad \omega_{s2}=0.21\pi,\quad \omega_{p2}=0.22\pi.$$

步骤 2:预畸变(取 $T=2$,则 $\Omega=\tan(\omega/2)$$T$ 在预畸变与反变换中抵消,不影响结果)。

$$\Omega_{p1}=\tan(0.09\pi)\approx0.2905,\qquad \Omega_{p2}=\tan(0.11\pi)\approx0.3600,$$
$$\Omega_{s1}=\tan(0.095\pi)\approx0.3076,\qquad \Omega_{s2}=\tan(0.105\pi)\approx0.3404.$$

步骤 3:带阻原型参数。带宽与中心频率为

$$B=\Omega_{p2}-\Omega_{p1}\approx0.0695,\qquad \Omega_0^2=\Omega_{p1}\Omega_{p2}\approx0.1046\ (\Omega_0\approx0.3234).$$

步骤 4:带阻 → 归一化低通,求阻带归一化频率。用映射 $\lambda=\dfrac{B\,\Omega}{\Omega_0^2-\Omega^2}$,通带边界归一化为 $\lambda_p=1$;阻带边界(取偏离中心较近的 95 Hz)代入

$$\lambda_s=\left|\frac{B\,\Omega_{s1}}{\Omega_0^2-\Omega_{s1}^2}\right| =\left|\frac{0.0695\times0.3076}{0.1046-0.3076^2}\right|\approx2.15.$$

步骤 5:求阶数 $N$(Butterworth,$\alpha_p=3$ dB、$\alpha_s=15$ dB)。

$$N\ge\frac{\lg\big[(10^{1.5}-1)/(10^{0.3}-1)\big]}{2\lg\lambda_s} =\frac{\lg(30.62/1.0)}{2\lg 2.15}\approx\frac{1.486}{0.663}\approx2.24,$$

向上取整得 $N=3$。这个阶数由前面选定的阻带边界(95/105 Hz)决定:过渡带取得越窄、$\lambda_s$ 越接近 1,算出的 $N$ 越大;本例 $N=3$ 在“陷波足够深”与“实现足够简单”之间取得了合理平衡,是设计者可接受的工程值。

步骤 6:归一化低通原型。三阶归一化 Butterworth:

$$H_{LP}(\lambda)=\frac{1}{(\lambda+1)(\lambda^2+\lambda+1)}.$$

步骤 7:带阻变换 + 双线性变换得 $H(z)$先把低通变量 $\lambda$ 还原为带阻:$\lambda\to\dfrac{B\,s}{s^2+\Omega_0^2}$ 得到模拟带阻 $H_a(s)$;再用 $s=\dfrac{1-z^{-1}}{1+z^{-1}}$$T=2$)做双线性变换。带阻的数字陷波中心落在

$$\omega_0=0.2\pi,\qquad \cos\omega_0\approx0.809,$$

即数字滤波器在 $0.2\pi$(对应 100 Hz)处形成深陷波、彻底抑制噪声,而在 $0.18\pi$$0.22\pi$(90/110 Hz)以外幅度接近 1,保留有用信号。最终 $H(z)$ 由三个二阶节(每节形如 $\dfrac{1-2\cos\omega_0 z^{-1}+z^{-2}}{1-a_k z^{-1}+b_k z^{-2}}$,分子零点位于陷波频率 $e^{\pm j\omega_0}$)级联构成,系数由各模拟极点经双线性变换逐一映射得到。

步骤 8:求出 $H(z)$ 的完整表达式。把上述过程符号化展开(取 $T=2$,即 $s=\frac{1-z^{-1}}{1+z^{-1}}$),整理为 $z^{-1}$ 升幂的六阶有理式:

$$H(z)=0.8818\cdot\frac{1-4.864z^{-1}+10.886z^{-2}-13.989z^{-3}+10.886z^{-4}-4.864z^{-5}+z^{-6}}{1-4.660z^{-1}+9.994z^{-2}-12.313z^{-3}+9.190z^{-4}-3.940z^{-5}+0.778z^{-6}}.$$

分子系数关于中心对称,正是带阻陷波“零点在单位圆上成对出现”的体现;首项 $0.8818$ 是总增益 $G$。把分子整体记为 $\sum_{k=0}^{6}b_kz^{-k}$、分母整体记为 $1+\sum_{k=1}^{6}a_kz^{-k}$,对应系数为

$$\begin{aligned} b_k&=0.8818\times[\,1,\,-4.864,\,10.886,\,-13.989,\,10.886,\,-4.864,\,1\,],\\ a_k&=[\,1,\,-4.660,\,9.994,\,-12.313,\,9.190,\,-3.940,\,0.778\,]. \end{aligned}$$

步骤 9:严格正准型(直接 II 型)信号流图。正准型是一种整体的、不拆节的实现结构(与级联型、并联型并列):直接对六阶 $H(z)$ 实现,用一条 6 级延时线(6 个 $z^{-1}$,延时器数 = 阶数,这正是“正准/最少”的含义),反馈系数 $-a_1\sim-a_6$ 与前馈系数 $b_0\sim b_6$ 共享同一组延时单元。引入中间变量 $w[n]$,差分方程为

$$w[n]=x[n]-\sum_{k=1}^{6}a_k\,w[n-k],\qquad y[n]=\sum_{k=0}^{6}b_k\,w[n-k].$$

代入本题系数,反馈与前馈两组方程为

$$\begin{aligned} w[n]=x[n]&+4.660\,w[n-1]-9.994\,w[n-2]+12.313\,w[n-3]\\ &-9.190\,w[n-4]+3.940\,w[n-5]-0.778\,w[n-6], \end{aligned}$$
$$\begin{aligned} y[n]=0.8818\big(&w[n]-4.864\,w[n-1]+10.886\,w[n-2]-13.989\,w[n-3]\\ &+10.886\,w[n-4]-4.864\,w[n-5]+w[n-6]\big). \end{aligned}$$

对应的直接 II 型信号流图:左侧为反馈支路(系数 $-a_k$ 回到输入加法器),右侧为前馈支路(系数 $b_k$ 汇入输出加法器),中间纵向是一条共享的六级延时线:

flowchart LR
    X(["x[n]"]) --> ADD1((+))
    ADD1 --> W(["w[n]"])
    W --> ADD2((+))
    ADD2 --> Y(["y[n]"])
    W --> D1["z⁻¹"] --> W1(["w[n-1]"])
    W1 --> D2["z⁻¹"] --> W2(["w[n-2]"])
    W2 --> D3["z⁻¹"] --> W3(["w[n-3]"])
    W3 --> D4["z⁻¹"] --> W4(["w[n-4]"])
    W4 --> D5["z⁻¹"] --> W5(["w[n-5]"])
    W5 --> D6["z⁻¹"] --> W6(["w[n-6]"])
    W1 -- "−a₁" --> ADD1
    W2 -- "−a₂" --> ADD1
    W3 -- "−a₃" --> ADD1
    W4 -- "−a₄" --> ADD1
    W5 -- "−a₅" --> ADD1
    W6 -- "−a₆" --> ADD1
    W -- "b₀" --> ADD2
    W1 -- "b₁" --> ADD2
    W2 -- "b₂" --> ADD2
    W3 -- "b₃" --> ADD2
    W4 -- "b₄" --> ADD2
    W5 -- "b₅" --> ADD2
    W6 -- "b₆" --> ADD2
    

整个滤波器只用 6 个延时器(等于系统阶数 6),这是正准型存储最省的体现。前馈系数对称($b_0=b_6,\,b_1=b_5,\dots$)来自带阻零点在单位圆上成对出现,正是这组零点(位于 $e^{\pm j0.2\pi}$)令 100 Hz 输出被陷掉。

结构辨析:正准型(直接 II 型)、级联型、并联型是三种并列的实现结构,不存在从属关系。本步采用严格正准型——不拆二阶节,直接用整体六阶 $H(z)$、一条共享的六级延时线实现。若改用级联型,则会把六阶拆成 3 个二阶节串联、每节再单独用直接 II 型实现(那是另一种结构,数值更稳健但延时器分布不同)。两者实现的是同一个 $H(z)$
要点:(1)带阻/带通必须用双线性变换,不能用冲激响应不变法;(2)求阶数需要一对阻带边界,本题原题缺失需补设定,且阻带边界不能取在陷波中心;(3)带阻陷波器的数字零点恰好落在要除去的噪声频率 $e^{\pm j\omega_0}$ 上,这正是它"陷掉"该频率的几何原因;(4)正准型(直接 II 型)整体只用与阶数相等的延时器数,是存储最省的实现,与级联型/并联型是并列的不同结构。

4.6 方法选择:什么时候用冲激响应不变法,什么时候用双线性变换法

前面给了三种映射方法,实际做题时最关键的是判断该用哪一种。判断有两个层次:先看滤波器类型(是否高通/带阻),再看题目给的是模拟指标还是数字指标

最直接的信号:题目给模拟频率(Hz、rad/s)且要“逼近某个模拟滤波器”→ 用冲激响应不变法(频率关系 $\omega=\Omega T$ 线性,能真正复现模拟频响形状);题目只给数字指标(如 $\omega_p=0.2\pi$)→ 用双线性变换法(配合预畸变精确命中数字临界频率)。前面 4.1 那道 $f_c=2$ kHz、$f_r=4$ kHz 的题给的是模拟指标且要逼近模拟滤波器,所以走冲激响应不变法。
flowchart TD
    A["拿到 Butterworth 设计题"] --> B{"是高通 / 带阻?"}
    B -->|"是"| C["必须用双线性变换
(冲激不变法对高频混叠无解)"] B -->|"否(低通 / 带通)"| D{"给模拟指标且要
逼近模拟滤波器?"} D -->|"是"| E["用冲激响应不变法"] D -->|"否"| F{"要保留冲激 /
阶跃响应时域形状?"} F -->|"是"| E F -->|"否(只给数字指标)"| G["默认用双线性变换
(无混叠,最稳妥)"]
维度冲激响应不变法双线性变换法
频率映射线性 $\omega=\Omega T$非线性 $\Omega=\frac{2}{T}\tan\frac{\omega}{2}$(需预畸变)
混叠有混叠(频谱周期延拓)无混叠($j\Omega$ 轴一对一映射到单位圆)
高通 / 带阻不能用(高频混叠严重)都能用
低通 / 窄带带通可用(要求模拟原型频谱带限)可用
时域响应形状保真(冲激响应采样点一致)不保真
典型场景逼近给定模拟滤波器、给模拟指标一般低通/带通、只给数字指标(默认首选)
为什么低通 Butterworth 特别适合冲激响应不变法?冲激不变法的致命缺点是混叠,而混叠严重程度取决于模拟原型频谱衰减得快不快。Butterworth 是全极点、单调下降的,高频衰减干净($N$ 越高越快),频谱近似带限,所以低通 Butterworth 用冲激不变法时混叠相对可控——这正是图 6-24 那个例子高频段没有明显抬起的原因。但 Butterworth 高通在高频段幅度大,周期延拓会把高频严重折叠回来,必须改用双线性变换
一句话:看到“高通/带阻”闭眼选双线性;看到“逼近模拟滤波器/给模拟指标(Hz)/保留时域响应”选冲激响应不变法(且通常是低通);只给数字指标的一般低通/带通默认双线性(无混叠最稳妥)。
五、模拟低通原型
常用模拟低通滤波器特性

模拟低通滤波器的幅度平方函数通常写成 $A^2(\Omega)=|H_a(j\Omega)|^2$ 的形式。三种经典原型分别从"最平坦"、"等波纹"、"最陡过渡"三个角度逼近理想矩形特性。

5.1 Butterworth 滤波器

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$)。

什么是 3 dB 点(半功率点)?它指幅度下降到通带最大值 $1/\sqrt2\approx0.707$ 倍处的频率。原因是 dB 衡量比值,$20\lg(1/\sqrt2)\approx-3.01$ dB,故幅度降到 $0.707$ 倍约衰减 3 dB;又因功率正比于幅度平方,此时功率变成 $(1/\sqrt2)^2=1/2$,正好是最大功率的一半,所以也叫“半功率点”。对 Butterworth 而言,把 $\Omega=\Omega_c$ 代入幅度平方函数恰得 $|H_a(j\Omega_c)|^2=\dfrac{1}{1+1}=\dfrac12$、即 $|H_a(j\Omega_c)|=1/\sqrt2$——无论阶数 $N$ 多大,所有曲线都精确穿过 $(\Omega_c,\,1/\sqrt2)$(这正是图 6-17 中各阶曲线都交于 $1/\sqrt2$ 那条虚线的原因),因此 $\Omega_c$ 被称为“3 dB 截止频率”。设计题中若只给“截止频率 $f_c$”而未注明衰减值,通常就按 3 dB 点处理,即取通带衰减 $\alpha_p=3$ dB。

Butterworth 的特点是:

  • $\Omega=0$ 处幅度最平坦(前 $2N-1$ 阶导数为零)。
  • 极点均匀分布在 $s$ 平面左半圆的圆周上,角度间隔为 $\pi/N$
  • 过渡带较宽,相同指标下阶数最高。

极点分布

$|H_a(j\Omega)|^2$ 的分母为零,得到 $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.$$

取左半平面的 $N$ 个极点构成稳定的 $H_a(s)$

这个极点公式并非凭空给出,而是从幅度平方特性推来的:把 $\Omega=s/j$ 代入得 $|H_a(j\Omega)|^2\big|_{\Omega=s/j}=H_a(s)H_a(-s)=1/[1+(s/j\Omega_c)^{2N}]$,可见 Butterworth 是一个全极点滤波器(分子为常数、无有限零点),令分母为零即解出上式的 $2N$ 个极点。这一步是极点公式的出处。

PDFButterworth 极点分布推导:H_a(s)H_a(-s) 与全极点特性p.64

pdf/dsp/第六讲1.pdf · p.64

打开原文

这些极点的几何分布有一组很整齐的规律,课件用图 6-18 系统总结:$2N$ 个极点在 $s$ 平面上象限对称、分布在半径 $\Omega_c$ 的 Butterworth 圆上,相邻极点角度间隔为 $\pi/N$,极点不落在虚轴上;当 $N$ 为奇数时实轴上有极点、$N$ 为偶数时实轴上无极点。图中分别画出 $N=3$(角度间隔 $\pi/3$)与 $N=4$(角度间隔 $\pi/4$)两种情形,是理解“怎样挑出左半平面极点”不可或缺的图示。

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

阶数公式

给定通带截止 $\Omega_p$(最大衰减 $\alpha_p$ dB)和阻带截止 $\Omega_s$(最小衰减 $\alpha_s$ dB),阶数必须满足

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

推导思路:在 $\Omega_p$ 处要求 $|H_a|^2\ge 10^{-0.1\alpha_p}$,在 $\Omega_s$ 处要求 $|H_a|^2\le 10^{-0.1\alpha_s}$,分别解出不等式后联立消去 $\Omega_c$ 即得 $N$

设计步骤:(1)用阶数公式求出最小整数 $N$;(2)利用通带或阻带条件反解 $\Omega_c$;(3)写出归一化极点位置;(4)构造 $H_a(s)=\Omega_c^N/\prod(s-s_k)$

把这些左半平面极点代回去,就得到 Butterworth 的系统函数 $H_a(s)=\Omega_c^N/\prod_{k=1}^N(s-s_k)$。课件还强调一个工程上常用的技巧:先取 $\Omega_c=\Omega_{cr}=1\,\text{rad/s}$ 写出归一化系统函数 $H_{an}(s)$(极点直接落在单位圆上、可查表),再用频率代换 $s\to\Omega_{cr}s/\Omega_c$去归一化,即 $H_a(s)=H_{an}(\Omega_{cr}s/\Omega_c)$,把截止频率搬到实际指标要求的 $\Omega_c$ 上。这套“归一化设计 + 去归一化还原”是 Butterworth 实际计算不可或缺的一步。

PDFButterworth 系统函数:H_a(s) 构造与归一化、去归一化频率代换p.66
正在渲染 PDF 第 66 页…
Butterworth 系统函数:H_a(s) 构造与归一化、去归一化频率代换(PDF 第 66 页) · 打开原文

Butterworth 低通逼近的关键是幅度平方函数和 3 dB 截止频率定义;设计步骤则按“先定指标,再归一化,再求阶数和截止频率”的顺序展开。上文已经完整转写并解释这些公式,因此这里作为出处和步骤对照。

PDFButterworth 低通逼近:幅度平方函数与最平坦特性p.62

pdf/dsp/第六讲1.pdf · p.62

打开原文

课件用一页系统总结了 Butterworth 的幅度函数特点:$\Omega=0$ 处幅度为 1、$\Omega=\Omega_c$ 处恒为 $1/2$(3 dB 不变性)、通带内最大平坦且单调下降、过渡带与阻带内快速单调下降;图 6-17 还给出 $N=2,4,8$ 三条幅度曲线的对比,直观说明阶数越高过渡越陡。这页是理解“最平坦”含义与阶数作用不可或缺的图示。

PDFButterworth 幅度函数特点与图 6-17:不同阶数 N 的幅度特性对比p.63
正在渲染 PDF 第 63 页…
Butterworth 幅度函数特点与图 6-17:不同阶数 N 的幅度特性对比(PDF 第 63 页) · 打开原文
PDFButterworth 设计步骤与阶数公式p.67
正在渲染 PDF 第 67 页…
Butterworth 设计步骤与阶数公式(PDF 第 67 页) · 打开原文

也就是说,Butterworth 不是先随便选阶数,而是由通带、阻带指标倒推出最低阶数,再构造稳定的左半平面极点。而“怎样从幅度平方函数恢复出稳定的 $H_a(s)$”是这一步背后的通用方法:先令 $\Omega^2=-s^2$ 得到 $H_a(s)H_a(-s)$,再把左半平面的极点(以及合适的零点)归给 $H_a(s)$,最后由 $\Omega=0$(或其它已知点)定增益常数。课件用一道具体例题演示了这一恢复过程,是理解 Butterworth 极点选取逻辑不可或缺的一步。

PDF由幅度平方函数反求系统函数:Ω²=-s² 代换、取左半平面极点与定增益常数p.61

pdf/dsp/第六讲1.pdf · p.61

打开原文

5.2 Chebyshev 滤波器

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/dsp/第六讲1.pdf · p.87

打开原文

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

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

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

5.3 Ellipse / Elliptic 椭圆滤波器

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

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

5.4 Bessel 贝塞尔滤波器

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

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

上述方法设计的是低通滤波器。若需要高通、带通或带阻,可以通过频率变换把低通原型变成目标类型。

6.1 模拟频率变换

在模拟域直接对 $s$ 做变换,再把结果用双线性变换映射到数字域。

模拟频率变换公式

目标变换公式
低通 $\to$ 低通$s\to s\,\Omega_{p1}/\Omega_{p2}$
低通 $\to$ 高通$s\to \Omega_{p1}\Omega_{p2}/s$
低通 $\to$ 带通$s\to \Omega_{p1}\,\frac{s^2+\Omega_{l}\Omega_{u}}{s(\Omega_u-\Omega_l)}$
低通 $\to$ 带阻$s\to \Omega_{p1}\,\frac{s(\Omega_u-\Omega_l)}{s^2+\Omega_l\Omega_u}$

6.2 数字频率变换

第六讲最后一组内容是数字域频带变换法:先得到一个数字低通 $H_L(z)$,再把其中的 $z^{-1}$ 替换为一个全通函数 $G(Z^{-1})$,得到目标数字滤波器

$$H_d(Z)=H_L(z)\big|_{z^{-1}=G(Z^{-1})}.$$

这种方法完全在数字域中操作,要求 $G(Z^{-1})$$z$ 平面单位圆映射到 $Z$ 平面单位圆,并且把单位圆内部映射到单位圆内部,从而保持因果稳定。

数字域频率变换的全通条件

$z=e^{j\theta}$$Z=e^{j\omega}$。若

$$z^{-1}=G(Z^{-1})=G(e^{-j\omega}),$$

则必须满足

$$|G(e^{-j\omega})|=1,$$

也就是 $G$ 必须是全通函数;相位关系由 $\theta=-\arg G(e^{-j\omega})$ 决定。课件给出的通用一阶全通形式为

$$z^{-1}=G(Z^{-1})=\pm\prod_{k=1}^{N}\frac{Z^{-1}-a_k^*}{1-a_kZ^{-1}},\qquad |a_k|<1.$$

常见数字域频率变换公式

目标$z^{-1}$ 替换为核心参数
数字低通 $\to$ 数字低通$\frac{Z^{-1}-\alpha}{1-\alpha Z^{-1}}$$\alpha=\frac{\sin\frac{\omega_p-\theta_p}{2}}{\sin\frac{\omega_p+\theta_p}{2}}$
数字低通 $\to$ 数字高通$-\frac{Z^{-1}+\alpha}{1+\alpha Z^{-1}}$低通频率响应旋转 $180^\circ$
数字低通 $\to$ 数字带通$-\frac{Z^{-2}+d_1Z^{-1}+d_2}{d_2Z^{-2}+d_1Z^{-1}+1}$$\theta:0\to\pi$ 映到 $\omega:0\to\pi\to0$,阶数加倍
数字低通 $\to$ 数字带阻$\frac{Z^{-2}+d_1Z^{-1}+d_2}{d_2Z^{-2}+d_1Z^{-1}+1}$$\theta:0\to\pi$ 映到 $\omega:\pi\to0\to\pi$,阶数加倍
flowchart LR
    A["数字低通 H_L(z)"] --> B["全通替换 z^-1 = G(Z^-1)"]
    B --> C{"相位映射"}
    C -->|"保持低频"| D["数字低通"]
    C -->|"旋转 180°"| E["数字高通"]
    C -->|"0 → π → 0"| F["数字带通"]
    C -->|"π → 0 → π"| G["数字带阻"]
  
读公式的关键:数字频率变换不是重新设计模拟原型,而是用全通替换改变单位圆上的相位映射;幅度响应形状来自原数字低通,频带位置由 $G(Z^{-1})$ 的相位函数决定。

这正是前面第二章全通系统埋下的伏笔在这里兑现:替换函数 $G(Z^{-1})$ 必须是全通函数,靠它“幅度恒为 1”保住原数字低通的通带/阻带形状,靠它“相位随频率变化”把频带搬到高通/带通/带阻的位置——所以那时强调的“只改相位、不改幅度”,到这一步才显出真正用途。

设计流程总结:(1)确定数字指标($\omega_p,\omega_s,\alpha_p,\alpha_s$);(2)若用双线性变换,做预畸变得到模拟指标;(3)设计模拟低通原型;(4)若需高通/带通/带阻,做频率变换;(5)用选定的变换方法(冲激不变/双线性)得到 $H(z)$;(6)验证数字滤波器指标是否满足。

IIR 设计方法可以总览成一条完整路线:先定指标,再选模拟原型,再选择冲激响应不变法、阶跃响应不变法或双线性变换,最后必要时做频带变换。

PDFIIR 数字滤波器设计方法总览p.98
正在渲染 PDF 第 98 页…
IIR 数字滤波器设计方法总览(PDF 第 98 页) · 打开原文

数字域频带变换的入口是两个要求:第一,替换函数必须把单位圆映射到单位圆;第二,满足这个要求的替换函数本质上就是全通函数。

PDF数字域频带变换要求与全通函数形式 · p.121–122p.121–122
正在渲染 PDF 第 121 页…
正在渲染 PDF 第 122 页…
数字域频带变换要求与全通函数形式(PDF p.121–122) · 打开原文

数字低通到数字高通的全通替换公式,以及多通带/带阻情形下全通函数阶数与符号的选择,已经被整理进上面的公式表;这里用轻量引用标注出处。

PDF数字低通到数字高通:全通替换公式出处p.127

pdf/dsp/第六讲1.pdf · p.127

打开原文

PDF数字低通到多通带/带阻:全通函数阶数与符号p.141

pdf/dsp/第六讲1.pdf · p.141

打开原文

这样读下来,数字频率变换的逻辑是连续的:用全通替换重排单位圆上的频率位置,而不是重新设计一个新的模拟原型。

6.3 工程实现提示

设计完成后,还需要考虑实际实现中的数值问题:

  • 系数量化$a_k,b_k$ 用有限位表示后,零极点位置会偏移。高阶直接型对系数极其敏感,通常拆成二阶级联实现。
  • 运算溢出:IIR 滤波器有反馈,中间变量可能很大。需要缩放输入或采用饱和算术。
  • 极限环振荡:有限字长下,零输入时输出可能不收敛到零,而是进入小幅度周期振荡。
工程建议:高阶 IIR 滤波器不要直接用直接型实现。先用双线性变换得到 $H(z)$,再因式分解为二阶级联型(或并联型),每节独立检验稳定性。DSP 芯片(TI、ADI)通常提供级联 Biquad 的硬件加速指令。

复习速查

  • 设计路线:指标 $\to$ 预畸变 $\to$ 模拟原型 $\to$ 频率变换 $\to$ 双线性变换 $\to$ $H(z)$
  • 全通系统$|H|=1$,零极点镜像对称,用于相位均衡和稳定性补偿。
  • Butterworth:最平坦,极点均匀分布在左半圆上,$|H|^2=1/[1+(\Omega/\Omega_c)^{2N}]$
  • Chebyshev:等波纹,$T_N(x)$ 多项式,过渡带更陡,极点在椭圆上。
  • Butterworth 阶数$N\ge\lg[(10^{0.1\alpha_s}-1)/(10^{0.1\alpha_p}-1)]/[2\lg(\Omega_s/\Omega_p)]$
  • 冲激响应不变$h(n)=h_a(nT)$ 或按归一化取 $T h_a(nT)$,时域采样直观,但频域会周期延拓并混叠。
  • 阶跃响应不变:先采样模拟阶跃响应 $g_a(t)$$G(z)$,再由 $H(z)=\frac{z-1}{z}G(z)$ 恢复系统函数。
  • 双线性变换$s=\frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}}$,无混叠但频率畸变。
  • 预畸变$\Omega_c=\frac{2}{T}\tan\frac{\omega_c}{2}$,补偿双线性变换的频率压缩。
  • 频率变换:模拟域对 $s$ 替换,或数字域用全通函数 $G(Z^{-1})$ 替换 $z^{-1}$,实现低通$\to$高通/带通/带阻。

参考来源

  • 课程讲义:第六讲《IIR 数字滤波器的设计》,用于核对数字滤波器技术指标、最小相位、全通系统、模拟原型、冲激响应不变法、阶跃响应不变法、双线性变换、模拟频率变换和数字域频带变换法。
  • 教材:程佩青《数字信号处理教程》第 6 章,用于核对 IIR 数字滤波器设计公式与例题流程。
  • Oppenheim & Schafer, Discrete-Time Signal Processing, Chapter 7,用于补充离散时间滤波器设计的经典表述。
  • WolfSound: Analog Prototype Filter Design:用于补充 Butterworth、Chebyshev 等模拟原型的设计直觉。
  • MIT OCW Lecture 24: Butterworth Filters:用于核对 Butterworth 极点分布与阶数公式。
  • Newcastle University: Design of IIR Filters:用于补充 IIR 设计流程、双线性变换和冲激响应不变法的课程视角。