双线性变换模拟器 返回
信号处理

双线性变换模拟器 — 模拟转数字 IIR

一个将模拟一阶低通滤波器 H(s)=ωc/(s+ωc) 通过双线性变换转换为数字 IIR 滤波器的工具。改变截止频率和采样频率时,IIR 系数 b0/b1/a1、频率响应、频率翘曲、预翘曲效果实时显示。

参数设置
模拟设计截止频率 fc
Hz
低通设计的 −3 dB 频率
采样频率 fs
Hz
采样周期 T = 1/fs。fs/2 为奈奎斯特频率
评估频率 fEval
Hz
查看数字滤波器增益 |H| 的频率
计算结果
预翘曲后 ωc (rad/s)
系数 b0
系数 b1
系数 a1
评估频率处增益 |H| (dB)
频率翘曲率
s 平面 → z 平面 映射

左:模拟 s 平面(jω 轴与左半平面=稳定区域)。右:数字 z 平面(单位圆与内部=稳定区域)。双线性变换将 s 的左半平面映射到单位圆内部。z 平面内的点为 IIR 滤波器的极点(单位圆内=稳定)。

频率响应 |H(f)|
频率翘曲 — 数字频率 vs 模拟频率
理论·关键公式

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

双线性变换的替换式。将模拟传递函数 H(s) 的 s 代入此式得到数字 H(z)。T 为采样周期。

$$\omega_{warped}=\frac{2}{T}\tan\!\left(\frac{\omega_c T}{2}\right)$$

频率预翘曲。预先拉伸设计用模拟截止 ωc,使数字 −3 dB 点与目标 fc 一致。

$$K=\frac{\omega_{warped}\,T}{2}, \quad b_0=b_1=\frac{K}{1+K}, \quad a_1=\frac{K-1}{1+K}$$

模拟一阶低通 H(s)=ωc/(s+ωc) 变换后的数字 IIR 系数。差分方程为 y[n] = b0·x[n] + b1·x[n−1] − a1·y[n−1]。双线性变换保存稳定性,s 平面左半平面映射到 z 平面单位圆内。

双线性变换原理

🙋
「双线性变换」是把模拟滤波器变成数字的方法对吧?但为什么不直接用数字设计呢?
🎓
很好的问题。原因很简单:模拟滤波器设计的理论积累了100年。巴特沃思、切比雪夫、椭圆滤波器——都有完整的「s 平面」设计理论。既然有这么好的工具,为什么不复用呢?所以想法是「先用模拟设计,最后翻译成数字」。那个翻译工具的定论就是双线性变换。用一个简单的替换 s = (2/T)(1−z⁻¹)/(1+z⁻¹),模拟的 H(s) 瞬间变成数字的 H(z)。
🙋
我明白了,翻译的概念。但翻译有时会失真,双线性变换也会失真吗?
🎓
你观察力很敏锐。正是这点。双线性变换把模拟频率轴(0 到无穷大)「紧紧压缩」进数字的 0 到 fs/2 有限区间。无穷变有限,当然会扭曲。这就叫「频率翘曲」。低频还行,但越接近奈奎斯特频率 fs/2,模拟频率压缩得越厉害。看上面的「频率翘曲」图,低频是直线,高频一下子弯下去了。
🙋
那设计的截止频率也会偏离吗?比如用 1000 Hz 设计,变成数字后变成 980 Hz 这样?
🎓
会偏离,不过有办法。既然知道会缩,那就预先拉伸不就行了。这就是「预翘曲」。用 ωcWarped = (2/T)·tan(ωc·T/2) 预先拉伸设计用的模拟截止,变换后就能恰好着地在目标 fc。左边的滑块调到 fc=1000、fs=44100,预翘曲后的 ωc 会比原来的 2π×1000 稍微大一点。那点差别就是补正量。
🙋
预翘曲可以补正的话,双线性变换就是无敌的方法啊?我还听说过脉冲不变法。
🎓
与其说无敌,不如说「工程标准」。脉冲不变法是直接对模拟脉冲响应采样。听起来直观,但 s 平面的 jω 轴会在 z 平面重叠,出现「混叠」。双线性变换把 jω 轴一一映射到单位圆,混叠原理上为零。代价只有频率翘曲,还能预翘曲补偿。所以音频 EQ、传感器降噪,从模拟原型做 IIR 时基本都用双线性变换。
🙋
最后一个问题。变换后的数字滤波器会「不稳定」,出现发散吗?
🎓
这也是双线性变换的妙处:「保存稳定性」在数学上有保证。模拟世界里,极点在 s 平面左半平面就稳定。数字世界里,极点在 z 平面单位圆内就稳定。双线性变换恰好把 s 平面左半平面映射到单位圆内部。所以原模拟滤波器稳定,变换后的数字 IIR 必然稳定。看上面「s 平面 → z 平面」的图,左半平面的点进入单位圆内部。

常见问题

