Diagnostic par smartphone du grondement de roue : Analyse séquentielle des vibrations d'une Audi Q7 à l'aide de l'IA Claude

La méthode est universelle et fonctionne sur n'importe quelle voiture moderne — BMW X5, Mercedes GLE, Range Rover, Tesla Model Y, Volvo XC90, Porsche Cayenne, VW Touareg, Ford Ranger, Toyota Land Cruiser. La marque n'a pas d'importance : la physique de la rotation des roues est la même pour toutes.

Un problème invisible pour l'électronique embarquée
Une voiture moderne haut de gamme est remplie de capteurs. Une Audi Q7 4M lit la vitesse de chaque roue 48 fois par révolution, connaît l'accélération longitudinale et latérale du châssis, la hauteur de la suspension en quatre points et la position de chaque valve du système pneumatique. Un scanner de diagnostic affichera des centaines de paramètres en temps réel.
Pourtant, le système embarqué est fondamentalement incapable de répondre à la question : « Pourquoi un bourdonnement est-il apparu à 55 km/h ? »
La raison réside dans l'architecture. Les capteurs de cliquetis sur le bloc moteur sont des accéléromètres piézoélectriques à large bande passante de 1 à 20 kHz, exactement ce qu'il faut pour l'analyse des vibrations. Cependant, l'ECU traite leur signal en interne, dans une fenêtre étroite autour du point mort haut de chaque cylindre, et ne renvoie que le résultat : l'angle de correction du calage de l'allumage. Il n'y a pas de flux de données brutes disponible via un quelconque protocole.
Les capteurs d'accélération du châssis sont accessibles sous forme de valeurs, mais ils sont lus via une requête-réponse UDS à une fréquence de 5 à 20 valeurs par seconde pour tous les paramètres combinés. Selon le théorème d'échantillonnage de Nyquist-Shannon, cela correspond à un plafond de 2 à 10 Hz. Un défaut de roue à 50 km/h se situe dans la plage de 6 à 25 Hz. Il est physiquement impossible de construire un spectre en raison du taux d'échantillonnage insuffisant d'un ordre de grandeur.
La conclusion qu'il est important d'accepter immédiatement : l'électronique standard de la voiture est conçue pour le contrôle, pas pour l'analyse des vibrations. Ce n'est pas une limitation d'un scanner spécifique, mais de l'architecture du bus de données automobile lui-même. Le système embarqué ne peut pas et ne voit pas les défauts mécaniques de roulement.
C'est là qu'interviennent la mesure externe et le traitement par IA.
Pourquoi je me suis lancé là-dedans
Je travaille comme ingénieur chez Mind4Ship, une entreprise spécialisée dans le diagnostic prédictif d'équipements marins. Nous attachons des capteurs industriels de bruit et de vibrations aux roulements, boîtes de vitesses et arbres, capturons les spectres, les traitons avec des algorithmes et prédisons les défaillances avant qu'elles ne surviennent. Un défaut de roulement est visible des semaines avant la défaillance — par des impulsions d'impact caractéristiques dans le spectre d'enveloppe.

Lorsqu'un bourdonnement est apparu dans la zone de la roue arrière droite de ma propre Audi Q7 3.0 TDI avec suspension pneumatique, ma réaction a été professionnelle : c'est exactement la tâche que je résous au travail, juste avec un objet différent.
Mais quelque chose d'autre m'a intrigué. Pouvait-on obtenir la même chose avec des outils courants ? Sans accéléromètres industriels coûtant 600 € pièce, sans analyseur, sans équipe de service sur le terrain. Un smartphone, la physique scolaire et l'IA moderne — suffiraient-ils à diagnostiquer le problème avant une visite au garage ?
Voici comment cela s'est passé.
Le premier cul-de-sac : les applications qui "se diagnostiquent elles-mêmes"
YouTube regorge de vidéos sur les applications NVH (Bruit, Vibrations, Dureté). Vous en installez une sur votre téléphone, vous conduisez, et l'application dit : « Vous avez un déséquilibre avant gauche. » Ça a l'air génial.
J'ai étudié la plus populaire — NVH by Vibrate Software, 99,99 $. Elle dispose d'une base de données de 276 sources de vibrations, de verdicts prêts à l'emploi comme « cause — conséquence — solution ». La version iOS est à jour, possède des bases de données de modèles jusqu'en 2026 et prend en charge 303 véhicules électriques.
Et voici la première décision importante qui a déterminé toute la méthode par la suite.
Une telle application vend un guide de référence, pas une mesure. Elle prend un spectre, trouve l'ordre dominant, le recherche dans sa base de données et fournit une liste de dizaines de causes possibles. Elle ne vous dira pas de quel coin de la voiture provient la vibration. Elle ne fournira pas de données brutes. Elle ne vous permettra pas de tester votre propre hypothèse.

