示例#1
0
 def test_frqs_is_positive_array(self, inp: Array) -> None:
     dft = Dft(inp.shape[0], 'hamming', None)
     spctrm = dft.transform(inp)
     frqs = spctrm.frqs
     self.assertTrue(isinstance(frqs, np.ndarray))
     self.assertTrue(frqs.dtype.type is np.float64)
     self.assertTrue(np.all(frqs>=0))
示例#2
0
 def test_phase_within_pi(self, inp: Array) -> None:
     dft = Dft(inp.shape[0], 'hamming', None)
     spctrm = dft.transform(inp)
     phase = spctrm.phase
     self.assertTrue(phase.dtype.type is np.float64)
     self.assertTrue(np.all(-np.pi<=phase))
     self.assertTrue(np.all(phase<=np.pi))
示例#3
0
 def test_spread(self, params):
     fps, frq = params
     sig = sinusoid(frq, fps=fps)
     dft = Dft(fps=fps, window=None)
     sxx = dft.transform(sig)
     sps = features.spectral_spread(sxx.frqs, sxx.power)
     self.assertLess(sps.item(), 1.0)
示例#4
0
 def test_centroid(self, params):
     fps, frq = params
     sig = sinusoid(frq, fps=fps)
     dft = Dft(fps=fps, window=None)
     sxx = dft.transform(sig)
     spc = features.spectral_centroid(sxx.frqs, sxx.power)
     self.assertAlmostEqual(spc.item(), frq)
示例#5
0
 def test_n_fft(self, n_samples: int) -> None:
     sig = np.empty((n_samples, 1))
     dft = Dft(n_samples, 'hamming', None)
     y = dft.transform(sig)
     self.assertEqual(y._n_fft, sig.size)
示例#6
0
 def test_power_is_positive_array(self, inp: Array) -> None:
     dft = Dft(inp.shape[0], 'hamming', None)
     spctrm = dft.transform(inp)
     power = spctrm.power
     self.assertTrue(power.dtype.type is np.float64)
     self.assertTrue(np.all(power>=0.0))
示例#7
0
 def test_d_frq_is_positive_float(self, inp: Array) -> None:
     dft = Dft(inp.shape[0], 'hamming', None)
     spctrm = dft.transform(inp)
     dfrq = spctrm.d_frq
     self.assertTrue(isinstance(dfrq, float))
     self.assertTrue(dfrq>0)
示例#8
0
 def test_abs_ge_zero(self, inp: Array) -> None:
     dft = Dft(inp.shape[0], 'hamming', None)
     spctrm = dft.transform(inp)
     self.assertTrue(np.all(spctrm.abs>=0))
示例#9
0
 def test_abs_is_real(self, inp: Array) -> None:
     dft = Dft(inp.shape[0], 'hamming', None)
     spctrm = dft.transform(inp)
     self.assertTrue(spctrm.abs.dtype.type is np.float64)