三阶阻容移相电路:LTspice仿真结果
三阶RC电路频率特性
01 阻容移相
一、一阶阻容移相
这是一个一阶RC低通电路, 对于电路的传递函数, 可以使用线性电路电抗模型分压电路来得到。 对于电容上电压的传递函数, 可以使用阻抗和容抗的分压来计算, 经过化简, 可以得到电路的频率特性。

首先, 在 LTspice电路仿真软件中, 设置电压源为交变电压源, 从10Hz, 到100kHz, 绘制电路的频率特性。 仿真结果显示, 在100kHz , 系统相移接近 90°, 幅度衰减大约 -36dB。 读取 LTspice仿真数据, 下面对照前面所得到的公式计算的数据。


▲ 图1.1.1 单阶RC电路传递函数
from headm import *
gain, ang = tspload('a', 'gain', 'ang')
R1 = 1e3
C1 = 0.1e-6;
Fomiga = 1/(1j*gain[0]*2*pi*R1*C1+1)
gain1 = 20*log(abs(Fomiga))/log(10)
ang1 = angle(Fomiga)*180/pi
plt.subplot(2,1,1)
plt.semilogx(gain[0], gain[1], lw=3, label='LTspice')
plt.semilogx(gain[0], gain1, lw=3, label='F(j*omiga)')
plt.xlabel("Frequency", color="steelblue", fontsize=16)
plt.ylabel("Gain(dB)", color="steelblue", fontsize=16)
plt.title('Gain')
plt.legend(loc='upper right')
plt.grid(True)
plt.tight_layout()
plt.subplot(2,1,2)
plt.semilogx(gain[0], ang[1], lw=3, label='LTspice')
plt.semilogx(gain[0], ang1, lw=3, label='F(j*omiga)')
plt.xlabel("Frequency", color="steelblue", fontsize=16)
plt.ylabel("Angle", color="steelblue", fontsize=16)
plt.legend(loc='upper right')
plt.title("Phase")
plt.grid(True)
plt.tight_layout()
plt.show()
使用前面电抗分压公式计算每个频率下电路对应的增益和相移数值, 可以看到, 与 LTspice仿真结果是相同的。![]()

▲ 图1.1.2 对比LTspice与公式计算结果
二、三阶RC电路
在LTspice仿真软件中搭建三阶RC电路。 其中, 每一阶对应的RC常数都是相同的。 只是, 从前到后, 对应的电阻阻值每次都提升10倍。 由此,使得三阶电路对应的特性相当于三个单阶RC电路传递函数的叠加。 可以看到, 相移达到了270度, 是单阶的三倍。 电路衰减也是单阶RC衰减增益dB 数值的三倍。

手工推导三阶RC电路的传导函数不太容易。 下面通过 Python中的符号数学函数库进行推导。 由此, 便可以得到电容C3上电压对应的传递函数表达式。 这是一个关于频率的三次复数有理分式。 通过这个公式计算出的电路频率特性与LTspice仿真结果是相同的。 这个对比结果,反过来 也说明前面推导出来计算公式是正确的。![]()

▲ 图1.2.1 对照公式结果与是LTspice仿真结果

▲ 图1.2.2 对比两个三阶RC电路的特性
最后, 作为对比, 将三阶RC电路中的每个环节的 RC常数都设置为相同, 三个分压电阻数值相同。 利用 LTspice获得电路的频率特性。 与前面电路对比, 可以看到, 在高频和低频, 两个电路频率特性是相同的。 但是在中频部分, 两个电路的频率特性出现了差别。 三阶RC中, 电阻相差10倍的情况, 对应的线路频率特性拐点更明显。 显示了电路的品质因数更大一些。 最后, 对比一下两个电路的传递函数。 可以看到分子是相同的, 分母中, 频率的三次项和常数项是相同的。 区别在与频率的二次项和一次项。

from headm import *
from sympy import symbols,simplify,expand,print_latex
from sympy import *
o,R1,C1 = symbols("omega, R_1, C_1")
R2,C2,R3,C3 = symbols("R_2, C_2, R_3, C_3")
R1 = 1e3
C1 = 0.1e-6
R2 = 10e3
C2 = 0.01e-6
R3 = 100e3
C3 = 0.001e-6
X3 = 1/(1j*o*C3)
RX3 = R3+X3
X2 = 1/(1j*o*C2)
XRC233 = X2*RX3/(X2+RX3)
XRC2233 = R2+XRC233
X1 = 1/(1j*o*C1)
XRC12233 = X1*XRC2233/(X1+XRC2233)
F1 = XRC12233/(R1+XRC12233)
F2 = XRC233/(R2+XRC233)*F1
F3 = X3/(R3+X3)*F2
result = simplify(F3)
mstr = latex(result)
printf(mstr)
_=tspexecutepythoncmd("msg2latex")
※ 总 结 ※
本文测试了高阶 RC电路。 利用LTspice仿真了电路的频率特性, 并推导了系统的传递函数。 通过系统传递函数计算的结果与LTspice仿真结果是相同的。

● 相关图表链接:
更多推荐


所有评论(0)