简介:这是一份面向射频功率放大器设计者的完整ADS仿真工程,围绕宽带对称式高回退Doherty功率放大器展开,工作频率1.8-2.2GHz、带宽0.4GHz,饱和增益7.5-9dB,支持9dB回退,饱和效率高于65%、回退效率高于40%,适合4G/5G基站发射链路、宏基站与微基站等通信系统末级PA设计与预研工程师,以及射频方向研究生参考学习。压缩包共1003个文件,约510.7MB,以ADS工程与器件定义文件为入口,文件类型涵盖xml配置、prt项目、dds数据显示、log日志,以及cfg、opt、sio等仿真控制与优化设置文件,目录结构较完整,可直接在ADS环境中打开并配合版图进行验证。配套设计说明对指标分解、拓扑选择和偏置负载调制思路有展开讲解,便于快速还原对称式Doherty的核心设计流程,同时也适合与博文对照学习。目前已有1804人学习下载,可用于复现指标、对比设计细节,或作为二次迭代优化的起点。
1. 宽带对称式高回退Doherty放大器:这份ADS源文件为什么值得拆开看
做功率放大器设计的人大多被同一个问题卡过:教科书里的理想Doherty模型讲起来三句话,落到ADS工程里却怎么调都是效率凹陷或者不收敛。这份“宽带对称式高回退Doherty放大器ADS仿真(带版图)源文件”把对称结构、6dB以上回退效率和带版图的联合仿真打包在同一个工程里,适合在校研究生快速建立从偏置到合路再到版图的完整仿真链,也适合公司硬件工程师拿来做效率整改的参考基线。它真正省时间的地方不是原理图本身,而是合路网络、偏置扫描、HB控制器、版图与原理图联仿的整套参数都提前放好了。下面的内容按“原理、文件结构、复现步骤、排错记录、验证方法”的顺序展开,新手能照着复现每一节,熟手可以直接跳到自己关心的小节。
2. 先读透内部原理:对称Doherty在什么条件下才能同时拿到宽带和高回退
2.1 载波功放与峰值功放的分工逻辑:负载调制不是平均分力
对称Doherty的“对称”指载波功放和峰值功放选用相同规格的功率放大器管,只靠偏置工作区的不同来分角色。载波管工作在AB类,静态电流一般是满载电流的10%到30%;峰值管工作在C类,栅极负压更深,静态时几乎没有电流。低功率回退段,峰值管处于截止状态,载波管单独把信号送到合路网络;因为合路网络中的四分之一波长线把负载阻抗抬高,载波管的电压摆幅提前被推到饱和,效率在回退点也能维持在接近峰值的水平。进入大功率段后,峰值管逐渐导通并注入电流,通过负载调制把载波管的等效负载拉低,两只管子共同向满功率点推进。这个机制就是Doherty效率优势的全部来源,理解它之后再看ADS工程才不会把偏置调反。
在ADS源文件里,这两条链通常是两个独立子电路,顶层sheet用符号调用。你如果只改载波管静态偏置而不管峰值管,回退效率曲线基本看不出变化,因为低功率段的形态主要由峰值管阈值位置决定。所以第一步看原理图时,先分清哪个是载波子电路、哪个是峰值子电路。两个子电路的供电端口也不能接反,接反后仿出来的效率曲线会在中间功率段出现一个明显塌陷,而且很难查,因为原理图不会报错,只会给你一条异常曲线。
2.2 高回退量的界定:6dB回退背后的合路网络取舍
对称Doherty理论设计的回退深度是6dB。这里说的“高回退”不能只盯着6dB这一点,还要看6dB到8dB这一段效率曲线是否平滑。真实工程里,峰值管的开启电压、合路网络的阻抗变换比、输入端90度移相网络的带宽共同决定了回退区间的形状。如果峰值管偏置过浅,在输入功率还没到回退点就开始导通,载波管负载被过早拉低,回退效率就变成一条向下滑的线;如果偏置过深,峰值管开启太晚,回退点效率虽高,但高功率段两只管子又接不住整机功率,压缩点提前,输出功率达不到设计值。
源文件工程里常见做法是先把合路网络定在中心频率处设计,再用峰值管偏置电压微调开启点。具体操作顺序不建议反过来:先扫偏置再改合路,容易在多个变量里打转。偏置电压每调整0.05V,效率曲线就可能偏移0.5dB到1dB,这个分辨率足够用来定位问题。我现在拿到一个陌生Doherty工程,第一件事就是给峰值管栅压做一个0.05V步进的参数扫描,看效率曲线主峰移动方向,再决定合路网络要不要动。
2.3 补偿线电长度和负载调制斜率的因果关系:宽带能力从哪来
宽带Doherty最大的敌人是四分之一波长线只在窄带内准确。输出合路网络中补偿线的作用是:峰值管开启后,通过它的阻抗变换,让载波管在目标频段内的负载调制斜率保持同步。源文件在合路端采用双短截线串联结构,等效于把单一四分之一波长变换拆成两段,牺牲一点插损,换取更宽的阻抗覆盖。这种结构的特征阻抗取值常在30到50欧姆之间,具体由晶体管的饱和电流和耐压范围决定,不是拍脑袋选。
判断补偿线是否设计合理的直接方法:在回退点附近看载波功放和峰值功放输出电流的相位差。理想情况下两者在合路点的电流相位差接近零,如果看到相位差超过20度,效率叠加就会出现矢量损耗,这在宽带里非常常见。ADS工程里一般都会留电流探针,画两条电流相位曲线一对比就能定位。这里有个容易被误解的地方:输入端的90度移相网络和输出端补偿线是两个独立环节,输入端做相位预校正,输出端做负载调制斜率校正,混在一起调只会让结果更乱。
3. 把源文件落到本地:解压后从哪里入手看,工程树的五个关键位置
3.1 解压与工程打开步骤
压缩包解开后,一个标准的ADS工程会以“某个名字_prj”文件夹出现,里面主要有data、networks、workspace、lib等几类内容。先把整个文件夹复制到本地工作目录,路径里不要带中文或空格,ADS对中文路径的兼容性很差,报错时你会把半小时耗在工程加载上。
# 假设压缩包已下载到 ~/Downloads cd ~/Downloads unzip doherty_prj.zip -d ~/rf_workspace # 工作目录路径示例:/home/user/rf_workspace/doherty_prj # 打开前先确认整个目录结构完整,不要只解压出workspace而丢了data ls -la ~/rf_workspace/doherty_prj打开工程时不要用File菜单直接点单个原理图文件,而是用Open Project选中整个“_prj”文件夹,ADS会按工作区文件把涉及到的symbol、layout、仿真控制器一起载入。只打开一个图纸文件会把符号引用关系弄丢,后面仿真时经常报missing definition,实际上是符号库没有跟着工程一起加载。
3.2 五个核心子电路分别承担什么角色
工程里的sheet数量看起来多,大多数是测试用的仿真模板,真正要关注的是下面五类:
| 子电路 | 对应功能 | 偏置类型 | 你需要重点看什么 |
|---|---|---|---|
| 顶层sheet | 整机连接与功率扫描 | 综合 | 输入功率扫描范围、回退设置 |
| 载波功放子电路 | 主链放大 | AB类 | 静态电流、源负载阻抗 |
| 峰值功放子电路 | 辅助链放大 | C类 | 栅极负压、开启点 |
| 合路网络sheet | 功率合成与补偿 | 无源 | 四分之一波长线特征阻抗 |
| 控制与测量模板 | HB与参数扫描 | 无源 | 谐波次数、扫频点数 |
多数新手的操作误区是直接改顶层sheet里的偏置电压,却发现顶层符号并没有把偏置直接引到晶体管上,实际偏置在子电路内部。改偏置永远要回到子电路里,因为偏置源和晶体管焊盘都是被子电路封装好的。顶层sheet的电压源很多时候只是总电源,不承担交直流工作点设置。
3.3 版图文件:不是放在那里好看的,是EM联合仿真的第一输入
带版图的意义是让仿真结果贴近实物。ADS工程里的版图有两个用途:一是用来生成最终的制造输出文件,二是通过Layout下的EM仿真设置衬底参数跑电磁仿真,把电磁寄生带进电路仿真。如果你完全不用版图,只跑原理图仿真,效率曲线通常会比版图仿真高3到5个百分点,因为原理图里的理想连线不会贡献寄生电感。
版图要重点看三个位置:功率管栅极和漏极的引入线、合路点的T型节点、补偿线转角处。T型节点是寄生最集中的地方,转角处的电长度误差很容易导致回退点的相位差漂移。对版图做EM仿真时,我建议先把频率范围设在目标频率的0.8到1.2倍,先跑一次粗扫,看哪个频点驻波最差,再细化那个频段的网格,不要一开始就全频段高精度网格,仿真时间会翻好几倍。
4. 动手复现仿真:偏置扫描怎么设,HB参数怎么填,版图联仿怎么跑
4.1 用直流扫描找峰值管的C类拐点
拿到工程后,第一步不是跑大信号,而是做直流工作点确认。在ADS里给峰值管子电路加一个DC仿真控制器,栅极电压从负压扫到接近零偏:
# ADS界面里的具体设置如下(共性模板设置): # DC仿真控制器: # sweep variable: Vgs_peaking # sweep range: -5V 到 0V # step: 0.05V # 在峰值管漏极放一个电流探针,画出 Ids 随 Vgs 变化的曲线这条曲线的拐点就是峰值管从截止进入导通的起点。回退设计一般让峰值管在输入功率比满功率低6dB到6.5dB时刚好导通,所以实际偏置会取拐点负偏再浅0.1V左右。比如拐点是-2.8V,工程里起步值可以设-2.7V,先用HB扫功率确认开启点,再往深调0.05V看效率曲线移动。这个值每变化0.05V,回退点对应的功率位置就会有可观察的偏移,调的时候耐心一点,不要一次推0.3V。
这里有个经验值得重点强调:载波管的静态工作点不要在这个阶段去动。载波管偏置决定了线性增益和静态功耗,峰值管偏置决定回退点位置,两者职责分离。很多仿真实测对不上的案例,最后查出来都是因为调回退效率时顺手动了载波管静态电流,两条曲线互相干扰。
4.2 谐波平衡仿真配置与回退效率验收标准
HB控制器是整个Doherty仿真的核心配置项。源文件里应该已经放好了HB模板,但如果要改成自己的目标频段或换功率放大器管型号,注意以下参数的合理区间:
| 参数 | 源文件常见值 | 建议值范围 | 为什么 |
|---|---|---|---|
| 谐波次数 | 5 | 5-7 | 谐波次数太低会严重低估三阶交调分量 |
| 频点数量 | 25 | 35-50 | Doherty回退效率曲线形状不规则,点数太少会漏过凹陷 |
| 扫描功率起点 | -20dBm | -25到-20dBm | 必须覆盖到至少10dB回退以下 |
| 扫描功率截止 | +15dBm | 超过饱和2-3dB | 确认压缩点位置和功率回退边界 |
| 最大迭代次数 | 200 | 200-500 | 回退点收敛困难,次数设大避免反复中断 |
功率扫描的单位如果写成dBm,指的是输入端口实际功率,不是相对回退量。工程里如果已经定义了输入功率变量Pavs,建议直接用Pavs做扫描变量,别自己另设一个变量名,控制模板里的效率公式会引用它,改一次要连带改好几个地方,容易漏。
回退效率的验收标准可以参考一条经验线:6dB回退点效率不低于满功率效率的65%,8dB回退点不低于满功率效率的40%。达不到先回头查峰值管偏置,再查合路网络,不要先怀疑晶体管模型参数。模型参数是前提条件,一般不会错。
4.3 从原理图切到版图协同仿真
原理图调好之后,把layout元件放回工程,给版图加衬底参数,然后生成EM模型并替换原理图中的理想合路元件。这个操作在ADS里的常规路径是:在layout里选中目标元件,进EM菜单设置频率范围与网格,生成symbol,再把原理图里的理想合路网络替换成EM symbol。
版图仿真第一次跑出来的结果往往比原理图效率低,有一次我在某个模拟项目X里看到效率掉了6个百分点,当时第一反应是去调偏置“补”回来,后来发现完全错了。版图仿真效率下降,优先检查三处:功率管漏极到合路点的走线有没有疑似断开、版图隔直电容位置是否对应原理图的串联位置、偏置注入点在电磁模型里有没有被当成额外接地过孔。走线末端多一个接地过孔就能让效率掉两个点,这是版图仿真里最需要先排除的物理结构问题。
5. 常见问题与避坑记录:五个最容易翻车的调试现场
5.1 现象:HB仿真在回退点附近不收敛,报错停在初始条件设置上
现象:功率扫描到回退点附近时,Harmonic Balance迭代次数跑满仍不收敛,输出功率曲线出现跳变或断层。
原因:常见原因是峰值管在回退点附近从截止到导通的切换过程里,电压波形变化太剧烈,迭代初值给在了截止区,导致HB找不到稳定解。
解决:先把扫描功率步长从0.5dB改成0.2dB,让求解器在回退点附近逐点逼近;同时打开HB控制器里的初值复用选项,设置成以上一个仿真点的解作为初值。如果还卡住,可以在峰值管漏极并联一个很小的电导,量级取1mS左右,把亚阈值状态稳住,收敛后再把这个电导去掉并复验一次。
5.2 现象:峰值功放提前开启,回退效率曲线出现凹坑
现象:输出功率还没到设计回退点,回退效率曲线已经下跌或者出现一个明显凹坑,峰值管开启过早。
原因:一种可能是峰值管静态偏置偏浅,另一种可能是输入端移相网络的反相条件没有被满足,使两路信号在合路点相位差偏离180度。
解决:先把峰值管栅极负压调深0.05到0.1V,回退点会向后移。如果调深偏置后效率曲线变平了,说明问题出在偏置而不是合路网络。如果调深偏置后效率变差但功率曲线不再凹陷,那就回头查输入移相网络的插入相位,用S参数仿真看两路相位差是不是真的落在设计值附近。
5.3 现象:版图仿真结果比原理图效率低了5个百分点以上
现象:同一晶体管、同一偏置,EM联合仿真效率明显下降,并且回退点的驻波也变差。
原因:这种幅度的下降通常不是基板损耗,而是寄生不匹配。最常见的是合路网络T型节点切割时多出一小段微带线,或补偿线转角没有做切角处理,造成等效电长度偏移。
解决:把EM仿真版图按合路段逐段拆开,先单独仿补偿线,再仿晶体管输出匹配段,逐段和原理图对比,把每段误差控制在电长度2度以内。转角加上切角后再仿,效率差异通常会收到2个百分点以内,这种误差是可以接受的。
5.4 现象:回退效率曲线出现双峰,频带中间反而塌陷
现象:扫描频率从低到高,回退点效率出现两个峰值,中间频段效率掉下去。
原因:合路网络在两个频点分别谐振,说明四分之一波长线设计频率和补偿线频率不重合,中间恰好是阻抗变换失谐最大的区域。
解决:把四分之一波长线设计频率稍微上移或下移,让两个峰往中间靠拢合并。再看补偿线电长度用到了多少,如果原来用了四分之一波长做补偿,改成八分之一波长后带宽通常会明显变宽,效率对频率的敏感度也会降下来。
5.5 现象:负载牵引结果和最终整机回退效率对不上
现象:自带负载牵引模板给出的最佳阻抗点,单独用在载波管上满功率效率很高,但放进整机后回退效率很差。
原因:负载牵引通常只针对晶体管饱和功率与满功率效率做优化,没有考虑合路网络的插入相位,以及峰值管开启后对载波管看到的阻抗的动态影响。
解决:负载牵引时把功率扫描到比满功率低6dB的回退点,看这个功率点的效率等高线,而不是只看满功率点。把回退点效率最优点作为合路网络的目标阻抗,再在满功率点接受一部分效率损失,整机回退效率会顺畅很多。这个操作在源文件模板里通常需要改一下功率扫描设置,把回退点功率值单独跑一轮。
6. 验证不放水:用AM-AM/AM-PM曲线检验线性化条件
Doherty结构牺牲了一部分增益平坦度换取效率,所以工程交付时不但要看效率曲线,更要看AM-AM和AM-PM特性。很多刚接触功率放大器的人只盯PAE和Pout,结果产品到了系统联调阶段才发现相位失真太大,DPD也救不回来。
源文件里的HB模板可以继续扫描输出功率和相位,把数据导出成CSV,用一段简单脚本做后处理。我平时会把PAE、输出功率、相位响应同时导出,画成叠加图看两件事:增益压缩是否平滑,相位偏差在大信号段是否突变。下面是基于ADS导出CSV的Python脚本示例,列顺序按“输入功率、输出功率、相位”排布:
import csv rows = [] with open("doherty_amp.csv", "r") as f: reader = csv.DictReader(f) for r in reader: rows.append((float(r["Pin_dBm"]), float(r["Pout_dBm"]), float(r["Phase_deg"]))) rows.sort(key=lambda x: x[0]) pin0, pout0, phase0 = rows[0] gain_ss = pout0 - pin0 # 小信号增益 print("Pin_dBm Pout_dBm Gain_Comp_dB Phase_Dev_deg") for pin, pout, phase in rows: gain = pout - pin g_comp = gain_ss - gain # 增益压缩量,正值表示压缩 phase_dev = phase - phase0 # 相对于小信号的相位偏差 print(f"{pin:.2f} {pout:.2f} {g_comp:.2f} {phase_dev:.2f}")参数含义要看清:gain_ss是小信号增益,作为线性外推的参考值;gain_comp表示当前输入功率下增益被压缩了多少,正值越大说明压缩越深;phase_dev表示当前功率下的相位偏移,它是AM-PM失真最直接的度量。Doherty功放在回退点附近通常会先出现1到3dB的增益扩张,再走向压缩,这不是脚本错误,是负载调制过程在AM-AM曲线上的正常表现。AM-PM失真则要控制在合理范围内,典型经验是回退点到饱和点之间相位偏差不超过10度,如果超过太多,后级DPD的查找表工作量会明显加大,甚至出现带外失真压不下去的情况。
这块脚本我平时会在工程里存一份,每次改完偏置或合路网络,都重跑一次并对比前后的AM-PM曲线。从那以后,我每次交付功率放大器设计,都会强制自己走一遍“效率曲线加AM-AM/AM-PM联合验证”的路,不再只看单条PAE曲线就判断设计完成。这条习惯帮我挡掉了至少三次在实验室才暴露出来的线性度翻车,希望也能帮到你。
本文还有配套的精品资源,点击获取