En tant que spécialiste de l'IA, j'ai compris : j'ai besoin d'un flux d'accéléromètre brut. Avec cela, je peux traiter les données avec n'importe quel algorithme et obtenir une réponse plus précise que n'importe quelle base de données préétablie. Sans cela, je suis otage des seuils et de la logique de quelqu'un d'autre.
Par conséquent, au lieu d'un guide de référence à 99 $, j'ai opté pour un outil à 12 €.
Choix de l'outil : une application qui enregistre simplement les données
J'ai opté pour CarNVH (Android, com.motordoktor.carnvh). Le choix était purement technique :
| CarNVH Pro 12 € | NVH Vibrate 99 $ | |
|---|---|---|
| Exportation de données brutes | Oui | Non |
| Spectre d'enveloppe | Oui | Non |
| Kurtosis spectrale | Oui | Non |
| Microphone jusqu'à 10 kHz | Oui | Non |
| Ordres par révolution | Oui | Non |
| Spectrogramme 2D | Oui | Non |
| Base de données "276 causes" | Non | Oui |
La différence de prix par huit — et l'outil le moins cher est objectivement plus riche en capacités de mesure. L'analyse d'enveloppe et le kurtosis, utilisés pour détecter les problèmes de roulement, sont complètement absents dans l'application coûteuse.
Vérification du matériel — l'étape que tout le monde saute
Je n'ai pas acheté de nouveau téléphone pour la tâche. J'avais un Samsung Galaxy A51 qui traînait — c'était mon appareil de secours après être passé à un nouvel appareil principal. Un candidat idéal : un appareil dédié que je ne craindrais pas de coller sur le plancher du coffre.
Mais avant de payer pour l'application, j'ai dû m'assurer que le matériel était adapté.
Tâche : Déterminer le taux d'échantillonnage réel de l'accéléromètre. Les spécifications mentent souvent — les fabricants limitent fréquemment la fréquence dans la couche système sur les modèles de milieu de gamme, même si la puce elle-même est capable de milliers de Hz. De plus, à partir d'Android 12, le système limite par défaut les capteurs à 200 Hz.
Outil : L'application gratuite phyphox, expérience « Spectre d'accélération ». Elle affiche directement le taux de collecte de données, sans calculs.

Résultat sur l'A51 : 506 Hz, fréquence de Nyquist 253 Hz.
Vérifions si c'est suffisant. Pour une Q7 en 255/55 R19 à 55 km/h, la roue tourne 6,65 fois par seconde :
| Source | Fréquence |
|---|---|
| 1× rotation de roue | 6,6 Hz |
| 3ème ordre de rotation de roue | 20 Hz |
| Roulement, bague extérieure | 23–30 Hz |
| Arbre de transmission | 40–60 Hz |
| Moteur 2× à 2500 tr/min | 83 Hz |
Tout ce qui est nécessaire se situe en dessous de 100 Hz. Nyquist nécessite 200 Hz ; nous avons 506 Hz — une marge de cinq fois. Le téléphone est adapté ; pas besoin d'acheter quoi que ce soit.
Conclusion pour ceux qui reproduisent la méthode : mesurez d'abord avec phyphox, puis payez pour le logiciel. Cinq minutes de vérification détermineront si vous obtenez une mesure ou des déchets.
Paramètres qui font toute la différence
CarNVH a une case à cocher "Demander un taux d'échantillonnage élevé". Cela demande la permission système HIGH_SAMPLING_RATE_SENSORS. Sans cela, Android limite le flux à 200 Hz quelle que soit la capacité matérielle.
Autres paramètres critiques :

