LTspice中的数字滤波器:更灵活的FIR模型
2026年08月03日 16:26 发布者:eechina
作者:ADI公司AnneM继续我们在LTspice中使用FIR滤波器模型的旅程,本篇博客将深入探讨.AC和.NOISE测量,并使用另一种FIR模型来演示相关测量方法,以验证两种不同的建模技术是否等效。
在之前的博客文章中,我介绍了几个可在LTspice中对简单FIR滤波器进行建模的模块。4月份的文章则探讨了将数字滤波器模型与模拟电路元件相结合的方法,并演示了如何通过.AC和.NOISE分析进行初步观察。
LTspice中更灵活的FIR实现方案
回顾一下,最初的FIR实现方案是对连续采样点的平均计算:

其中M为样本数。若展开三个样本的平均求和公式,可得:

《面向科学家和工程师的数字信号处理指南》第15章(第283页)展示了另一种使用递归的数学实现方法。对该公式进行转化,可得出以下表达式:

其中,M仍代表参与平均的样本数。当前输出样本(y)等于前一个输出样本(y)加上当前输入样本(x),再减去上一个被移出队列的输入样本(x)。
要实现递归型FIR滤波器,需要两个新的模型模块:一个延迟N个周期的模块和一个三输入加法器模块。这两个模块是对2月份博客中所介绍模块的轻微变体,能够帮助我们在简洁的原理图中构建所需功能。

图1:LTspice中FIR滤波器模型的两种实现方案
在探讨递归实现方案的优势之前,首先需要证明该实现方案与第一种方案具有等效性。
比较各滤波器的交流响应
如需探索此示例,请打开附件.zip压缩包中的FIR Filter Implementations.asc文件。为确保LTspice能够找到所有必需的文件,请在打开原理图前先解压该.zip文件。
FIR-Filters-Part-3.zip
从菜单栏选择“Simulate -> Run/Pause”(仿真 -> 运行/暂停),以执行原理图中由.AC指令指定的交流仿真。图2展示了两个滤波器的输入波形(上方绘图面板)和输出波形(下方绘图面板)的重叠对比。

图2:各FIR滤波器模型输入端与输出端的频率响应
通过该图可以快速观察到,这两种滤波器的交流响应完全一致。然而,叠加显示.NOISE仿真结果的操作并不那么直观;这里有一个实用技巧。
使用.STEP指令在多个节点观察噪声结果
按住Shift键并点击处于激活状态的.AC指令,将其注释掉。随后右键单击.STEP指令以打开文本编辑器(图3)。

图3:包含多条指令的文本块:从注释转换为活动指令
此文本块包含多条指令,可作为一组统一进行注释或取消注释操作。点击“SPICE Directive”(SPICE指令)单选按钮,将此文本从注释转换为一组活动的指令,然后点击“OK”。接着运行仿真。
现在需要采用一些巧妙的设置来查看结果。按下“A”键添加曲线轨迹,并选择v(onoise)。波形绘制完成后,右键单击波形窗口,依次选择“Notes & Annotations -> Annotate Steps”(笔记与注释 -> 标注步进),并将步进图例放置在波形窗口中(图4)。有关使用.STEP指令的基础概念,请参阅关于在.NOISE仿真中使用.STEP和.MEAS指令的相关博客文章。

图4:在.NOISE仿真中逐步遍历多个输出节点
再次右键单击图形,选择“View -> Select Steps”(视图 -> 选择步进)。利用弹出的对话框来控制需要绘制的噪声结果。

图5:选择需要绘制的.STEP结果
在本例中,使用.STEP指令在噪声仿真中依次遍历各个输出节点:
.step param n list 0 1 2 3
.param noise_outnode=select(n, "INA", "OUTA", "INB", "OUTB")
在第一步(n=0)中,检查的是INA节点的噪声:即由R1产生,并经R1和C1组成的滤波器整形后的噪声。在第二步(n=1)中,检查的是OUTA节点的噪声;此时噪声进一步受到了数字滤波器的整形处理。
使用.MEAS指令实现自动化测量
右键单击.MEAS指令以打开文本编辑器(图6)。点击“SPICE Directive”(SPICE指令)单选按钮,将此文本从注释转换为一组活动的指令,然后点击“OK”。接着运行仿真。

图6:.MEAS指令用于测量每次.STEP仿真的积分噪声
点击原理图以确保其为当前活动窗口,然后依次选择“View -> SPICE Output Log”(视图 -> SPICE输出日志)(图7)。在此处可以看到INA(n=0)、OUTA(n=1)、INB(n=2)和OUTB(n=3)各节点的积分噪声数值。

图7:包含积分噪声测量结果的SPICE输出日志
我使用了三种方法来验证这两种滤波器的行为是否完全一致:1) 检查.AC波形,2) 检查.NOISE波形,3) 对.NOISE仿真结果进行自动化的.MEAS测量。
使用递归实现方案有什么优势?只需修改少量参数,即可轻松将平均样本数从3更改为50:

图8:对50个样本进行平均处理的递归FIR滤波器
结论
这些模型模块显然无法涵盖数字滤波器的所有细节特征。但它们胜在简单高效,可用于理解组合模拟电路与数字后处理环节的整体信号及噪声响应。
在这个由三部分组成的系列文章中,我们从基础的FIR构建模块出发,一路探索了巧妙的LTspice测量技术,帮助您自信地验证混合信号设计。至此,您已掌握了在LTspice中对数字信号处理进行建模的工具,能够将其与模拟电路无缝集成,并通过交流分析、噪声仿真和自动化测量严格验证您的实现方案。
