def test_instfreq(self): """Test instantaneous frequency calculation.""" signal, _ = fm.fmlin(128, 0.05, 0.3, 50) ifreq = fproc.inst_freq(signal)[0] self.assertAlmostEqual(ifreq.min(), 0.05, places=2) self.assertAlmostEqual(ifreq.max(), 0.3, places=2) self.assert_is_linear(ifreq)
def test_group_delay(self): """Test Group delay calculation.""" n_points = 128 signal = am.amgauss(n_points, 64, 30) * fm.fmlin(n_points, 0.1, 0.4)[0] fnorm = np.arange(0.1, 0.38, step=0.04) grp_dlay = fproc.group_delay(signal, fnorm) self.assert_is_linear(grp_dlay, 0)
def test_fmlin(self): """Test linear frequency modulation.""" n_points, init_freq, final_freq, center = 128, 0.05, 0.3, 50 signal, iflaw = fm.fmlin(n_points, init_freq, final_freq, center) np.testing.assert_allclose(iflaw, np.linspace(init_freq, final_freq, n_points)) self.assert_is_analytic(signal)
def test_locfreq(self): signal, _ = fm.fmlin(128, 0.05, 0.3, 50) input_avg_freq = (0.05 + 0.3) / 2.0 avg_norm_freq, bandwidth = fproc.locfreq(signal) self.assertAlmostEqual(avg_norm_freq, input_avg_freq, places=2)
def test_instfreq(self): signal, _ = fm.fmlin(128, 0.05, 0.3, 50) ifreq = fproc.inst_freq(signal)[0] self.assertAlmostEqual(ifreq.min(), 0.05, places=2) self.assertAlmostEqual(ifreq.max(), 0.3, places=2) self.assert_is_linear(ifreq)
def test_locfreq(self): """Test calculation of localized frequency characteristics.""" signal, _ = fm.fmlin(128, 0.05, 0.3, 50) input_avg_freq = (0.05 + 0.3) / 2.0 avg_norm_freq, bandwidth = fproc.locfreq(signal) self.assertAlmostEqual(avg_norm_freq, input_avg_freq, places=2)