Get ideal Networks from Cal-Kit Parameters - Page 1
Forum section: electronics / rf-microwave

author: sixtimesseven
author_rank: Frequent Contributor
timestamp: December 31, 2019, 07:31:05 pm
content: I'm looking into adding a port extension to my vna. To do this, I would like to do the calibration offline via skrf kit.For those who don't know, scikit-rf is a really amazing python lib for network measurments, calibration, simulation etc:https://scikit-rf-web.readthedocs.io/#Anyway, to do a calibration, I first need a set of "ideal" Networkshttps://scikit-rf.readthedocs.io/en/latest/tutorials/Calibration.htmlwhich as I understand it means I have to get a network with the ideal standard response combined with the cal kits actual delays and fringe parameters.Question is, how do I get such a network? Most cal kits don't seem to come with s-parameter responses but with a fringe / delay table with values to plug into a vna

author: mark03
author_rank: Frequent Contributor
timestamp: December 31, 2019, 10:24:36 pm
content: Short answer: read and understand HP app note 1287-11 appendix Bhttp://www.doe.carleton.ca/~nagui/Appnotes/Agilent/NetworkAnalyzer/5968-5329E.pdfBeware of typos and errors in the units definitions, which make the math much harder to understand than it should be(Search for some discussion threads where Joel Dunsmore---the 8753 architect---attempts to clear up the confusion, but you may still be confused at the end.)App note 1287-9 ("In-fixture measurements") may also be helpful:http://www.doe.carleton.ca/~nagui/Appnotes/Agilent/NetworkAnalyzer/5968-5329E.pdfBasically, you will need to take a deep dive into VNA calibration math and models... or maybe you can just re-measure your standards after SOLT calibration, and use those S params?Henrik Forsten has some neat blog posts where he works through calibration on his homemade VNA using scikit-rf. Not exactly what you were asking for, but it definitely helped me come to grips with some of the concepts:https://hforsten.com/trl-measurements-with-homemade-vna-and-open-source-software.htmlEDIT: One more resource... Claudio IN3OTD has a nifty Octave script for fitting the HP cal parameters to measured S-parameter data, for DIY cal standards. I guess this is kind of the opposite of your question, but if you grok MATLAB/Octave code, somewhere in there you'll find the fomulas for going back and forth between the two:https://www.qsl.net/in3otd/electronics/VNA_calkit/calkit.html

author: rf-messkopf
author_rank: Regular Contributor
timestamp: January 01, 2020, 02:48:05 am
content: Quote from: sixtimesseven on December 31, 2019, 07:31:05 pmI do not quite understand what you intend to do, but if you want the S11-response of an OSM calibration standard that is specified by the parameters of a model (e.g. offset delay and loss, frequency dependent fringing capacitance for the open and frequency dependent inductance for the short), you have to evaluate that model at the frequencies of interest.For you I have just put a small Octave script on my website in which you can enter the parameters of the open and short (following the Keysight convention, i.e. using offset length in sec and offset loss in ohms/sec -- offset impedance is assumed to be exactly 50 ohms, but this restriction can be lifted). Running the script will plot the resulting S11-response and write two Touchstone files with the corresponding S11data. Also specify the start and stop frequency and desired number of data points in the script (see the comment lines in it). If your match standard also comes with a model and parameters (this is untypical for professional cal kits) you would have to add that model to the script and output a third Touchstone file.Here is the link to the Octave script:https://www.mariohellmich.de/lostfound/files/ck-model.I have collected the cal standard model formulas for the open and short in this file, using Keysight's convention (without derivation and much explanation since I have not gotten around to write that up properly):https://www.mariohellmich.de/projects/sma-cal-kit/files/cal_model.pdf.

author: unitedatoms
author_rank: Frequent Contributor
timestamp: January 01, 2020, 06:37:32 pm
content: Ideal in this article means that data originates from supplier of mechanical standard. If you don't have it, it can be substituted with normal data measured independently, say on higher accuracy analyzer.Measured data is what is measured by analyzer before calibration coefficients are applied.The kit allows you to derive DUT data from raw measurement of DUT, raw measurement of Standards and ideal data supplied from somewhere.That's all. The port extension (some extra feature of instrument firmware or offline library) is not needed, because everything in extension will be calibrated out, error terms will take care about extension. If you still want to involve extension, then you will need S2P data of cables between known calibration plane and DUT. That math possibly is somewhere else in the library kit.

author: sixtimesseven
author_rank: Frequent Contributor
timestamp: January 01, 2020, 09:26:06 pm
content: This is really great information, thank you Mario! I have been a big fan of your other projects but somhow I missed these posts.Quote from: rf-messkopf on January 01, 2020, 02:48:05 amWell, my idea was to use external calibration to adding a third port kind of like the ZVR-B19 but with a spare HP switch from a broken S-Parameter test set (HP 33311B) which is also quiet readily available used... Reason being that the original R&S extension options are rather rare, very expensive and from what I can see the functionality on the software side seems limited anyway.Quote from: rf-messkopf on January 01, 2020, 02:48:05 amYes you are right, the load only has a delay associated.Nope, not even a delay.

author: sixtimesseven
author_rank: Frequent Contributor
timestamp: January 05, 2020, 04:02:06 pm
content: Quote from: rf-messkopf on January 01, 2020, 02:48:05 amSomething in your octave sript seems of. The open / short plot look fine but then the imaginary axes somehow get inverted when they get written as touchstone file - see screenshot

author: rf-messkopf
author_rank: Regular Contributor
timestamp: January 06, 2020, 01:17:06 am
content: Quote from: sixtimesseven on January 05, 2020, 04:02:06 pmYes, I can reproduce that error. It seems to be related to the dlmwrite command. For some reason the sign of the imaginary part of s11_open and s11_short is reversed when writing the file, but at the moment I do not see why. I will take a closer look at it tomorrow. Thank you for reporting the error.

author: rf-messkopf
author_rank: Regular Contributor
timestamp: January 06, 2020, 09:44:14 am
content: The error is in lines 90 and 91. The '-operator does transposition and complex conjugation, whereas you want transposition only in that place. It has to be replaced with the .'-operator, see the attached file. I will update the file on my homepage later this day.Does it work for you now?

author: joeqsmith
author_rank: Super Contributor
timestamp: February 15, 2020, 11:03:03 pm
content: Hey Mario,Here's the home made cal kit. I am working on getting a decent T to run a check on them. Again, thanks for all the help. You saved me a lot of work.