Pour avoir une moyenne glissante sur une heure l'idée c'est, pour une valeur donnée (vitesse par exemple) d'avoir un tableau qui contient les échantillons nécessaires pour 1h de données.
Si tu as une mesure par seconde, par exemple, tu auras besoin d'un tableau de 60 éléments.
Ensuite il faut implémenter ce qu'on appelle un "ring buffer", une sorte de tampon qui contiendra les 60 dernières valeurs, les plus anciennes étant automatiquement effacées.
Ca se fait avec 2 indexes qui pointent sur le premier et le dernier élément utilisés dans le tableau, qu'on fait repasser au début quand ils atteignent le dernier élément.
Avec ces deux indexes et un peu de calcul, tu sais combien d'éléments tu as effectivement dans ton ring buffer.
Il est alors facile d'en calculer la moyenne.
Cette méthode est la plus simple à comprendre, pas la plus économique en terme de mémoire. Un autre algo est décrit de façon plus formelle ici:
https://fr.wikipedia.org/wiki/Moyenne_glissanteOn n'a plus besoin de tableau mais simplement de garder un nombre réduit d'échantillons (dépendant de la taille de la fenêtre de moyenne et de la vitesse d'échantillonnage)