- Circonférence de la roue. Pour 255/55 R19 : diamètre = 19 × 25,4 + 2 × (255 × 0,55) = 763,6 mm, circonférence géométrique 2399 mm, circonférence de travail avec affaissement sous charge ≈ 2300 mm
- Ordres de roue : activer 0,5, 1, 2, 3 — sinon, l'application n'affiche qu'un marqueur pour le premier ordre.
- Axe X logarithmique — désactiver pour l'analyse des vibrations (sur une échelle linéaire, les harmoniques forment un peigne uniforme immédiatement visible) et activer pour l'analyse du bruit (qui couvre 10 Hz–10 kHz).
- Échelle Y automatique — désactiver, fixer à 0,2 m/s². Sinon, deux enregistrements ne pourront pas être comparés en amplitude.
- Nombre de maxima locaux : 5
Montage
C'est la moitié de la précision de la mesure, et là où la plupart des erreurs sont commises.
Le téléphone est monté rigidement sur le plancher ou le seuil, écran vers le haut, côté long vers l'avant, à l'aide de ruban adhésif double face 3M VHB ou d'un Velcro solide.
L'emplacement de montage détermine le résultat. Lors de mon premier trajet, j'ai placé le téléphone au centre du plancher du coffre — c'était une erreur à éviter.
Le centre du coffre est équidistant des deux passages de roue arrière, de sorte que les vibrations des roues gauche et droite y arrivent avec une intensité à peu près égale. Un tel enregistrement répond aux questions comme « Y a-t-il un défaut ? », « Quel est son ordre ? » et « Est-il lié au moteur ? », mais il ne répond pas à la question de savoir laquelle des deux roues est en cause. Cela nécessite un autre trajet plus tard.
L'approche correcte dès le départ :
- Premier enregistrement — téléphone placé près du passage de roue d'où provient le bruit suspecté. Pas au centre, mais décalé autant que possible vers la roue suspecte, dans les limites du plancher du coffre.
- Deuxième enregistrement — près du passage de roue opposé. Même trajet, même vitesse, même échelle Y fixe, même orientation du téléphone.
La comparaison de l'amplitude à la fréquence cible entre les deux enregistrements révèle le côté : là où elle est plus élevée, c'est là que se trouve le défaut. La différence est généralement multiplicative, ce qui rend difficile l'erreur.
L'autoscaling doit être désactivé pour les deux enregistrements — sinon, l'application ajustera l'échelle séparément pour chaque trajet, rendant la comparaison sans objet.
Ce qui ne fonctionne pas : les supports à ventouse et les cols de cygne flexibles (filtres mécaniques qui coupent tout au-dessus de 20 Hz et ajoutent leur propre résonance), les sièges et les planchers moquettés (la mousse amortit précisément la plage souhaitée), les mains (les tremblements de main créent un pic stable de 8 à 12 Hz — je l'ai vu dès le tout premier test).
Axes après montage : Z verticalement — principal pour les roulements et le voile ; Y dans le sens de la longueur de la voiture ; X transversalement, important pour le test de transfert de charge.

Enregistrement : itinéraire et premiers écueils
La procédure est simple : lancer l'enregistrement à l'arrêt, parcourir l'itinéraire sans toucher le téléphone, revenir, arrêter, sauvegarder. Pas besoin de diviser le trajet en fichiers — tout est analysé plus tard par temps et par régime moteur.
Un itinéraire de 4 à 6 minutes :
| Segment | Action | Ce que cela révèle |
|---|---|---|
| 0–1 min | À l'arrêt, moteur en marche | ligne de base, harmoniques du moteur |
| 1–2 min | Accélération douce | montre si le pic augmente linéairement ou s'il s'agit d'une bosse de résonance |
| 2–3 min | Vitesse constante, asphalte lisse | spectre propre |
| 3–4 min | Roulement au point mort | sépare le bruit de roulement du bruit de transmission |
| 4–5 min | Vitesse constante, asphalte rugueux | où le défaut est audible |
| 5–6 min | Virages en S doux à gauche et à droite | transfert de charge, détermination du côté |
Premier écueil : le fichier s'est avéré faire 145,7 Mo pour 4,2 minutes. Format texte, précision flottante complète, trois axes à 500 Hz plus un microphone à 5,7 kHz. Cela ne peut pas être téléchargé sur un chat IA, ouvert dans Excel, ou traité manuellement.
Deuxième écueil : le GPS n'a pas été enregistré. L'application manquait d'autorisation pour la localisation précise. Seul le régime moteur a été enregistré via l'adaptateur OBD — 679 valeurs à une fréquence de 3 Hz.
Les deux problèmes ont été résolus par programmation, et le second s'est avéré être un cadeau inattendu.
Outil 1 : Préparation des données
J'ai écrit un script nvh_prep.py (code dans le dépôt de la méthode). La tâche consiste à transformer 145 Mo de données brutes en quelques mégaoctets exploitables, sans rien perdre.
Ce qu'il fait :
Analyse le format. CarNVH écrit en .txt avec un délimiteur point-virgule sans guillemets et en .csv avec une virgule et des champs de données entre guillemets. Le script détermine automatiquement le format.
Assemble les trames qui se chevauchent. L'application n'écrit pas un flux continu mais des fenêtres de 256 échantillons avec un pas d'environ 52 ms. Les fenêtres adjacentes se chevauchent : chacune ne contient que 26 nouveaux échantillons sur 256. Le script trouve le décalage par corrélation et reconstruit un signal continu.
Calcule le taux d'échantillonnage réel. Non pas par la durée totale (qui surestime en raison du jitter), mais par le rapport "nouveaux échantillons par trame" sur le pas de temps entre les trames. Le résultat était exactement 500,0 Hz — ce qui signifie que le taux d'échantillonnage élevé a réellement fonctionné.
Écarte le microphone. Il occupe la majeure partie du volume, tandis que l'accéléromètre est le canal crucial pour distinguer le bruit de roue/pneu du bruit de roulement.
Découpe en segments de 20 secondes, répartis uniformément tout au long de l'enregistrement, et sauvegarde séparément tous les enregistrements OBD en intégralité.
Résultat : au lieu de 145,7 Mo, un rapport de 17 Ko, 2,6 Mo de segments et 20 Ko de données OBD.
Outil 2 : Analyse d'ordre
Le second script, nvh_analyze.py, effectue le diagnostic réel. La logique suit quatre étapes.
Étape 1. Test de corrélation du régime moteur
L'idée clé de toute la méthode, et elle fournit une réponse avant toute analyse spectrale.
Toutes les sources de vibrations sont divisées en deux classes : celles liées au régime moteur (supports, amortisseur, accessoires, échappement) et celles liées à la vitesse du véhicule (roues, pneus, roulements, arbre de transmission).
Elles peuvent être séparées par une seule manœuvre — un kickdown. Avec une accélération soudaine, le régime moteur double tandis que la vitesse change très peu sur quelques secondes. Si la fréquence du pic suit le régime moteur, la source est dans le moteur. Si elle reste stable, la source est dans les composants roulants.
Voici ce que mes données ont montré :
| Segment | Régime moteur | Fréquence de pic |
|---|---|---|
| 3 | 1184 → 2418 | 13,00 → 13,00 Hz |
| 6 | 777 → 2070 | 5,00 → 11,00 Hz |
| 2 | 717 → 1788 | 25,00 → 14,50 Hz |
Augmentation moyenne du régime moteur : ×2,39. Décalage moyen de fréquence : ×1,00.
Le régime moteur a plus que doublé — la fréquence n'a pas changé. Le moteur, la transmission et l'arbre de transmission sont exclus en une seule itération, sans aucun démontage.
Étape 2. Analyse d'ordre
Ensuite, un segment à vitesse stable est prélevé — le script le sélectionne selon le critère "amplitude maximale avec variation minimale du régime moteur". Pour moi, c'était 20 secondes à 51 km/h.
Le spectre est décomposé par multiples de la fréquence de rotation de la roue :
Ordre Fréquence Z X Y Z/fond
1x 6,45 Hz 0,1020 0,0252 0,0192 2,3
2x 12,25 Hz 0,4416 0,0574 0,1205 10,1
3x 18,20 Hz 0,0705 0,0111 0,0039 1,6
4x 24,70 Hz 0,1170 0,0264 0,0178 2,7
5x 30,50 Hz 0,0830 0,0471 0,0230 1,9
De plus, le facteur Q du pic principal est calculé : Q = 122, la bande passante à -3 dB n'est que de 0,10 Hz. C'est une ligne discrète étroite, pas une bosse de résonance. À titre de comparaison, lors de l'accélération sur asphalte rugueux, Q tombe à 1,4 — c'est la résonance de la suspension, et il ne faut pas la confondre avec un défaut.
Étape 3. Analyse d'enveloppe — Vérification des roulements
Un défaut de roulement n'est pas une vibration mais des impulsions d'impact. Celles-ci se manifestent par une modulation d'une porteuse haute fréquence et ne sont détectées que par démodulation : filtrage passe-bande, transformée de Hilbert, spectre d'enveloppe.
Le script effectue cela dans les bandes 60–240 Hz et 100–240 Hz et recherche des lignes discrètes. Le signe le plus important : les fréquences de défaut de roulement ne sont pas des multiples entiers de la rotation de la roue — la bague extérieure est typiquement 3,5 à 4,5 fois, la bague intérieure 5,5 à 6,5 fois. Les ordres entiers ne sont pas liés aux roulements.
Dans mes données, le pic d'enveloppe maximal est 8,6 fois supérieur à la médiane de fond ; il n'y a pas de lignes discrètes. Roulement exclu.
Étape 4. Verdict
Le script met en corrélation l'ordre dominant avec une cause mécanique et compare l'amplitude aux seuils (0,30 m/s² — perceptible, 0,50 — défaut).
Résultat et une erreur qui m'a presque induit en erreur
La première exécution a donné un résultat incorrect, et il vaut la peine de montrer pourquoi.
Le script a trouvé une ligne dominante à 12,25 Hz et a supposé par défaut qu'il s'agissait du premier ordre de la roue. Cela impliquait une vitesse de 101 km/h et un diagnostic de "déséquilibre".
Le diagnostic aurait été incorrect. Avec une circonférence de 2,30 m, le premier ordre à 60 km/h est de 7,25 Hz — et je n'ai pas dépassé 60 km/h lors de ce trajet. Par conséquent, 12,25 Hz ne peut physiquement pas être le premier ordre.
La seule explication cohérente : 12,25 Hz est le deuxième ordre, le premier ordre est de 6,125 Hz, vitesse ≈ 51 km/h.
Vérification indépendante par la transmission :
- Régime de roue à 6,125 Hz = 368 tr/min
- Rapport de démultiplication total = 1460 / 368 = 3,97
- 5ème vitesse de la 8HP : 1,285 × 3,204 de réduction finale = 4,12
Une différence de 4 % — dans la tolérance pour la circonférence du pneu. La 5ème vitesse à 51 km/h à 1460 tr/min est tout à fait normale. L'hypothèse est confirmée.
Image recalculée :
- Premier ordre : 0,083 m/s², pratiquement au niveau de fond → déséquilibre exclu
- Deuxième ordre : 0,442 m/s², 10 fois supérieur au fond → dominant
- Direction : 71 % vertical → irrégularité radiale, pas latérale
Le deuxième ordre de roue avec un premier ordre propre signifie : ellipticité du pneu, usure à deux points opposés, déformation de la jante à deux points, ou début de décollement de la bande de roulement.
Les symptômes correspondent parfaitement. Le bourdonnement apparaît à 50–60 km/h — mesuré précisément à 51 km/h. Il ne réagit pas à l'accélérateur — prouvé par le test de kickdown. La plage est étroite — 12,25 Hz tombe dans la plage de fréquence naturelle de la masse non suspendue de l'essieu arrière, c'est pourquoi le défaut résonne le plus fortement là, tandis que les fréquences plus élevées et plus basses sortent de la résonance.
L'équilibrage n'aidera pas ici : il corrige le premier ordre, qui est propre. Une mesure de voile radial sur un équilibreur est nécessaire, séparément pour le pneu et la roue assemblée.
Le rôle de l'IA dans ce travail
Il est important d'être précis car il y a beaucoup de mystère autour du sujet.
L'IA n'a pas "entendu la défaillance". Claude n'a pas remplacé un capteur ou un équilibreur de voile.
Ce qu'elle a réellement fait :
- Définir les exigences de mesure. Calculer le taux d'échantillonnage nécessaire en fonction des fréquences de défaut, des exigences de montage et de l'ensemble des manœuvres sur l'itinéraire — tout cela est déterminé par la physique du problème, et une erreur ici dévalorise tout traitement ultérieur.
- Écrit les deux outils. Les scripts pour analyser les trames qui se chevauchent et pour l'analyse d'ordre avec transformée de Hilbert auraient nécessité des heures de travail manuel ; ici, cela a pris quelques minutes.
- Effectué l'analyse elle-même. Test de corrélation du régime moteur via kickdown, calcul du facteur Q, analyse d'enveloppe, vérification croisée du rapport de démultiplication — toute la partie analytique.
- A corrigé sa propre erreur sur la base d'une seule remarque. La phrase "Je ne suis pas allé plus vite que 60" a complètement changé l'interprétation : le diagnostic est passé du premier ordre au deuxième, du déséquilibre à l'ellipticité. C'est un point clé — l'IA teste des hypothèses par rapport à la physique, plutôt que de les défendre.
La répartition du travail était juste : l'humain fournit le contexte et les contraintes physiques, l'IA calcule et vérifie la cohérence. Sans la remarque sur les 60 km/h, le diagnostic aurait été élégant et incorrect.
Le résultat : ce que coûte la méthode
| Article | Prix |
|---|---|
| CarNVH Pro | 12 € |
| phyphox | Gratuit |
| Smartphone | Ancien A51, déjà possédé |
| Adaptateur OBD | Déjà possédé, et finalement non nécessaire |
| Scripts | Écrits une fois, réutilisables |
| Total | 12 € |
Comparé à 99,99 $ pour une application de référence qui ne fournit pas de données brutes, et à une visite de service avec la déclaration "il y a un bourdonnement venant de l'arrière".
La méthode est transférable à n'importe quelle voiture sans modification. Seuls deux chiffres changent : la circonférence de la roue et les rapports de démultiplication. La physique de la rotation est la même pour Audi Q7, BMW X5, Mercedes GLE, Range Rover, Tesla Model Y, Volvo XC90, Porsche Cayenne, VW Touareg, Ford Ranger, Toyota Land Cruiser, et toute autre voiture.
Pour les Range Rover, Q7, Touareg, Cayenne et autres SUV à suspension pneumatique, il existe une condition supplémentaire : maintenir un seul mode de hauteur pendant tout le trajet. Changer la garde au sol modifie les angles de l'arbre de transmission et la charge de la suspension, rendant les enregistrements incomparables.
Pour les véhicules électriques, la méthode fonctionne encore mieux : le moteur est silencieux, les sources mécaniques sont entendues comme en laboratoire, et le test de corrélation du régime moteur est entièrement inutile.
Et ensuite
La prochaine étape consiste à déterminer le côté, et là je paie le prix d'avoir placé le téléphone au centre du coffre. Un tel point est équidistant des deux passages de roue et n'isole pas le côté. Deux enregistrements sont nécessaires, décalés vers les passages de roue droit et gauche, à la même vitesse, avec la même échelle fixe. La différence d'amplitude à 12,25 Hz indiquera la roue.
Et une mesure de contrôle obligatoire après réparation : le même tronçon de route, la même vitesse, les mêmes réglages. Si le pic à 12,25 Hz tombe au niveau de fond — le défaut a été objectivement éliminé, pas juste "semble plus silencieux". C'est précisément ainsi que fonctionnent les diagnostics prédictifs sur les navires, et ce principe exact est entièrement transférable aux voitures.
Les scripts nvh_prep.py, nvh_analyze.py, et la description technique complète de la méthode sont publiés sur GitHub : github.com/gptariacom/car-nvh-order-analysis (MIT).
Auteur — ingénieur chez Mind4Ship, diagnostics prédictifs d'équipements marins.
Ce case vous plaît ?
Lancez un projet similaire — décrivez « je veux la même chose », et les Builders enverront des prototypes fonctionnels. Le lien vers ce case est déjà dans le brief.
Commander un projet similaire