
1. 项目概述与思路拆解1.1 核心需求解析近几年物联网和短距离无线通信的设备数量暴涨2.4GHz这个频段几乎成了“兵家必争之地”不管是蓝牙、Wi-Fi、ZigBee还是各种私有协议都在这一块频率上做文章。做射频前端或者系统集成的人绕不开接收机的设计与验证。我这次分享的是自己在ADS 2023 Update2环境下从零搭建一套2.4GHz零中频接收机仿真的完整过程。零中频接收机名字听着玄乎原理说白了就是把射频信号直接变到基带本振频率等于射频载波频率中频频率为零。它的核心优势有两个一是没有镜像频率干扰这个老大难问题因为射频和本振同频镜像频率就是信号本身二是省掉了中频滤波器、中频放大器这些器件整个链路缩短成本和面积都降下来特别适合做高集成度的射频收发机。但零中频也有它的麻烦主要是直流失调、闪烁噪声、本振泄漏、I/Q失配这几座大山仿真阶段就能把这些坑摸清楚后面流片或者做PCB调试会省心很多。这个项目的核心价值在哪里对做射频前端设计的人来说它是理解接收机架构的绝佳切入点对做系统集成或者硬件选型的人来说它可以帮你快速评估链路预算、验证器件指标对刚入行或者在校学生来说它是一份完整的“照着做就能出结果”的实战参考。ADS 2023 Update2在射频仿真这一块依然是行业标杆用这套流程搭出来的模型后续无论是替换成具体厂商的元器件模型还是加进更大的系统做协同仿真都不用推翻重来。1.2 为什么选择ADS 2023 Update2ADSAdvanced Design System是Keysight原安捷伦家的旗舰级射频/微波设计工具在射频电路、MMIC、信号完整性这些领域几乎是事实标准。选它来做这个仿真不是因为“大家都在用所以我也用”而是有具体的工程考量。先看版本本身。2023 Update2这个版本相比旧版本有几处值得一提的改进谐波平衡Harmonic Balance仿真器的收敛性做了明显优化跑多音激励或者带强非线性器件的时候不容易出现不收敛、需要反复调参数的情况对多核CPU的利用效率更高了我实际测下来同样的电路拓扑2023 Update2比2021版本大概能快20%到30%在原理图编辑器的交互体验上也有优化比如连线、复制模块、修改参数时的刷新延迟明显降低长时间画图不容易烦躁。再看工具链的完整度。ADS里面自带完整的射频系统级仿真库RF System Library包含了从射频前端到基带处理的各类行为级模型。我在这次项目里用到的低噪声放大器LNA、混频器、本振源、功分器、滤波器这些模块都能直接从库里拉出来用不需要自己写复杂的方程模型。对零中频接收机这种系统级仿真ADS的这套库覆盖度是同类工具里最完整的之一。还有一点很关键ADS支持数据流的可视化分析。零中频接收机的关键指标比如转换增益、噪声系数NF、三阶交调点IIP3、本振到射频端口的隔离度这些参数在ADS里可以直接在仿真结果窗口查看也能用内置的公式和测量函数自动计算。比手动用计算器去推链路预算要直观太多。2. 零中频接收机链路设计与架构解析2.1 整体架构与模块划分这次要搭建的零中频接收机信号流向是这样的天线接收到的2.4GHz射频信号先经过带通滤波器做频段选择然后进低噪声放大器做第一级放大放大后的信号进入正交混频器与来自本振源的I/Q两路正交本振信号混频直接下变频到基带。基带信号经过低通滤波器和基带放大器最终输出到ADC或者基带处理器。整个系统可以分为四个大模块射频前端滤波器LNA、本振链路本振源正交功分器、混频器与I/Q通道、基带部分低通滤波基带放大。每个模块都有它独立的仿真任务最后要整合到一起验证整机性能。射频前端模块的目标很明确在2.4GHz频段提供足够的增益同时把噪声系数压制到尽可能低。LNA是接收机噪声性能的第一道关卡它的噪声系数几乎决定了整机的灵敏度上限。按级联噪声公式来看第一级有源器件的增益越高、噪声系数越低后面各级的噪声贡献就越小——这就是为什么LNA后面即使混频器噪声系数高一点整机NF还是能压得住。本振链路的核心是产生一个频率等于2.4GHz、相位噪声足够低、且功率大小合适的本振信号再通过正交功分器分成I/Q两路幅度一致、相位差90度的信号分别驱动混频器的两个通道。这里最容易踩的坑是I/Q的幅度不平衡和相位不平衡。幅度不平衡会导致镜频抑制比下降相位不平衡会让星座图产生畸变在仿真阶段可以把这两个指标人为设置成不同值观察对整机EVM的影响后面实际调试时有据可依。混频器模块是零中频架构的心脏。我这次选的是无源双平衡混频器结构因为它的本振到射频端口隔离度好偶次谐波失真低对直流失调的贡献也小。无源混频器自身没有增益会有大约6到8dB的转换损耗这个损耗在链路预算里必须提前算进去。有源混频器虽然能提供增益但它的闪烁噪声和直流失调特性通常不如无源结构在零中频架构里不是首选。基带部分主要是低通滤波器和基带放大器。低通滤波器用来滤除混频器输出中的高频分量和带外干扰截止频率根据信号带宽来定。基带放大器要把幅度已经足够大的基带信号再放大到ADC能够满量程采样的电平。这里有个设计取舍基带放大器的增益不能无脑加高否则会把前级的直流失调也一起放大导致ADC输入饱和。这个矛盾在零中频架构里特别突出仿真时要把直流失调值和增益分配结合起来看不能只看小信号增益。2.2 关键技术指标与预算分配链路预算设计是接收机仿真前必须做好的功课不能边仿真边随手改参数。我这次按照以下指标来倒推各级的增益和噪声预算。先明确系统目标接收机灵敏度要优于-70dBm考虑带内干扰后留3dB裕量信号带宽20MHz解调所需的信噪比SNR为10dB级联噪声系数NF目标3.5dB功率增益总目标45dB。噪声系数的预算分配逻辑是这样的第一级LNA选择NF1.2dB、增益18dB带通滤波器插损1.5dB放在LNA前面会直接抬高整机噪声系数所以这个损耗要控制在2dB以下混频器按无源双平衡结构单通道转换损耗7dB等效噪声系数7dB基带放大器NF10dB、增益20dB。把这些数值代入级联噪声公式NF_total 1.5 (1.2 - 1) (7 - 1)/18 (10 - 1)/(18×0.2)这里的关键是混频器和基带放大器对总噪声的贡献被第一级LNA的高增益给“削弱”了。整个计算出来的级联NF大约在2.9dB左右满足3.5dB的设计目标。增益分配要保证混频器输入端口的信号功率在一个合适的区间。2.4GHz频段的Wi-Fi信号接收到的典型功率范围在-30dBm到-70dBm之间。如果LNA增益18dB、混频器转换损耗7dB那么混频器后端的基带信号大约比输入端高11dB。再经过基带放大器20dB增益总增益大约45dB。大信号输入-30dBm时输出到ADC的功率大约15dBm接近ADC满量程这个压缩点要控制好。IIP3的预算也要提前算一算。接收机的带内三阶交调产物会直接落在信号带宽里无法用滤波器滤除。我的设计目标IIP3优于-15dBm折算到LNA输入端即能承受两个-30dBm的邻道干扰信号交调出来的-60dBm三阶产物不影响-70dBm的弱信号解调。这些数字在仿真验证阶段都要逐一核对。3. 完整搭建流程与实操步骤3.1 新建工程与基础环境配置打开ADS 2023 Update2之后第一步是新建Workspace也就是工作区。ADS的管理逻辑是Workspace工作区下面可以有多个Library库每个Library下面又可以有多个Cell单元Cell下面再有多个View视图。我习惯把整个接收机项目做成一个Workspace里面再按模块拆成不同的Cell这样原理图、版图、仿真数据都集中管理后面做协同仿真的时候切换很方便。新建Workspace时记得选择自带Design Kit的工作区类型也就是带厂商PDK或者ADS内置示例库的工作区。这样后面在原理图里拉器件时元件库的索引是现成的不用手动去配置库路径。我这次全部用的是ADS内置的“RF System”库和“Lumped Components”库所以逻辑库配置很省事。新建工程之后建议先建一个“Top-Level”的Cell作为整机原理图然后分别建立LNA、Mixer、LO_Chain、Baseband这些子Cell。ADS支持Hierarchy设计子Cell可以以Symbol的形式被上层原理图调用。模块化设计的最大好处是后期替换器件方便。比如原来用的理想LNA模型后面要换成一个真实厂商的管子只需要替换子Cell内部电路顶层原理图不用大改重新跑一次仿真就行。在开始画原理图之前我强烈建议先设置好仿真的全局变量。在ADS里点击“VAR”控件定义好RF频率2.4GHz、本振频率2.4GHz、信号带宽20MHz、系统阻抗50欧姆这几个关键变量。后面所有模块的参数引用这些变量改频率时全局联动不用一个个翻找参数改到手酸。3.2 各模块原理图与参数配置模块的搭建顺序我建议从LNA开始然后是混频器再是本振链路最后是基带。这个顺序的好处是前面的模块设计完成后可以直接跑单模块仿真验证指标验证通过再进入下一级避免整个链路搭完后才暴露问题排查起来费时费力。LNA模块在原理图里放置一个“Amplifier2”控件这是ADS射频库里的行为级放大器模型。设置S2118dBNF1.2dBS11和S22都设为-15dBP1dB输出1dB压缩点0dBmIIP310dBm。这些指标设定代表了一颗性能不错的2.4GHz专用LNA芯片的水平。行为级模型的好处是仿真速度快适合系统级验证等要做电路级设计时再替换成晶体管级电路或者厂商提供的S参数模型。混频器模块混频器我选的是“Mixer”控件类型设置为双平衡无源结构。转换损耗设为7dB本振端口到射频端口的隔离度设为25dB本振到中频端口的隔离度设为35dB。这里要单独关注LO-to-RF隔离度指标它决定了本振信号有多少会泄漏到天线端口辐射出去是接收机能不能通过电磁兼容相关认证的关键指标。本振链路本振源比较简单用“P_1Tone”控件产生2.4GHz信号功率设为7dBm这是驱动无源混频器比较合适的本振功率范围。7dBm输入到功分器后每路大约4dBm扣除混频器本振端口对功率的要求大约5dBm左右稍微偏小所以我在功分器后面加了一级增益5dB的缓冲放大器。实际仿真时发现本振功率对转换增益影响很大本振功率不够时混频器的转换损耗会明显恶化这个要反复试出来一个平衡点。正交功分器在ADS里有现成模型可用我们可以在库中搜索“Quadrature Hybrid”或者直接使用“Splitter”控件加一个90度相位偏移设置。关键是设置好幅度平衡度目标0.1dB以内和相位平衡度目标0.5度以内。功分器的端口隔离度不是大问题但它输出的两路信号幅度和相位的一致性直接决定后续解调误码率仿真时要把这里列为重点检查项。基带链路基带部分用“LowPass”滤波器控件加“Amplifier2”放大器。低通滤波器设置为5阶切比雪夫型截止频率10MHz信号带宽20MHz双边带各占10MHz带内纹波0.1dB。基带放大器增益20dBNF10dB。画完所有子电路之后在顶层原理图里用“Wire”把这些模块按顺序连接起来射频信号从输入端口进滤波器经过LNA后进入混频器的RF端口本振链路的I/Q两路输出分别接混频器的I/O两个本振输入端口混频器输出的I/Q基带信号经过低通滤波和放大后送到两个输出端口。这里要注意区分I路和Q路别连反了I/Q接反会导致最终解调出来的信号是镜像的排查起来容易怀疑人生。3.3 仿真设置与核心参数要点仿真控件选择“Harmonic Balance”这是处理接收机这类含强非线性器件系统的最佳仿真器。在HB控件里设置频率扫描范围从2.35GHz扫到2.45GHz步长1MHz。本振频率通过变量引用设置为2.4GHz。HB仿真的“Number of Harmonics”参数建议设置为5到7阶。阶数太低混频过程的非线性特性体现不出来阶数太高仿真时间会急剧增加收益却不明显。5阶对大多数接收机仿真场景够用了。另一个关键设置是“Sweep Plan”扫描计划。我设置了两个独立扫描维度第一个维度扫描射频频率第二个维度扫描射频输入功率从-80dBm到-20dBm步长2dBm。这样一次仿真就能同时得到变频增益的频率响应曲线和功率压缩曲线效率高不少。仿真的“Oversample”参数是很多初用ADS的人容易忽略的地方。默认值1在仿真强非线性时可能不收敛我把这个值提高到2仿真速度会慢一些但收敛性明显改善。如果后面仿真跑不出来先检查这个参数。4. 仿真结果分析与指标验证4.1 转换增益与频率响应仿真跑完后在数据显示窗口选择“Meas”函数添加“Conversion Gain”测量绘制转换增益随射频频率变化的曲线。我这次仿真出来的结果中心频率2.4GHz处转换增益大约44.8dB1dB带宽覆盖2.39GHz到2.41GHz完全满足20MHz信号带宽的需求。带内增益平坦度大约0.3dB在合理范围内。从功率扫描曲线能看到输入功率在-30dBm以下时输出功率与输入功率保持很好的线性关系增益曲线平坦从-25dBm左右开始增益开始压缩-20dBm时增益压缩大约2.1dB。这个压缩特性决定了接收机能够承受的最大带内干扰仿真数据告诉我这个设计的输入1dB压缩点大约在-22dBm接近设计预期。4.2 噪声系数与灵敏度核算用噪声系数测量函数仿真显示出整机级联噪声系数为3.1dB比预算的3.5dB留了0.4dB的裕量。拆开看各级的贡献LNA的NF1.2dB对整机NF影响最大混频器的7dB等效噪声系数经过LNA的18dB增益衰减后对整机贡献大约只有0.4dB这说明第一级高增益的设计策略有效果。根据级联NF3.1dB信号带宽20MHz信噪比需求10dB可以算出接收机灵敏度大约为-91dBm比设定的-70dBm目标优秀很多。灵敏度不是越高越好因为高灵敏度往往意味着容易受带内干扰影响但这里是仿真验证阶段先把指标达标再说。4.3 线性度与交调验证双音交调仿真在射频输入端同时加入频率为2.400GHz和2.401GHz的两个等幅信号通过HB仿真观察输出端的三阶交调分量。实测结果显示输入三阶交调点IIP3约为-13dBm比预算的-15dBm好2dB说明线性度在目标范围内。线性度指标需要跟增益和噪声指标做一个折中。增益太高会导致后级压缩提前增益太低噪声系数会恶化。我在仿真中尝试把LNA增益从18dB提高到22dB后整机增益到了49dB但IIP3下降了大约4dB变成了-17dBm噪声系数没有明显变化。这说明当前配置已经是一个相对平衡的状态追求某一项指标的优化必然会牺牲另一项。4.4 本振泄漏与镜像抑制本振到射频端口的泄漏仿真是在混频器输出端直接看本振频率分量的大小。设置隔离度25dB的情况下泄漏到天线端口的本振功率约为-18dBm这个数值在接收机自身工作场景中是可以接受的但如果做全双工系统还要叠加发射链路来评估。I/Q不平衡的影响在仿真里也做了验证。人为把Q路的幅度设置比I路低0.5dB相位误差设置到3度运行仿真后镜像抑制比从理想的45dB下降到约31dB。这说明一个事实零中频接收机的镜像抑制几乎完全依赖于I/Q两路的匹配程度绝不能在宽带系统里忽略这个因素。5. 常见问题与排查技巧实录5.1 直流失调问题的仿真定位零中频接收机的老大难就是直流失调。混频器本身端口隔离度再好也不可能做到完全隔离本振信号总会有一小部分耦合到射频端口或者中频端口经过混频器自身的非线性产生直流分量。此外强干扰信号经过混频器的偶次非线性也会产生直流分量。这个直流分量通常会叠加在有用的基带信号上轻则降低动态范围重则让后级放大器饱和。仿真时先断开射频输入信号仅给本振加激励这时混频器输出端出现的直流电平就是本振自混频产生的失调。如果这个值超过了基带放大器输入范围的1%就要考虑加隔直电容或者直流失调校准电路。在零中频架构中我们更常用的是DSP直流校准也就是在接收机正常工作时周期性地把一个已知的参考信号注入前端测出失调值然后在数字域扣除。仿真阶段要做的是把失调电平量化出来给后端算法团队一个参考量级。5.2 不收敛与仿真精度问题最常见的不收敛原因是激励功率过大和HB阶数不足。我遇到过一次仿真一直不收敛检查下来发现输入功率扫描范围设置到了10dBm这远远超出了接收机的线性工作区HB的Newton迭代找不到解。解决办法是把扫描上限降回到-20dBm问题立刻消失。如果遇到收敛缓慢的情况可以尝试三个地方提高过采样因子到2或4、放宽收敛容差默认的1e-6可以放宽到1e-4、把扫描步长拉大。注意放宽容差会影响精度所以只在排查阶段用最终出数据还是用严格收敛设置。5.3 I/Q失配的实测对照仿真数据和实际芯片测试数据对照I/Q失配是最容易对不上的一个指标。原因在于ADS自带的正交功分器模型是基于理想传输线理论建立的实际PCB上的微带功分器或者集总元件功分器相位平衡度受工艺误差影响很大。如果要在仿真里提前暴露这个问题我建议直接把功分器的相位不平衡参数从理想的0度改到2度甚至5度跑一遍整机EVM看恶化到什么程度这比用理想参数得出的“完美”结果更有工程参考价值。5.4 实际问题排查速查表异常现象可能原因排查方法转换增益比预期低5dB以上本振功率不够混频器模型参数错误检查本振源输出功率和功分器插损核对混频器转换损耗设置噪声系数异常偏高LNA增益偏低滤波器插损过大验证LNA的S21和NF参数检查滤波器插损频响输出信号含明显直流分量本振自混频I/Q通道直流不对称断开射频输入单独测本振泄漏产生的直流失调增益压缩点提前后级增益分配过高供电电压设置偏低逐级测输出功率找到先压缩的模块检查压缩点设置仿真不收敛功率扫描范围过大HB阶数不足过采样太低缩小输入功率范围提高HB谐波阶数和过采样因子镜像抑制比远低于预期I/Q幅度或相位不平衡两路混频器不对称查看功分器I/Q输出的一致性确认两路混频器参数完全一致5.5 独家避坑心得关于增益分配我踩过一次印象很深的坑。最初版本的基带放大器增益设置过高导致混频器输出端的直流失调被放大到接近ADC满量程ADC的动态范围被挤占掉了接近一半。后来通过降低基带增益同时在混频器输出和基带放大器之间加入一个高通滤波器把直流分量去掉才把这个问题解决。这个教训说明零中频接收机的基带部分设计不能只盯着增益指标必须和直流失调、动态范围统筹考虑。本振功率的调整也有讲究。无源混频器对驱动功率有一个最优区间太低了转换损耗增大太高了反而会因为混频器内部二极管进入强非线性区而增加噪声。我这边实测下来本振功率从5dBm提高到10dBm转换损耗改善了约1dB但噪声系数反而恶化了0.3dB。所以在实际设计中不要盲目追求大本振功率要同时观察转换损耗和噪声系数的变化趋势找到一个综合最优值。还有一点ADS自带的“Meas”公式库里有几个跟接收机相关的现成函数比如“NFdsb()”计算双边带噪声系数“IIP3()”计算三阶交调点“P1dB()”计算1dB压缩点。但要注意在不同版本的ADS里这些函数对输入参数的定义有一点点出入用之前最好先看一下Help文档确认参数的物理含义是线性值还是dB值否则容易得出离大谱的结果。6. 后续扩展方向这个零中频接收机的仿真平台后续可以往几个方向扩展。一是把理想器件模型替换成具体厂商的实际模型比如把LNA换成某款实际的2.4GHz低噪声放大器芯片的S参数模型把混频器替换成同型号的实物器件参数这样仿真结果会更贴近真实硬件。二是加入ADC模型把模拟基带信号数字化配合调制解调工具做整个物理层的误码率联合仿真。三是增加天线失配和带外干扰的场景仿真验证接收机在真实复杂电磁环境下的鲁棒性。我个人在实际操作中的体会是ADS这套工具的学习曲线确实陡峭但一旦把系统级仿真的流程跑通后面做任何射频项目的效率都会提升不少。更重要的是在仿真阶段把零中频架构的各个坑都踩一遍比流片回来再调试要省钱省时间得多。最后再分享一个小技巧在画原理图的时候把每级模块用不同的颜色标注出来比如射频链路用红色本振链路用蓝色基带链路用绿色跑仿真出问题时一眼就能看出来是哪个部分出了问题排查速度快很多。