From 6685fc32d312c0eed9acf671cb8e0d3bf568859a Mon Sep 17 00:00:00 2001 From: "Mads M. Pedersen" <mmpe@dtu.dk> Date: Fri, 31 Mar 2017 11:48:45 +0200 Subject: [PATCH] bugfix in fix_rotor_position + test --- wetb/signal/fix/_rotor_position.py | 8 +++++--- wetb/signal/tests/test_fix.py | 10 +++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/wetb/signal/fix/_rotor_position.py b/wetb/signal/fix/_rotor_position.py index c27a6ec..22aac76 100644 --- a/wetb/signal/fix/_rotor_position.py +++ b/wetb/signal/fix/_rotor_position.py @@ -98,14 +98,16 @@ def find_fix_dt(rotor_position, sample_frq, rotor_speed, plt=None): rpm_pos = differentiation(fix_rotor_position(rotor_position, sample_frq, rotor_speed, i))%180 / 360 * sample_frq * 60 return np.sum((rpm_pos - rotor_speed)**2) - best = 0 - for r in [np.arange(7,46,12), np.arange(-6,7,3),np.arange(-2,3)]: - x_lst = r + best + best = 27 + for step in [9,3,1]: + + x_lst = np.arange(-2,3)*step + best res = [err(x) for x in x_lst] if plt is not None: plt.plot(x_lst, res,'.-') best = x_lst[np.argmin(res)] if plt is not None: plt.show() + return best \ No newline at end of file diff --git a/wetb/signal/tests/test_fix.py b/wetb/signal/tests/test_fix.py index c8b472a..8663986 100644 --- a/wetb/signal/tests/test_fix.py +++ b/wetb/signal/tests/test_fix.py @@ -27,7 +27,6 @@ class TestFix(unittest.TestCase): err_sum = np.sum((rpm_pos - ds.Rot_cor)**2) self.assertLess(err_sum,40) - self.assertLess(np.sqrt(np.mean((((ds.azi-rp_fit)+180)%360-180)**2)),2) if 0: import matplotlib.pyplot as plt t = ds.Time-ds.Time[0] @@ -35,10 +34,15 @@ class TestFix(unittest.TestCase): plt.plot(t, ds.Rot_cor) plt.plot(t, differentiation(rp_fit)%180 / 360 * sample_frq * 60, label='fit') plt.ylim(10,16) - plt.show() + + def test_find_fix_dt(self): + ds = gtsdf.Dataset(tfp+'azi.hdf5') + sample_frq = 25 + + self.assertEqual(find_fix_dt(ds.azi, sample_frq, ds.Rot_cor), 4) + - if __name__ == "__main__": #import sys;sys.argv = ['', 'Test.testRotorPositionFix'] unittest.main() \ No newline at end of file -- GitLab