二阶全通电路设计
01 全通电路
一、从仿真到电路
这是前天看到的 LTspice软件中的示例电路, 是一个二阶全通电路。 该系统的幅频特性是一个常量, 但是相频特性这是一个单调递减的特性, 前后变化了 360°。 这种电路通常用于通讯系统中, 对信号进行相位补偿。 电路的核心是一个带有寄生电容的电感, 相当于一个LRC并联谐振回路。 输入信号通过压控电流源之后, 通过LRC谐振回路形成相位和幅度变化的信号。 然后在通过后面的电路将原信号与谐振信号进行叠加。 通过设定正确的叠加系数, 便可以使得电路频率特性是一个全通系统特性。 也就是幅频特性是一个常量, 相位特性对应的最大相位系统。 下面, 根据这个原理, 自己设计一个实际电路, 看是否可以实现这个二阶全通系统。
二、设计电路
这是根据前面仿真系统设计的实际电路。 核心是利用了一个 NPN三极管, 来将输入电压信号 转换成一个恒流源。 放大电流信号经过LCR并联谐振回路形成谐振电压。 然后利用 R8、R9将输入信号和谐振信号进行叠加。 在这里还利用 Q1对信号的反相, 实际上, 是将两个信号进行相减。 通过调整 R8、R9的比例, 最终实现电路的全通特性。 前面输入电阻R10 、 谐振回路中的R12也都会影响叠加的系数。 最终信号经过Q2进行反向放大之后输出。 最终, 通过调整R8参数, 使得电路的频率特性满足全通特性的要求。
通过LTspice绘制出 5kHz 到100kHz 之间的频率特性。 可以看到, 幅频特性有一定的变化, 但是上下变化不超过 0.2dB, 对应的增益变化在2%之内。 对应相位变化, 前后相差了大约 360°。 显然, 这个系统是一个近似全通电路系统。
▲ 图1.2.1 电路的仿真结果
from headm import *
gain, ang = tspload('a', 'gain', 'ang')
plt.semilogx(gain[0], gain[1], lw=3, label='Gain')
plt.xlabel("Frequency(Hz)", color="steelblue", fontsize=16)
plt.ylabel("Gain(dB)", color="steelblue", fontsize=16)
plt.legend(loc="lower left")
ax1 = plt.twinx()
ax1.semilogx(gain[0], ang[1], "r", lw=3, label="Angle")
plt.ylabel("Angle", color="steelblue", fontsize=16)
ax1.legend(loc="lower right")
plt.grid(True)
plt.tight_layout()
plt.show()
三、不同的频率
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2025-02-08
#
# Note:
#============================================================
from headm import *
length, data, time = tspload('a', 'length', 'data', 'time')
#length, data, time = tspload('aa', 'length', 'data', 'time')
printf(shape(length), shape(data), shape(time))
for n in range(len(length)):
startid = sum(length[:n])
endid = sum(length[:n+1])
d1 = data[startid:endid]
d2 = data[startid:endid]
t = time[startid:endid]
plt.clf()
plt.plot(t, d1, lw=3, label='Out')
# plt.plot(t, d2, lw=3, label='In')
plt.xlabel("Time(s)", color="steelblue", fontsize=16)
plt.ylabel("Voltage(V)", color="steelblue", fontsize=16)
plt.grid(True)
plt.legend(loc="upper right")
plt.tight_layout()
plt.draw()
plt.pause(.1)
pltgif.append(plt)
pltgif.save()
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
※ 总 结 ※
本文根据 LTspice中的仿真系统, 设计了一个全通电路。 通过仿真, 可以看到, 的确对于不同的频率, 它的电路放大倍数保持一致。 输出相位单调下降了360°。 但是, 这个电路与理论上还是有些区别。
■ 相关文献链接:
● 相关图表链接: