在本文中,我们将探讨使用“.AC”指令进行交流分析,这是评估电路频率响应的主要技术之一。它是SPICE最强大的功能之一,它让人们能够研究电路的频率响应,即电路对不同频率信号的反应。从带通滤波器的响应到高频电路中的振荡,借助它,设计人员可以了解电路在不同情况下的行为。
让我们通过一个简单的例子来了解一下.AC指令的运行原理。图1显示了一个由以下电子元件组成的电路:
在交流状态下,电容器的行为与电阻器类似。换句话说,电容器的容抗随信号频率变化,当然也随电容器的电容值变化。容抗是电子学中的一个基本概念,代表交流电流过电容器时电容器呈现的“虚拟”电阻。频率越低,容抗越大,交流电通过时电容器的抵抗力越大。随着频率的增加,容抗减小,电容器允许更多的电流通过。在交流状态下,电容器的容抗由以下公式给出:
其中:
容抗用于滤波电路,其中电容器在不同的工作频率下表现不同。基于这种行为,3.3uF电容器在不同频率下的阻抗如下:
图1中的图表显示了频率在1Hz到10kHz之间时流经电容器和电阻器的电流变化趋势。
图1:电容器在不同频率下具有不同的容抗
LTspice中使用的指令如下:
.ac lin 10000 1 10k
其中:
从本质上来说,通过运行一次仿真,设计人员可以观察电路在不同频率下的行为。LTspice使用并自动创建的SPICE源文件如下:
* REACTANCE by Giovanni Di Maria
V1 in 0 SINE(0 1 1K) AC 12
C1 in N001 3.3uF
R1 N001 0 1
.ac lin 10000 1 10k
.backanno
.end
在ngspice中,SPICE脚本略有不同,如下所示。不过,结果与前面的软件中的结果相同。在本例中,分析已扩展到500kHz的频率。
* REACTANCE by Giovanni Di Maria
V1 in 0 SINE(0 1 1K) AC 12
C1 in N001 3.3uF
R1 N001 0 1
.probe alli
.control
ac lin 10000 1 500k
plot i(R1)
.endc
.end
需要注意的是,正弦电压源配置频率为1Khz,电压为1V(零峰值),但在交流分析机制中,这一设置将被忽略,取而代之的是“AC 12”子句,它将电压源精确设置为12V。在ngspice中运行SPICE源文件会生成R1上的电流图,如图2所示,并将其与LTspice生成的图形进行比较。
图2:使用LTspice(上)和ngspice(下)绘制的不同频率下R1上的电流图
本节介绍RLC带通滤波器的仿真,更重要的是,观察其频率响应,RLC带通滤波器是用于从电信号中选择特定频率的重要组件。如图3所示,它由三种主要类型的元件组成,即电阻器(R)、电感器(L)和电容器(C)。这些组件可以根据需要串联或并联连接。RLC带通滤波器仅选择并允许一定范围的频率通过,衰减低于和高于截止频率的频率。对于滤波器组件的计算,有相应的文献资料,并且还有许多有助于设计的工具、软件应用和计算器。示例中设计的滤波器具有以下特性:
图3:带通滤波器接线图
使用LTspice设计的滤波器中使用的组件如下:
通常,电感值必须手动构建,但它们也很容易在市场上找到。接线图的生成可以通过LTspice的NETLIST SPICE实现:
* Bandpass filter by Giovanni Di Maria
V1 N001 0 SINE(0 1 1K) AC 12
C2 N002 N003 8.2uF
L2 N003 N004 82mH
R1 N002 N001 50
C1 0 N004 39uF
L1 N004 0 18mH
C3 N004 N005 8.2uF
L3 N005 out 82mH
R2 0 out 50
.ac lin 10000 1 1k
.backanno
.end
ngspice的NETLIST略有不同,但主要原理是相同的。
* REACTANCE by Giovanni Di Maria
V1 N001 0 SINE(0 1 1K) AC 12
C2 N002 N003 8.2uF
L2 N003 N004 82mH
R1 N002 N001 50
C1 0 N004 39uF
L1 N004 0 18mH
C3 N004 N005 8.2uF
L3 N005 out 82mH
R2 0 out 50
.control
ac lin 10000 1 1k
plot v(out)
.endc
.end
图4显示了带有LTspice(浅色)和ngspice(深色)的带通滤波器的频率响应。前两张图以线性表示法显示横坐标和纵坐标的测量值。通过替换脚本命令,可以在ngspice中获取以分贝(Y)和对数刻度(X)为单位的图表:
plot v(out)
通过以下内容实现:
plot vdb(out) xlog
然而,使用LTspice,只需右键单击坐标轴即可更改其属性,对数图形完全相同。
图4:使用LTspice和ngspice时的带通滤波器频率响应
作为最后一个示例,我们可以研究一个简单的共发射极晶体管放大器的频率响应,其电路图如图5所示。这是一个经典的放大器,在本例中将信号放大约16倍。当然,这里我们不打算解释它的工作原理。其ngspice脚本如下:
* Amplifier by Giovanni Di Maria
V1 N001 0 5V
Q1 N002 N003 N004 0 BC547B
R1 N001 N002 2.2k
R2 N004 0 1k
R3 N001 N003 22k
R4 N003 0 10k
C1 N003 In 10nF
V2 In 0 SINE(0 10mV 1k) AC 10mV
C2 Out N002 1µF
R5 Out 0 47k
C3 N004 0 100uF
.model BC547B NPN(IS=2.39E-14 NF=1.008 ISE=3.545E-15 NE=1.541 BF=294.3 IKF=0.1357 VAF=63.2 NR=1.004 ISC=6.272E-14 NC=1.243 BR=7.946 IKR=0.1144 VAR=25.9 RB=1 IRB=1.00E-06 RBM=1 RE=0.4683 RC=0.85 XTB=0 EG=1.11 XTI=3 CJE=1.358E-11 VJE=0.65 MJE=0.3279 TF=4.391E-10 XTF=120 VTF=2.643 ITF=0.7495 PTF=0 CJC=3.728E-12 VJC=0.3997 MJC=0.2955 XCJC=0.6193 TR=1.00E-32 CJS=0 VJS=0.75 MJS=0.333 FC=0.9579 Vceo=45 Icrating=100m)
.control
ac lin 100000 1 900meg
plot v(out) xlog
.endc
.end
图5:简单共发射极晶体管放大器的电路图
运行两个仿真(使用LTspice和ngspice)可得出两个放大器的频率响应。图形如图6所示,与放大器的输出电压相关,分别对应于LTspice(上)和ngspice(下)。同样,仿真是在频域中进行的,x轴代表频率,y轴表示放大器的线性输出电压。
图6:使用LTspice(上)和使用ngspice(下)的共发射极放大器的频率响应
SPICE中的“.AC”分析是一种功能强大的工具,用于观察和分析电子电路的频率响应。它使工程师能够评估不同频率情况下的设计行为,并优化电路性能。它对于滤波器和放大器的设计尤其有用。从示例中可以看出,LTspice和ngspice生成的频域图有时会略有不同。这一事实应该让我们明白,在进行相对复杂的分析时,两个仿真器的表现往往会略有不同。正是由于这个原因,我们建议使用两到三种不同的仿真器运行多次电子仿真,以观察结果之间的差异。
(原文刊登于EDN姊妹网站Power Electronics News,参考链接:Guide to Spice Simulation for Circuit Analysis and Design – Part 7: The AC Analysis,由Ricardo Xie编译。)
用于电路分析和设计的SPICE仿真指南-第1部分:简介和网表
用于电路分析和设计的Spice仿真指南-第3部分:时间常数的进一步研究
用于电路分析和设计的Spice仿真指南–第4部分:用于多重仿真的.STEP指令
用于电路分析和设计的Spice仿真指南–第5部分:直流扫描分析
用于电路分析和设计的Spice仿真指南–第6部分:更深入的直流扫描分析