Smartphone Diagnose van Wielgeruis: Sequentiële Vibratieanalyse van Audi Q7 met AI Claude

De methode is universeel en werkt op elke moderne auto — BMW X5, Mercedes GLE, Range Rover, Tesla Model Y, Volvo XC90, Porsche Cayenne, VW Touareg, Ford Ranger, Toyota Land Cruiser. Het merk doet er niet toe: de fysica van de wielrotatie is voor iedereen hetzelfde.

Een Probleem Dat Ongezien Blijft Door Boordelektronica
Een moderne premium auto zit vol sensoren. Een Audi Q7 4M leest de snelheid van elk wiel 48 keer per omwenteling, kent de longitudinale en laterale versnelling van de carrosserie, de ophangingshoogte op vier punten en de positie van elke klep van het pneumatische systeem. Een diagnostische scanner geeft honderden parameters in realtime weer.
Toch is het boordsysteem fundamenteel niet in staat de vraag te beantwoorden: "Waarom verscheen er een brom bij 55 km/u?"
De reden ligt in de architectuur. Klopsensoren op het motorblok zijn breedbandige piëzo-elektrische versnellingsmeters met een bandbreedte van 1–20 kHz, precies wat nodig is voor trillingsanalyse. De ECU verwerkt hun signaal echter intern, binnen een smal venster rond het BDP van elke cilinder, en geeft alleen het resultaat weer: de ontstekingsverstellingshoek. Er is geen ruwe datastroom beschikbaar via enig protocol.
Carrosserieversnellingsmeters zijn toegankelijk als waarden, maar ze worden uitgelezen via UDS request-response met een snelheid van 5–20 waarden per seconde voor alle parameters gecombineerd. Volgens de Nyquist-Shannon-samplingstelling is dit een plafond van 2–10 Hz. Een wieldefect bij 50 km/u valt binnen het bereik van 6–25 Hz. Het is fysiek onmogelijk om een spectrum te construeren vanwege de onvoldoende bemonsteringsfrequentie met een orde van grootte.
De conclusie die onmiddellijk geaccepteerd moet worden: de standaardboordelektronica van de auto is ontworpen voor controle, niet voor trillingsanalyse. Dit is geen beperking van een specifieke scanner, maar van de auto-databusarchitectuur zelf. Het boordsysteem kan en ziet geen mechanische rol-defecten.
Hier komen externe metingen en AI-verwerking om de hoek kijken.
Waarom Ik Hieraan Begon
Ik werk als ingenieur bij Mind4Ship, een bedrijf dat gespecialiseerd is in voorspellende diagnostiek van maritieme apparatuur. We bevestigen industriële geluids- en trillingssensoren aan lagers, tandwielkasten en assen, vangen spectra op, voeren ze door algoritmen en voorspellen storingen voordat ze optreden. Een lagerdefect is weken voor de storing zichtbaar—via karakteristieke impactimpulsen in het omhullingsspectrum.

Toen er een brom verscheen in het gebied van het rechterachterwiel van mijn eigen Audi Q7 3.0 TDI met luchtvering, was mijn reactie professioneel: dit is precies de taak die ik op mijn werk oplos, alleen met een ander object.
Maar iets anders intrigeerde me. Kon hetzelfde worden bereikt met alledaagse gereedschappen? Zonder industriële versnellingsmeters van €600 per stuk, zonder analyzer, zonder serviceteam. Een smartphone, schoolnatuurkunde en moderne AI—zou dat genoeg zijn om het probleem te diagnosticeren vóór een bezoek aan de garage?
Hier is hoe het uitpakte.
De Eerste Doodlopende Weg: Apps Die "Zichzelf Diagnostiseren"
YouTube staat vol met video's over NVH (Noise, Vibration, Harshness) applicaties. Je installeert er een op je telefoon, rijdt, en de app zegt: "Je hebt een voorlinks onbalans." Klinkt geweldig.
Ik bestudeerde de populairste—NVH by Vibrate Software, $99,99. Het heeft een database van 276 trillingsbronnen, kant-en-klare oordelen zoals "oorzaak—gevolg—oplossing". De iOS-versie wordt bijgewerkt, heeft modeldatabases tot 2026 en ondersteunt 303 elektrische voertuigen.
En hier is de eerste belangrijke beslissing die de hele methode voor de toekomst bepaalde.
Zo'n app verkoopt een referentiegids, geen meting. Het neemt een spectrum, zoekt de dominante orde, zoekt het op in zijn database en geeft een lijst van tientallen mogelijke oorzaken. Het zal je niet vertellen uit welke hoek van de auto de trilling komt. Het zal geen ruwe gegevens leveren. Het zal je niet toestaan je eigen hypothese te testen.

