在本文中我们将讲解如何使用.sNp和.txt文件进行小信号、大信号性能建模。然后演示如何在ADS中使用Amplifier2和AmplifierS2D这两种行为模型来仿真大信号性能,其中AmplifierS2D模型还包含压缩参数和三阶互调失真(IP3)的仿真。
一、小信号S参数模型
我们可以利用S参数数据(文件格式为.sNp或.txt。),在ADS中对多个器件级联后的小信号性能进行建模和绘图,见下图所示。
二、大信号行为模型
利用S参数数据、ADS内置的多种放大器行为模型,以及谐波平衡仿真,ADS可以仿真级联链路的小信号和大信号特性(例如输出功率、增益、IP3、谐波随输入功率的变化曲线)。
其中一种方法是使用ADS的Amplifier2行为模型,配合通用多维数据文件(.mdf)。
只需修改S参数文件的首行,并添加Begin和End语句,就能从S参数数据轻松生成 .mdf 文件。
下图分别给出了放大器原始的.s2p文件,以及新生成的.mdf文件格式对比。
修改前:
修改后:
…
格式行(%)中使用的变量名
freqW、S11dB、S11Ang、S21dB、S21Ang、S12dB、S12Ang、S22dB、S22Ang
是用户自定义的,可以任意取名,但必须在ADS原理图里作为变量声明并引用。
关键字(real)表示该数据项是实数。
格式行(%)里的每个变量,决定了后面数据行中数值的排列顺序。
之后,DAC器件(数据访问组件)会读取与这些变量对应的数据。
关于.mdf文件的详细使用方法,可以参Agilent Technologies Advanced Design System Tutorial, “Using Circuit Simulators”。
文章地址:
https://edadownload.software.keysight.com/eedl/ads/2011_01/pdf/cktsim.pdf
下图给出了所需的变量控件、S参数控件和参数扫描控件的说明。
三、变量定义
如上上图所示,所需参数通过DataItem模块VAR1、VAR2、VAR3、VAR4、VAR5从DAC组件中读取。
四、参数扫描设置
Parameter Sweep(参数扫描)模块用于定义扫描变量(SweepVar),这里我们自定义为freqW。
该模块还必须指定S参数仿真或谐波平衡仿真的实例名称(根据需要设为 SP1或HB1),以便在对应的仿真控件中被引用。
扫描的起始频率和终止频率通过扫描变量freqW来设置,如下图所示。
也可以通过该模块设置步长或每十倍频点数。
五、S参数与谐波平衡频率定义
- S参数仿真:起始频率和终止频率通过前文定义的变量freqW指定,步长需与参数扫描模块中的设置保持一致。
- 谐波平衡仿真:基频由变量freqW给出,同时必须指定分析过程中使用的谐波次数。
六、小信号仿真结果(S参数)
通过运行S参数仿真,可获取放大器的二端口S参数,相关结果展示于下图 中。
这些结果当然与使用原始.s2p文件得到的结果完全一致。
七、大信号仿真结果(谐波平衡):Amplifier2行为模型
如下图(下图)所示,可通过搭建电路并执行谐波平衡仿真,利用Amplifier2行为模型对器件的大信号性能进行建模。
放大器的二端口大信号参数仿真结果(输出功率随输入功率变化、增益随输入功率变化)如下图所示,以输入功率变量Pin为自变量。输入功率范围在谐波平衡仿真控件中设置。
这些结果是通过在行为模型中加入放大器的压缩特性参数(Psat、GainCompSat、GainCompPower和GainComp)得到的,详见下图。需要注意的是:ADS不支持同时分析多个频率,因此在使用不同载波频率时,必须针对每个频率手动替换上述参数。
通过将行为模型修改为包含二阶互调(SOI)和三阶互调(TOI)参数,并移除上述压缩与饱和参数,还可以对二阶、三阶互调性能,以及增益压缩、输出功率饱和特性进行建模。
需要注意:ADS一次仿真只能分析其中一种特性(压缩特性或互调特性,二者不能同时分析),且每次仿真仅支持单一频率。
下图给出了相应示例。
仿真结果相近,但需要注意:
为了与实测(或官方发布)的压缩结果匹配,通常需要对TOI参数进行微调。
因此,建议优先使用第一种Amplifier2行为模型。
虽然这种方式更可靠,但需要知道放大器的饱和特性参数;这些参数并非在所有资料中都会给出,但可以很方便地实测或估算得到。
八、大信号仿真结果(谐波平衡):AmplifierS2D行为模型
大信号性能也可以使用AmplifierS2D行为模型配合.s2d数据文件进行建模。
其格式与Amplifier2模型所用的 .mdf文件类似,但额外包含了压缩或互调数据。
这种情况下不需要DAC数据访问组件。
下图给出了原理图示例。
通过修改文件头,并添加Begin和End语句,同样可以从我们公开发布的S参数数据中轻松生成.s2d文件。
下图分别展示了放大器原始的.txt文件和新生成的.s2d文件格式。
修改前:
修改后:
…
选项行:# AC (Hz S DB R 50 FC 1 0)用于指定单位,格式行:% F n11x n11y n21x n21y n12x n12y n22x n22y则定义了后续数据行中各数值的排列顺序。
将Amplifier2模型中使用的变量与AmplifierS2D模型的变量对应起来会比较方便,但这并不是必需的。
压缩数据按如下方式附加在小信号数据之后。
在S2D文件中,有七种互斥格式可用于表示大信号响应,每种格式对应一种GCOMP模块类型。
我们推荐使用GCOMP6格式,该格式允许同时设置IP3、P1dB、Psat以及Comp_Sat参数。
使用GCOMP6需要了解放大器的饱和特性,这些参数并非总会给出,但很容易通过实测或估算获得。
关于.s2d文件的使用及不同增益压缩模型的详细说明,可以参Agilent Technologies Advanced Design System Tutorial, “Using Circuit Simulators”。
与之前相同,变量名freqW和Pin可自定义,但必须在ADS原理图中声明为变量并加以引用。
九、小信号仿真结果(S参数)
下图给出了 放大器最终得到的二端口S参数仿真结果。
小信号仿真结果与使用.mdf和.s2p文件格式得到的结果完全一致。
大信号仿真结果如下图所示,与采用带增益压缩数据的Amplifier2模型所得结果一致。
十、三阶互调失真(IP3)
如前所述,使用GCOMP6类型的AmplifierS2D行为模型时,只需在S参数数据后追加所需参数,即可实现三阶互调失真的仿真。
例如在6GHz频率下,模型中采用了+37.32dBm作为IP3取值。
需要对ADS原理图和谐波平衡仿真设置进行修改,以执行双音IP3分析。
下图给出了典型的原理图示例。
原单音信号源已替换为P_nTone多音源,并在其中设置了两个载波频率及其对应的功率电平。
第一个频率Freq[1]为freqW+deltaF,第二个频率Freq[2]为freqW− deltaF,其中变量deltaF为偏离标称载波频率的间隔。
本例中我们将deltaF设置为1MHz,因此两个载波之间的间距为2MHz。
两路功率电平P[1]和P[2]相同,均由变量Pin设定;该变量在HB1谐波平衡仿真控件中定义为从−13dBm到−3dBm以1dB步长扫描。
仿真结果如下。
利用标记点1和标记点2,我们可以计算出输入功率为-3dBm时的输出三阶截点(OIP3):IP3[Pin=-3dBm]=Pout[m1]+(Pout[m1]-Pim3[m2])/2=+36.14dBm。
在输入功率为:
-13dBmIP3[Pin=-13dBm]=+37.27dBm
该结果与GCOMP6模型中设置的+37.32dBm基本一致,同时也体现了输入功率升高会对IP3产生影响。
最后总结一下
利用放大器官方发布的现有S参数数据,可以提取出非常丰富的设计信息。
许多设计工程师已熟悉这类方法,并将其应用在日常设计流程中。
459