This function is used for calculating calibration uncertainty due to un-biased, non-systematic errors.
It creates an ensemble of calibration instances. the set of measurement lists used in the ensemble is the Cartesian Product of all instances of each measured standard.
The idea is that if you have multiple measurements of each standard, then the multiple calibrations can be made by generating all possible combinations of measurements. This produces a conceptually simple, but computationally expensive way to estimate calibration uncertainty.
you can use the output to estimate uncertainty by calibrating a DUT with all calibrations, and then running statistics on the resultant set of Networks. for example
import skrf as rf # define you lists of ideals and measured networks cal_ensemble = rf.cartesian_product_calibration_ensemble( ideals, measured) dut = rf.Network(‘dut.s1p’) network_ensemble = [cal.apply_cal(dut) for cal in cal_ensemble] rf.plot_uncertainty_mag(network_ensemble) [network.plot_s_smith() for network in network_ensemble]