
简介这是围绕Doherty多赫蒂功率放大器设计的ADS工程包主要面向射频微波工程师、通信专业学生以及功率放大器设计入门者解决在Windows XP环境下开展电路仿真、参数优化与性能评估的实际需求。包内共有731个文件以workspace.ads工程文件为核心涵盖XML配置文件、DDS/OPT仿真参数设置、PRT/STI/SAM等器件模型定义以及CDR/DB数据记录和AEL脚本、ATF匹配文件等ADS深度定制资源此外还附有a.txt文本说明方便解压后快速理解整体结构和运行步骤。压缩包总大小约为205.46MB目录层次较为完整。目前已有107人学习下载。这一资源完整展示了从载波与旁路放大器原理分析、电路图搭建、参数扫描到结果对比验证的Doherty设计流程适合作为真实工程案例在旧版Windows系统上运行ADS工具进行仿真学习与工程复现。1. 收到 Doherty_wxp.zip 先别急着装虚拟机这里面的东西不是给你跑 Windows XP 用的搜索这个文件名进来的大多数人以为 Doherty_wxp.zip 是一份 Windows XP 环境下的 Doherty 放大器教学程序包解压之后双击就能看个动画演示。实际把压缩包里的文件清单过一遍workspace.ads、proj.c2d、itemdef.ael、itemdef.atf这几个后缀放在一起说明这其实是一份 Agilent ADSAdvanced Design System的完整工程设计包命名里的 wxp 大概率是指工程运行或出图的旧版 Windows 环境而不是资源内容本身。这个包的价值在于它把 Doherty 功放的载波/峰值两路拓扑、偏置策略、合路网络和自定义显示模板都固化成了一个可打开的 ADS 工作区适合正在做基站功放回退效率优化的射频工程师、做毕业设计的通信专业学生以及想快速复现 Doherty 效率曲线的从业者。下面按拆包、原理、仿真、排错、脚本化导出五步把这个工程吃透。2. 拆包看结构workspace.ads、proj.c2d 与 itemdef.ael 在 ADS 工程里各管什么2.1 一个 ADS 工程包的目录语义先纠正一个常见误区ADS 的工程不是单文件而是以工作区Workspace为单位组织。压缩包里的 workspace.ads 是工作区索引文件它记录了这个工程包含哪些 cell、哪个 design 是当前激活的相当于工程的心脏。proj.c2d 则是具体电路设计文件c2d 是 ADS 原理图经压缩序列化后的存储格式里面既有器件摆放信息也有连线拓扑和仿真控件设置。itemdef.ael 和 itemdef.atf 是两个容易被忽略但实际影响你出图的文件ael 是 ADS 的扩展语言脚本atf 是配套的模板定义二者合起来实现了 Data Display 窗口里的自定义测量项——比如把 PAE、增益回退量、载波/峰值两路电流比做成一个按键就能刷新的专用图表。文件与用途对照如下。文件名类型在工程中的作用workspace.ads工作区索引管理 cell 与 design 的隶属关系双击打开整个工程proj.c2d原理图设计文件存储 Doherty 功放拓扑、元件参数、仿真控制器itemdef.aelAEL 脚本定义自定义测量函数与数据处理逻辑itemdef.atf模板定义把 AEL 函数绑定到数据显示窗口的按钮和表格2.2 不解压 ADS 也能预检工程用命令行看 c2d 头部很多人在 Windows 上习惯直接双击 .c2d 文件结果系统弹出未关联程序的提示。其实在解压之后、打开 ADS 之前可以先在命令行里对 c2d 做一次快速体检确认文件完整性和对应的 AD S 版本。file proj.c2d head -c 512 proj.c2d | od -c | head -20file 命令会输出文件类型如果是老版本 ADS 生成的 c2d通常能看到包含Cadence或ADS标识的描述head 配合 od 把二进制头以字符形式打印工作区名称、cell 名称和创建时间一般就藏在开头 512 字节里。这样做的意义在于如果 head 输出的内容乱码且没有任何可读字符串说明这个 zip 在传输过程中损坏或者下载来源做过二次压缩导致文件头被改写这时候直接拖进 ADS 会报unable to open design不如一开始就发现。2.3 从 itemdef.ael 反推工程预设了什么测量逻辑itemdef.ael 是文本文件用记事本或 VS Code 打开即可。里面通常是一段 defun 声明的函数例如从仿真数据集里取 output power、算 PAE、或者在扫描结果里自动找效率最高点。常见做法是defun pae_at_backoff(pout, pdelivered) { return (pout - pdelivered) / pdelivered * 100; }这段 AEL 的逻辑是接收输出功率和直流消耗功率两个数据集返回功率附加效率的百分数。注意 AEL 是 ADS 自己的 Lisp 变体函数体里不允许出现中文注释变量名建议全部小写加下划线。拿到一个陌生工程时先看 itemdef.ael 里定义了哪些函数就能知道原设计者做仿真时关注的是 PAE、增益还是两路电流分配比这比直接看原理图更快定位设计意图。3. 从 proj.c2d 看 Doherty 功放的两路分配逻辑与效率提升原理3.1 载波管和峰值管为什么能顶着 6dB 回退不塌效率Doherty 拓扑的底层逻辑是用一个 Class AB 载波管保证小信号线性再叠加一个 Class C 峰值管在大信号段介入。关键在于合路点的四分之一波长阻抗逆变线载波管看到的负载阻抗会随峰值管输出电流增大而降低这种负载调制效应让载波管在 6dB 回退点附近仍然维持接近饱和点的效率而普通单管 AB 类功放在同样回退量下效率会直接掉到峰值的一半以下。工程里的两路分配不是简单的并联输入侧需要保证两路激励相位正确常见做法是加 90 度相位移相段补偿合路网络带来的相位差。这一段的元件参数很敏感相位偏差超过 10 度回退效率可能掉 3 到 5 个百分点这也是这类工程里最容易反复调的部分。3.2 在 c2d 原理图里定位两路拓扑的元件链打开 proj.c2d 后按信号流方向找四个关键节点输入功分器、载波管输入匹配、峰值管输入匹配、合路点。输入功分器一般用 Wilkinson 结构两个分支的微带线电长度相同以保持同相载波管偏置设在浅 AB 类静态电流约为最大饱和电流的 5% 到 15%峰值管偏置设在夹断点以下保证小信号时不导通直到输入功率推到阈值才开启。合路点前方有一段特征阻抗为 Z0、电长度 90 度的微带线这一段是 Doherty 能实现负载调制的物理基础。典型参数参考如下。链路节点器件/结构典型设置输入分配Wilkinson 功分器等分、端口阻抗 50 欧载波管偏置Class ABVgs 取静态电流 10% Idss 对应值峰值管偏置Class CVgs 低于夹断电压 0.3~0.5V合路相位补偿90 度微带线电长度按工作频率中心点计算输出匹配两路合成后统一匹配目标阻抗由负载牵引确定3.3 用负载牵引模板验证最优阻抗不靠猜工程里如果带了 Load-Pull 模板直接用才是正路。ADS 的 DesignGuide 菜单里有 Load-Pull 模板把载波管和峰值管的输出参考面作为扫描端口固定输入功率扫描基波阻抗的实部和虚部。设置上要注意把扫描功率定在目标回退点而不是饱和点你想优化 6dB 回退效率就把输入功率设为 P3dB 以上 6dB然后看效率等高线的最优 Zload。这一步的测量方程可以直接在 AEL 里写成自动寻找效率最高点defun auto_pae_max(pae) { declare max_pae real; max_pae max(pae); return max_pae; }逻辑说明这段脚本遍历 pae 数据集取出最大值。配合 ADS 的 dataset 浏览器可以快速定位最优阻抗对应的史密斯圆图坐标再回填到 3.2 节的输出匹配网络里。注意负载牵引模板本身的谐波终止也需要设置最少要包含二次谐波短路面否则扫描结果在 Doherty 这种强非线性场景下可信度不高。4. 导入、仿真、调优从解压 zip 到拿到效率曲线的完整操作链4.1 解压与工程路径规范这一步错了一切白搭先把 zip 压缩包的完整性验一遍。Windows 下用 7-Zip 打开压缩包菜单里选测试压缩包如果提示error read zip archive说明包体已经损坏直接重新下载不要强行解压。解压时路径里绝对不能有中文也不能带空格更不要解压到桌面这种带用户权限管控的目录。ADS 对路径里的非 ASCII 字符处理很古老中文路径会导致 workspace 无法创建锁文件报错信息却是莫名其妙的 cell not found。实践中最稳的做法是解压到某个盘符的根目录例如D:\Doherty_wxp然后再双击 workspace.ads。如果你拿到的 zip 包带密码且来源不合法不要浪费时间找 zip 密码破解工具这违背资源使用的基本底线直接放弃或联系源作者要密码。4.2 谐波平衡仿真的功率扫描与控制器参数打开工程后先看 adc 控件或 HB 仿真控制器Doherty 必须跑谐波平衡而不是 S 参数。关键参数集中在三处扫描变量是输入功率 P 而非频率谐波次数至少取 5 阶瞬态辅助设置里要把载波管和峰值管的非线性模型都激活否则两路电流分配失真。一个典型设置如下控制器参数推荐值说明Order5谐波阶数阶数过高会拖慢收敛P_scan 起始10 dBm覆盖小信号区P_scan 终止饱和点以上 2 dB必须超过压缩点Step0.5 dB太粗看不出效率曲线拐点收敛算法Krylov大功率扫描时比 Direct 稳定4.3 常见报错与修正手段仿真报错是正常流程的一部分。第一类高频报错是AEL Error: cannot find itemdef多半是压缩包解压后 itemdef.ael 没有被编译成二进制模板解决办法是在命令行里执行ael -c itemdef.ael或者直接把 itemdef.ael 文件放到 ADS 安装目录的config目录下再重开工程。第二类是Simulation failed to converge这是 Doherty 双管结构最常见的坑优先做法是把谐波次数从 7 降到 5给两路功放管添加初始偏置猜测值再把 Krylov 迭代上限从默认值调大。第三类是打开 workspace 时提示版本不兼容原工程可能用新版本 ADS 保存而你手头是旧版这种情况没有简便解只能找同版本软件。修正 itemdef 加载失败的 AEL 片段参考; 重新注册自定义显示模板的入口 load(itemdef.ael); sync_itemdef();逻辑说明load 把脚本文件读入内存sync_itemdef 强制 ADS 重建模板缓存覆盖解压时可能产生的损坏索引文件。注意这段脚本要在 ADS 的 Command Line 窗口里执行不是在原理图里执行完成后关掉工程重新打开Data Display 里的自定义测量项就会恢复。5. 用 AEL 脚本批量导出扫描数据把效率曲线一次拉出来5.1 自动导出 CSV省掉手工粘贴的动作仿真跑完一组功率扫描后需要把某一偏置条件下的效率数据导出去画曲线或写报告。手工在 Data Display 里点导出只能导一张表换一组偏置又要重来。用 AEL 把整个 dataset 导出成本地 CSV 才是正解defun export_pae_csv(filename, dataset, pvar) { declare outfile output; declare idx integer; outfile fopen(filename, w); fprintf(outfile, pout, pae, gain\n); for (idx 0; idx length(dataset.pae) - 1; idx) { fprintf(outfile, %f, %f, %f\n, dataset.pout[idx], dataset.pae[idx], dataset.gain[idx]); } fclose(outfile); }调用方式是在 AEL 命令行里执行export_pae_csv(D:/Doherty_wxp/pae_result.csv, dataset, P_scan)。逻辑说明fopen 以写模式创建文件fprintf 按行写入三列数据length 函数取扫描点数dataset 是 ADS 仿真后生成的数据集对象。参数方面filename 一定要用正斜杠或双反斜杠转义否则 ADS 会把\D当成转义字符导致文件创建失败。这样导出的 CSV 可以直接进 Origin 或 matplotlib 画效率回退曲线。5.2 用 S 参数快速验证两路相位对齐在跑大信号 HB 之前先跑一次小信号 S 参数来验证两路相位关系是否被破坏。在载波管和峰值管的输入参考面各放一个探针看 S21 的相位差是否接近预设的补偿角。实测中相位差偏离目标超过 10 度时效率凹坑会出现在回退区而不是饱和区这时候优先微调移相线的电长度而不是去动功放管的匹配网络。这个验证动作只要几秒钟却能省掉后续反复跑 HB 的几十分钟。把上面的 AEL 导出脚本和 S 参数相位检查配合起来用你就能在每次改完匹配后快速获得三样东西Pout-PAE 表、S21 相位差读数、以及一份 CSV 化的调优记录。对 Doherty 这类双路强耦合的功放设计这种数据留痕习惯比多调几次匹配更有价值。本文还有配套的精品资源点击获取