Exemplo n.º 1
0
 def test_yz(self):
     tinyfloat = 1e-12
     ntwk = rf.Network()
     ntwk.z0 = npy.array([28,75+3j])
     ntwk.f = npy.array([1000, 2000])
     ntwk.s = rf.z2s(npy.array([[[1+1j,5,11],[40,5,3],[16,8,9+8j]],
                                [[1,20,3],[14,10,16],[27,18,-19-2j]]]))
     self.assertTrue((abs(rf.y2z(ntwk.y)-ntwk.z) < tinyfloat).all())
     self.assertTrue((abs(rf.y2s(ntwk.y, ntwk.z0)-ntwk.s) < tinyfloat).all())
     self.assertTrue((abs(rf.z2y(ntwk.z)-ntwk.y) < tinyfloat).all())
     self.assertTrue((abs(rf.z2s(ntwk.z, ntwk.z0)-ntwk.s) < tinyfloat).all())
Exemplo n.º 2
0
def short_deembed(data, data_open, data_short, datadir=None):
    '''
    Subtracts admittance of open from that of device and short, then subtracts
    dembeded short impedance from device and saves results in new
    network n. If save_deembedded is defined, saves a copy of the deembedded
    short and device networks in snp format.
    '''
    d = open_deembed(data, data_open, datadir)
    # s = open_deembed(data_short, data_open, datadir)
    s = open_Network(data_short)
    n = rf.Network()
    n.frequency = d.frequency
    n.z0 = d.z0
    n.name = d.name
    n.z = d.z - s.z
    n.s = rf.z2s(n.z)
    n.y = rf.y2z(n.z)
    if datadir:
        savedir = os.path.join(datadir, 'deembedded_openshort')
        if not os.path.isfile(os.path.join(savedir, n.name)):
            n.write_touchstone(dir=savedir)
    return n