Beispiel #1
0
 def test_dist(self, M1, M2):
     s = signals.TDHQAMSymbols((M1, M2), 1000, fr=0.5)
     d1_r = np.min(np.diff(np.unique(s._symbols_M1.real)))
     d2_r = np.min(np.diff(np.unique(s._symbols_M2.real)))
     d1_i = np.min(np.diff(np.unique(s._symbols_M1.imag)))
     d2_i = np.min(np.diff(np.unique(s._symbols_M2.imag)))
     npt.assert_approx_equal(d1_r, d2_r)
     npt.assert_approx_equal(d1_i, d2_i)
Beispiel #2
0
 def test_preserveattr(self, attr):
     s1 = signals.TDHQAMSymbols((16, 4), 1000, 0.5)
     s2 = s1 + 10
     a1 = getattr(s1, attr)
     a2 = getattr(s2, attr)
     if isinstance(a1, np.ndarray):
         npt.assert_array_almost_equal(a1, a2)
     else:
         assert a1 == a2
 def test_from_arrays_ratio(self, r1, r2):
     import math
     if math.gcd(r1, r2) > 1:
         assert True
         return
     r = r1 + r2
     s1 = signals.SignalQAMGrayCoded(16, 1000 * r1, seed=[1, 2])
     s2 = signals.SignalQAMGrayCoded(4, 1000 * r2, seed=[1, 2])
     o = signals.TDHQAMSymbols.from_symbol_arrays(s1, s2, r2 / r)
     o2 = signals.TDHQAMSymbols((16, 4), 1000 * (r1 + r2), fr=r2 / r, seed=[1, 2])
     npt.assert_array_almost_equal(o, o2)
Beispiel #4
0
 def test_ratio(self, r1, r2):
     import math
     if math.gcd(r1, r2) > 1:
         assert True
         return
     r = r1 + r2
     o = signals.TDHQAMSymbols((16, 4), 1000, fr=r2 / r)
     for i in range(r):
         s = o[0, i::r]
         if i % r < r1:
             d = np.min(abs(s[:, np.newaxis] - o._symbols_M1), axis=1)
             npt.assert_array_almost_equal(d, 0)
         else:
             d = np.min(abs(s[:, np.newaxis] - o._symbols_M2), axis=1)
             npt.assert_array_almost_equal(d, 0)
Beispiel #5
0
 def testclass(self):
     s = signals.TDHQAMSymbols((16, 4), 1000)
     type(s._symbols_M1) is signals.SignalQAMGrayCoded
     type(s._symbols_M2) is signals.SignalQAMGrayCoded
Beispiel #6
0
 def test_attr_present(self, attr):
     s = signals.TDHQAMSymbols((64, 128), 2**12)
     assert getattr(s, attr) is not None
Beispiel #7
0
 def test_tdhqam(self, dt):
     s = signals.TDHQAMSymbols((64, 128), 2**12, dtype=dt)
     assert np.dtype(dt) is s.dtype
     assert np.dtype(dt) is s._symbols_M1.dtype
     assert np.dtype(dt) is s._symbols_M2.dtype