ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ADS谐波平衡仿真指南:从单音源到LNA增益与P1dB分析

ADS谐波平衡仿真指南:从单音源到LNA增益与P1dB分析 说到LNA设计很多人毕业后第一件事就是在ADS里跑S参数但一到“这管子到底能扛多大输入功率”就卡住了。今天这篇我直接把ADS谐波平衡仿真的一条完整链路写出来从单音功率源设置开始到LNA增益、P1dB、谐波输出验证最后再把时域频域对比的做法一次讲透。整个过程我用的模型、控件和公式都会写清楚照着搭一遍就能跑通适合刚接触谐波平衡仿真、或者已经在用但总感觉“设置哪里不对”的射频工程师参考。我尽量不绕弯子下面直接进正题。1. 为什么射频大信号仿真绕不开谐波平衡很多人一开始习惯用Transient瞬态仿真看所有波形觉得“真实”。但到了射频频段瞬态仿真很容易变成一场灾难这一点必须先说清楚。1.1 时域瞬态仿真在射频大信号下的困境以2.4GHz的LNA为例。如果我们想用瞬态仿真观察一个经过放大的射频信号为了波形不失真时间步长至少要做到载波周期的百分之一以下也就是1ps量级。假设我们要看100ns的波形这已经是非常短的观察窗了但需要计算的点数仍然是10万个点以上。如果在每个点上还要迭代求解非线性方程、电荷守恒方程仿真时间会迅速膨胀到分钟甚至小时级别。更麻烦的是如果输入功率很大晶体管进入强非线性区谐波分量丰富瞬态仿真要保证这些高频成分也被采到时间步长要进一步缩小。你可以理解为瞬态仿真是“一步一个脚印”地追着信号跑时间分辨率不够结果就差时间分辨率够了仿真慢到没法做参数扫描。谐波平衡Harmonic Balance简称HB解决的就是这个问题。它不关心信号从零时刻怎么建立起来而是直接假设电路已经进入稳态把所有电压电流表示成基波和各次谐波分量的叠加然后求解一组频域方程。就像跑步比赛瞬态仿真是一帧一帧看运动员起跑、加速、冲刺的全过程谐波平衡只看他匀速冲刺时的配速和姿态后者显然快得多。1.2 谐波平衡仿真的核心思想HB的基本思路是把电路分成两部分线性子网络和非线性子网络。线性部分比如匹配网络、偏置电阻、传输线在频域描述非常自然直接用阻抗导纳矩阵就行非线性部分比如晶体管的I-V特性和C-V特性则要在时域计算。每一次迭代先把频域的节点电压变换到时域代入非线性模型计算出电流和电荷再变换回频域不断修正电压直到基尔霍夫电流定律在每个谐波频率上都满足。这个“时域和频域来回切换”的过程本质上是靠傅里叶级数把两类元件统一起来。我们平时说的“谐波阶数”指的就是保留多少次谐波分量。比如Order5意味着同时求解直流、基波、2次到5次谐波一共6个频率点考虑实信号可以合并成对应数量的未知量。阶数太低高次谐波被截断非线性强的时候结果不准阶数太高未知量爆炸收敛也会变难。对于LNA增益压缩这类场景5阶到7阶基本足够功放可能需要9阶甚至更高。对我来说HB最大的价值不只是“快”而是它天然把频域结果给你了。S参数、增益、谐波功率、P1dB、IMD这些都是射频工程关心的核心指标HB做完直接就有不用再对时域波形做FFT去猜。2. 设计思路从单音功率源到LNA增益验证标题里有个关键词是“单音功率源”很多人会问为什么先不用双音信号测IMD或者用调制信号测ACPR而是从单音开始原因很简单单音源可以最快地把一个放大器的基本大信号行为摸清楚增益是多少、在哪个输入功率点开始压缩、产生了哪些谐波。这些是判断一个LNA能不能用的基础IMD和ACPR都是在单音性能达标之后才需要关注的事情。2.1 先定目标再搭仿真做任何仿真前建议先把指标写下来。我以2.4GHz的LNA为例目标很简单中频增益大于14dB输入功率在-20dBm量级时不出现明显压缩P1dB输出功率尽量高一些同时确保三次谐波不能太大。这个目标不是从某个规格书抄来的而是用来验证“这套HB流程能不能把大信号行为测出来”的基准。器件我用的是ADS自带库里比较常见的GaAs pHEMT低噪声管模型偏置条件设为Vds3VId≈10mA。栅极电压不用拍脑袋先用DC仿真或者直接在原理图里加一个DC扫参看哪个Vgs能让漏极电流落在10mA附近。这类耗尽型pHEMT的Vgs通常是负电压和普通MOS管习惯不一样第一次用的人经常找半天工作点先提醒一下。2.2 原理图框架和元件清单下面是一个“能跑通、不过度复杂”的原理图结构射频源用P_1Tone频率设2.4GHz可用功率设为变量Pin_dBm源阻抗50Ω。晶体管栅极前加隔直电容DC_Block避免直流偏置串到信号源。晶体管漏极接RFC扼流电感到Vds电源隔直电容耦合输出到50Ω负载。源极直接接地先不加源极负反馈电感。如果后续要优化稳定性或噪声再单独加。这些组件在ADS的“Lumped Components”和“Sources”面板里都有。变压器式的P_1Tone元件会自带源阻抗设置默认50Ω这个不用改。这里有个值得强调的经验如果只是验证流程用理想电容电感没问题但如果要让仿真结果接近实测强烈建议把DC_Block和RFC换成具体型号的厂家模型。村田、线艺、TDK在ADS里都有专门的元件库放进原理图后电容的自谐振频率、电感的Q值都会参与仿真高频下的行为和理想元件差别很大。比如一个理想1μH扼流电感在2.4GHz下阻抗极高但实际电感可能因为自谐振已经变成容性漏极偏置网络会出问题。2.3 HB控制器关键参数设置放好原理图后从仿真控件面板拖一个Harmonic Balance控件进来。需要设置的核心参数有三个Fundamental Frequency基波频率填2.4GHz。Order谐波阶数填5。单音源场景下5足以覆盖主要非线性。Sweep Plan设置输入功率从-25dBm扫到10dBm步进1dB。扫参变量就是P_1Tone里的Pin_dBm。我之前见过不少人在这一步卡住P_1Tone的功率填了固定值结果扫出来的增益曲线是一条直线。正确的做法是把P_1Tone的Power参数直接填成Pin_dBm然后在HB控件里用Sweep Plan去扫描这个变量。这样一次仿真就能得到整个增益压缩曲线而不是手动改一次源功率跑一次仿真。另外为了后面对比时域可以在同一张原理图里再放一个Transient控件但先禁用Disable它等HB仿真跑完再激活。这样同一个原理图可以切换两种仿真非常方便。3. 核心环节增益、P1dB与谐波输出分析仿真跑完Data Display会列出所有节点电压的直流、基波和各次谐波分量。但屏幕上是一堆复数直接看比较考验功力我习惯把常用指标写成Equation让结果显示成人能读的数字。3.1 从HB结果里提取增益和谐波功率假设输出节点叫Vout默认负载是50Ω到地那么基波输出功率可以写成Pout_dBm 10 * log10(0.5 * mag(Vout[1])^2 / 50 * 1000)这个公式的原理是HB返回的Vout[1]是基波电压的复数峰值幅度送到50Ω负载上的平均功率等于峰值电压平方的一半再除以负载阻抗最终换算成dBm。注意这是“峰值”不是“有效值”后面对比瞬态仿真时会踩坑先记下这个点。对应的增益就是Gain_dB Pout_dBm - Pin_dBm三次谐波功率同理把Vout[1]换成Vout[3]就行HD3_dBc 10 * log10(0.5 * mag(Vout[3])^2 / 50 * 1000) - Pout_dBm这里HD3_dBc表示三次谐波相对基波的dBc值是判断线性度最直观的指标之一。把这些Equation输入Data Display后画Gain_dB对Pin_dBm的曲线就能看到典型的增益压缩形状。3.2 看懂增益压缩曲线我用典型模型跑了一次示例数据大致如下不同器件和偏置下数值会有差异但趋势一致输入功率Pin (dBm)增益Gain (dB)三次谐波HD3 (dBc)-2515.0-72-1514.9-52-1014.9-42-514.6-27-214.0-18013.7-14213.2-10从这个小表里能看到两个非常典型的现象。第一小信号时增益基本平稳大约15dB这就是LNA的小信号增益和S参数仿真里的S21趋势一致。第二输入功率超过-5dBm后增益开始慢慢掉到了P1dB附近增益比小信号增益下降了1dB。用Marker在曲线上找“比小信号增益低1dB”的点就是P1dB输入功率示例数据里大约在-2dBm附近。三次谐波的变化也很有意思输入功率每增加1dB三次谐波功率大约增加3dB也就是HD3以2dB/dB的速度恶化。这是由三次非线性的数学本质决定的一旦看到三次谐波斜率和预期不符通常说明仿真有问题或器件进入了异常工作区。3.3 从HB谐波数据重构时域波形很多教程讲完频域就结束了但标题里我专门写了“时域频域对比”这里分享一个我自己很喜欢的技巧HB结果可以直接用来重构时域波形而且比瞬态仿真快得多。思路是利用傅里叶级数。HB已经给了直流分量Vout[0]、基波Vout[1]、二次谐波Vout[2]……直到N次谐波那么输出电压随时间变化的近似表达式就是Vout(t) ≈ Vout[0] |Vout[1]| * cos(2π * f0 * t phase(Vout[1])) |Vout[2]| * cos(4π * f0 * t phase(Vout[2])) ... 一直到第5次谐波这个公式可以用在ADS的Equation里也可以用Python、Matlab之类的外部工具从HB导出的数据来画。我通常把复数谐波幅度导出后在Python里把公式展开叠加出时域波形。这样做的好处是当输入功率接近P1dB时波形顶部会明显出现“压扁”现象这就是增益压缩在时域的直接体现比只看频域数字直观得多。当然这个重构波形只包含到5次谐波真实瞬态波形可能还有更丰富的细节。但对理解“增益为什么压缩”来说5次谐波已经足够。4. 时域 vs 频域一图看懂既然标题带了“时域频域对比”这一章我就把两种仿真放在一起讲讲它们各自适合干什么、怎么互相验证。4.1 时域瞬态仿真怎么看LNA先把HB控件禁用激活Transient控件。仿真时间设置需要注意2.4GHz下一个周期大约是0.42ns。如果设Stop50ns相当于120个周期左右足够让电路进入稳态。Max time step建议设成1ps甚至更小这样才能把载波波形采出来。跑完后在Data Display里画Vout对时间的波形。你会发现刚开始有一段建立过程波形幅度逐渐变大过了几十个周期才稳定。我们要取的是稳定后的那一段不是起始那一小段。把X轴范围缩到比如10ns到11ns之间就能看到清晰的载波正弦波。通过在波形上测量峰峰值再除以2√2换算成有效值就能估算基波幅度理论上和HB里的|Vout[1]|对应。但说实话手动量波形很麻烦而且容易被人为误差影响。我更推荐在瞬态结果上直接做FFT然后在频域里和HB结果对比。4.2 在瞬态结果里做FFT和HB对比ADS的Data Display里可以写FFT函数或者通过菜单对时域曲线做傅里叶变换。操作上一般是这样把瞬态波形选中加一个频谱图选择合适的点数比如2的整数次幂就能得到幅度谱。这里有一个特别容易踩的坑FFT频谱的幅度和HB里的复数幅度在“峰值vs有效值”上可能不一致。HB默认给出的是峰值幅度而很多FFT后处理显示的是RMS值或者未归一化的值两者相差√2倍反映到功率上正好是3dB。如果你做完FFT发现基波分量比HB低了3dB别急着怀疑仿真先检查是不是峰值和有效值的问题。这真的是高频仿真里最常见的“假故障”。另外FFT还需要注意采样点数。点数太少频率分辨率不够基波和旁边的泄漏分量会混在一起点数足够多、时间窗足够长才能把频谱分量估计准。我自己在对瞬态结果做FFT时通常会把瞬态仿真时间加长一些然后用稳定段的数据做变换避免包含起始的瞬态建立过程。4.3 两种仿真的本质差别和应用场景我用一个表格总结一下方便大家对照对比项Transient瞬态仿真HB谐波平衡仿真求解方式时域逐点积分频域稳态迭代适合信号脉冲、开关、大信号瞬变连续波、多音、调制信号输出信息时域波形可后处理FFT各谐波幅度相位可直接读指标大信号扫描速度慢快特别适合参数扫描非线性强时步长要极小代价高需要调高谐波阶数调制信号ACPR不推荐推荐用HB或包络仿真简而言之如果你要看信号从无到有的建立过程、开关瞬间的行为瞬态是唯一选择如果你关心的是稳态下的增益、谐波、互调HB是更合理的选择。实际项目中两者不是二选一而是互补验证。LNA设计里我会先用HB完成主要指标再用瞬态抽查几个关键输入功率点确认HB的重构波形和瞬态波形趋势一致这样心里才踏实。5. 常见问题与排查技巧实录最后这部分是实际的坑我做LNA仿真这几年基本都遇到过挑几个高频问题写在这里。5.1 HB不收敛怎么办HB不收敛是最劝退新手的现象报错信息往往很抽象。我的排查顺序是第一先看DC工作点对不对。如果偏置在截止区或饱和区非线性方程很难收敛。在HB仿真前单独跑一次DC仿真确认晶体管确实工作在预期放大区。第二降低谐波阶数。有时候Order设太高未知量太多迭代发散。先把Order降到3跑通之后再逐步加上去。第三尝试更换求解器。ADS的HB控件提供了不同的求解引擎比如直接求解和Krylov迭代求解。小规模LNA用直接求解通常更稳大规模电路或强非线性用Krylov更快。模型太大跑不动时切换求解器常常有奇效。第四检查电路里有没有潜在的不稳定因素。RFC和隔直电容如果构成谐振回路可能导致HB在某个频率上出现非物理解。特别是漏极扼流电感偏大时可能在MHz频段形成低频振荡HB难收敛。这种问题单看大信号指标看不到需要跑稳定性分析来确认。5.2 增益曲线变平或者找不到P1dB如果你扫完发现增益是一条水平线先别怀疑HB大概率是源功率没有真正被扫描。检查P_1Tone的Power参数是不是填成了固定数字而不是Pin_dBm变量。还有一个常见原因基波频率设置和源频率不一致。比如源是2.4GHzHB的Fundamental Frequency填了2.45GHz那结果看起来就会很奇怪。另外确认负载确实是50Ω。如果输出节点后面接了一个开路或者高阻负载用“0.5*|V|^2/50”算出来的输出功率就和电路实际传输功率对不上。仿真是能跑通的但指标是错的。5.3 时域和频域结果对不上这个问题我在第4章提过一半这里再展开。对不上通常有三个原因一是瞬态仿真没有达到稳态取的波形段太早二是时间步长太大载波细节被采样丢失FFT结果偏高或偏低三是峰值和有效值混用导致3dB偏差。对于第三个原因我再强调一次HB默认输出的是峰值幅度如果你在时域里用RMS电压去对比必须先做换算。很多人在对比时发现频域比时域高3dB反过来也一样其实就是这个问题。5.4 元件模型和库选型经验前文提过村田等厂家的官方ADS库这里补充一个细节不仅是隔直电容和扼流电感匹配网络里的电阻电容也一样。理想模型在高频下没有寄生参数仿真很“漂亮”但一打样就翻车。特别是LNA的输入端匹配电容的ESR、电感的Q值对噪声系数和增益影响很大。所以我的习惯是原理图验证阶段用理想模型快速确认拓扑确定可行后再把关键器件替换成厂家库型号做最终验证。5.5 Data Display里的两个小技巧第一个是修改X轴范围。很多人做瞬态仿真后看到一大片波形不知道从哪看起。只需在Data Display里双击X轴把范围改成比如10ns到11ns就能看到清晰的载波局部波形。这个操作虽然简单但对观察周期性细节非常重要。第二个是开启网格对齐。原理图里摆放元件时菜单里把Snap to Grid打开可以让元件引脚精确对齐避免连线上出现“看着连上了但实际没连上”的隐患。这种问题在复杂原理图里特别隐蔽我之前因为一个引脚差了半个网格排查了很久才发现是连线没对齐。最后一个关于重构波形的补充我在实操中发现HB谐波阶数设到7以上时重构出的波形的“毛刺”会更丰富顶部压缩的形状也更接近真实瞬态。但如果只是验证P1dB这种系统级指标5阶已经完全够用没必要为了画出更漂亮的波形而牺牲仿真速度。这个尺度大家根据自己的项目节奏把握就好。
返回列表