Adaptive Multi-Rate GPS/IMU Signal Cleaning for Heterogeneous Telematics Devices

28/03/2026

3 min de lecture

Module

ChampValeur
StageGPSCleanerStage
Fichiernostos/src/nostos/stages/d1_gps_cleaner.py
Version0.4
CoucheD0 → D1
EntréeD0 brut (1-100 Hz, multi-rate, avec ou sans speed/gyro)
SortieD1 normalisé (speed_mps, dist_m, gps_blackout remplis)

Fonctionnalités

v0.1 — Base

  • Smoothing Savitzky-Golay sur lat/lon

v0.2 — Nettoyage avancé

  • Détection de sauts GPS (outlier jumps via vitesse implicite)
  • Marquage des blackouts GPS (séquences NaN > seuil)
  • Correction de la dérive cold start (biais exponentiel décroissant)
  • Smoothing adaptatif HDOP (fenêtre variable selon la qualité GPS)

v0.3 — Multi-rate

  • Reconstruction de la vitesse à partir du GPS quand speed_mps est absent
  • Calcul haversine entre points GPS valides non consécutifs (multi-rate)
  • Forward-fill + lissage de la vitesse reconstruite

v0.4 — Adaptatif

  • Détection automatique de la fréquence IMU et GPS
  • Validation D0 en entrée (colonnes, ranges, monotonie)
  • Forward-fill intelligent lat/lon (interpolation linéaire, max 30s gap)
  • Distance hybride (speed * dt prioritaire, haversine en fallback)
  • Paramètres de smoothing adaptatifs à la fréquence détectée
  • Rapport de qualité enrichi dans les artifacts

Algorithmes clés

Détection de fréquence

  • Fréquence IMU = 1 / médiane(dt) sur toutes les rows
  • Fréquence GPS = 1 / médiane(dt) entre rows où lat/lon changent
  • Multirate = IMU_Hz > GPS_Hz × 1.5

Reconstruction de vitesse (v0.3+)

  • Identifier les indices des GPS valides (lat/lon non NaN)
  • Pour chaque paire consécutive de GPS valides : distance = haversine(lat1, lon1, lat2, lon2) vitesse = distance / dt
  • Écrêtage à 200 km/h (55.6 m/s)
  • Forward-fill + lissage moyenne glissante (5 points)

Distance hybride (v0.4)

  • Si speed_mps disponible (> 50% non NaN) : dist = |speed| × dt
  • Sinon : haversine entre points GPS consécutifs

Tests unitaires (12 tests)

  1. Cohérence distance (dist_m vs speed*dt < 20%)
  2. Reconstruction vitesse multi-rate
  3. Détection rotation IMU (pitch 15°)
  4. Détection freinage brusque
  5. Hz detection 10/24/100 Hz (3 tests)
  6. Validation D0 (colonnes manquantes, OK)
  7. Forward-fill GPS
  8. GPS Cleaner v0.4 complet sur multi-rate

Datasets validés

DatasetPaysHz IMUHz GPSSpeed sourceRésultat
UAHEspagne101GPS directOK
AEGISAutriche241ReconstruitOK (75.3 km)
PVSBrésil1001Forward-fillOK
AccidentInde11GPS directOK
RS3France101ReconstruitOK
Réseau1 sortants1 entrants

Sources

  • T001 — Telemachus RFCs & Specifications — White

Cité par

  • P016 — Multi-Dimensional Signal Quality Score f

Références

Aucune référence