Als AI-specialist begreep ik: ik heb een ruwe versnellingsmeterstroom nodig. Daarmee kan ik de gegevens met elk algoritme verwerken en een nauwkeuriger antwoord krijgen dan met enige vooraf gemaakte database. Zonder dat ben ik een gijzelaar van andermans drempels en logica.
Daarom koos ik in plaats van een referentiegids van $99 voor een gereedschap van €12.
Het Gereedschap Kiezen: Een App Die Simpelweg Gegevens Opneemt
Ik koos voor CarNVH (Android, com.motordoktor.carnvh). De keuze was puur technisch:
| CarNVH Pro €12 | NVH Vibrate $99 | |
|---|---|---|
| Export ruwe data | Ja | Nee |
| Omhullingsspectrum | Ja | Nee |
| Spectrale kurtosis | Ja | Nee |
| Microfoon tot 10 kHz | Ja | Nee |
| Ordes per omwenteling | Ja | Nee |
| 2D Spectrogram | Ja | Nee |
| "276 oorzaken" database | Nee | Ja |
Het achtvoudige prijsverschil—en het goedkopere gereedschap is objectief rijker aan meetmogelijkheden. Omhullingsanalyse en kurtosis, gebruikt om lagerproblemen te detecteren, ontbreken volledig in de dure app.
Hardware Check — De Stap Die Iedereen Overslaat
Ik kocht geen nieuwe telefoon voor de taak. Ik had een Samsung Galaxy A51 liggen—het was mijn reserveapparaat nadat ik was overgestapt op een nieuw primair apparaat. Een ideale kandidaat: een speciaal apparaat dat ik niet erg zou vinden om op de kofferbakvloer te plakken.
Maar voordat ik voor de app betaalde, moest ik ervoor zorgen dat de hardware geschikt was.
Taak: Bepaal de werkelijke bemonsteringsfrequentie van de versnellingsmeter. Specificaties liegen vaak—fabrikanten beperken de frequentie vaak in de systeemlaag op middenklassemodellen, zelfs als de chip zelf duizenden Hz aankan. Bovendien beperkt het systeem vanaf Android 12 standaard sensoren tot 200 Hz.
Gereedschap: De gratis app phyphox, experiment "Acceleration Spectrum". Het geeft direct de dataverzamelingsfrequentie weer, geen berekeningen nodig.

Resultaat op de A51: 506 Hz, Nyquist-frequentie 253 Hz.
Laten we kijken of dit voldoende is. Voor een Q7 op 255/55 R19 bij 55 km/u draait het wiel 6,65 keer per seconde:
| Bron | Frequentie |
|---|---|
| 1× wielrotatie | 6,6 Hz |
| 3e orde van wielrotatie | 20 Hz |
| Lager, buitenring | 23–30 Hz |
| Aandrijfas | 40–60 Hz |
| Motor 2× bij 2500 RPM | 83 Hz |
Alles wat nodig is, valt onder de 100 Hz. Nyquist vereist 200 Hz; we hebben 506 Hz—een vijfvoudige marge. De telefoon is geschikt; er hoeft niets gekocht te worden.
Conclusie voor degenen die de methode repliceren: meet eerst met phyphox, betaal daarna voor de software. Vijf minuten controle bepalen of je een meting krijgt of rommel.
Instellingen Die Het Verschil Maken
CarNVH heeft een selectievakje "Request High Sampling Rate." Dit vraagt de systeemtoestemming HIGH_SAMPLING_RATE_SENSORS. Zonder dit beperkt Android de stroom tot 200 Hz, ongeacht de hardwaremogelijkheden.
Andere kritieke instellingen:

