在LTspice仿真中对数字滤波器进行建模(第一部分)

2026年07月27日 17:27    发布者:eechina
作者:AnneM,ADI公司

在LTspice中进行电路仿真时,目标通常是深入了解电路的模拟行为并做出设计权衡。同时,电路的输出很可能会被数字化并进行后处理,因此将生成的数字元件纳入LTspice仿真往往更具挑战性。

在这篇博客文章中,我将介绍一些电路元件,以帮助您在LTspice中对数字滤波器进行建模。这样,您就可以探索对数字化信号施加滤波后的模拟电路的行为与性能。

介绍一种简单的数字滤波器:移动平均FIR滤波器

我们从最简单的低通滤波器示例,即移动平均滤波器开始讲起。维基百科关于FIR滤波器的文章展示了一个非常简单的使用三个抽头的移动平均示例。


图1:移动平均FIR滤波器的框图

《面向科学家和工程师的数字信号处理指南》第15章也是理解移动平均滤波器的有用参考资料。

在上述三抽头示例中,输出为输入信号连续三个采样点的平均值:



此算法还可进一步简化,以减少所需的乘法模块数量:



实现起来十分简单。那么如何在LTspice中实现这一功能呢?

在LTspice中引入滤波器模块

要在LTspice中实现此滤波器,需要三种函数:单位延迟、加法和乘法。

单位延迟模块可通过任意电压源(LTspice元件库中的bv)配合delay()函数来实现。此模块需要设置采样频率。该参数应在原理图的顶层使用.PARAM指令进行设置。例如以下指令:
.param Fs=1000

可将采样频率设置为1ksps。单位延迟模块会将采样频率转换为采样周期(1ms),并利用该值使模块的输入信号产生相应的延迟。


图2:LTspice单位延迟模块原理图

加法模块和乘法模块的实现则更为简单,无需了解采样周期。两者均可直接通过压控电压源来实现。加法模块需要两个输入信号进行相加。乘法模块需要一个输入信号,并使用参数M来设定乘数。


图3:LTspice加法器模块原理图


图4:LTspice乘法器模块原理图

在LTspice中实现移动平均FIR滤波器

将上述三个模块组合,即可在LTspice中创建一个简化的移动平均FIR滤波器。如需探索此示例,请打开附件.zip压缩包中的Moving Average FIR Filter.asc文件。为确保LTspice能够找到所有必需的文件,请在打开原理图前先解压该.zip文件。

Moving-Average-FIR-Filter.zip

上述示例中的滤波器模块已封装为层次化模块,双击相应模块即可打开其底层原理图。在该压缩包的各个模块文件夹中,均包含一个.asc文件和一个.asy文件。其中,.asc文件为底层原理图,.asy文件为对应的符号文件。


图5:三抽头移动平均FIR LTspice原理图

在瞬态仿真中探索结果

从菜单栏选择“Simulate -> Run/Pause”(仿真 -> 运行/暂停),以执行原理图中由.TRAN指令指定的瞬态仿真。图6展示了滤波器电路的输入节点、输出节点及内部延迟节点。点击原理图中的节点即可绘制波形,随后右键单击波形并选择“Add Plot Pane Below”(在下方添加绘图面板),以创建多个显示面板。


图6:显示移动平均特性的瞬态仿真结果

由于LTspice本质上仍是模拟仿真器,必须确保输入信号能够准确表征数字信号。在本例中,已确保信号的变化速度不超过采样率。另一种方法则是使用采样保持电路对信号进行数字化处理。

在交流仿真中探索结果

在顶层原理图中,右键单击.AC指令并点击“OK”,即可激活该指令,此时,.TRAN指令将被注释掉(显示为蓝色)。


图7:.AC指令已启用,.TRAN指令已禁用

绘制输出波形可显示滤波器的幅频与相频响应。请注意,.AC指令中的截止频率被设置为奈奎斯特频率Fs/2。


图8:FIR滤波器交流分析:幅度与相位随频率的变化

为使图形更接近维基百科文章示例中的图像,请右键单击纵轴并将刻度更改为线性坐标;然后右键单击横轴,取消勾选“Logarithmic”(对数)。


图9:将幅度轴更改为线性刻度


图10:将频率轴更改为线性刻度

经此设置后,将生成一幅线性-线性坐标图,更加贴近维基百科示例中的幅频与相频曲线。


图11:FIR频率响应的线性-线性坐标图

在交流仿真中观察混叠现象

最初将截止频率设置为奈奎斯特频率(Fs/2),是为了确保频率响应符合数字滤波器的预期表现;毕竟数字滤波器并不存在超出奈奎斯特频率的概念。

而在纯模拟仿真中加入数字滤波器的真正价值在于,能够观察到数字滤波器作用于连续信号时的实际表现;换言之,可以直观地观察到混叠效应。

下面通过将.AC指令的截止频率扩展至奈奎斯特频率的若干倍来进行深入探讨。图12展示了截止频率扩展至5倍奈奎斯特频率的仿真结果。


图12:显示混叠区域的频率响应线性-线性坐标图

这种兼容模拟仿真的数字滤波器模型,使您能够在信号链输出端仿真滤波与混叠的综合效果。我将在未来的博客文章中对此展开进一步探讨,敬请期待!

阅读LTspice数字滤波器系列全部博客文章。

*特别感谢Steve Potratz向我介绍了LTspice中的数字滤波器模型。