那是你VNA内置了跟你所用校准件相同的校准参数,否则的话是不准的
过了年喜提KC901V一台,可惜科创这边没有SMA的校准件,于是上淘宝随便买了一套。但是这种随便买的并不会提供校准件的校准参数,导致校准完以后还是不准。在网上寻寻觅觅,发现了国外一个同好自己写了个小程序来从实测的S11中拟合校准件的三阶校准参数和延时,拿来试了一下,感觉还不错。看起来是一段传输线+三阶参数的模型。
周末在工厂出差,到现在板子都没贴出来,闲着没事给大家分享一下。
脚本是基于GNU Octave编写的,需要两个第三方的库,一个是SparameterToolBox,另一个是NLopt。SparameterToolBox的安装十分方便,只需要把路径放进Octave的查找路径下面就好。NLopt的安装十分麻烦,且官方文档给出的说明语焉不详,最后还是靠github上一位热心老哥的说明才成功搞定。
首先下载好编译好的dll和NLopt的源码,然后按照下面步骤进行操作,如果不出意外你应该可以成功的得到oct文件。下面说明摘自XXXXXXXXXXXXXXXXXX/stevengj/nlopt/pull/287
### Octave plugin
To build the NLopt plugin for [GNU Octave](XXXXXXXXXXXXXXXXXXXXXXXX/wiki/GNU_Octave) (a free Matlab clone, which uses the [same NLopt interface as in Matlab](NLopt_Matlab_XXXXXXXXXXXX)), you will need the following additional steps. (See [Octave for Windows](XXXXXXXXXXXXXXXXXXXXXXX/Octave_for_Microsoft_Windows) on the Octave web page to download Octave.)
1. Copy `libnlopt.dll` from `build` to `C:\Octave\Octave-X.X.X.X\mingw64\bin`
2. Copy `nlopt.f`, `nlopt.h`, and `nlopt.hpp` from `build\src\api` to `C:\Octave\Octave-X.X.X.X\mingw64\include`
3. Create a folder named "nlopt" inside `C:\Octave\Octave-X.X.X.X\mingw64\lib\cmake`
4. Copy `XXXXXXXXXXXXXXake`, `XXXXXXXXXXXXXXXXXXXXXake`, `XXXXXXXXXXXXXXXXXXXXXXake`, and `XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXake` from `build` and `build\CMakeFiles\Export\lib\cmake\nlopt`, respectively, to `C:\Octave\Octave-X.X.X.X\mingw64\lib\cmake`
5. Copy `nlopt.pc` from `build` to `C:\Octave\Octave-X.X.X.X\mingw64\lib\pkgconfig`
6. Copy `libnlopt.dll.a` from `build` to `C:\Octave\Octave-X.X.X.X\mingw64\lib`
7. Compile the Octave plugin (`.oct` file) with `mkoctfile -lnlopt --output nlopt_optimize.oct nlopt_XXXXXXXXXXXXXXX` (`mkoctfile` is a program included with Octave)
上面操作完成后,打开脚本文件,按照说明执行即可,对结果不满意,可以尝试修改下脚本中标明[tweak]的部分。下面附上我自己的结果。S11文件来自公司的R&S 100K-8.5G VNA,使用ZV135校准件校准。
开路件:
offs_delay = 65.239249 ps
offs_loss = 6.595951 Gohm/s
offs_Z0 = 47.849356 ohm
C0 = -382.876602 * 1e-15 F
C1 = -6144.818923 * 1e-27 F/Hz
C2 = 1620.049213 * 1e-36 F/Hz^2
C3 = -360.441560 * 1e-45 F/Hz^3
短路件:
offs_delay = 28.612214 ps
offs_loss = 10.400061 Gohm/s
offs_Z0 = 49.042136 ohm
L0 = 867.907873 * 1e-12 H
L1 = 198.143414 * 1e-24 H/Hz
L2 = 2449.191930 * 1e-33 H/Hz^2
L3 = 300.502018 * 1e-42 H/Hz^3
负载的结果比较奇怪,而且KC901V里面也好像没有定义负载的地方,所以就不放出来了。开路件的拟合看起来比较准一些,短路件就一般般。KC901V使用拟合参数,外接一N转SMA头再加1米长电缆,校准后的结果看下图。虽然跟那种校准以后缩成一个点没法比,但是凑合凑合应该还是可以的。
参考链接:
XXXXXXXXXXXXXXXXXXXXXXXXXXXX/en/latest/
XXXXXXXXXXXXXXXXXX/stevengj/nlopt
XXXXXXXXXXXXXXXXXXt/in3otd/electronics/VNA_calkit/XXXXXXXXXml
[修改于 3年8个月前 - 2021/03/14 12:06:55]
引用1176764177发表于4楼的内容是不是可以考虑直接ads 频变电感然后用优化直接综合一套参数出来
你可以尝试下 我没怎么用过ADS其实
虽然跟那种校准以后缩成一个点没法比,但是凑合凑合应该还是可以的。------完成校准后,直接测量开路...
愿闻其详
我公司这边的表 校准完以后基本都能做到一个点 除非频率范围非常宽 full span 8G那种
可以参考仪表局的指南,说法略有不同。XXXXXXXXXXXXXXXXXXXXXXXX/t/84259...
今天仔细看看,看起来就算是从事这方面的人对这个也还是有误区,我周边同事基本都认为圆弧是不行的,要补偿
谢谢两位指点
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。