Documentation
Tout ce que l'application mesure, comment elle le mesure, et ce qu'elle ne sait pas encore mesurer. Chaque page est vérifiable dans le code — les mentions en fichier:ligne renvoient au dépôt.
🏗️ Architecture & flux de données
Les deux modules, la session de mesure partagée, les threads (nvh-dsp, nvh-gnss), le cycle de vie des ressources et le mode rapport.
🔬 Méthodes DSP
Fenêtrage Hann, calibration d'amplitude, indice d'émergence NVH (et pourquoi ce n'est pas un TTNR), suivi d'ordres et correction de scalloping.
🛰️ Chaîne de vitesse GNSS
Qualification des fixes, Kalman [v, a] à covariance, règle de validité, budget d'erreur vers les ordres, reconstruction RTS au rejeu.
📦 Formats de données
Sidecar télémétrie v3 (lecture v1/v2), trace terrain v2, réglages DataStore, WAV et captures vidéo.
✅ Qualité, CI & audits
Les 9 gates d'hygiène, la suite de tests, la couverture imposée, et les audits publics du projet.
📚 Référence API
128 types et 232 fonctions publiques, extraits automatiquement du source Kotlin, filtrables.
📐 Audit UI/UX
34 constats sur 11 axes de design : ce que la couche présentation fait bien, ce qui est resté au gabarit, et la feuille de route en 7 phases.
Utiliser l'application
Un essai type, en 4 étapes
- Configurer le véhicule — bouton
GMPe: choisir V1000 direct, rapport global ou chaîne détaillée ; saisir les harmoniques cibles (ex.7.4, 18, 22.2) et l'ordre à tracer (ex. H18). - Mesurer en direct — mode LIVE : le spectrogramme défile, les ordres émergents sont étiquetés en continu. Le voyant GNSS (●/▲/✕) dit si la vitesse est exploitable ; sinon les KPI affichent
--. - Enregistrer & analyser — bouton d'enregistrement (30 s audio + télémétrie), puis rejeu depuis
Audio (WAV): la vitesse est relissée par RTS et le curseur suit la lecture. - Rapport — mode
Rapport Manuel: tracer un ordre à la main (tracé assisté), le valider, exporter PNG ou PDF avec cartouche de traçabilité.
Les réglages qui comptent
- FFT 512 → 4096 — résolution fréquentielle contre cadence temporelle : Δf = 44100/N, Δt = N/2 / 44100. Le tableau « expert » du dialogue Réglages affiche les deux en direct.
- Plage dynamique — min/max dB de la colormap ; le min reste ≥ 5 dB sous le max (contrainte imposée, pas décorative).
- Seuils du détecteur — niveau d'émergence minimal et porte dBFS du détecteur d'harmoniques.