数字滤波器模拟器 返回
信号处理 · 数字滤波

数字滤波器模拟器

交互式设计巴特沃斯、切比雪夫、移动平均和RC滤波器。实时调整截止频率和阶数,即时观察时域波形变化与伯德图频率特性。

滤波器设置
滤波类型
设计方法
采样频率 fs
Hz
截止频率 fc₁
Hz
滤波器阶数 N
计算结果
-3 dB 频率
阻带衰减
群延迟 (ms)
fc₁ (Hz)
奈奎斯特 (Hz)
阶数 N
幅频响应 (dB, 对数频率轴)
相频响应 (度)
框图
理论与主要公式

N阶巴特沃斯低通传递函数(s域):

$$H(s) = \frac{1}{\prod_{k=1}^{N}(s - s_k)}$$

极点:$s_k = \omega_c e^{j\pi(2k+N-1)/(2N)}$

双线性变换数字化:$s \leftarrow \frac{2}{T}\cdot\frac{1-z^{-1}}{1+z^{-1}}$

什么是数字滤波器

🙋
数字滤波器到底是什么?听起来好复杂。
🎓
简单来说,它就像一个智能筛子,帮你把信号里想要的和不想要的频率成分分开。比如在音频处理中,你想去掉录音里的刺耳高频噪音,就可以用一个“低通”数字滤波器,只让低频的音乐声通过。在实际工程中,它完全由软件算法实现,比传统的模拟电路滤波器灵活得多。你可以在模拟器里试着选择“低通”类型,然后拖动“截止频率”滑块,马上就能看到高频噪声是如何被滤掉的。
🙋
诶,真的吗?那“巴特沃斯”和“切比雪夫”这些名字又是什么意思?
🎓
这是两种不同的设计思路。巴特沃斯滤波器追求“通带”里尽可能平坦,没有起伏,就像一条非常平直的高速公路。而切比雪夫滤波器则允许通带里有一些小小的波纹(纹波),但换来的是从通带到阻带的“悬崖”更陡峭,过渡带更窄。工程现场常见的是在需要平坦响应的场合用巴特沃斯,比如传感器信号调理;而在需要快速衰减干扰信号的场合用切比雪夫。你可以在模拟器里切换这两种类型,并调整“滤波器阶数N”,阶数越高,那个“悬崖”就越陡。
🙋
原来是这样!那“双线性变换”又是什么?听起来像魔法,能把模拟的变成数字的?
🎓
哈哈,可以这么理解!我们设计滤波器时,常常先在连续的“s域”(模拟世界)里想好一个完美的蓝图,比如一个巴特沃斯低通滤波器。但计算机只能处理离散的数字信号,所以需要一种“翻译”方法,把s域的蓝图转换成数字世界(z域)里可执行的算法,这个方法就是双线性变换。它保证了频率特性的对应关系。改变参数后你会看到模拟器不仅显示数字滤波后的波形,还会画出s域的极点分布图,这些极点的位置就决定了滤波器的特性,非常直观!

物理模型与关键公式

数字滤波器的核心设计通常始于一个模拟原型滤波器,其特性由s域(拉普拉斯域)的传递函数H(s)描述。对于N阶巴特沃斯低通滤波器,其设计目标是实现通带内的最大平坦幅度响应。

$$H(s) = \frac{1}{\prod_{k=1}^{N}(s - s_k)}$$

其中,$s$是复频率变量,$s_k$是传递函数的极点,它们决定了滤波器的频率响应特性。$\omega_c$是截止角频率,$N$是滤波器阶数。

为了在数字系统中实现,必须将模拟传递函数H(s)数字化,转换为适用于离散时间系统的z域传递函数H(z)。双线性变换是最常用的方法之一,它建立了s平面与z平面之间的映射关系。

$$s \leftarrow \frac{2}{T}\cdot \frac{1 - z^{-1}}{1 + z^{-1}}$$

这里,$T$是采样周期,$z^{-1}$代表一个单位延迟。这个变换将模拟滤波器的频率响应“扭曲”后映射到数字域,从而得到可以在计算机或数字信号处理器中实现的差分方程系数。

现实世界中的应用

音频处理与通信:在手机通话中,数字滤波器用于消除环境背景噪音(如风声、键盘声)并增强人声音频。音乐播放软件的均衡器本质上也是一组可调的数字滤波器,让你可以提升低音或降低高音。

CAE与工程测试:在汽车碰撞试验中,加速度传感器采集的数据含有高频噪声,必须使用巴特沃斯低通滤波器进行平滑处理,才能得到用于安全分析的准确冲击波形。这是CAE数据后处理的标准步骤。

生物医学信号处理:心电图(ECG)信号非常微弱,容易受到50/60Hz工频干扰。这时会使用一个“陷波”数字滤波器,精准地滤除这个特定频率的干扰,而不影响心电信号本身。

图像处理:移动平均滤波器是一种简单的FIR滤波器,常用于图像处理来平滑噪点,实现模糊效果。在模拟器中你可以选择“移动平均”类型,并调整“窗口长度N”,直观看到它对含噪信号的平滑作用。

常见误解与注意事项

首先,存在一种“滤波器阶数N越高越好”的误解。虽然提高阶数确实能使截止特性更陡峭,但计算量会增加,在实时处理中可能导致延迟问题。例如,在微控制器上处理时,巴特沃斯IIR滤波器若阶数N超过8,可能会因系数量化误差的影响而出现发散风险。实际工程中通常需要判断“必要且充分的性能”,对于低通滤波器,设计时多采用N=4~6的阶数。

其次,是截止频率$f_c$的设置错误。虽然在模拟器上可以自由调整$f_c$,但在实际信号处理中绝不能忽略采样定理。当采样频率$f_s$为10kHz时,理论上可处理的最高频率为5kHz(奈奎斯特频率)。若此时将$f_c$设为4.8kHz,就会进入混叠失真(频谱折叠)的危险区域。通常的做法是保留安全裕量,将$f_c$控制在$f_s$的1/4以下(此例中即2.5kHz以下)。

最后,是滤波器应用导致的信号“起始段”问题。由于滤波器依赖于历史数据,其应用初期的输出并不稳定。例如,振动数据的前0.1秒因滤波器未达到稳态而不可靠。实际工程中需要排除这段瞬态响应期,或通过双向滤波(filtfilt处理)来消除相位失真。