负载调制平衡放大器LMBA的ADS仿真设计与效率优化实践 简介这份资源面向射频功放设计与仿真学习者聚焦经典负载调制平衡放大器LMBA架构提供从理论到ADS仿真的完整工程文件。内容以Cripps团队发表于IEEE MWCL的论文《An Efficient Broadband Reconfigurable Power Amplifier Using Active Load Modulation》为复现对象适合具备一定微波电路基础、希望动手验证LMBA原理的工程师与学生。压缩包共757个文件约105.1MB包含ADS工程所需的ds原理图、ael脚本、atf数据、s2p/s4p等S参数文件、bmp与xml配置、log与txt说明等覆盖仿真工程、数据与脚本多类资源。目前已有1202人学习下载。借助该工程读者可对照论文搭建LMBA仿真环境理解有源负载调制的工作机理查看原理图与变量设置并参考S参数与日志排查仿真问题为后续变种架构研究提供可复用的起点。1. 负载调制平衡放大器到底解决了什么工程痛点做射频功放的人迟早会撞上一堵墙效率与线性度像跷跷板一头压下去另一头就翘起来。回退功率下的效率塌陷尤其让人头疼5G 信号峰均比动辄 8~10 dB意味着功放大部分时间工作在远低于饱和点的区域传统 Class-AB 在这个区间效率可能只剩百分之十几热量全堆在管壳上。负载调制平衡放大器Load Modulated Balanced AmplifierLMBA就是冲着这个矛盾来的。它的核心思路不复杂用一路控制信号去主动“拉扯”平衡对管的负载阻抗让功放在回退时看到的负载从 50 欧姆往最优效率点偏移而不是死守在一个固定阻抗上。和 Doherty 相比LMBA 的负载调制由控制放大器独立完成不依赖载波管与峰值管的非对称分工因此在宽带匹配和模式切换上更灵活。ADS 仿真在这个方向上是主流验证手段因为负载调制本质上是阻抗轨迹的动态变化没有谐波平衡和负载牵引仿真光靠手算根本看不清。这篇笔记面向已经懂基本功放匹配、想动手在 ADS 里把 LMBA 跑起来的人。我会从拓扑选型讲到 ADS 工程搭建、控制信号相位设置、负载牵引验证再到实际仿真中容易翻车的地方。新手能照着步骤走熟手可以重点看参数边界和避坑部分。2. LMBA 拓扑与负载调制机理先搞清楚阻抗怎么被拉动2.1 平衡对管加控制支路的基本结构LMBA 的骨架是一个平衡放大器加一路控制信号注入。平衡放大器由两个相同的功放管组成通过输入输出端的正交耦合器实现 90 度相位差合成。控制信号从平衡放大器的输出耦合器隔离端口注入经过控制放大器放大后与平衡对管的输出在负载端进行矢量叠加。关键在于这个叠加不是简单的功率合成而是改变了平衡对管看到的等效负载阻抗。当控制信号的幅度和相位变化时负载端电压电流关系随之改变平衡对管输出的负载线斜率就变了。这就是“负载调制”四个字的物理含义。常见做法是输入用 3 dB 正交耦合器如 Lange 耦合器或分支线耦合器输出同样用正交耦合器。控制信号从输出耦合器的隔离端口进入这样控制放大器与平衡对管在输出端形成有源负载牵引。控制放大器的输出功率不需要很大通常只有平衡对管总输出的几分之一到十几分之一但它对负载阻抗的调节能力很强。选型上平衡对管一般选同型号同批次的管子匹配电路完全对称。控制管可以选和平衡管同型号也可以选尺寸更小的管子取决于你需要多大的调制范围。我一般会先用同型号管子做仿真确认调制效果后再考虑缩小控制管尺寸来降低功耗。2.2 负载阻抗轨迹与效率提升的定量关系要理解 LMBA 为什么能提升回退效率得看负载阻抗在 Smith 圆图上的轨迹。平衡放大器在无控制信号时每个管子看到的负载是 50 欧姆经过耦合器变换后的阻抗通常是 25 欧姆左右取决于耦合器接法。当控制信号注入后这个阻抗会沿着等电导圆或等电阻圆移动。对于 Class-B 或 Class-AB 偏置的功放最大效率点对应的负载阻抗通常高于 50 欧姆。回退时如果负载阻抗能往最优效率点移动效率就能维持在一个较高水平。LMBA 的控制信号幅度决定了阻抗移动的距离相位决定了移动的方向。定量来看假设平衡对管总饱和输出功率为 P_sat控制信号注入功率为 P_ctrl负载调制后的等效阻抗可以近似表示为Z_load Z_0 * (1 Γ_ctrl) / (1 - Γ_ctrl)其中 Γ_ctrl 是控制信号在负载端产生的等效反射系数它与 P_ctrl 的平方根成正比与平衡对管输出功率的平方根成反比。这个关系说明控制信号不需要很大就能产生明显的阻抗变化但也意味着控制信号的幅度和相位精度要求很高。在 ADS 里验证这个关系需要用 Load Pull 模板配合 HB 仿真扫描控制信号的幅度和相位观察平衡对管漏极看到的阻抗和对应的效率。具体操作后面章节会展开。2.3 与 Doherty 和 ET 方案的选型对比LMBA 不是唯一的回退效率提升方案。Doherty 用载波管和峰值管的非对称工作实现负载调制结构简单但带宽受限因为峰值管在回退区的开启点由输入功率分配比决定很难在宽频带内保持一致。包络跟踪ET用动态电源电压跟踪信号包络效率提升明显但电源调制器带宽和效率是瓶颈系统复杂度高。LMBA 的优势在于负载调制由独立控制支路完成控制信号的幅度相位可以自由编程不依赖管子之间的非对称匹配。这意味着它在宽带场景下更容易保持调制效果一致。代价是需要额外的控制放大器和精确的相位校准控制支路的功耗也会吃掉一部分效率增益。选型建议如果带宽要求超过一个倍频程LMBA 比 Doherty 更合适如果系统对电源复杂度敏感LMBA 比 ET 更可控如果只做窄带应用且成本敏感Doherty 仍然是首选。LMBA 适合的场景是宽带、高回退效率、对控制精度有要求但能接受额外控制支路功耗的系统。3. 在 ADS 里搭一个能跑的 LMBA 工程从原理图到 HB 仿真3.1 ADS 工程目录与原理图分层我一般会把 LMBA 的 ADS 工程分成三层顶层系统原理图、平衡对管子电路、控制支路子电路。顶层只放耦合器、两个子电路符号和负载终端方便快速替换子电路做对比。子电路里放管子的偏置网络和匹配电路。新建工程时目录结构建议这样组织LMBA_Project/ workspace/ LMBA_wrk/ networks/ top_lmba.dsn # 顶层原理图 bal_pair.dsn # 平衡对管子电路 ctrl_amp.dsn # 控制支路子电路 load_pull.dsn # 负载牵引验证 data/ hb_sim_results/ synthesis/ match_synthesis.dsn在 ADS 里networks目录下每个.dsn文件可以包含多个 cell建议一个 cell 对应一个功能模块。顶层原理图里用Hierarchical方式调用子电路这样改匹配电路时不用动顶层。原理图里必须有的元件两个正交耦合器可以用Ideal_3dB_Coupler先做理想验证再用S2P文件替换实际耦合器模型、平衡对管子电路符号、控制支路子电路符号、负载终端Term、直流偏置源V_DC和偏置网络。控制信号的相位用PhaseShift元件或者直接用一个相位可调的源来实现。提示理想耦合器先跑通再换实际模型否则你分不清是拓扑问题还是耦合器非理想带来的问题。3.2 偏置与匹配网络的参数设置偏置网络的设计直接决定功放工作在 Class-AB 还是 Class-B。对于 LMBA平衡对管一般偏在 Class-AB导通角略大于 180 度兼顾效率和线性度。控制管可以偏在 Class-B 甚至 Class-C因为它的主要任务是提供负载调制信号不需要太好的线性度。在 ADS 里设置偏置时用DC_Block和DC_Feed分离直流和交流路径。栅极偏置电压通过DC_Feed加到管子栅极漏极偏置通过DC_Feed加到漏极。匹配网络用Smith_Chart工具做初步综合然后用Tune工具微调。一个典型的平衡对管匹配网络参数参数数值说明栅极偏置电压-2.8 VClass-AB 工作点漏极电压28 V典型 LDMOS 或 GaN 供电输入匹配线宽0.8 mm对应 50 欧姆微带线输出匹配线宽1.2 mm对应 25 欧姆变换匹配线长度约 λ/4中心频率处这些数值不是固定的取决于你用的管子模型和基板参数。关键是先用Load_Pull模板找到管子在这个偏置下的最优负载阻抗再设计匹配网络把 50 欧姆变换到那个阻抗。控制支路的匹配网络相对简单因为控制管的工作点不要求最优效率只需要在需要的功率范围内提供足够的调制信号。我一般会把控制管的输出匹配设计得偏宽带牺牲一点增益换取调制范围的稳定性。3.3 控制信号幅度与相位的扫描设置这是 LMBA 仿真最核心的一步。控制信号的幅度和相位决定了负载调制的效果必须做二维扫描才能看清全貌。在 ADS 里用HB仿真配合Parameter_Sweep设置两个扫描变量控制信号输入功率P_ctrl和相位Phase_ctrl。扫描范围根据你的设计目标来定一般P_ctrl从 0 到平衡对管饱和功率的 1/4相位从 0 到 360 度分 8 到 16 个点。# ADS HB 仿真控制信号扫描的 Python 脚本示例 # 用于批量设置扫描参数并提取效率数据 import subprocess import os # 定义扫描参数 p_ctrl_range [0, 5, 10, 15, 20] # dBm phase_ctrl_range [0, 45, 90, 135, 180, 225, 270, 315] # 度 # 生成 ADS 仿真命令 for p_ctrl in p_ctrl_range: for phase in phase_ctrl_range: # 调用 ADS 命令行仿真传入参数 cmd fads_sim -p P_ctrl{p_ctrl} -p Phase_ctrl{phase} -o hb_result_{p_ctrl}_{phase}.csv subprocess.run(cmd, shellTrue, cwdLMBA_wrk)这段脚本的逻辑是遍历控制信号的功率和相位组合每次调用 ADS 仿真并输出结果文件。参数说明P_ctrl单位是 dBm对应控制放大器输出到耦合器隔离端口的功率Phase_ctrl是控制信号相对于平衡对管输出信号的相位差单位是度。实际使用时需要根据 ADS 版本调整命令行参数格式有些版本用ads_sim有些用hpeesofsim。扫描完成后把结果导入 ADS 的Data_Display窗口画效率随P_ctrl和Phase_ctrl变化的等高线图。你会看到效率在某个相位附近出现峰值这个相位就是最优调制相位。幅度方面效率随P_ctrl增大先升后降存在一个最优值。注意控制信号相位扫描时要确保平衡对管的输入信号相位固定否则你分不清是调制效果还是输入相位变化带来的影响。4. 负载牵引与效率验证仿真结果怎么读才不翻车4.1 Load Pull 模板在 LMBA 中的适配ADS 自带的Load_Pull模板是为单管设计的直接套用到 LMBA 上会出问题因为 LMBA 的负载阻抗不是直接加在管子漏极而是经过输出耦合器变换后的等效阻抗。你需要修改模板把耦合器和控制支路的影响包含进去。具体做法在Load_Pull模板的负载端前面插入输出耦合器的 S 参数模型把控制支路的等效阻抗作为负载的一部分。这样扫描的才是平衡对管实际看到的阻抗。或者更直接的方法用HB仿真配合Load_Tuner元件在平衡对管漏极直接扫描阻抗观察效率和输出功率。我一般会用第二种方法因为更直观。在平衡对管漏极加一个Load_Tuner设置扫描范围覆盖 Smith 圆图的大部分区域然后跑 HB 仿真。得到效率等高线后找到最优效率点对应的阻抗再反推控制信号需要设置的幅度和相位。4.2 效率与线性度的折中曲线LMBA 的效率提升不是免费的控制信号注入会带来额外的非线性。在仿真中要同时看效率曲线和 IM3 或 ACPR 曲线找到折中点。典型的仿真结果在回退 6 dB 时无控制信号的平衡放大器效率可能只有 25%加入最优控制信号后效率可以提升到 40% 以上。但 IM3 可能恶化 3 到 5 dB。你需要根据系统指标决定能接受多大的线性度恶化。在 ADS 里看线性度用HB仿真的双音信号或者调制信号源。双音间隔一般设 1 MHz 到 10 MHz看 IM3 随控制信号幅度的变化。调制信号用CDMA或OFDM源看 ACPR。这些仿真比单音 HB 慢很多但结果更接近实际。4.3 仿真收敛问题的排查顺序HB 仿真在 LMBA 这种多激励源场景下很容易不收敛。排查顺序我一般是这样先检查直流工作点。用DC仿真单独跑一遍确认所有管子的静态电流在预期范围内。如果直流都不对HB 肯定不收敛。再检查激励源幅度。控制信号和平衡对管输入信号的幅度如果相差太大HB 的迭代矩阵条件数会很差。试着从较小的信号幅度开始逐步增大。然后检查谐波阶数。HB仿真里的Order参数默认可能是 3 或 5对于 LMBA 这种有强非线性负载调制的场景建议设到 7 甚至 9。阶数太低会丢失关键谐波信息导致收敛困难。最后检查Max_Iterations和Convergence_Mode。把迭代次数从默认的 50 提高到 200收敛模式从Fast改成Robust。这些设置会拖慢仿真速度但能解决大部分收敛问题。如果还是不收敛试着把控制信号先断开只跑平衡放大器确认单管能收敛后再加控制支路。逐步增加复杂度是排查收敛问题的有效策略。5. LMBA 仿真避坑记录从翻车到跑通的五条血泪经验5.1 耦合器相位接反导致调制失效现象控制信号加进去后效率不但没提升反而下降负载阻抗轨迹往错误方向移动。原因正交耦合器的相位关系搞反了。平衡放大器的两个管子需要 90 度相位差输入输出耦合器的隔离端口与控制信号的相位关系也有讲究。如果输入耦合器接反两个管子的相位差变成 -90 度输出合成从同相叠加变成抵消。解决在 ADS 里用S_Parameter仿真单独验证耦合器的相位。理想 3 dB 耦合器的S21和S31相位差应该是 90 度。实际耦合器模型要看S参数文件的相位数据。确认无误后再接入整体电路。5.2 控制支路偏置点漂移导致调制量不足现象仿真跑出来的效率提升只有理论值的一半不到控制信号幅度加到很大也没明显改善。原因控制管的偏置点不对。如果控制管偏在 Class-A它的输出信号幅度受限于偏置电流无法提供足够的调制功率。如果偏在深 Class-C增益太低同样达不到需要的调制幅度。解决单独仿真控制支路的增益和输出功率压缩点。把控制管偏在 Class-B 或浅 Class-AB确认在目标控制信号输入范围内输出功率能达到平衡对管饱和功率的 1/4 以上。如果不够调整控制管的匹配网络或者换更大尺寸的管子。5.3 HB 仿真谐波阶数不够导致效率虚高现象仿真结果显示效率超过 80%明显不合理。原因HB仿真的谐波阶数设得太低比如只设了 3 阶。LMBA 的负载调制会产生丰富的谐波分量阶数不够时仿真器会把这些谐波能量“藏”起来导致计算出的效率虚高。解决把HB的Order参数设到 7 以上同时检查Oversample参数是否足够。重新跑仿真效率会回落到合理范围。如果效率仍然偏高检查管子模型是否包含自热效应和寄生参数理想模型会给出偏乐观的结果。5.4 负载终端阻抗设置错误导致匹配失效现象负载牵引扫描出来的最优阻抗和预期差很远匹配网络怎么调都达不到目标效率。原因Term元件的阻抗设成了默认的 50 欧姆但 LMBA 的输出耦合器后面接的负载不一定是 50 欧姆。如果实际系统负载是 50 欧姆经过耦合器变换后平衡对管看到的阻抗可能是 25 欧姆或其他值。仿真时如果Term设错整个阻抗变换链就错了。解决确认输出耦合器的接法和变换比。在Term前面加一段传输线或变压器模型把 50 欧姆变换到耦合器输入端的实际阻抗。或者直接在Term里设置复数阻抗模拟实际负载条件。5.5 控制信号源内阻未设置导致功率分配错误现象控制信号源输出的功率全部加到了负载上没有有效注入到耦合器隔离端口。原因ADS 里的P_1Tone源默认内阻是 50 欧姆但如果你的控制支路输入匹配不是 50 欧姆源和负载之间会有反射实际注入功率小于设定值。解决在控制信号源后面加一个Isolator或Attenuator元件确保源看到的是匹配负载。或者用Power_Source元件直接设定注入功率绕过源内阻的影响。仿真时用Probe元件监测耦合器隔离端口的实际入射功率确认与设定值一致。6. 进阶技巧用参数化扫描快速定位最优控制相位跑通基本仿真后最耗时的环节是找最优控制相位。手动扫描 8 个相位点每个点跑一次 HB半天就没了。我后来改用 ADS 的Parameter_Sweep配合Optimizer先粗扫再精扫效率高很多。具体做法先用Parameter_Sweep在 0 到 360 度范围内扫 12 个点步长 30 度。从效率等高线图上找到峰值所在的 60 度区间。然后在这个区间内用Optimizer做精细搜索目标函数设为效率最大约束条件是 IM3 不超过某个阈值。Optimizer一般跑 20 到 30 次迭代就能收敛到最优相位比手动扫描快一个数量级。# ADS Optimizer 目标函数示例 # 在 ADS 的 Optimization 控制器里设置 # 目标最大化 PAE约束IM3 -30 dBc def objective_function(pae, im3): if im3 -30: return -1000 # 惩罚项不满足约束直接给差评 return pae # 满足约束时最大化 PAE # 在 ADS 里对应设置 # Goal: maximize PAE # Constraint: IM3 -30 dBc # Variable: Phase_ctrl, range 60 to 120 degrees这段逻辑的核心是把约束条件作为惩罚项加入目标函数让优化器在满足线性度约束的前提下找效率最大值。参数说明PAE是功率附加效率IM3是三阶交调产物相对于基波的 dBc 值。约束阈值 -30 dBc 是一般通信系统的底线实际可以根据标准调整。还有一个技巧是用Swept_HB代替单点HB。Swept_HB可以在一次仿真中扫描多个参数虽然单次仿真时间更长但省去了反复启动仿真器的开销。对于需要扫描控制相位和幅度的场景Swept_HB的总时间通常比多次单点HB短 30% 到 50%。最后说一个我踩过的坑仿真跑通不代表电路能工作。ADS 里的理想元件和实际器件差距很大尤其是耦合器的插损和管子的寄生参数。我一般会在仿真收敛后把关键元件替换成厂商提供的S2P或S3P文件重新跑一遍确认性能没有大幅恶化。如果恶化超过 20%说明匹配网络的裕量不够需要重新设计。这个方向值得做因为宽带高效率功放在 5G 和卫星通信里是刚需LMBA 的灵活度比 Doherty 高ADS 仿真是最低成本的验证手段。但别指望仿真结果能直接复现到实测留够裕量做好迭代准备。希望帮到你。本文还有配套的精品资源点击获取