Example #1
0
    def setUp(self):
        global NPTS
        self.n_ports = 2
        self.wg = WG
        wg = self.wg

        r = npy.random.uniform(10, 100, NPTS)
        l = 1e-9 * npy.random.uniform(100, 200, NPTS)
        g = npy.zeros(NPTS)
        c = 1e-12 * npy.random.uniform(100, 200, NPTS)

        rlgc = DistributedCircuit(frequency=wg.frequency,
                                  z0=None,
                                  R=r,
                                  L=l,
                                  G=g,
                                  C=c)
        self.rlgc = rlgc

        self.X = wg.random(n_ports=2, name='X')
        self.Y = wg.random(n_ports=2, name='Y')
        self.gamma_f = wg.random(n_ports=1, name='gamma_f')
        self.gamma_r = wg.random(n_ports=1, name='gamma_r')

        actuals = [
            rlgc.thru(),
            rlgc.short(nports=2),
            rlgc.line(10, 'um'),
            rlgc.line(100, 'um'),
            rlgc.line(500, 'um'),
        ]

        self.actuals = actuals

        measured = [self.measure(k) for k in actuals]

        self.measured = measured

        self.cal = NISTMultilineTRL(measured=measured,
                                    Grefls=[-1],
                                    l=[0, 10e-6, 100e-6, 500e-6],
                                    switch_terms=(self.gamma_f, self.gamma_r),
                                    ref_plane=50e-6,
                                    c0=c,
                                    z0_ref=50,
                                    gamma_root_choice='real')