- Wielomtrek. Voor 255/55 R19: diameter = 19 × 25,4 + 2 × (255 × 0,55) = 763,6 mm, geometrische omtrek 2399 mm, werkende omtrek met doorzakking onder belasting ≈ 2300 mm
- Wielordes: 0,5, 1, 2, 3 inschakelen — anders toont de app alleen een markering voor de eerste orde.
- Logaritmische X-as — uitschakelen voor trillingsanalyse (op een lineaire schaal vormen harmonischen een uniforme kam die direct zichtbaar is) en inschakelen voor geluidsanalyse (die 10 Hz–10 kHz beslaat).
- Y-autoschaal — uitschakelen, vastzetten op 0,2 m/s². Anders kunnen twee opnames niet op amplitude worden vergeleken.
- Aantal lokale maxima: 5
Montage
Dit is de helft van de meetnauwkeurigheid, en waar de meeste fouten worden gemaakt.
De telefoon wordt rigide aan de vloer of dorpel bevestigd, met het scherm naar boven, lange zijde naar voren, met 3M VHB dubbelzijdig tape of sterk klittenband.
De montageplek bepaalt de output. Tijdens mijn eerste rit plaatste ik de telefoon in het midden van de kofferbakvloer—dit was een fout die vermeden moet worden.
Het midden van de kofferbak is even ver verwijderd van beide achterste wielkasten, dus trillingen van het linker- en rechterwiel komen daar met ongeveer gelijke intensiteit aan. Zo'n opname beantwoordt vragen als "Is er een defect?", "Welke orde is het?" en "Heeft het te maken met de motor?", maar het beantwoordt niet welk van de twee wielen de schuldige is. Dit vereist later nog een rit.
De juiste aanpak vanaf het begin:
- Eerste opname — telefoon dicht bij de wielkast geplaatst waarvan het geluid wordt vermoed. Niet in het midden, maar zo ver mogelijk naar het verdachte wiel verschoven, binnen de grenzen van de kofferbakvloer.
- Tweede opname — nabij de tegenoverliggende wielkast. Dezelfde route, dezelfde snelheid, dezelfde vaste Y-schaal, dezelfde telefoonoriëntatie.
Het vergelijken van de amplitude bij de doelrequentie tussen de twee opnames onthult de kant: waar deze hoger is, daar zit het defect. Het verschil is meestal vermenigvuldigend, waardoor het moeilijk is om fouten te maken.
Autoschaal moet voor beide opnames uitgeschakeld zijn—anders past de app de schaal voor elke rit afzonderlijk aan, waardoor de vergelijking zinloos wordt.
Wat niet werkt: zuignapbevestigingen en flexibele zwanenhalzen (mechanische filters die alles boven 20 Hz afsnijden en hun eigen resonantie toevoegen), stoelen en vloerbedekking (schuim dempt precies het gewenste bereik), handen (handtremor creëert een stabiele piek van 8–12 Hz—ik zag dit bij de allereerste test).
Assen na montage: Z verticaal—primair voor lagers en loopvlakonregelmatigheden; Y langs de lengte van de auto; X transversaal, belangrijk voor de belastingsoverdrachtstest.

