放大器建模为模拟滤波器可提高SPICE仿真速度

简介

放大器的仿真模型通常是利用电阻、电容、晶体管、二极管、独立和非独立的信号源以及其它模拟元件来实现的。一种替代方法是使用放大器行为的二阶近似(拉普拉斯转换),这可加快仿真速度并将仿真代码减少到三行。

然而,对于高带宽放大器,采用s域传递函数的时域仿真可能非常慢,因为仿真器必须首先计算逆变换,然后利用输入信号对其进行卷积。带宽越高,则确定时域函数所需的采样频率也越高,这将导致卷积计算更加困难,进而减慢时域仿真速度。

本文进一步完善了上述方法,将二阶近似合成为模拟滤波器,而不是 s域传递函数,从而大大提高时域仿真速度,特别是对于高带宽放大器。

二阶传递函数

放大器仿真模型的二阶传递函数可以利用Sallen-Key滤波器拓扑实现,它需要两个电阻、两个电容和一个压控电流源;或者利用多反馈(MFB)滤波器拓扑实现,它需要三个电阻、两个电容和一个压控电流源。这两种拓扑给出的结果应相同,但Sallen-Key拓扑更易于设计,而MFB拓扑则具有更好的高频响应性能,可能更适合可编程增益放大器,因为它更容易切换到不同的电阻值。

首先,利用二阶近似的标准形式为放大器的频率和瞬态响应建模:

Equation 1

图1显示了如何转换到Sallen-Key和多反馈拓扑。

Figure 1
图1. 滤波器拓扑结构

放大器的自然无阻尼频率ωn等于滤波器的转折频率 ωc,放大器的阻尼比ζ 则等于 ½乘以滤波器品质因素Q 的倒数。对于双极点滤波器, Q 表示极点到jω轴的径向距离;Q 值越大,则说明极点离 jω轴越近。对于放大器,阻尼比越大,则峰化越低。这些关系为 s域 (s = jω) 传递函数与模拟滤波器电路提供了有用的等效转换途径。

Equations 2 and 3

设计示例:5倍增益放大器

该设计主要包括三步:首先,测量放大器的过冲(Mp) 和建立时间 (ts)。其次,利用这些测量结果计算放大器传递函数的二阶近似。最后,将该传递函数转换为模拟滤波器拓扑以产生放大器的SPICE模型。

Figure 2
图2. 5倍增益放大器

例如,利用Sallen-Key和MFB两种拓扑仿真一款5倍增益放大器。从图2可知,过冲(Mp) 约为22%,2%建立时间则约为2.18 μs。阻尼比ζ计算如下:

Equation 4

重排各项以求解ζ:

Equation 5

接下来,利用建立时间计算自然无阻尼频率(单位为弧度/秒)。

Equation 6

对于阶跃输入,传递函数分母中的 s2s 项(弧度/秒)通过下式计算:

Equation 7

Equation 8

单位增益传递函数即变为:

Equation 9

将阶跃函数乘以5便得到5倍增益放大器的最终传递函数:

Equation 10

下面的网络列表模拟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所示为频域的仿真结果。

Figure 3
图3. 5倍增益放大器:时域仿真结果
Figure 4
图4. 5倍增益放大器:频域仿真结果

脉冲响应的峰化使得我们可以轻松保持恒定的阻尼比,同时可改变建立时间以调整带宽。这将改变复数共轭极点对相对于实轴的角度,改变量等于阻尼比的反余弦值,如图5所示。缩短建立时间会增加带宽,延长建立时间则会减少带宽。只要阻尼比保持不变且仅调整建立时间,则峰化和增益不受影响,如图6所示。

Figure 5
图5. 5倍增益传递函数的复数共轭极点对
Figure 6
图6. 建立时间调整与带宽的关系

一旦传递函数与实际放大器的特性一致,就可以将其转换为滤波器拓扑。本例将使用Sallen-Key和MFB两种拓扑。

