做射频功放设计的朋友,对Doherty这三个字应该都不陌生。尤其是这两年搞通信功放、基站项目的,几乎绕不开它。但真要把一颗具体的管子放进Doherty架构里,从零做出一个能仿真、能看效率回退曲线的工程,很多人第一步就卡住了——论文里一堆公式和图,真到了ADS里搭原理图,偏偏就是仿真不收敛,或者效率双峰怎么都调不出来。我这两年一直在用CGH40010F这颗10W GaN管子折腾Doherty,从全理想模型一路做到半理想架构,再到微带线落地,中间踩的坑不少,积累的经验也算完整。今天这篇就把基于CGH40010F的Doherty功放半理想架构ADS仿真实践,从头到尾拆开讲清楚。
这里说的“半理想架构”,翻译成人话就是:晶体管用官方提供的真实大信号模型,其余传输线、功分器、偏置扼流圈、移相结构全部用理想元件代替。这么干的好处很直接——先验证“拓扑本身”能不能出效率,排除掉微带损耗、加工误差、寄生参数这些外在干扰。如果你也想评估一颗管子做Doherty的潜力,或者正在为毕业设计、预研项目搭第一版可复现的仿真链路,这篇文章应该能帮你少走不少弯路。
1. 动手之前,先把架构为什么这样做想清楚
1.1 Doherty到底解决了什么问题
现代通信信号普遍具有很高的峰均比,比如4G LTE和5G NR的OFDM信号,典型PAPR在6到10dB。这意味着功放大部分时间工作在远低于饱和功率的回退区,比如一个峰值功率40dBm的功放,实际平均输出可能在30dBm附近。普通AB类功放在这种深度回退下效率会掉得非常厉害,可能只有15%到20%,大量能量变成热量散掉了。
Doherty架构的核心思路是“有源负载调制”。它把功放分成载波功放(Carrier)和峰值功放(Peak)两路,载波功放偏置在AB类,峰值功放偏置在C类。低功率时峰值功放不工作,载波独立向负载输出,此时通过阻抗变换网络让载波在高负载阻抗下工作,效率逼近饱和效率;高功率时峰值功放逐步开启,通过电流注入改变合路点看到的有源负载阻抗,把载波的负载阻抗往下拉,让载波继续高效输出。这样在6dB回退点附近形成一个额外的效率峰值,这是Doherty效率回退曲线最鲜明的特征。
对于CGH40010F这种10W级GaN管,做6dB回退Doherty等于在峰值输出约10W时,回退点大约2.5W附近要看到明显的效率尖峰。整个设计能不能成,最终都看这个回退峰。
1.2 “半理想架构”是什么,为什么值得先做一版
射频功放设计有一条常见的进阶路径:全理想仿真 → 半理想架构仿真 → 全实际微带线仿真 → 版图与EM仿真 → 实物调试。全理想仿真全部用理想器件,只验证拓扑概念;半理想架构则是把晶体管换成真实大信号模型,但无源网络仍用理想元件,比如理想传输线、理想功分器、理想RFC。这一步的价值在于,它能把“器件能力”和“电路实现”两层问题解耦。
举个例子,如果你发现半理想架构下效率回退峰出不来,那是偏置、相位、阻抗变换哪里没对,跟你版图画得烂不烂没关系。反过来,如果半理想效率已经很高,但实际微带版图一加进去效率掉了一大截,那问题就锁定在无源网络的插损和失配上了。这种分层排查思路,比一上来就堆微带线要高效得多。
具体到实践,半理想架构通常保留三样“真实”:
- 晶体管模型用官方CGH40010F大信号模型;
- 偏置电压和静态工作点按数据手册真实设置;
- 输入功率、频率、负载阻抗等物理量按真实条件给定。
而剩下的全部用理想元件:传输线用无耗TLine,电长度自己定;功分器用理想3dB/90度耦合器;偏置扼流圈用理想RFC;匹配网络可以用理想集总元件临时搭。这样仿出来的结果,基本代表了这颗器件在这个拓扑下的理论性能上限。
1.3 器件选型:CGH40010F为什么适合干这事
CGH40010F是Wolfspeed(原Cree)推出的一款10W级GaN HEMT,工作频率覆盖DC到6GHz,典型应用在1.8GHz到2.7GHz的通信频段。选它做Doherty半理想仿真,理由很实在:首先是模型成熟,官方提供ADS大信号模型,直接导入就能用,不用自己费劲建管模型;其次是公开资料多,数据手册、应用笔记、学术论文里都有大量实测和仿真参考,遇到问题很容易找到对照;最后是功率量级合适,10W峰值功率不需要复杂的脉冲调制和热管理,普通实验室条件下就能验证概念。
在实际设计里,这颗管子工作电压选28V,数据手册推荐的静态电流是100mA左右,对应AB类偏置。做Doherty时,载波功放就用这个偏置点,峰值功放则要偏置在C类,也就是栅极电压低于夹断电压,让它在低功率时完全截止。CGH40010F的典型夹断电压大概在-3.0V附近,具体要扫DC曲线确认,不同批次略有差异,所以第一节实操一定是做静态工作点扫描,而不是闭着眼直接填电压。
2. 半理想架构的两块基石:静态工作点与负载牵引
2.1 直流扫描与偏置点选择(载波AB类、峰值C类)
在ADS里建好工程后,第一步不是急着搭Doherty,而是先把CGH40010F的静态工作点摸清楚。ADS的DesignKit里如果已经装了Wolfspeed模型库,直接从库中拖出CGH40010F大信号模型;如果没有,从官网下载模型压缩包,解压后放在合适的库路径下,在原理图里Include进来即可,注意检查模型的版本和兼容性,2020版之后的ADS基本都能正常加载。
接下来用DC仿真控件做一个简单的直流扫描:VDS固定28V,扫描VGS从-4V到0V,步进0.02V,得到转移特性曲线。这里注意,CGH40010F的栅极是耗尽型器件,正常工作时VGS是负电压,扫描范围一定覆盖到-3.5V以下,不然找不到夹断点。
看转移曲线,把ID=100mA对应的VGS记下来,这通常就是载波功放的AB类偏置点。比如实测下来可能是-2.7V左右,每颗管子甚至每个模型版本都会有点差异,所以必须以自己扫描结果为准。峰值功放的偏置选择要参考C类要求:取一个比夹断电压低0.2V到0.5V的电压值,比如夹断电压是-3.0V,峰值偏置就设-3.3V左右,确保小信号时峰值管完全截止。这个值后面还要根据效率回退曲线的拐点位置细调,不是一锤子买卖。
偏置点确定之后,在半理想仿真里偏置馈电用理想RFC接到漏极和栅极。RFC在RF频率上呈现高阻,直流可以通过,射频信号进不去,这样直流电源就和射频通路隔离开了。实际版图里这块会换成高阻抗微带线加扇形结构,但半理想阶段直接用理想RFC就行,别把时间浪费在不必要的细节上。
2.2 负载牵引实操:拿到Zopt不是终点,还要理解Doherty怎么用它
负载牵引是功放设计绕不开的一步,Doherty尤其如此。传统的做法是在ADS里用Load-Pull模板,设定频率2.1GHz、输入功率一个接近饱和的值(比如28dBm),扫描输出端负载阻抗,得到等PAE圆和等输出功率圆。CGH40010F在这个频点上的最佳负载阻抗,大致在十几到几十欧姆的范围内,具体要看偏置和功率而定。
这里必须说清楚,Doherty的负载牵引和单管功放的负载牵引有个重要区别:载波功放需要同时考虑回退和全功率两个状态。经典6dB回退Doherty中,回退时载波看到的负载阻抗是全功率时的两倍。原因在于峰值功放关断时,通过峰值支路的阻抗变换网络,在合路点近似看不到峰值支路的分流作用,载波单独对一个较高的负载阻抗做功;而全功率时峰值开启,向合路点注入电流,等效把载波的负载阻抗拉低到最佳负载附近。
所以做载波功放的输出匹配时,不能只看全功率下的Zopt就完事,还要评估一下在回退状态下载波是不是仍然高效。实际半理想仿真中,多数情况是先按全功率Zopt完成匹配,再通过合路点和峰值支路的设计让负载调制自然发生,最后用HB仿真观察回退峰是否出现。如果回退峰不明显,把一个可能的调整点就是峰值功放的偏置和开启时机,另一个就是载波输出匹配网络的具体阻抗变换比。
输入端的负载牵引同样值得做。CGH40010F的输入阻抗也不是标准的50Ω,半理想阶段可以在输入侧用一个理想匹配网络或直接把输入端的阻抗设置成负载牵引得到的源阻抗值。如果嫌麻烦,也可以一开始就用50Ω源阻抗直接驱动,效率差异不会大到影响架构验证,但增益和回退峰位置会有些偏移。我的习惯是先做输出侧负载牵引拿到关键数据,输入侧用共轭匹配近似处理。
3. ADS里搭建半理想Doherty:从原理图到HB仿真
3.1 顶层拓扑与元件选型清单
搭建半理想Doherty时,我习惯把原理图按功能模块分块,每个模块用独立子电路或者用框线标清楚,这样后续调试和替换模块都方便。整个顶层结构包含:输入功分器、载波支路、峰值支路、输出合成网络、偏置馈电、RF源和负载。
具体元件清单大致如下:
- 输入源:P_1Tone,频率2.1GHz,功率设为变量Pin,从0dBm扫描到30dBm;
- 输入功分器:理想3dB/90度耦合器,或者用理想Wilkinson加90度移相线;
- 载波管:CGH40010F大信号模型,VDS=28V,VGS设为AB类偏置;
- 峰值管:CGH40010F大信号模型,VDS=28V,VGS设为C类偏置;
- 输出匹配网络:由负载牵引结果决定,半理想阶段用理想TLine和集总元件搭;
- 峰值支路λ/4线:特性阻抗选择50Ω,电长度90度 @ 2.1GHz;
- 合路后变换线:把合路点阻抗变换到50Ω,特性阻抗根据合路点阻抗计算;
- 偏置馈电:理想RFC,放在VDS和VGS馈入点;
- 输出负载:Term,阻抗50Ω。
元件选型阶段有个容易忽略的点:ADS里理想TLine的模型名,不同版本可能不一样,实现方式有“TLINP”和“TLIN”等,注意看电长度单位是度还是米,别把公式算好的90度填成物理长度或弧度。
3.2 输出合成网络:λ/4线、阻抗变换与合路节点
输出合成网络是Doherty的灵魂。半理想架构下,峰值支路输出端要接一节λ/4阻抗变换线,这节线的作用是把峰值功放的输出阻抗在和路点进行变换,配合峰值开启/关断状态实现负载调制。经典设计中,这节线的特性阻抗通常取系统阻抗,在50Ω系统里就是Z0=50Ω,电长度90度。
合路点之后的处理有些人直接用50Ω负载,有些人先合成到25Ω再变换回50Ω。对于CGH40010F做等分Doherty,我建议合路点先设计为25Ω,然后通过一节λ/4线变换到50Ω。这节变换线的特性阻抗是√(25×50),大概35.35Ω。为什么是25Ω?因为两路功放的输出等效负载在合路点并联,每路看到的一半负载,更容易匹配到CGH40010F的最佳负载区间。当然这只是起步值,具体要以负载牵引和HB仿真迭代结果为准。
输出匹配网络怎么搭,实操里有两种习惯。一种是把匹配网络看成一个黑盒,用理想TLine级联去逼近目标阻抗;另一种是用集总L型或T型网络。我倾向于先调集总L型,把匹配网络搞得简单干净,确认拓扑可行性后再换成TLine版本。因为集总元件的阻抗值可以直接当变量扫,比较直观地看到匹配变化趋势,而TLine版本还需要多考虑电长度和特性阻抗两个维度,调试起来绕弯。
载波支路的输出匹配网络,在半理想里往往不直接接到25Ω,而是接到一个中间阻抗值,具体多少要看优化结果。有时候为了让回退状态和全功率状态都能高效,载波的匹配网络会在Zopt和回退所需的高阻抗之间折中,甚至需要两段式匹配。这里别怕试错,半理想阶段跑一次HB很快,哪个参数不对立刻能看出来。
3.3 输入分配、相位补偿与偏置细节
输入侧的设计相对简洁,但相位补偿不能马虎。输出侧峰值支路多了那节90度的λ/4线,信号穿过它会有90度的相位延迟,所以输入侧必须把峰值支路的信号相位提前90度,或者给载波支路额外增加90度延迟,才能保证两路信号在合路点同相叠加。
最简单省事的方式是用理想3dB/90度耦合器作功分器:一路输出0度,另一路输出90度。把0度端口接载波支路,90度端口接峰值支路,这样峰值支路的驱动信号天然超前90度,正好抵消输出λ/4线的滞后。这种接法在ADS里实现起来非常顺,是半理想阶段最推荐的方案。如果没有这个库元件,也可以用两个0度功分器加一节90度移相线代替,效果一样。
偏置馈电的细节前面提过,这里再补一个坑:C类峰值功放在低输入功率下完全截止,这时它的动态等效输出阻抗不是理想开路,而是一个高阻,但终究不是无限大。半理想仿真里,这个高阻抗经过λ/4线变换后,在合路点会带来一个可感知的阻抗扰动。如果发现低功率区效率和平坦度都不对,先检查峰值支路关断时在合路点呈现的阻抗是否把载波支路带偏了。
CGH40010F的栅极电压很敏感,偏置电压哪怕差0.1V,静态电流都可能成倍变化。所以半理想仿真里建议把VGS单独设成变量,方便在优化环节直接扫描。峰值管的VGS尤其重要:它决定了峰值功放的开启点,直接影响回退峰出现的位置。一般来说,峰值开启最好发生在载波功放接近饱和但尚未压缩的位置,对应实际输出功率约比峰值低6dB的地方。开启过早,两路都在低效率区工作;开启过晚,回退峰可能跑到比6dB更深的位置去,平均效率反而上不来。
3.4 HB仿真设置与扫描策略
半理想Doherty的仿真核心是谐波平衡(Harmonic Balance,简称HB)仿真。在ADS里添加HB仿真控件,设置基础频率为2.1GHz,谐波阶数建议取5,个别情况取7。阶数太低,谐波截断误差会让效率读数偏高;阶数太高,仿真速度明显变慢,对于10W级管子5阶已经够用。
关键设置是输入功率扫描。用P_1Tone源,功率变量Pin从0dBm扫到30dBm,步进0.5dB到1dB。这个扫描范围能覆盖从线性区、回退区到饱和区的全部工作状态,正好可以画出完整的增益、输出功率和效率随输入变化曲线。仿真的求值变量建议直接用ADS内置的Pout、PAE、增益等公式,在数据显示窗口里添加即可。PAE的计算式是(Pout−Pin)/Pdc×100%,Pdc是直流功耗,由VDS×ID(两路电流之和)得到。HB仿真会给出这些量,不用自己手动算。
HB仿真偶尔会遇到不收敛的问题,尤其是峰值功放C类偏置时,低功率下晶体管处于弱导通边界,数值求解容易震荡。处理办法有几个,我常用的:一是把HB的“MaxIterations”从默认值调大,比如从25改到50或100;二是把求解方式改成“Direct”或“Krylov”,不同电路选不同求解器效果差异明显;三是先把输入功率固定在一个中间值(比如20dBm),让仿真先收敛出初始解,再做功率扫描;四是检查是否有传输线电长度为零或过短的警告,这种警告通常说明元件连接逻辑有误。
4. 结果怎么读、问题怎么查、下一步怎么走
4.1 效率曲线、增益曲线与输出功率的判断标准
半理想仿真跑完,第一个要看的图是PAE和增益随输出功率的变化曲线。一个正常的Doherty,增益曲线应该先平坦上升,然后出现一个小的拐点,那是峰值功放由截止转为导通的标志,随后增益略微下降然后继续走高,直到压缩。如果整个增益曲线非常平滑没有拐点,大概率峰值功放没正常工作,要么偏置不对,要么输入驱动不足。
效率曲线是重头戏。合格的Doherty效率曲线上应该有两个峰:一个在接近最大输出功率处,一个在回退6dB附近。对CGH40010F做2.1GHz等分Doherty,峰值输出功率大约42dBm量级,回退点大约在36dBm附近。半理想仿真中,峰值PAE应该达到60%到70%以上,回退点的PAE也希望有40%到55%,如果回退峰能和峰值效率峰齐平甚至更高,那说明负载调制效果非常好。
判断Doherty是否真正起作用,我一般看三件事:
- 回退点处是否存在明显的效率峰;
- 峰值功放开启点是不是恰好在功率回退6dB上下;
- 输出功率是否能稳定达到两路功放饱和功率之和的预期值。
如果你发现回退区效率一路往下走,没有回升迹象,基本可以确定峰值功放没有有效参与负载调制。这时候优先检查输出合路的相位是否正确、峰值管是否真的偏置在C类截止区、λ/4线特性阻抗是否合适。
4.2 常见问题速查表(不收敛、没回退峰、功率不对)
我在实际调试中反复遇到几类问题,整理成速查表,按“现象-原因-处理”三个维度说明,出了状况对着查就行:
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| HB仿真不收敛 | C类峰值管在弱导通区数值震荡 | 调大MaxIterations,更换求解器,固定功率点先预跑 |
| 增益曲线没有拐点 | 峰值管未正常开启 | 检查峰值VGS是否在夹断电压以下,输入驱动力度是否足够 |
| 回退区没有效率峰 | 相位补偿错误,或峰值开启过晚 | 检查输入/输出相位差是否为0,微调峰值VGS提前开启点 |
| 饱和输出功率偏低 | 负载牵引不准确,或合路点阻抗不对 | 重新做负载牵引,检查载波输出匹配是否覆盖Zopt |
| 效率峰很尖但带宽窄 | 匹配网络Q值偏高 | 改用多节匹配网络,降低单节变换比 |
| 低功率区效率异常低 | 峰值支路关断阻抗在合路点造成额外损耗 | 调整峰值输出匹配,尽量让关断时呈现高阻 |
| 仿真速度很慢 | 谐波阶数过高或扫描点过密 | 降至5阶,功率扫描步进放宽到1dB |
这里面最坑的是最后一个“峰值支路关断阻抗”问题,因为半理想里看似都是理想元件,别人很难想到问题出在这。有次我把峰值功放的输出匹配只按全功率Zopt去匹配,结果关断时从合路点看进去的阻抗很低,把载波的低功率效率拖垮了,花了整整一个下午才找到原因。所以记住一个原则:峰值支路的输出匹配,要兼顾“导通时向合路点输送功率”和“截止时不给合路点添乱”两个状态。
4.3 从半理想到全实际:差在哪几步
半理想架构跑通之后,你手里的数据已经证明了这颗CGH40010F在Doherty架构里的能力上限。接下来往全实际版本走,一般有四步工作要做:
第一步是把理想传输线替换成真实的微带线模型。在ADS里建立MSub基板定义,比如常用的Rogers 4350B或FR4基板,厚度、介电常数、覆铜厚度、损耗角正切都要填清楚,然后把理想TLine换成MLIN或CLIN微带模型。这一步会引入插损和色散,效率会比半理想结果低几个百分点,属于正常现象。
第二步是替换理想功分器。理想3dB/90度耦合器要换成微带Wilkinson功分器或分支线耦合器,这会带来额外的插损和端口失配,相位关系也可能偏离理想的90度。跑完仿真后记得重新校准两路的相位延迟,必要时在个别支路加微带补偿线段。
第三步是把偏置馈电落地。理想RFC换成高阻抗微带线加扇形开路线,或者用四分之一波长高阻线,同时加入去耦电容。这一步容易引入低频稳定性问题,要在仿真里看一下低频增益和稳定因子K值,避免功放自激。
第四步是版图与EM仿真。把原理图生成版图,对无源网络部分进行矩量法EM仿真,把电磁寄生效应带进电路里做协同仿真。这一步迭代周期最长,但对最终实物成功率影响最大。从经验看,EM仿真的结果和实测结果已经比较接近,只要半导体模型准确,实测效率和仿真相差不会超过三到五个百分点。
走完这四步,你的设计就从“半理想”真正过渡到了“可加工”状态。此时回看最初那版半理想架构,你会发现它就像一张干净的草图,替你把所有后顾之忧提前排掉了。
最后再分享一个我自己比较受益的调试习惯。在做半理想架构阶段,别急着追求效率极致,先盯着回退峰的有无和位置,把这个拐点调对了,再去优化绝对效率。原因很简单,回退峰是Doherty架构“架构正确”的标志,只要它出现了,说明有源负载调制在工作;这时候再去调整阻抗匹配、相位细节,才有意义。如果没有回退峰,你花再多时间调匹配网络,也是在错误的方向上打转。抱着这个原则,半理想仿真阶段往往一两天就能把所有关键设计参数定下来,为后面全实际版本铺好路。