def test_linregress(self): """ """ fname = '/home/dave/Repositories/public/0_davidovitch/' fname += 'freeyaw-ojf-wt-tests/data/calibrated/DataFrame/' fname += '0212_run_064_9.0ms_dc1_freeyawplaying_stiffblades' fname += '_coning_pwm1000_highrpm.h5' res = pd.read_hdf(fname, 'table') time = res.time.values sps = 1.0 / np.diff(time).mean() freq_down = 0.1 window = 4.0 ff = Filters() data = res.rpm.values data_f = ff.butter_lowpass(sps, data, order=2, cutoff_hz=1.0) time_down = np.arange(time[0], time[-1], freq_down) data_f_down = sp.interpolate.griddata(time, data_f, time_down) regress = ff.linregress(time_down, data_f_down, int(window/freq_down)) diff = np.diff(data_f_down) / freq_down plt.figure('rpm') plt.plot(time, data, 'r-') plt.plot(time_down, data_f_down, 'k--') plt.twinx() plt.plot(time_down[:-int(window/freq_down)], np.abs(regress[:,0]), 'b--') plt.plot(time_down[:-1], np.abs(diff), 'g--') plt.ylim([0, 5]) plt.grid() data = res.yaw_angle.values data_f = ff.butter_lowpass(sps, data, order=2, cutoff_hz=1.0) data_f_down = sp.interpolate.griddata(time, data_f, time_down) regress = ff.linregress(time_down, data_f_down, int(window/freq_down)) diff = np.diff(data_f_down) / freq_down plt.figure('yaw') plt.plot(time, data, 'r-') plt.plot(time_down, data_f_down, 'k--') plt.twinx() plt.plot(time_down[:-int(window/freq_down)], np.abs(regress[:,0]), 'b--') plt.plot(time_down[:-1], np.abs(diff), 'g--') plt.ylim([0, 5]) plt.grid()