Opname: Route en Eerste Valkuilen
De procedure is eenvoudig: start de opname terwijl je stilstaat, rijd de route zonder de telefoon aan te raken, keer terug, stop, sla op. Het is niet nodig de rit in bestanden te splitsen—alles wordt later geanalyseerd op tijd en toerental.
Een route van 4–6 minuten:
| Segment | Actie | Wat het onthult |
|---|---|---|
| 0–1 min | Stationair, motor draaiend | basislijn, motorharmonischen |
| 1–2 min | Soepele acceleratie | laat zien of de piek lineair groeit of een resonantie-bult is |
| 2–3 min | Constante snelheid, glad asfalt | schoon spectrum |
| 3–4 min | Uitrollen in neutraal | scheidt rolgeruis van transmissiegeluid |
| 4–5 min | Constante snelheid, ruw asfalt | waar het defect hoorbaar is |
| 5–6 min | Soepele S-bochten naar links en rechts | belastingsoverdracht, bepaling van de kant |
Eerste valkuil: het bestand bleek 145,7 MB te zijn voor 4,2 minuten. Tekstformaat, volledige float-precisie, drie assen op 500 Hz plus een microfoon op 5,7 kHz. Dit kan niet worden geüpload naar een AI-chat, geopend in Excel, of handmatig worden verwerkt.
Tweede valkuil: GPS werd niet opgenomen. De app had geen toestemming voor precieze locatie. Alleen het motortoerental werd opgenomen via de OBD-adapter—679 waarden met een frequentie van 3 Hz.
Beide problemen werden programmatisch opgelost, en het tweede bleek onverwacht een geschenk.
Gereedschap 1: Data Voorbereiding
Ik schreef een script nvh_prep.py (code in de repository van de methode). De taak is om 145 MB ruwe gegevens om te zetten in een paar megabytes die geschikt zijn voor analyse, zonder iets te verliezen.
Wat het doet:
Ontleedt het formaat. CarNVH schrijft .txt met een puntkomma als scheidingsteken zonder aanhalingstekens en .csv met een komma en gegevensvelden tussen aanhalingstekens. Het script bepaalt het formaat automatisch.
Voegt overlappende frames samen. De app schrijft geen continue stroom, maar vensters van 256 samples met een stap van ongeveer 52 ms. Aangrenzende vensters overlappen: elk bevat slechts 26 nieuwe samples van de 256. Het script vindt de verschuiving via correlatie en reconstrueert een continu signaal.
Berekent de werkelijke bemonsteringsfrequentie. Niet op basis van de totale duur (die door jitter te hoog wordt ingeschat), maar op basis van de verhouding van "nieuwe samples per frame" tot de tijdstap tussen frames. Het resultaat was precies 500,0 Hz—wat betekent dat High Sampling Rate daadwerkelijk werkte.
Gooit de microfoon weg. Deze neemt het grootste deel van het volume in beslag, terwijl de versnellingsmeter het cruciale kanaal is om onderscheid te maken tussen wiel-/bandgeluid en lagersgeluid.
Snijdt in segmenten van 20 seconden, gelijkmatig verdeeld over de opname, en slaat alle OBD-opnames apart volledig op.
Resultaat: in plaats van 145,7 MB, een rapport van 17 KB, 2,6 MB aan segmenten en 20 KB aan OBD-gegevens.
Gereedschap 2: Orde Analyse
Het tweede script, nvh_analyze.py, voert de eigenlijke diagnose uit. De logica volgt vier stappen.
Stap 1. Motor RPM Correlatietest
Het kernidee van de hele methode, en het geeft een antwoord vóór enige spectrumanalyse.
Alle trillingsbronnen worden verdeeld in twee klassen: die gekoppeld aan het motortoerental (steunen, demper, accessoires, uitlaat) en die gekoppeld aan de voertuigsnelheid (wielen, banden, lagers, aandrijfas).
Ze kunnen worden gescheiden met één manoeuvre—een kickdown. Bij een plotselinge acceleratie verdubbelt het toerental terwijl de snelheid over een paar seconden nauwelijks verandert. Als de piek frequentie het toerental volgt, komt de bron uit de motor. Als deze op zijn plaats blijft, komt de bron uit de rollende componenten.
Hier is wat mijn gegevens lieten zien:
| Segment | RPM | Piek Frequentie |
|---|---|---|
| 3 | 1184 → 2418 | 13,00 → 13,00 Hz |
| 6 | 777 → 2070 | 5,00 → 11,00 Hz |
| 2 | 717 → 1788 | 25,00 → 14,50 Hz |
Gemiddelde RPM-toename: ×2,39. Gemiddelde frequentieverschuiving: ×1,00.
Toerental meer dan verdubbeld—de frequentie verschoof niet. Motor, transmissie en aandrijfas zijn in één iteratie uitgesloten, zonder enige demontage.
Stap 2. Orde Analyse
Vervolgens wordt een segment met stabiele snelheid genomen—het script selecteert dit op basis van het criterium "maximale amplitude met minimale RPM-variatie". Voor mij waren dit 20 seconden bij 51 km/u.
Het spectrum wordt ontleed naar veelvouden van de wielrotatiefrequentie:
Orde Frequentie Z X Y Z/achtergrond
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
Bovendien wordt de Q-factor van de hoofdpiek berekend: Q = 122, bandbreedte op -3 dB is slechts 0,10 Hz. Dit is een smalle discrete lijn, geen resonantie-bult. Ter vergelijking, tijdens acceleratie op ruw asfalt, daalt Q tot 1,4—dat is ophangingsresonantie, en het mag niet worden verward met een defect.
Stap 3. Omhullingsanalyse — Lager Check
Een lagerdefect is geen trilling maar impactimpulsen. Deze manifesteren zich als modulatie van een hoogfrequente draaggolf en worden alleen gedetecteerd via demodulatie: banddoorlaatfiltering, Hilbert-transformatie, omhullingsspectrum.
Het script voert dit uit in de banden 60–240 Hz en 100–240 Hz en zoekt naar discrete lijnen. Het belangrijkste teken: lagerdefectfrequenties zijn geen gehele veelvouden van de wielrotatie—de buitenring is typisch 3,5–4,5×, de binnenring 5,5–6,5×. Gehele ordes hebben geen betrekking op lagers.
In mijn gegevens is de maximale omhullingspiek 8,6 keer de achtergrondmediaan; er zijn geen discrete lijnen. Lager uitgesloten.
Stap 4. Oordeel
Het script correleert de dominante orde met een mechanische oorzaak en vergelijkt de amplitude met drempels (0,30 m/s²—merkbaar, 0,50—defect).
Resultaat en een Fout Die Me Bijna Op Een Dwaalspoor Zette
De eerste run leverde een onjuist antwoord op, en het is de moeite waard om te laten zien waarom.
Het script vond een dominante lijn op 12,25 Hz en ging er standaard van uit dat dit de eerste orde van het wiel was. Dit impliceerde een snelheid van 101 km/u en een diagnose van "onbalans".
De diagnose zou onjuist zijn geweest. Met een omtrek van 2,30 m is de eerste orde bij 60 km/u 7,25 Hz—en ik ging niet sneller dan 60 km/u tijdens deze rit. Daarom kan 12,25 Hz fysiek niet de eerste orde zijn.
De enige consistente verklaring: 12,25 Hz is de tweede orde, de eerste orde is 6,125 Hz, snelheid ≈ 51 km/u.
Onafhankelijke verificatie via de transmissie:
- Wiel-RPM bij 6,125 Hz = 368 RPM
- Totale overbrengingsverhouding = 1460 / 368 = 3,97
- 5e versnelling van 8HP: 1,285 × 3,204 eindaandrijving = 4,12
Een afwijking van 4%—binnen de tolerantie voor bandenomtrek. 5e versnelling bij 51 km/u bij 1460 RPM is volkomen normaal. De hypothese is bevestigd.
Herberekening:
- Eerste orde: 0,083 m/s², praktisch op achtergrondniveau → onbalans uitgesloten
- Tweede orde: 0,442 m/s², 10 keer hoger dan achtergrond → dominant
- Richting: 71% verticaal → radiale onregelmatigheid, niet lateraal
De tweede wielorde met een schone eerste orde betekent: bandelliptisch, slijtage op twee tegenoverliggende punten, velgvervorming op twee punten, of het begin van loopvlakseparatie.
De symptomen komen perfect overeen. De brom verschijnt bij 50–60 km/u—precies gemeten bij 51 km/u. Het reageert niet op gas—bewezen door de kickdown-test. Het bereik is smal—12,25 Hz valt binnen het natuurlijke frequentiebereik van de onafgeveerde achteras massa, daarom resoneert het defect daar het sterkst, terwijl hogere en lagere frequenties buiten resonantie vallen.
Balanceren helpt hier niet: het corrigeert de eerste orde, die schoon is. Een radiale loopvlakmeting op een balancer is nodig, apart voor de band en het gemonteerde wiel.
De Rol van AI in Dit Werk
Het is belangrijk om nauwkeurig te zijn omdat er veel mystiek rond het onderwerp hangt.
AI heeft de storing niet "gehoord". Claude heeft geen sensor of loopvlakbalancer vervangen.
Wat het feitelijk deed:
- Stelde meetvereisten op. Het berekenen van de benodigde bemonsteringsfrequentie op basis van defectfrequenties, montagevereisten en de reeks manoeuvres op de route—dit alles wordt bepaald door de fysica van het probleem, en een fout hier devalueert elke verdere verwerking.
- Schreef beide tools. De scripts voor het parsen van overlappende frames en voor orde-analyse met Hilbert-transformatie zouden uren handmatig werk hebben gekost; hier duurde het minuten.
- Voerde de analyse zelf uit. Motor RPM correlatietest via kickdown, Q-factor berekening, omhullingsanalyse, kruiscontrole van de overbrengingsverhouding—het gehele analytische deel.
- Ving zijn eigen fout op basis van één opmerking. De zin "Ik ging niet sneller dan 60" veranderde de interpretatie volledig: de diagnose verschoof van de eerste orde naar de tweede, van onbalans naar elliptischheid. Dit is een cruciaal punt—AI test hypothesen tegen fysica, in plaats van ze te verdedigen.
De taakverdeling was eerlijk: de mens levert context en fysieke beperkingen, AI berekent en controleert op consistentie. Zonder de opmerking over 60 km/u zou de diagnose elegant en onjuist zijn geweest.
De Bodem: Wat de Methode Kost
| Item | Prijs |
|---|---|
| CarNVH Pro | €12 |
| phyphox | Gratis |
| Smartphone | Oude A51, al in bezit |
| OBD-adapter | Al in bezit, en uiteindelijk niet nodig |
| Scripts | Eenmalig geschreven, herbruikbaar |
| Totaal | €12 |
Vergeleken met $99,99 voor een referentie-app die geen ruwe gegevens levert, en een servicebezoek met de mededeling "er is een brom van achteren".
De methode is overdraagbaar naar elke auto zonder wijzigingen. Alleen twee getallen veranderen: wielomtrek en overbrengingsverhoudingen. De fysica van rotatie is hetzelfde voor Audi Q7, BMW X5, Mercedes GLE, Range Rover, Tesla Model Y, Volvo XC90, Porsche Cayenne, VW Touareg, Ford Ranger, Toyota Land Cruiser, en elke andere auto.
Voor Range Rovers, Q7's, Touaregs, Cayennes en andere SUV's met luchtvering geldt een aanvullende voorwaarde: handhaaf één rijhoogtemodus gedurende de hele rit. Het veranderen van de bodemvrijheid verandert de hoeken van de aandrijfas en de belasting van de ophanging, waardoor opnames onvergelijkbaar worden.
Voor elektrische voertuigen werkt de methode nog beter: de motor is stil, mechanische bronnen zijn hoorbaar alsof ze in een laboratorium staan, en de toerentalcorrelatietest is volledig overbodig.
Wat Nu
De volgende stap is het bepalen van de kant, en hier betaal ik de prijs voor het plaatsen van de telefoon in het midden van de kofferbak. Zo'n punt is even ver verwijderd van beide achterste wielkasten en isoleert de kant niet. Twee opnames zijn nodig, verschoven naar de rechter- en linkerwielkast, op dezelfde snelheid, met dezelfde vaste schaal. Het amplitudeverschil bij 12,25 Hz zal het wiel aangeven.
En een verplichte controlemeting na reparatie: dezelfde weggedeelte, dezelfde snelheid, dezelfde instellingen. Als de piek bij 12,25 Hz daalt tot achtergrondniveau—het defect is objectief geëlimineerd, niet alleen "lijkt stiller". Dit is precies hoe voorspellende diagnostiek op schepen werkt, en dit exacte principe is volledig overdraagbaar op auto's.
De scripts nvh_prep.py, nvh_analyze.py, en de volledige technische beschrijving van de methode zijn gepubliceerd op GitHub: github.com/gptariacom/car-nvh-order-analysis (MIT).
Auteur—ingenieur bij Mind4Ship, voorspellende diagnostiek van maritieme apparatuur.
Vind je deze case goed?
Start een vergelijkbaar project — beschrijf "ik wil hetzelfde" en Builders sturen werkende prototypes. De link naar deze case staat al in de brief.
Bestel een vergelijkbaar project