diff --git a/TP2/imu_analysis/main.py b/TP2/imu_analysis/main.py index c2e8996..9058fc9 100644 --- a/TP2/imu_analysis/main.py +++ b/TP2/imu_analysis/main.py @@ -1,4 +1,5 @@ from plotting import plot_angular_speed, plot_linear_acceleration, show_plots +from processing import calculate_moving_average from reader import read_measurements_file @@ -19,6 +20,14 @@ def main(): ay = [] az = [] + t_lissé = [] + wx_lissé = [] + wy_lissé = [] + wz_lissé = [] + ax_lissé = [] + ay_lissé = [] + az_lissé = [] + for measurement in read_measurements_file(): t.append(measurement.t) wx.append(measurement.wx) @@ -33,6 +42,21 @@ def main(): show_plots() + interval_lissage = 1000 + + t_lissé.append(calculate_moving_average(t, interval_lissage)) + wx_lissé.append(calculate_moving_average(wx, interval_lissage)) + wy_lissé.append(calculate_moving_average(wy, interval_lissage)) + wz_lissé.append(calculate_moving_average(wz, interval_lissage)) + ax_lissé.append(calculate_moving_average(ax, interval_lissage)) + ay_lissé.append(calculate_moving_average(ay, interval_lissage)) + az_lissé.append(calculate_moving_average(az, interval_lissage)) + + plot_angular_speed(t_lissé, wx_lissé, wy_lissé, wz_lissé) + plot_linear_acceleration(t_lissé, ax_lissé, ay_lissé, az_lissé) + + show_plots() + if __name__ == "__main__": main() diff --git a/TP2/imu_analysis/processing.py b/TP2/imu_analysis/processing.py index fe6271a..ceae313 100644 --- a/TP2/imu_analysis/processing.py +++ b/TP2/imu_analysis/processing.py @@ -2,3 +2,20 @@ Module pour le traitement des mesures ************************************* """ + +data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +interval = 4 + + +def calculate_moving_average(data: list[float], interval: int): + """Lissage du signal + param data: liste du signal + param interval: fenêtre de la moyenne glissante""" + + new_list = [] + for k in range(0, len(data) - interval): + somme = 0 + for i in range(interval): + somme += data[k + i] + new_list.append((1 / interval) * somme) + return new_list