【导读】于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:显示混叠区域的频率相应线性-线性坐标图 这类兼容模仿仿真的数字滤波器模子,使您可以或许于旌旗灯号链输出端仿真滤波与混叠的综合效果。我将于将来的博客文章中对于此睁开进一步切磋,敬请期待! *尤其感激Steve Potratz向我先容了LTspice中的数字滤波器模子。 













