干了十几年射频测试和信号完整性,我越来越觉得“去嵌”这俩字是很多人的分水岭。新人在实验室里测一颗标称3dB带宽5GHz的放大器,焊到测试板上实测却只有2.8GHz,第一反应是芯片虚标、板子设计错了。老工程师听完多半会问一句:你的校准面在哪?夹具的S参数你扣掉了吗?这就是典型的“夹具迷雾”——VNA屏幕上显示的一切,从来都是“DUT+夹具”的级联结果,而不是DUT本身。这篇文章就围绕VNA、ADS、S参数、去嵌、夹具这几个关键词,把从硬件校准到软件后处理的完整链路讲清楚。我会先用最直白的方式解释夹具寄生到底从哪来,再讲VNA实测时的注意事项,最后给出ADS里实操去嵌的具体步骤和模型文件用法,顺便把我这些年踩过的坑一并交代。
1. 先把“夹具迷雾”说透:你测的其实是DUT+夹具
1.1 夹具不是“测量误差”,它本身就是一个真实网络
很多初学者有个潜意识:夹具就是用来固定和连接DUT的,它的影响应该被“校准”掉。这个认知在低频下基本成立,但到了GHz频段就会出大问题。
想想你的测试链路:VNA端口线缆出来,接SMA头,再经过一小段微带线、焊盘、过孔,最后才到DUT引脚。这段路径上的每一个结构,都是实实在在的电磁载体。焊盘对地有寄生电容,典型值0.1pF到0.5pF;过孔残桩有寄生电感,还会在十几GHz附近形成谐振;微带线本身有损耗、有色散,特性阻抗也不一定正好是50Ω。它们组合起来就是一个具有特定S参数的双端口(或多端口)网络。
用一个生活类比:你想称一条鱼的净重,但鱼泡在鱼缸里、带着水草和砂石。你直接上秤读到的数字,不是鱼的重量。夹具就是那缸水、水草和砂石,VNA就是那台秤。低频时水草砂石重量可以忽略不计,高频时它们可能比鱼本身还“重”。
所以,夹具的影响不是简单的系统误差,而是被测DUT外又串接了一个、甚至两个未知网络。想得到DUT的真实S参数,就必须把它们“剥”掉——这个过程,就是去嵌(de-embedding)。
1.2 去嵌的数学本质:不是减法,是矩阵求逆
既然DUT和夹具是级联关系,那问题就变成了:已知总网络的S参数,已知夹具的S参数,如何反推出DUT的S参数?
这里有一个关键认知:S参数级联不能直接相乘。当你把两个双端口网络级联时,总S参数并不是两个S参数矩阵做乘法。工程上更顺手的做法是先把S参数转换成T参数(传输参数)或ABCD矩阵。
级联关系写成公式就是:
[T_total] = [T_fixture_A] × [T_DUT] × [T_fixture_B]那么DUT的T参数就是:
[T_DUT] = [T_fixture_A]^(-1) × [T_total] × [T_fixture_B]^(-1)简单说,就是把总传输矩阵左边除以夹具A、右边除以夹具B。这就是去嵌的核心数学操作。
在实际工程里,你不需要真的去手算矩阵求逆,VNA、ADS这些工具都在内部帮你算了。但搞清楚这层原理很重要,否则你无法理解为什么“去嵌后的曲线会振荡”“为什么S11会出现正的增益”这些诡异现象——多半是矩阵求逆时遇到了病态条件或噪声放大。
1.3 参考面的概念:校准面和DUT引脚之间的差距
理解了级联关系,再来谈参考面就顺理成章了。
VNA校准(比如SOLT校准)之后,测量参考面被定义在“校准件所在的位置”,通常是测试线缆末端或者夹具的连接器接口处。如果DUT是焊在夹具上的,这个参考面和DUT引脚之间还隔着整段夹具。也就是说,你看到的S11、S21,都是从“连接器接口”这个面向外看的阻抗和传输特性,里面包含了夹具的一切影响。
去嵌要做的事情,就是把这个参考面从连接器接口“搬到”DUT引脚处。这就像你拿着一个放大镜看一幅画,放大镜本身的镜片畸变扭曲了画面,去嵌就是做一片“补偿镜片”,让画面回归本真。
2. 去嵌的路径选择:硬件校准法和软件后处理法的分界线
2.1 VNA校准本身就是第一层“去嵌”
很多刚接触射频测试的人会问:我VNA明明校准过了,为什么还要去嵌?答案是:校准解决的是一部分问题,但未必是你想解决的那部分。
VNA校准方式大致分三类:
- SOLT校准:用Short、Open、Load、Thru四个标准件,把参考面定义在校准件连接界面。这是最常见的校准方式,速度快、覆盖频带宽,但去不掉“校准面到DUT引脚之间”那段硬件。
- TRL校准:通过一条已知传输线(Thru)和一段延迟线(Line)作为标准,把参考面定义在夹具内部或DUT引脚处。TRL能真正消除夹具的影响,精度很高,但需要专门的校准件设计,占用PCB面积,适合量产测试或高精度测试场景。
- 电子校准(ECal):内置多种阻抗状态的电子模块,一键完成校准,操作简单、重复性好,但参考面同样定义在模块接口,到DUT引脚之间依然可能隔着夹具。
把这三类校准方式列个对比表,你很直观:
| 校准方式 | 参考面位置 | 能否消除夹具 | 适用场景 |
|---|---|---|---|
| SOLT | 校准件接口 | 不能 | 通用测试、快检 |
| TRL | 夹具内部/DUT引脚 | 能 | 高精度、产线 |
| ECal | 模块接口 | 不能 | 快速、自动化 |
所以,如果你测的是封装好的器件、带连接器的模块,SOLT校准通常就够用了。但如果你测的是焊在PCB上的裸芯片或表面贴装器件,SOLT校完之后,参考面还在连接器那里,DUT引脚到连接器之间的焊盘、过孔、走线完全没被扣掉。
2.2 为什么校完准还得去嵌:一个高频场景的决策过程
我当年第一次遇到这个问题是在测一颗5GHz功率放大器的S参数。用SOLT校准完VNA,然后把放大器测试板接上,实测S21只有2.5GHz带宽,跟规格书差了快一半。我第一反应是板子焊接有问题,后来排查了很久才意识到:参考面没定义到DUT引脚,整段测试夹具的寄生损耗和谐振全部叠加上去了。
这时候你有两条路:
- 硬件路线:重新设计测试板,把TRL校准件做到板子上,用TRL校准把参考面推到DUT引脚。准,但代价高,而且有时候空间根本不允许放TRL校准件。
- 软件路线:保留现有的SOLT校准,把“DUT+夹具”的S参数导出,另外测一个“只有夹具、没有DUT”的夹具样板,再用ADS做矩阵计算,把夹具贡献减掉。
两条路怎么选?我的原则是:能做TRL优先做TRL,做不了再考虑软件去嵌。因为TRL是一种物理校准,测量结果稳健、可信度高;软件去嵌则依赖“夹具模型和真实夹具完全一致”这个假设,模型稍有偏差,结果就会出现伪像。
但软件去嵌也有它不可替代的价值:不需要重新做板,灵活,甚至可以在测量完成后重处理。有时候你已经把DUT拆下来了才发现忘了测夹具样板,还能用电磁仿真补一个夹具模型回来。
2.3 夹具的“影子样本”从哪来:三种获取夹具S参数的方法
无论走哪条路线,软件去嵌的前提是你必须知道夹具本身的S参数。这个问题有三个来源:
- 实测法:同一批次做一块只有夹具、不焊DUT的样板,用VNA直接测它的S参数。这是最可靠的方式,前提是样板和真实测试板的一致性要足够好。
- 电磁仿真法:用ADS的Momentum、HFSS等工具对夹具建模,提取S参数。适合在PCB设计阶段就预估夹具影响,或者样板丢失后补数据。
- 等效电路法:用RLC集总元件搭建夹具的等效电路,拟合实测或仿真的S参数。这个方法的好处是能直观看出是哪段走线、哪个过孔贡献了主要寄生,方便指导改板。
对大多数人来说,实测法是最直接、最可信的,本文后面的ADS实操也会用这种思路来做。
3. VNA实测流程:把“带夹具”的S参数放心导出来
3.1 测量前的VNA设置:不要一上来就按“校准”
拿到一块测试板,别急着接VNA。先花几分钟把测量条件设定好,很多人忽略这一步,后面数据出问题都不知道根因在哪。
需要确认几个关键参数:
- 频率范围:覆盖你关心的频段,并留出一定余量。
- 点数(Sweep Points):点数越多频率分辨率越好,但扫描时间也越长。一般窄带测量选1601或3201点,宽带测量选401或801点就够。
- IF带宽:IF带宽越低,噪声底越低,测量越平滑。常规用1kHz或100Hz,追求精度可以降到100Hz,但速度会慢很多。
- 输出功率:无源器件用0dBm附近就行,有源器件要关注线性区,避免压缩。
- 平均(Average):多次测量取平均可以进一步降低随机噪声,通常2-4次就够,不必过度。
这些参数在测量去嵌用数据时尤其重要。因为去嵌的矩阵求逆会放大高频噪声,如果原始数据本身就毛糙,去嵌后会出现振荡。我通常在去嵌测量时把IF带宽压到100Hz,宁可多等几秒,也不让噪声污染数据。
3.2 SOLT校准的实操要点:扭矩、对齐、重复性
设定好参数后做SOLT校准。流程不复杂,但有几个细节直接影响去嵌成败:
第一,线缆固定好再校准。校准完成后,任何线缆弯折、接头的相对转动都会改变参考面位置和阻抗。我见过有人在校准和测量之间动了一下线缆,结果去嵌后出现周期性波纹,排查了半小时。
第二,扭矩必须到位。校准件和DUT夹具的连接器都要用扭矩扳手拧到规定值。接头拧不紧会引入额外的失配和接触电阻,这些不属于夹具本身,却会被当作“夹具”去嵌掉。
第三,校准件要保证清洁。SMA头的中心导体、外导体如果有污损,校准数据就会偏离真实。这个细节听起来很基础,但实验室里最容易翻车的就是这里。
校准完成后,VNA屏幕上显示的S参数就已经是“从校准面往外看”的数值了。记住这个参考面位置,后面去嵌时要用到。
3.3 导出Touchstone文件:字段、格式、阻抗,一个都不能错
接下来就是把“DUT+夹具”的S参数导出为文件。绝大多数VNA支持导出Touchstone格式,也就是.s1p、.s2p这类文件。
Touchstone文件的结构很直白,以二端口S2P为例:
! Agilent Technologies, N5242A, S2P, -58.599, dB, 6, 50 # GHz S RI R 50 0.500000 -0.1456 -0.4566 0.8523 0.1234 0.8234 -0.2234 0.510000 -0.1388 -0.4501 0.8489 0.1198 0.8198 -0.2198 ...第一行以!开头的是注释,可以记录测量条件;第二行以#开头的是数据格式说明;后面的每一行都是一个频点上的数据。
导出时有几个容易踩的坑:
- 格式:RI(实部/虚部)还是MA(幅值/相位)都无所谓,ADS都能读,但要记住你用的是哪种。
- 参考阻抗:Touchstone文件头里的
R 50表示参考阻抗是50Ω,导入ADS时也要保持一致。如果你后续在非50Ω系统里做仿真,这里就必须小心。 - S2P的数据顺序:二端口S2P每行依次是S11、S21、S12、S22(具体顺序按厂商规定),别搞混了。
- 归一化问题:去嵌计算要求所有S参数矩阵的参考阻抗一致。如果夹具样板和DUT测试板用的阻抗不同,矩阵运算结果就会很怪异。
除了“DUT+夹具”的S2P,如果你有条件,一定要再测一个“夹具样板”的S2P。这个文件就是后面去嵌算法里用来“减掉”的夹具模型。
4. ADS里去嵌实操:两种姿势都能把夹具“扒掉”
4.1 姿势A:用S参数文件级联+矩阵计算去嵌
拿到两组S2P文件——一组是DUT加夹具的总网络,一组是夹具样板——就可以在ADS里做去嵌了。这是最通用、最不容易出错的路径。
具体操作是这样的:
- 在ADS原理图页中,从
Data Items库里拖出S2P控件,分别加载两个Touchstone文件。一个命名为total,一个命名为fixture。 - 用
Term端口定义50Ω系统。 - 建立一个测试台架,把
fixture的S参数矩阵通过数学运算求逆,再和total级联。
ADS里的矩阵运算可以用S_Param控件、DSP控件,或者更直接地用一个VAR加S2P的组合来实现。不过说实话,最直观的方式还是利用ADS的De-embed模板:在Simulation-ADS里有S_Param仿真环境和Multiport模型,你可以把两个S2P控件级联起来,再插入一个“减去夹具”的S参数方程。
这里给一个原理图大致思路:
┌─────────────────────────────────────────┐ Term1 ──┤ [S2P: fixture]^-1 ── [S2P: total] ── [S2P: fixture]^-1 ├── Term2 └─────────────────────────────────────────┘ADS内部会帮你做矩阵级联和求逆,你只需要把三个文件按顺序接好。
如果你的ADS版本支持De-embed模板,也可以在DesignGuide或Example里找到现成的去嵌测例,把里面的文件路径替换成自己的S2P就行。第一次用的时候照猫画虎,跑通了再拆开看里面的公式。
4.2 姿势B:用ADS的De-embed向导/优化工具
ADS其实内置了比较友好的去嵌工具,主要体现在De-embedding in Fixture相关模板中。以我的经验,ADS 2023之后在Simulation - S_Param测试台里可以直接用Deembed函数。
这类工具的做法是:你导入总网络的S参数,再导入夹具正反两个夹具的S参数,工具会按照标准的去嵌公式自动算出DUT的S参数。你不用手动搭建级联电路,只要在配置面板里指定哪个文件是total、哪个是fixture_A、哪个是fixture_B。
这种方式的好处是减少了手摆元件的出错概率,缺点是如果你不理解背后的公式,工具一旦给出怪异结果,你很难排查。
不管用哪种姿势,我只建议你在入门时先手动搭一遍级联电路,把矩阵求逆、级联的顺序弄明白。等确认自己理解了原理,再用工具提高效率,心里才踏实。
4.3 姿势C(进阶):用等效电路拟合夹具再做去嵌
有些场景下你没有夹具样板,或者夹具样板和真实测试板差异很大。这时候可以用ADS的优化功能拟合夹具的等效电路。
步骤也不复杂:
- 在原理图里搭一个由微带线模型、过孔模型、焊盘等效电容、串联电感组成的夹具等效电路。
- 用S参数仿真得到模型的S参数。
- 用
Optimize控制器把模型的S参数去拟合你手里有的夹具S参数——比如把实测的夹具S2P当作目标,优化RLC数值。 - 拟合好之后,用这个等效电路模型替代S2P文件,执行去嵌。
这个方法的优势在于:你得到了一个物理可解释的夹具模型。比如拟合后发现某个过孔等效电感是0.8nH,焊盘对地电容是0.3pF,就能直接知道是哪个结构在恶化高频性能,指导下一版PCB改进。
等效电路拟合的代价是调试时间长、优化结果有偶然性。我一般只在没有实测夹具样板时才走这条路,有实测数据绝不折腾等效电路。
4.4 模型文件的复现路径:拿到别人给的数据怎么下手
这里顺带说一下“附模型文件”怎么用。如果别人给你一套去嵌相关的模型文件,通常包含三个文件:
fixture_thru.s2p:夹具样板实测S参数。dut_with_fixture.s2p:DUT加夹具的总网络S参数。dut_deembedded.s2p:去嵌后的DUT S参数(供你对照验证)。
你在ADS里复现时,只需要用前面“姿势A”的级联法,导入前两个文件,算出来的结果应该和第三个文件基本一致。如果对不上,先检查自己的矩阵连接顺序,再看看Touchstone文件的参考阻抗是不是50Ω。这套验证流程我每次拿到外部数据都会跑一遍,是检验自己理解有没有偏差的好办法。
5. 结果验证:去嵌后的曲线长这样才算成功
5.1 去嵌前后对比:什么样的变化是合理的
去嵌不是魔术,它只是把参考面往DUT引脚移动。所以去嵌结果是否合理,首先是看变化趋势是否合理。
举一个我实测过的例子:一块6GHz低噪声放大器测试板,去嵌前的S21在4GHz左右开始滚降,5.5GHz处比低频平坦段掉了1.8dB。去嵌之后,S21的滚降明显变小,5.5GHz处的插损比去嵌前改善了约0.9dB,带宽基本和规格书吻合。
这个趋势是对的。因为夹具的走线损耗和谐振叠加在DUT上,会把DUT的高频性能“抹黑”;去掉之后,DUT的性能只会更好、更接近真实,而不是反向变差。
S11的变化则要辩证看。如果DUT本身匹配良好,去嵌后S11通常会更接近史密斯圆图中心。但也有反直觉的时候:某些频点上,夹具的寄生可能“掩盖”了DUT的失配,去嵌后S11反而变差了。这不是去嵌的错误,恰恰说明原来的匹配才是被夹具“美化”过的。
5.2 判断去嵌质量的三个硬指标
- 频带内一致性:去嵌后的曲线应该平滑、没有异常振荡。如果在某些频点出现尖刺或剧烈跳变,多半是夹具模型不准确或矩阵求逆时放大噪声。
- 与TRL测量对比:如果你在同一块板上做过TRL校准,可以把TRL结果和软件去嵌结果对比。两者差异在零点几dB以内,说明去嵌可靠;差异超过1dB,就要回头检查夹具模型了。
- 重复性:把DUT拆掉再重新焊一次,或者换一个同一批次的测试板,重新测量再去嵌,结果应该基本一致。重复性差是夹具一致性问题的信号。
我自己的经验法则是:先去嵌,然后拿去嵌结果和规格书对比。如果规格书没给,就拿去嵌结果和仿真结果对比,再不行就做TRL交叉验证。三者结合,基本能判断去嵌做对了没有。
5.3 警惕两个“伪成功”信号
第一,去嵌后S21高频“上涨”。这基本是错误现象,因为无源夹具去掉以后,DUT的增益或插损不应该出现凭空增加的高频凸起。出现这种情况,先看夹具样板是不是和真实测试板长度不一致。
第二,S11出现大于0dB回损。S11大于0意味着该频点反射能量大于入射能量,对无源网络来说这不物理。出现这种情况,十有八九是矩阵求逆时噪声被放大了,尤其是在反射系数接近0的频点附近。解决办法是降低IF带宽重新测量,或对夹具S参数做平滑处理后再去嵌。
6. 踩坑实录:去嵌后结果异常的排查清单
6.1 现象一:去嵌后S21在高频剧烈振荡
这个问题我遇到过很多次,根因多半出在夹具样板和真实夹具的一致性上。
有一次我把夹具样板和DUT测试板当真一致,结果去嵌后S21在8GHz以上疯狂振荡。后来用网络分析仪对比两块板的S参数才发现,两者在8GHz以上相位差了差不多30度。原因很简单:两块板虽然是同一批加工,但DUT测试板在焊接时经过回流焊,焊盘处的介电常数发生了细微变化,加上连接器安装的扭矩差异,高频相位就分叉了。
排查思路是:先对比夹具样板和DUT测试板上的“纯夹具区域”S参数。如果差异大,就要么重新做样板,要么用时间门或平滑滤波把差异压下去。还有一个现象要注意——连接器反复插拔导致的磨损也会让一致性变差。
6.2 现象二:去嵌后S11出现正值
S11正回损这个事,按我之前的说法基本是数学伪像,不是真的物理现象。它通常发生在DUT的反射系数本来就很低(接近完美匹配)的频段。
道理很简单:矩阵求逆时,如果夹具的某个S参量接近0,或者DUT的回损很低导致总网络S11主要由噪声支配,求逆操作就会把这些小噪声放大成很大的“伪反射”。这种问题在测量低回损器件(比如匹配良好的滤波器)时尤其明显。
对策有三个优先级:第一,重新测量时把IF带宽降低到100Hz甚至30Hz,减小噪声底;第二,测量前对夹具S参数做频域平滑,减少夹具测量数据本身的毛刺;第三,如果DUT回损实在太低,考虑直接改用TRL校准,从硬件上把参考面推到DUT引脚。
6.3 现象三:去嵌后出现周期性波纹
周期性波纹通常说明有一个固定延迟的反射路径在总数据里残留。最典型的原因是夹具的连接器到DUT引脚的路径上,有两个反射点之间的距离太长。比如连接器界面有一个反射,DUT引脚焊盘又有一个反射,两个反射点之间的多次反射就会形成频率域上的周期性波纹。
这个问题的排查思路是观察波纹周期:如果波纹周期是500MHz,对应的往返时延是2ns,在常见板材上大概对应6cm左右走线。你可以用VNA的时间门功能(gating)把这条路径的反射在时域上加窗滤掉,再去嵌。不过时间门用起来要小心,它会把带内一些真实响应也滤掉,属于“治标不治本”,还是建议从硬件上缩短连接器到DUT的路径。
6.4 现象四:去嵌结果和厂商规格书“完美吻合”
最后说个反直觉的坑。有时候去嵌结果和厂商规格书吻合得“完美无瑕”,这反而要警惕。
规格书的数据通常是在特定测试板、特定参考面下测出来的。如果软件去嵌结果和规格书完全一致,一方面说明你的去嵌大概率是对的,另一方面也说明你的测试板设计和原厂的参考板可能高度相似——但原厂参考板是优化过的,你的板子未必。换句话说,去嵌只负责“还原DUT自身特性”,不负责给你实际应用场景的最终性能。所以去嵌结果好,不代表你的产品方案在真实系统里表现好,这一点一定要拎清。
我做去嵌这么多年,最大的体会是:去嵌本质上是一个模型信任问题。你信任夹具模型有多深,去嵌结果就有多可靠。软件只是工具,真正决定成败的是你对物理结构的理解,以及测量细节的把控。每次拿到一套新夹具,我都要先问几个问题:参考面在哪?夹具样板和真实夹具能否保持一致性?测试时的IF带宽够不够低?把这几个问题想清楚,再去操作VNA和ADS,基本不会犯方向性错误。最后再分享一个个人习惯:所有原始测量数据我都不删,哪怕当时觉得没用的,也归好档留底。做去嵌调参时,原始数据就是你的救命稻草,回看一遍往往能找到问题的真正答案。