From ad6efdfd0ae62027c45b0a79a0ec40f73470f558 Mon Sep 17 00:00:00 2001 From: Nolwenn MORIZUR Date: Wed, 20 Mar 2024 10:26:49 +0100 Subject: [PATCH] ajouter TP3 --- TP2/imu_analysis/main.py | 24 ++++++++++++++++++++++++ TP2/imu_analysis/processing.py | 17 +++++++++++++++++ 2 files changed, 41 insertions(+) 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