双线性变换(也称双线性变换、Tustin 变换)是将模拟滤波器传递函数 H(s) 转换为数字滤波器 H(z) 的方法。通过替换 s = (2/T)(1−z⁻¹)/(1+z⁻¹),s 平面的左半平面(稳定区域)精确地映射到 z 平面的单位圆内部(稳定区域)。T 是采样周期 1/fs。s 平面的整个 jω 轴缠绕在单位圆上,因此原理上不会出现采样引起的混叠,这是最大优点。
双线性变换将 s 的整个 jω 轴(0~∞)压缩到 z 的单位圆(0~fs/2),导致频率轴非线性压缩,称为频率翘曲。因此,直接使用模拟截止频率会导致数字侧截止频率偏离。预翘曲通过 ωcWarped = (2/T)·tan(ωc·T/2) 预先拉伸设计用的模拟截止,使数字滤波器的 −3 dB 点精确匹配目标 fc。
将模拟一阶低通 H(s) = ωc/(s+ωc) 代入双线性变换的 s,整理后得到 K = ωcWarped·T/2,从而 b0 = b1 = K/(1+K)、a1 = (K−1)/(1+K)。差分方程为 y[n] = b0·x[n] + b1·x[n−1] − a1·y[n−1]。本工具的默认值(fc=1000Hz, fs=44100Hz)给出 b0=b1≈0.0666、a1≈−0.866,截止频率处的增益恰好为 −3 dB。
脉冲不变法对模拟滤波器的脉冲响应进行采样,但 s 的 jω 轴会在 z 平面重叠,导致混叠。双线性变换将 jω 轴一一映射到单位圆,没有混叠,广泛适用于低通、高通、带通滤波器。代价是频率翘曲,但可通过预翘曲补偿截止点。从模拟原型(巴特沃斯等)设计 IIR 时,工程实践中基本都使用双线性变换。

现实应用

音频设备均衡器:混音器、插件 EQ、音调控制、分频网络基本都用 IIR 滤波器实现。设计师先在 s 平面用巴特沃思或铃形衰减滤波器设计,再用双线性变换落地数字系数。音频采样频率固定在 44.1 kHz 或 48 kHz,预翘曲正确设定截止点直接关系到音色精度。

传感器信号除噪:加速度传感器、应变片、温度传感器等测量数据都含高频噪声。单片机或 DSP 上跑一阶~二阶 IIR 低通平滑是标配,本工具的差分方程 y[n] = b0·x[n] + b1·x[n−1] − a1·y[n−1] 直接成为嵌入式代码。相比 FIR,用更少系数、更少运算得到同等滤波特性,资源受限的嵌入式设备的好帮手。

控制系统离散化:PID 控制器、Lead-Lag 补偿器用模拟设计,再用双线性变换移植到数字控制器。采样周期 T 直接离散化,稳定性得以保存,模拟设计的稳定余量在数字实现中不会崩坏。伺服马达、变频器固件里广泛使用。

通信·生物信号处理:无线接收机的通道选择滤波、心电图(ECG)基线漂移除去、脑电图(EEG)频段分割等实时性要求高的场景也靠 IIR 滤波器。用模拟原型滤波器(椭圆滤波器等)经双线性变换离散化,用少阶次实现陡峭的截止特性。

常见误区和注意事项

最大陷阱是「忘了预翘曲导致截止偏离」。直接把模拟截止 ωc 代入 K = ωc·T/2 算系数,得出的数字滤波器 −3 dB 点会比目标 fc 低。低频、高采样频率下偏差小,容易忽视,但截止接近奈奎斯特时偏差不可忽略。本工具的「频率翘曲率」是预翘曲后 ωc 与原 2π·fc 的比。这个值离 1 越远,不预翘曲就越危险。

其次,「双线性变换完美保存幅度和位相」是误解。双线性变换保存的是「幅度响应形状」和「稳定性」,频率轴本身是非线性翘曲的。意思是可以让某频率增益与模拟一致,但频率刻度伸缩了。特别是位相响应(群延迟)与模拟原型不同。需要线性位相的场景应考虑 FIR 滤波器。双线性变换优先保证「幅度特性和无混叠」,这是其设计出发点。

最后,「算出系数就完事」并非如此。本工具用理想实数算术求 b0、b1、a1,但实际嵌入式实现系数要量化成有限比特。固定小数点 DSP 上系数舍入误差可能让极点微微越出单位圆,本该稳定的滤波器反而振荡。高阶滤波器应拆成二阶段级(双二阶)级联而非单一传递函数,这样降低量化敏感度。双线性变换得出的系数是「设计值」,实现时另需量化和数值精度验证。

使用指南

  1. 在 100~5000 Hz 范围内设定截止频率 fc。例:设计 1 kHz 的模拟一阶低通,在 fcNum 输入 1000
  2. 设定采样频率 fs。典型音频处理选 44.1 kHz 或 48 kHz,计测系统选 10~100 kHz
  3. 输入评估频率 fe,实时查看该频率的数字滤波器增益(dB)和翘曲率
  4. 预翘曲补偿后,ωc(角频率)作为双线性变换的频率翘曲补偿值被计算
  5. 输出的系数 b0、b1、a1 可直接嵌入控制系统或 DSP 代码

计算示例

fc=1000 Hz、fs=48000 Hz、fe=2000 Hz 时:预翘曲后 ωc≈6447 rad/s,系数 b0≈0.261、b1≈0.261、a1≈0.478。2 kHz 处增益约 -3 dB,频率翘曲率约 4.3%。反观 fc=500 Hz、fs=10000 Hz 设置,模拟设计的 500 Hz 截止在数字化后保持精确,可实现计测控制用高精度低通滤波。

工程实践注意

  1. 遵守 fs≧20×fc 关系。fs 接近 fc 时翘曲率超过 10%,频率特性畸变明显
  2. 音频信号处理(人声/乐器,带宽 20 Hz~20 kHz)用 fs=44.1 kHz 或 48 kHz,fc=8~12 kHz 是标准
  3. 工业传感器(加速度计、压力传感器)除噪,fc 设为传感器固有频率的 1/3~1/5,fs 用 500 Hz~5 kHz 的低值常够用
  4. 确认 fe 处增益 ≤-20 dB,验证衰减目标带域的效果后方可实现