def make_cal(dir): ideal_dir = '../cpw_ideals/convertedByAlex/' prefix='' raw = rf.load_all_touchstones(dir, f_unit = 'ghz') all_ideals = rf.load_all_touchstones(ideal_dir) freq = raw[raw.keys()[0]].frequency cal = rf.Calibration( \ type = 'one port',\ is_reciprocal = True,\ frequency = freq, \ measured = [ raw[prefix +'ds'+str(k)] for k in range(1,6)],\ ideals = [ all_ideals['ds'+str(k)] for k in range(1,6)] ) return cal
import skrf import pylab import numpy standardPath = 'Y:\ADS\SOIC8_Fixture_Test_prj\standard_definitions' standardFiles = skrf.load_all_touchstones(standardPath) measuredPath = 'Y:\ADS\SOIC8_Fixture_Test_prj\standard_measurements' measuredFiles = skrf.load_all_touchstones(measuredPath) outputPath = 'Y:\ADS\SOIC8_Fixture_Test_prj\misc' frequencyList = measuredFiles.values()[0].f def makeStandard(standardName,coefficient,mirror=False): assert coefficient.ndim == 2 standard = skrf.Network() standard.f = frequencyList repeatableCoefficient = numpy.array([coefficient]) standard.s = repeatableCoefficient.repeat(len(standard.f),0) if mirror: return skrf.two_port_reflect(standard,standard) else: return standard ## SOL calibration measured = [] for measurementName in ['open','load','short']: measured.append(measuredFiles[measurementName])
import pylab import skrf as rf ro_set = rf.NetworkSet(\ rf.load_all_touchstones('.',contains='ro').values(),\ name = 'Radiating Open') pylab.figure() pylab.title('Uncertainty in Phase') ro_set.plot_uncertainty_bounds_s_deg() pylab.figure() pylab.title('Uncertainty in Magnitude') ro_set.plot_uncertainty_bounds_s_db() pylab.show()