import clrclr.AddReference('System.Windows.Forms')clr.AddReference('Metas.Vna.Tools')from System.Threading import Threadfrom System.Windows.Forms import MessageBoxfrom Metas.Vna.Tools import Scriptfrom Metas.Vna.Misc import ThreePortToolsfrom Metas.UncLib.Core import Complexfrom Metas.UncLib.LinProp import UncNumbers = Script(RootPath)d = s.LoadSParamData('Splitter.sdatb')e = SParamTools.EquivalentSourceMatch[UncNumber](d)s.SaveSParamData('Splitter_EQSM.sdatb', e)
# Michael Wollensack METAS - 22.08.2013
import clrclr.AddReference('System.Windows.Forms')clr.AddReference('Metas.Vna.Tools')
clr.AddReference('Metas.Vna.Data')clr.AddReference('Metas.Vna.Database')clr.AddReference('Metas.Vna.Optimization')clr.AddReference('Metas.UncLib.Core')clr.AddReference('Metas.UncLib.LinProp')clr.AddReference('Metas.Vna.Misc')from System import Arrayfrom System import Doublefrom System.IO import Filefrom System.IO import FileInfo
from System.Threading import Threadfrom System.Windows.Forms import MessageBoxfrom Metas.Vna.Tools import Script
from Metas.Vna.Data import SParamDatafrom Metas.Vna.Data import SParamToolsfrom Metas.Vna.Database.CalibrationStandards.FileIO import CalibrationStandardXmlfrom Metas.Vna.Optimization import OptSParamTools
from Metas.Vna.Misc import ThreePortToolsfrom Metas.UncLib.Core import Complexfrom Metas.UncLib.LinProp import UncNumber
def LoadCalStdData(name, freqlist):fi = FileInfo(s.RootPathDatabase + '\\CalibrationStandards\\' + name + '.calstd')fs = File.OpenRead(fi.FullName)c = CalibrationStandardXml.LoadCalStd[UncNumber](fs, fi.Directory.FullName)c.Init(freqlist)d = c.Compute()return ds = Script(RootPath)m1 = s.LoadSParamData('UThru_01_out\CalStandards\Sxx_Splitter_P3_Open(m)_1041_01\Sxx_Splitter_P3_Open(m)_1041_01_02.sdatb');m2 = s.LoadSParamData('UThru_01_out\CalStandards\Sxx_Splitter_P3_Short(m)_729_01\Sxx_Splitter_P3_Short(m)_729_01_01.sdatb');m3 = s.LoadSParamData('UThru_01_out\CalStandards\Sxx_Splitter_P3_Load(m)_507_01\Sxx_Splitter_P3_Load(m)_507_01_04.sdatb');f = m1.Frequencys1 = LoadCalStdData('N50\\85054B\\85054B_Open(m)', f)s2 = LoadCalStdData('N50\\85054B\\85054B_Short(m)', f)s3 = LoadCalStdData('N50\\Loads\\MM006929_Load(m)_507\\MM006929_Load(m)_507_20121031', f)d3 = ThreePortTools.ComputeThreePort[UncNumber](m1, m2, m3, s1, s2, s3);s.SaveSParamData('Splitter_P3.sdatb', d3)d = SParamTools.EquivalentSourceMatch[UncNumber](d3);s.SaveSParamData('Splitter_P3_EQSM.sdatb', d)m1 = s.LoadSParamData('UThru_01_out\CalStandards\Sxx_Splitter_P2_Open(m)_1041_01\Sxx_Splitter_P2_Open(m)_1041_01_01.sdatb');m2 = s.LoadSParamData('UThru_01_out\CalStandards\Sxx_Splitter_P2_Short(m)_729_01\Sxx_Splitter_P2_Short(m)_729_01_03.sdatb');m3 = s.LoadSParamData('UThru_01_out\CalStandards\Sxx_Splitter_P2_Load(m)_507_01\Sxx_Splitter_P2_Load(m)_507_01_02.sdatb');s1 = LoadCalStdData('N50\\85054B\\85054B_Open(m)', f)s2 = LoadCalStdData('N50\\85054B\\85054B_Short(m)', f)s3 = LoadCalStdData('N50\\Loads\\MM006929_Load(m)_507\\MM006929_Load(m)_507_20121031', f)d2 = ThreePortTools.ComputeThreePort[UncNumber](m1, m2, m3, s1, s2, s3);d2.Ports[1] = 3;d2.Ports[2] = 2;d2 = SParamTools.SubsetIndices[UncNumber](d2, Array[int]((0, 2, 1)));s.SaveSParamData('Splitter_P2.sdatb', d2)d = SParamTools.EquivalentSourceMatch[UncNumber](d2);s.SaveSParamData('Splitter_P2_EQSM.sdatb', d)nfreq = d.NFreq;for i in range(nfreq):d2.Data[i][0][0] = (d2.Data[i][0][0] + d3.Data[i][0][0]) / Complex[UncNumber](2.0)d2.Data[i][1][0] = d2.Data[i][1][0]d2.Data[i][2][0] = d3.Data[i][2][0]d2.Data[i][0][1] = d2.Data[i][0][1]d2.Data[i][1][1] = d3.Data[i][1][1]d2.Data[i][2][1] = (d2.Data[i][2][1] + d3.Data[i][2][1]) / Complex[UncNumber](2.0)d2.Data[i][0][2] = d3.Data[i][0][2]d2.Data[i][1][2] = (d2.Data[i][1][2] + d3.Data[i][1][2]) / Complex[UncNumber](2.0)d2.Data[i][2][2] = d2.Data[i][2][2]s.SaveSParamData('Splitter.sdatb', d2)d = SParamTools.EquivalentSourceMatch[UncNumber](d2);s.SaveSParamData('Splitter_EQSM.sdatb', d)
Reflection 1 E
|