1. 负载牵引到底在解决什么问题
1.1 从一次真实的匹配翻车说起
几年前我接手一个射频功放项目,管子选的是当时比较主流的一款GaN HEMT,数据手册上标着在某个频点、某个偏置下能输出大约10W的饱和功率。我按手册给的负载阻抗值直接做了匹配网络,打样回来一测,饱和功率只有7W出头,效率也差了一大截。反复检查匹配网络、校准矢量网络分析仪、换了好几批管子,结果都差不多。后来一位老工程师提醒我:手册上那个阻抗值通常是在特定测试条件下得到的参考值,实际封装、实际偏置、实际频点下,管子看到的最优负载阻抗可能完全不一样。要找到真正的最优阻抗,得做负载牵引。
这件事让我彻底理解了负载牵引的价值。简单说,负载牵引就是在Smith圆图上系统性地改变晶体管看到的负载阻抗,同时测量每个阻抗点下的输出功率、效率、增益等指标,最终找到那个让性能最优的阻抗区域。它不是仿真软件里的一个花哨功能,而是射频功放设计中绕不开的核心环节。
1.2 为什么不能直接用手册阻抗
很多人会问,数据手册不是给了阻抗吗,为什么还要自己扫?原因有几个层面。第一,手册的测试夹具和你实际用的PCB在寄生参数上差异很大,尤其是封装寄生和键合线电感,在几个GHz的频段上足以让最优阻抗偏移。第二,手册通常只给一个频点或少数几个频点的数据,而你的设计可能覆盖一个宽带。第三,偏置条件不同,比如你为了效率把静态工作点调到了接近B类,那最优负载阻抗和手册上AB类的值就不是一回事。第四,手册给的是封装参考面或芯片参考面的阻抗,你实际能控制的是匹配网络输出端的阻抗,中间还隔着封装和过渡结构。
所以负载牵引的本质,是在你自己的设计条件下,实测或仿真出管子真正想要的那个负载。仿真负载牵引的好处是不需要反复打样、换电容电感,在电脑上就能把整个Smith圆图扫一遍,成本低、迭代快。但前提是模型要准、模板要设对,否则扫出来的等功率圆就是一张废纸。
1.3 仿真负载牵引和实测负载牵引的关系
仿真负载牵引和实测负载牵引不是替代关系,而是互补关系。实测负载牵引用阻抗调谐器在真实电路上扫,结果最可信,但设备贵、耗时长,而且调谐器的可调范围有限。仿真负载牵引用晶体管的非线性模型在ADS里扫,速度快、范围全,但结果高度依赖模型的精度。
我通常的做法是:先用仿真负载牵引找到大致的最优阻抗区域,缩小搜索范围,再用实测负载牵引在这个小范围内精调。这样既省时间又保证精度。如果项目预算有限、没有阻抗调谐器,那就只能靠仿真,但一定要用厂商提供的、经过验证的模型,比如Qorvo、Wolfspeed、MACOM这些厂商官网下载的ADS模型,不要用自己随手建的简化模型。
1.4 本文适合谁看
这篇内容主要面向已经装了ADS、会基本的原理图仿真、但对负载牵引模板不太熟悉的朋友。如果你连ADS的直流仿真都没跑过,建议先把基础操作过一遍再来看。如果你已经做过负载牵引但结果总是不对、等功率圆画不出来、或者仿真老是发散,那这篇正好对路。我会从模板设置讲起,把每个参数为什么这么填、踩过哪些坑、怎么排查问题都讲清楚。
2. 模板设置前的准备工作
2.1 器件模型的获取与验证
负载牵引仿真的第一步不是打开ADS,而是拿到一个靠谱的器件模型。以GaN器件为例,厂商通常提供两种模型:一种是非线性模型(如Angelov模型、EEHEMT模型),包含完整的I-V特性和C-V特性,可以做负载牵引;另一种是S参数模型,只在小信号下有效,不能用来做负载牵引。
下载模型后,第一件事是验证。我一般会做三件事:第一,跑直流I-V曲线,和手册上的曲线对比,看饱和电流、膝点电压是否吻合;第二,跑S参数仿真,和手册上的S参数对比,看增益和匹配趋势是否一致;第三,跑一个简单的单音功率扫描,看P1dB和饱和功率是否在合理范围内。这三步都过了,模型才敢用。
注意:有些厂商模型是加密的,只能在特定版本的ADS里用。下载前先确认你的ADS版本是否兼容,否则导入后会报错或者仿真结果异常。
2.2 偏置网络的设计原则
负载牵引仿真里,偏置网络的设计直接影响结果。理想情况下,偏置网络应该只让直流通过,对射频信号呈现开路或短路(取决于你的匹配策略)。但在实际仿真中,偏置网络会引入寄生参数,影响管子看到的阻抗。
我的做法是:在负载牵引模板里,偏置网络用理想的RFC(射频扼流圈)加隔直电容来替代,先把管子的本征性能扫出来。等找到最优阻抗后,再把实际的偏置网络加进去做联合仿真,看实际偏置对性能的影响。这样分两步走,逻辑清晰,排查问题也方便。
偏置点的设置也有讲究。做负载牵引时,通常固定栅极电压(或者固定漏极电流),扫漏极电压。比如做AB类功放,我会先把静态电流设在管子最大电流的10%到15%左右,然后在这个偏置下扫负载。如果你想看不同偏置下的最优负载,那就得做多组负载牵引,工作量会大很多。
2.3 仿真频率和功率范围的确定
负载牵引的扫描范围不是随便设的。频率方面,如果你做窄带功放,就在中心频点扫;如果做宽带,那至少要在频带的最低、中间、最高三个频点分别扫。功率方面,扫描的输入功率要覆盖从线性区到饱和区的整个范围,通常从P1dB回退10dB左右开始,一直扫到饱和功率再加几dB。
举个例子,假设你的管子饱和功率大约40dBm,那输入功率可以从20dBm扫到35dBm,步进1dB。这样你能看到不同输入功率下的等功率圆和等效率圆,找到兼顾功率和效率的最佳负载点。如果只扫一个功率点,很容易错过最佳区域。
2.4 ADS版本和License的确认
ADS不同版本在负载牵引模板上有些差异。较新的版本(比如ADS 2020及以上)在Load Pull模板里集成了更多自动化功能,比如自动生成等功率圆、自动标注最优阻抗点。老版本可能需要手动后处理。另外,负载牵引仿真需要Harmonic Balance仿真器,确认你的License包含这个模块。
我遇到过有人用ADS的Student版本做负载牵引,结果仿真器不支持多音或谐波平衡,跑出来的结果完全不对。所以开工前先确认版本和License,省得白忙活。
3. Load Pull模板的详细设置步骤
3.1 新建工程和模板选择
打开ADS,新建一个Workspace,然后新建一个Schematic。在菜单栏找到Insert->Template,在弹出的模板库里选择Load Pull相关的模板。ADS自带的负载牵引模板通常有几个变体:Single Tone Load Pull、Two Tone Load Pull、Harmonic Load Pull。做基础功放设计,先用Single Tone就够了。
选好模板后,你会看到一个预置好的原理图,里面包含了晶体管、偏置网络、负载牵引控制器(Load Pull Controller)、以及测量探针。不要急着改参数,先把这个模板的结构看懂:哪个是管子、哪个是偏置、哪个是控制负载阻抗的部分、哪个是测量数据的地方。
3.2 晶体管模型的替换和端口连接
模板里默认的晶体管通常是一个通用模型,你需要把它替换成你下载的实际器件模型。替换时注意端口对应关系:一般射频管的模型有四个端口——栅极、漏极、源极、以及可能的衬底或热端口。源极通常接地,栅极和漏极分别接输入匹配和输出匹配。
替换后,检查管子的参考面。有些模型把封装寄生包含在内,参考面在封装引脚;有些模型只给芯片本征部分,参考面在芯片焊盘。参考面不同,扫出来的最优阻抗差异很大。我一般会在模型外面加一段传输线来模拟键合线或封装引线,把参考面移到实际PCB的焊盘位置。
3.3 Load Pull Controller的参数填写
这是整个模板设置的核心。双击Load Pull Controller,你会看到一堆参数。我逐个解释:
- Freq:扫描频率,填你的工作频点。
- Pin:输入功率列表,可以填多个值,用分号隔开,比如
20;22;24;26;28;30。 - Pstart/Pstop/Pstep:如果你不想手动列功率,可以用起始、终止、步进来自动生成。
- Zload_Start:负载阻抗扫描的起始点,通常填管子的标称负载阻抗。
- Zload_Radius:扫描半径,决定在Smith圆图上扫多大范围。一般填0.8到0.9,覆盖大部分区域。
- Zload_NumPoints:扫描点数,点数越多圆图越密,但仿真时间越长。我一般填20到30个点。
- Bias_Vg:栅极偏置电压。
- Bias_Vd:漏极偏置电压。
填完这些,Controller会自动在Smith圆图上生成一个扫描网格,每个网格点对应一个负载阻抗。
3.4 变量和方程的正确写法
模板里通常会有一些变量定义和方程,用来计算功率、效率、增益等指标。这些方程不要随便改,但你要理解它们在算什么。比如:
Pout_dBm = 10*log10(Pout_W) + 30 PAE = (Pout_W - Pin_W) / Pdc_W * 100 Gain = Pout_dBm - Pin_dBm这些方程里的变量名要和Controller里的测量探针名字对应上,否则后处理时会报错。我见过有人改了探针名字但没改方程,结果等功率圆画不出来,排查了半天才发现是名字对不上。
3.5 仿真器的配置和运行
在Schematic里插入Harmonic Balance仿真器,设置好基频和諧波次数。做负载牵引时,谐波次数一般设3到5次就够了,设太多会拖慢仿真速度。基频就是你的工作频率。
然后设置扫描变量。Controller里的Pin和Zload会被自动识别为扫描变量。确认扫描设置无误后,点击仿真。仿真时间取决于扫描点数和谐波次数,一般几十个点到上百个点,几分钟到十几分钟不等。
提示:第一次跑的时候,建议先把扫描点数设少一点(比如10个点),确认流程能跑通、结果合理,再增加点数做精细扫描。这样能快速发现设置错误,不用等半天才发现问题。
4. 仿真结果解读与常见问题排查
4.1 等功率圆和等效率圆怎么看
仿真跑完后,ADS会自动生成等功率圆(Power Contours)和等效率圆(PAE Contours)。这些圆画在Smith圆图上,每个圆代表一个固定的功率或效率值。圆心附近就是最优阻抗区域。
看这些圆的时候,注意几点:第一,等功率圆的圆心不一定和等效率圆的圆心重合,通常功率最优和效率最优的负载点有差异,你需要根据设计目标折中。第二,圆的密集程度反映了性能对负载阻抗的敏感度,圆越密说明阻抗变化对性能影响越大,匹配网络的设计精度要求越高。第三,如果圆图看起来乱七八糟、圆不闭合或者交叉,那多半是仿真设置有问题,不是管子本身的问题。
4.2 仿真发散的典型原因
仿真发散是负载牵引里最常见的问题之一。我总结了几种典型情况:
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 仿真报错不收敛 | 谐波次数设太多 | 减少到3次 |
| 部分点结果异常 | 扫描点落在不稳定区 | 缩小扫描半径 |
| 所有点功率为零 | 偏置没加上 | 检查偏置电压和RFC |
| 效率大于100% | 方程写错 | 检查PAE计算公式 |
| 圆图空白 | 探针名字不匹配 | 核对变量名 |
发散的根本原因通常是管子模型在某些负载阻抗下进入了不稳定区域,比如负阻区。这时候Harmonic Balance仿真器找不到收敛解。解决办法是缩小扫描范围,避开这些区域,或者增加仿真器的迭代次数和收敛容差。
4.3 结果和手册对不上的排查思路
如果你扫出来的最优阻抗和手册差异很大,先别急着怀疑模型。按这个顺序排查:第一,确认参考面是否一致,手册的阻抗是在哪个参考面给的;第二,确认偏置条件是否一致,静态电流是否和手册测试条件相同;第三,确认频率是否一致;第四,确认输入功率是否在类似范围;第五,确认匹配网络和偏置网络的寄生是否被包含。
我遇到过一次,扫出来的最优阻抗比手册偏了将近30度,后来发现是模型外面的键合线电感设大了。把键合线电感从0.5nH改到0.2nH,结果就和手册对上了。所以寄生参数的设置对负载牵引结果影响极大,一定要仔细。
4.4 提高仿真效率的实用技巧
负载牵引仿真很吃时间,尤其是扫描点数多、谐波次数高的时候。几个提速技巧:第一,先用粗扫描找到大致区域,再在局部做细扫描,不要一上来就全局细扫。第二,减少不必要的谐波次数,一般3次足够。第三,用ADS的分布式仿真功能,如果你有多核CPU,可以开并行计算。第四,把不用的测量探针删掉,减少后处理开销。
还有一个技巧是先用小信号S参数仿真快速定位,虽然S参数不能替代负载牵引,但可以帮你判断管子的稳定区和潜在匹配区域,缩小负载牵引的扫描范围。
5. 从仿真到实测的过渡要点
5.1 最优阻抗的提取和匹配网络设计
仿真跑完后,从等功率圆和等效率圆上读出最优阻抗值。我一般会选一个兼顾功率和效率的点,比如功率比最大值低0.5dB、但效率高5%的那个点。读出阻抗后,用ADS的Smith圆图工具设计匹配网络,把50欧姆变换到这个最优阻抗。
设计匹配网络时注意:匹配网络的Q值不要太高,否则带宽会很窄,实测时稍微偏一点性能就掉得厉害。我一般把匹配网络的Q值控制在3以下,用多节匹配或者分布式匹配来降低Q值。
5.2 仿真结果和实测差异的常见来源
仿真和实测有差异是正常的,但差异太大就有问题。常见来源包括:模型精度不够、寄生参数估计不准、PCB加工误差、器件批次差异、测试夹具的损耗和相移。我一般会在仿真里预留一定的余量,比如匹配网络设计时故意偏一点,让实测时有调整空间。
另外,实测时一定要先校准测试系统,包括矢量网络分析仪的SOLT校准和功率计的校准。校准不准,测出来的功率和效率都是假的。
5.3 迭代优化的实际案例
回到开头那个GaN功放的项目。仿真负载牵引扫出来的最优负载阻抗是15+j20欧姆左右,和手册给的20+j15有差异。我按仿真结果设计了匹配网络,打样后实测饱和功率9.5W,效率比之前提高了8个百分点。后来我又在仿真里把键合线电感和PCB寄生加进去做联合仿真,结果和实测更接近了。
这个案例说明,负载牵引仿真不是一次性的工作,而是要和实测反复迭代。仿真指导设计,实测验证仿真,两者结合才能把功放做好。
5.4 一些容易忽略的细节
最后分享几个容易忽略的细节。第一,温度对负载牵引结果有影响,尤其是GaN器件,结温升高后最优阻抗会漂移。如果做高功率设计,最好做温度相关的负载牵引仿真。第二,输入匹配也会影响负载牵引结果,模板里通常假设输入是共轭匹配,但实际输入匹配不一定完美,这会影响管子的驱动状态。第三,负载牵引的扫描步长要合理,步长太大可能错过最优区域,步长太小仿真时间太长。我一般先用大步长粗扫,再用小步长细扫。
注意:负载牵引仿真只是设计工具,最终性能还是要靠实测验证。不要过度依赖仿真结果,也不要完全不信仿真。合理使用,它能帮你省下大量试错成本。