首先,利用单位增益Sallen-Key拓扑的正则形式将传递函数转换为电阻和电容值。

Equation 11

根据 s项可以计算 C1

Equation 12

选择易于获得的电阻值,例如R1R2均为10 kΩ,然后计算C1

Equation 13

利用转折频率的关系式求解C2

Equation 14

相应的网络列表如下文所示,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

Figure 7
图7. 采用Sallen-Key滤波器的5倍增益放大器仿真电路

接下来,利用MFB拓扑的标准形式将传递函数转换为电阻和电容值。

Equation 15

从计算R2开始转换。为此,可以将传递函数改写为以下更为通用的形式:

Equation 16

设置 C1 = 10 nF,然后选择C2 ,使得根号下的量为正数。为方便起见,选择C2 为 10 pF。代入已知值 C2 = 10 pF、 a1 = 3.67E6、K = 5、 a0 = 17.86E12 ,计算R2值:

Equation 17

R1 的值很容易计算,等于 R2/K = R2/5 = 33。根据标准多项式系数可求解 R3。代入a0R2C2 的已知值可得:

Equation 18

最后,验证元件比是否正确,即代入a0R2 R3、增益K C2 (从s 项求得)的已知值时,C1 应等于10 nF。

Equation 19

得出元件值后,再代入方程式中,验证多项式系数在数学上是否正确。利用电子表格计算器就能轻松完成这项工作。所示的元件值是可以用于最终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

Figure 8
图8. 采用MFB滤波器的5倍增益放大器仿真电路

设计示例:10倍增益放大器

在第二个示例中,考虑一个无过冲10倍增益放大器的脉冲响应,如图9所示。建立时间约为7 μs。由于无过冲,脉冲响应可以近似为具有临界阻尼, ζ ≈ 0.935 (Mp = 0.025%)。

Figure 9
图9. 无过冲10倍增益放大器

在无过冲的情况下,很容易保持恒定的建立时间,并调整阻尼比以模拟正确的带宽和峰化。图10显示了极点如何随阻尼比而变化,与此同时建立时间保持不变。图11显示了频率响应的变化情况。

Figure 10
图10. 不同阻尼比对应的极点位置,建立时间保持不变
Figure 11
图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倍增益放大器示例相同的方法计算电容值:

AD47-01_BB_EQ_20

网络列表如下文所示,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

Figure 12
图12. 采用Sallen-Key滤波器的10倍增益放大器仿真电路
Figure 13
图13. 采用Sallen-Key滤波器的10倍增益放大器的频域仿真

利用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

Figure 14
图14. 采用MFB滤波器的10倍增益放大器仿真电路

结束语

对于高带宽放大器,与利用s域(拉普拉斯变换)传递函数相比,利用模拟元件构建SPICE模型能够提供快得多的时域仿真。Sallen-Key和MFB低通滤波器拓扑提供了一种将s域传递函数转换为电阻、电容和压控电流源的方法。

MFB拓扑的非理想操作来源于 C1C2 在高频时表现为相对于电阻R1R2R3的阻抗短路。同样,Sallen-Key拓扑的非理想操作来源于C1C2 在高频时表现为相对于电阻 R1R2的阻抗短路。这两种拓扑的对比如图15所示。

现有常用于CMRR、PSRR、失调电压、电源电流、频谱噪声、输入/输出限幅及其它参数的电路可以与该模型合并,如图16所示。

Figure 15
图15. Sallen-Key和MFB拓扑的波特图
Figure 16
图16. 包括误差项的完整SPICE放大器模型

参考电路

Karpaty, David. “Create Spice Amplifier Models Using Second-Order Approximations.Electronic Design, September 22, 2010.

作者

David Karpaty

David Karpaty是ADI公司集成放大器产品(IAP)部门的高级工程师。他负责精密信号处理器件的产品和测试工程支持,侧重于汽车应用产品。David拥有美国东北大学电气工程学士学位和温特沃斯理工学院电气工程技术学士学位。