简介
放大器的仿真模型通常是利用电阻、电容、晶体管、二极管、独立和非独立的信号源以及其它模拟元件来实现的。一种替代方法是使用放大器行为的二阶近似(拉普拉斯转换),这可加快仿真速度并将仿真代码减少到三行。
然而,对于高带宽放大器,采用s域传递函数的时域仿真可能非常慢,因为仿真器必须首先计算逆变换,然后利用输入信号对其进行卷积。带宽越高,则确定时域函数所需的采样频率也越高,这将导致卷积计算更加困难,进而减慢时域仿真速度。
本文进一步完善了上述方法,将二阶近似合成为模拟滤波器,而不是 s域传递函数,从而大大提高时域仿真速度,特别是对于高带宽放大器。
二阶传递函数
放大器仿真模型的二阶传递函数可以利用Sallen-Key滤波器拓扑实现,它需要两个电阻、两个电容和一个压控电流源;或者利用多反馈(MFB)滤波器拓扑实现,它需要三个电阻、两个电容和一个压控电流源。这两种拓扑给出的结果应相同,但Sallen-Key拓扑更易于设计,而MFB拓扑则具有更好的高频响应性能,可能更适合可编程增益放大器,因为它更容易切换到不同的电阻值。
首先,利用二阶近似的标准形式为放大器的频率和瞬态响应建模:
图1显示了如何转换到Sallen-Key和多反馈拓扑。
放大器的自然无阻尼频率ωn等于滤波器的转折频率 ωc,放大器的阻尼比ζ 则等于 ½乘以滤波器品质因素Q 的倒数。对于双极点滤波器, Q 表示极点到jω轴的径向距离;Q 值越大,则说明极点离 jω轴越近。对于放大器,阻尼比越大,则峰化越低。这些关系为 s域 (s = jω) 传递函数与模拟滤波器电路提供了有用的等效转换途径。
设计示例:5倍增益放大器
该设计主要包括三步:首先,测量放大器的过冲(Mp) 和建立时间 (ts)。其次,利用这些测量结果计算放大器传递函数的二阶近似。最后,将该传递函数转换为模拟滤波器拓扑以产生放大器的SPICE模型。
例如,利用Sallen-Key和MFB两种拓扑仿真一款5倍增益放大器。从图2可知,过冲(Mp) 约为22%,2%建立时间则约为2.18 μs。阻尼比ζ计算如下:
重排各项以求解ζ:
接下来,利用建立时间计算自然无阻尼频率(单位为弧度/秒)。
对于阶跃输入,传递函数分母中的 s2 和 s 项(弧度/秒)通过下式计算:
和
单位增益传递函数即变为:
将阶跃函数乘以5便得到5倍增益放大器的最终传递函数:
下面的网络列表模拟5倍增益放大器传递函数的拉普拉斯变换。转换为滤波器拓扑之前,最好运行仿真以验证拉普拉斯变换,并根据需要延长或缩短建立时间以调整带宽。
***GAIN_OF_5 TRANSFER FUNCTION***
.SUBCKT SECOND_ORDER +IN –IN OUT
E1 OUT 0 LAPLACE {V(+IN) – V(–IN)} = {89.371E12 / (S^2 + 3.670E6*S + 17.874E12)}
.END
图3所示为时域的仿真结果。图4所示为频域的仿真结果。
脉冲响应的峰化使得我们可以轻松保持恒定的阻尼比,同时可改变建立时间以调整带宽。这将改变复数共轭极点对相对于实轴的角度,改变量等于阻尼比的反余弦值,如图5所示。缩短建立时间会增加带宽,延长建立时间则会减少带宽。只要阻尼比保持不变且仅调整建立时间,则峰化和增益不受影响,如图6所示。
一旦传递函数与实际放大器的特性一致,就可以将其转换为滤波器拓扑。本例将使用Sallen-Key和MFB两种拓扑。
首先,利用单位增益Sallen-Key拓扑的正则形式将传递函数转换为电阻和电容值。
根据 s项可以计算 C1:
选择易于获得的电阻值,例如R1和R2均为10 kΩ,然后计算C1。
利用转折频率的关系式求解C2。
相应的网络列表如下文所示,Sallen-Key电路则如图7所示。E1乘以阶跃函数以获得5倍增益。Ro提供2 Ω输出阻抗。 G1 是增益为 120 dB的VCCS。 E2为差分输入模块。频率与增益的仿真与采用拉普拉斯变换的仿真完全相同。
.SUBCKT SALLEN_KEY +IN –IN OUT
R1 1 4 10E3
R2 5 1 10E3
C2 5 0 10.27E–12
C1 2 1 54.5E–12
G1 0 2 5 2 1E6
E2 4 0 +IN –IN 1
E1 3 0 2 0 5
RO OUT 3 2
.END
接下来,利用MFB拓扑的标准形式将传递函数转换为电阻和电容值。
从计算R2开始转换。为此,可以将传递函数改写为以下更为通用的形式:
设置 C1 = 10 nF,然后选择C2 ,使得根号下的量为正数。为方便起见,选择C2 为 10 pF。代入已知值 C2 = 10 pF、 a1 = 3.67E6、K = 5、 a0 = 17.86E12 ,计算R2值:
R1 的值很容易计算,等于 R2/K = R2/5 = 33。根据标准多项式系数可求解 R3。代入a0、R2和 C2 的已知值可得:
最后,验证元件比是否正确,即代入a0、R2、 R3、增益K和 C2 (从s 项求得)的已知值时,C1 应等于10 nF。
得出元件值后,再代入方程式中,验证多项式系数在数学上是否正确。利用电子表格计算器就能轻松完成这项工作。所示的元件值是可以用于最终SPICE模型的实际值。实际应用中,应确保最小电容值不低于10 pF。
5倍增益放大器的网络列表如下文所示,模型则如图8所示。G1是开环增益为120 dB的VCCS(压控电流源)。注意,如果使用电阻、电容、二极管和非独立源,所需的元件数将多得多
.SUBCKT MFB +IN –IN OUT
***VCCS – 120 dB OPEN_LOOP_GAIN***
G1 0 7 0 6 1E6
R1 4 3 330
R3 6 4 34K
C2 7 6 1P
C1 0 4 1N
R2 7 4 1.65K
E2 3 0 +IN –IN 1
E1 9 0 7 0 –1
***OUTPUT_IMPEDANCE RO = 2 Ω***
RO OUT 9 2
.END
设计示例:10倍增益放大器
在第二个示例中,考虑一个无过冲10倍增益放大器的脉冲响应,如图9所示。建立时间约为7 μs。由于无过冲,脉冲响应可以近似为具有临界阻尼, ζ ≈ 0.935 (Mp = 0.025%)。
在无过冲的情况下,很容易保持恒定的建立时间,并调整阻尼比以模拟正确的带宽和峰化。图10显示了极点如何随阻尼比而变化,与此同时建立时间保持不变。图11显示了频率响应的变化情况。
***AD8208 PREAMPLIFIER_TRANSFER_FUNCTION (GAIN = 20 dB)***
.SUBCKT PREAMPLIFIER_GAIN_10 +IN –IN OUT
E1 OUT 0 LAPLACE {V(+IN)–V(–IN)} = {3.734E12 / (S^2 + 1.143E6*S + 373.379E9)}
.END
为求得单位增益拓扑的电阻和电容值,请像前面一样选择R1 = R2 = 10 kΩ 。利用与5倍增益放大器示例相同的方法计算电容值:
网络列表如下文所示,Sallen-Key仿真电路模型则如图12所示。E2是一个10倍增益模块,与一个2 Ω输出阻抗一起置于输出级。E2将单位增益传递函数放大10倍。拉普拉斯变换和Sallen-Key网络列表产生的仿真相同,如图13所示。
***AD8208 PREAMPLIFIER_TRANSFER_FUNCTION (GAIN = 20 dB)***
.SUBCKT AMPLIFIER_GAIN_10_SALLEN_KEY +IN –IN OUT
R1 1 4 10E3
R2 5 1 10E3
C2 5 0 153E–12
C1 2 1 175E–12
G1 0 2 5 2 1E6
E2 4 0 +IN –IN 10
E1 3 0 2 0 1
RO OUT 3 2
.END
利用MFB拓扑可以进行相似的推导。网络列表如下文所示,仿真模型则如图14所示。
***AD8208 PREAMPLIFIER_TRANSFER_FUNCTION (GAIN = 20 dB)***
.SUBCKT 8208_MFB +IN –IN OUT
***G1 = VCCS WITH 120 dB OPEN_LOOP_GAIN***
G1 0 7 0 6 1E6
R1 4 3 994.7
R2 7 4 9.95K
R3 6 4 26.93K
C1 0 4 1N
C2 7 6 10P
EIN_STAGE 3 0 +IN –IN 1
***E2 = OUTPUT BUFFER***
E2 9 0 7 0 1
***OUTPUT RESISTANCE = 2 Ω***
RO OUT 9 2
.END
结束语
对于高带宽放大器,与利用s域(拉普拉斯变换)传递函数相比,利用模拟元件构建SPICE模型能够提供快得多的时域仿真。Sallen-Key和MFB低通滤波器拓扑提供了一种将s域传递函数转换为电阻、电容和压控电流源的方法。
MFB拓扑的非理想操作来源于 C1 和 C2 在高频时表现为相对于电阻R1、 R2和R3的阻抗短路。同样,Sallen-Key拓扑的非理想操作来源于C1 和 C2 在高频时表现为相对于电阻 R1 和 R2的阻抗短路。这两种拓扑的对比如图15所示。
现有常用于CMRR、PSRR、失调电压、电源电流、频谱噪声、输入/输出限幅及其它参数的电路可以与该模型合并,如图16所示。
-
放大器
+关注
关注
143文章
13589浏览量
213447 -
仿真
+关注
关注
50文章
4080浏览量
133587 -
SPICE
+关注
关注
6文章
182浏览量
42573
发布评论请先 登录
相关推荐
评论