Пример #1
0
    def test_pickling(self):
        ideals, measured = [], []
        std_list = [self.short, self.match, self.open]

        for ntwk in std_list:
            ideals.append(ntwk)
            measured.append(self.embeding_network**ntwk)

        cal = rf.Calibration(\
                ideals = ideals,\
                measured = measured,\
                type = 'one port',\
                is_reciprocal = True,\
                )

        original = cal

        f = open(os.path.join(self.test_dir, 'pickled_cal.cal'), 'wb')
        pickle.dump(original, f)
        f.close()
        f = open(os.path.join(self.test_dir, 'pickled_cal.cal'))
        unpickled = pickle.load(f)
        a = unpickled.error_ntwk
        unpickled.run()

        # TODO: this test should be more extensive
        self.assertEqual(original.ideals, unpickled.ideals)
        self.assertEqual(original.measured, unpickled.measured)

        f.close()
        os.remove(os.path.join(self.test_dir, 'pickled_cal.cal'))
Пример #2
0
    def test_least_squares_calibration(self):
        ideals, measured = [], []
        std_list = [self.short, self.match, self.open, self.delay_short]

        for ntwk in std_list:
            ideals.append(ntwk)
            measured.append(self.embeding_network**ntwk)

        cal = rf.Calibration(\
                ideals = ideals,\
                measured = measured,\
                type = 'one port',\
                is_reciprocal = True,\
                )
        # did we find correct embeding network?
        self.assertEqual(self.embeding_network, cal.error_ntwk)
        # are the de-embeded networks the same as their ideals?
        for ntwk in std_list:
            self.assertEqual(ntwk, cal.apply_cal(self.embeding_network**ntwk))
Пример #3
0
    def test_readwrite_calibration(self):
        ideals, measured = [], []
        std_list = [self.short, self.match, self.open]

        for ntwk in std_list:
            ideals.append(ntwk)
            measured.append(self.embeding_network**ntwk)

        cal = rf.Calibration(\
                ideals = ideals,\
                measured = measured,\
                type = 'one port',\
                is_reciprocal = True,\
                )

        original = cal
        rf.write(self.pickle_file, original)
        unpickled = rf.read(self.pickle_file)
        # TODO: this test should be more extensive
        self.assertEqual(original.ideals, unpickled.ideals)
        self.assertEqual(original.measured, unpickled.measured)

        os.remove(self.pickle_file)
Пример #4
0
import skrf as rf
from pylab import *

cal = rf.Calibration(\
        measured = [\
                rf.Network('measured/short.s1p'),
                rf.Network('measured/delay short 132um.s1p'),
                rf.Network('measured/delay short 85um.s1p'),
                rf.Network('measured/load.s1p'),
                ],
        ideals =[\
                rf.Network('ideals/short.s1p'),
                rf.Network('ideals/delay short 132um.s1p'),
                rf.Network('ideals/delay short 85um.s1p'),
                rf.Network('ideals/load.s1p'),
                ],
        )

ro_meas = rf.Network('dut/radiating open.s1p')
ro_cal = cal.apply_cal(ro_meas)

ro_sim = rf.Network('simulation/radiating open.s1p')

figure()
ro_cal.plot_s_db(label='Experiment')
ro_sim.plot_s_db(label='Simulated')

draw();show();
    fileitem = form['measure%i' % (k)]
    fn = os.path.basename(fileitem.filename).replace('_', '-')
    open(measured_dir + fn, 'wb').write(fileitem.file.read())
    measured.append(rf.Network(measured_dir + fn))
    fileitem = form['ideal%i' % (k)]
    fn = os.path.basename(fileitem.filename).replace('_', '-')
    open(ideals_dir + fn, 'wb').write(fileitem.file.read())
    ideals.append(rf.Network(ideals_dir + fn))
for k in range(n_duts):
    fileitem = form['dut%i' % (k)]
    fn = os.path.basename(fileitem.filename).replace('_', '-')
    open(duts_dir + fn, 'wb').write(fileitem.file.read())
    duts.append(rf.Network(duts_dir + fn))

cal = rf.Calibration(
    measured=measured,
    ideals=ideals,
)

caled = [cal.apply_cal(k) for k in duts]

message = '''
<div>
<h2>
Touchstone Files
</h2>
</div>'''

for ntwk in caled:
    fn = ntwk.name + '.s' + str(ntwk.number_of_ports) + 'p'
    message += '''
	<a href=\'%s\'>%s</a> <br>