示例#1
0
class TestRFToolsDatapoint(unittest.TestCase):
    def setUp(self):
        self.dp = Datapoint(100000, 0.1091, 0.3118)
        self.dp0 = Datapoint(100000, 0, 0)
        self.dp50 = Datapoint(100000, 1, 0)
        self.dp75 = Datapoint(100000, 0.2, 0)
        self.dp_im50 = Datapoint(100000, 0, 1)

    def test_properties(self):
        self.assertEqual(self.dp.z, complex(0.1091, 0.3118))
        self.assertAlmostEqual(self.dp.phase, 1.23420722)
        self.assertEqual(self.dp0.gain, -math.inf)
        self.assertAlmostEqual(self.dp.gain, -9.6208748)
        self.assertEqual(self.dp50.vswr, 1.0)
        self.assertAlmostEqual(self.dp.vswr, 1.9865736)
        self.assertAlmostEqual(self.dp.impedance(),
                               complex(49.997525, 34.9974501))
        self.assertAlmostEqual(self.dp.impedance(75),
                               complex(74.99628755, 52.49617517))
        self.assertEqual(self.dp0.qFactor(), 0.0)
        self.assertEqual(self.dp75.qFactor(), 0.0)
        self.assertEqual(self.dp_im50.qFactor(), -1.0)
        self.assertAlmostEqual(self.dp.qFactor(), 0.6999837)
        self.assertAlmostEqual(self.dp.capacitiveEquivalent(), -4.54761539e-08)
        self.assertAlmostEqual(self.dp.inductiveEquivalent(), 5.57001e-05)
示例#2
0
class TestRFToolsDatapoint(unittest.TestCase):
    def setUp(self):
        self.dp = Datapoint(100000, 0.1091, 0.3118)
        self.dp0 = Datapoint(100000, 0, 0)
        self.dp50 = Datapoint(100000, 1, 0)

    def test_properties(self):
        self.assertEqual(self.dp.z, complex(0.1091, 0.3118))
        self.assertAlmostEqual(self.dp.phase, 1.23420722)
        self.assertEqual(self.dp0.gain, 0.0)
        self.assertAlmostEqual(self.dp.gain, -9.6208748)
        self.assertEqual(self.dp50.vswr, 1.0)
        self.assertAlmostEqual(self.dp.vswr, 1.9865736)
        self.assertAlmostEqual(self.dp.impedance(),
                               complex(49.997525, 34.9974501))
        self.assertAlmostEqual(self.dp.impedance(75),
                               complex(74.99628755, 52.49617517))
        self.assertEqual(self.dp0.qFactor(), 0.0)
        self.assertAlmostEqual(self.dp.qFactor(), 0.6999837)
示例#3
0
 def getReYPosition(self, d: Datapoint) -> int:
     re = d.impedance().real
     re = re * 10e6 / d.freq
     if self.logarithmicY:
         min_val = self.max - self.span
         if self.max > 0 and min_val > 0 and re > 0:
             span = math.log(self.max) - math.log(min_val)
         else:
             return -1
         return self.topMargin + round(
             (math.log(self.max) - math.log(re)) / span * self.chartHeight)
     return self.topMargin + round(
         (self.max - re) / self.span * self.chartHeight)
示例#4
0
 def getImYPosition(self, d: Datapoint) -> int:
     im = d.impedance().imag
     im = im * 10e6 / d.freq
     if self.logarithmicY:
         min_val = self.max - self.span
         if self.max > 0 and min_val > 0 and im > 0:
             span = math.log(self.max) - math.log(min_val)
         else:
             return -1
         return self.topMargin + round(
             (math.log(self.max) - math.log(im)) / span * self.chartHeight)
     return self.topMargin + round(
         (self.max - im) / self.span * self.chartHeight)
示例#5
0
 def magnitude(p: Datapoint) -> float:
     return abs(p.impedance())
示例#6
0
 def getReYPosition(self, d: Datapoint) -> int:
     re = d.impedance().real
     return self.topMargin + round(
         (self.max_real - re) / self.span_real * self.chartHeight)
示例#7
0
 def getImYPosition(self, d: Datapoint) -> int:
     im = d.impedance().imag
     return self.topMargin + round(
         (self.max_imag - im) / self.span_imag * self.chartHeight)
示例#8
0
 def impedance(self, p: Datapoint) -> complex:
     return p.impedance()