Alle onderzoeken

GPS-jamming detecteren: een gratis, reproduceerbare methode

Datakaart: we hebben een echte GPS-jammingdetector uitgevoerd op gratis publieke data. 27.99 station-uren aan live CDDIS-data verwerkt, 0 synchrone multi-station interferentiegebeurtenissen gedetecteerd, 16 geïsoleerde 5-sigma uitschieters bij afzonderlijke stations allemaal uitgesloten als ruis, 7 IGS-stations gemonitord waaronder station LAMA in Polen.

Kort antwoord: je hebt geen propriëtaire hardware of een gerubriceerde feed nodig. De meeste GNSS-ontvangers berekenen al de carrier-to-noise ratio (CNR, ook geschreven als C/N0), een getal dat beschrijft hoe zuiver ze elke satelliet ontvangen, en NASA's CDDIS-archief publiceert die waarde gratis voor meer dan 500 publieke IGS-grondstations wereldwijd, binnen enkele minuten bijgewerkt. Een methode uit 2025 van de University of Texas at Austin (Clements & Humphreys) gebruikt datzelfde gratis archief om daadwerkelijke GPS-interferentie op te sporen: bereken het verschil tussen de CNR van elke satelliet en die van zichzelf enkele seconden eerder, middel dit over alle satellieten die een station volgt, en let op een synchrone piek bij meerdere stations honderden kilometers uit elkaar op exact hetzelfde moment. Een piek bij slechts één station, zonder echo elders, is ruis, geen jamming. We hebben deze detector gebouwd en live getest tegen 27.99 station-uren aan echte CDDIS-data over 7 stations in het Oostzeegebied en Centraal-Europa, waaronder LAMA in Polen. Ons tijdvenster was rustig: 16 geïsoleerde anomalieën bij individuele stations, nul synchrone multi-stationgebeurtenissen. Hieronder vind je de volledige methode, de echte data en wat een daadwerkelijke detectie onderscheidt van toeval.

Wat dit is Een werkende reproductie van een gepubliceerde academische detector voor GNSS-interferentie, uitgevoerd op echte openbare data die we zelf hebben opgehaald, eerlijk gerapporteerd inclusief het nulresultaat. We hebben geen jamming gedetecteerd in ons tijdvenster, en dit is geen bewering dat een locatie momenteel wordt gejamd, of momenteel veilig is. We hebben niets anders onderzocht dan NASA's eigen publieke archief en geen enkel slachtoffer genoemd.

Waarom dit nu belangrijk is

GPS- en GNSS-interferentie in het Oostzeegebied is van een niche electronic-warfare-onderwerp uitgegroeid tot voorpaginanieuws. Luchtvaart- en maritieme autoriteiten in Polen, Litouwen en Finland melden sinds 2022 een sterke toename in jamming en spoofing, en nieuwsmedia van Defense News tot Euronews hebben bericht over telefoons, drones en schepen die hun GPS-fix verloren in de regio tot in 2026. Piloten houden het dagelijks bij op communityfora zoals OPSGROUP; een openbare heatmap, gpsjam.org, verzamelt ADS-B-navigatienauwkeurigheidsrapporten van vliegtuigen op een live kaart. Dat is een bijzonder nuttig operationeel hulpmiddel, maar het leidt interferentie indirect af uit het gedrag van vliegtuigen. Het leest niet de daadwerkelijke signaalkwaliteit van de ontvanger uit.

Wie vandaag zoekt naar "how to detect GPS jamming", vindt vrijwel uitsluitend leveranciers van fleet-trackers die hardware verkopen, vergezeld van generieke lijstjes met signalen om op te letten. Geen van hen toont een echte detectiepijplijn die op echte data draait. Dat is het gat dat dit artikel vult: een methode op de signaallaag, gebaseerd op data die iedereen gratis kan downloaden, waarbij de code en de werkelijke cijfers worden getoond in plaats van slechts beweerd.

De methode: time-differenced carrier-to-noise ratio

Carrier-to-noise ratio beschrijft in dB-Hz hoe sterk een ontvanger het signaal van een bepaalde satelliet waarneemt ten opzichte van de achtergrondruisvloer. Dit varieert van nature met de satellietelevatie, antennekwaliteit en atmosferische omstandigheden, waardoor een ruwe CNR-drempelwaarde een slechte jammingdetector is: een lage satelliet nabij de horizon lijkt op een gejamde satelliet. De oplossing van Clements en Humphreys is om in plaats daarvan een drempelwaarde toe te passen op het short-lag tijdsverschil, wat langzame, natuurlijke drift elimineert en snelle overgangen isoleert:

Wat we daadwerkelijk hebben uitgevoerd

Een scepticus moet dit kunnen nabouwen, dus hier is de volledige pijplijn.

Hoe 27.99 rustige station-uren er in werkelijkheid uitzien

LAMA, ons belangrijkste station, was het rustigste van de zeven. De Λ[k]-ruisvloer mat een standaarddeviatie van slechts 0.124 dB-Hz, en produceerde nul drempeloverschrijdingen bij zowel 5σ als 6σ over het volledige tijdvenster van vier uur. Dit is hoe een echt schoon signaal eruitziet: geen vlakke lijn, maar echte ruis die binnen een nette bandbreedte beweegt en daar geen enkele keer buiten treedt.

Lijndiagram van de Lambda k CNR-tijdsverschilstatistiek voor station LAMA, Polen, over een tijdvenster van 4 uur op 29 september 2026, oscillerend in een smalle band rond nul zonder drempeloverschrijdingen op plus of min 6 sigma.
LAMA-station (Lamkówko, Polen), Λ[k] over het volledige tijdvenster van 4 uur, onze eigen live berekening op basis van echte CDDIS-data. Rode lijnen markeren de ±6σ-drempelwaarde, 0.74 dB-Hz. Geen enkele epoch overschrijdt deze.

Over alle zeven stations heen is hetzelfde beeld te zien bij verschillende ruisniveaus. GANP in Slowakije vertoonde de meeste ruis, met een standaarddeviatie van 0.219 dB-Hz, en produceerde de grootste individuele piek die we in de hele dataset hebben geregistreerd.

Λ[k]-ruisvloer en drempeloverschrijdingen, per station, tijdvenster van 4 uur
StationLandRuisvloer (σ, dB-Hz)5σ-overschrijdingen6σ-overschrijdingen
ONSA (Onsala)Zweden0.125112
GANP (Ganovce)Slowakije0.21942
GOPE (Pecny)Tsjechië0.18710
WTZR (Wettzell)Duitsland0.15200
METG (Metsähovi)Finland0.12800
MAR6 (Mårtsbo)Zweden0.12400
LAMA (Lamkówko)Polen0.12400

Totalen: 16 geïsoleerde overschrijdingen bij een enkel station op 5σ, wat terugvalt naar 4 op 6σ. Die daling is op zichzelf een nuttig, eerlijk meetpunt voor iedereen die een dergelijke detector afstelt: het versoepelen van de drempelwaarde met één sigma verviervoudigde ruwweg ons aantal valse meldingen, waarbij geen van beide sets overeenkwam met een echte multi-stationgebeurtenis.

Overlappend lijndiagram van Lambda k voor de stations GANP, GOPE en LAMA over hetzelfde tijdvenster van 4 uur, met een enkele scherpe piek op de GANP-lijn rond de 27-minutenmarkering die ontbreekt bij de andere twee stations.
Λ[k] over elkaar heen gelegd voor GANP (Slowakije), GOPE (Tsjechië) en LAMA (Polen) over hetzelfde tijdvenster. Het enige visueel duidelijke kenmerk in 12 gecombineerde station-uren is een enkele piek bij GANP, volledig beperkt tot dat ene station.

De ene near-miss, en waarom deze niet telt

Achtentwintig station-uren aan reële RF-ruis leverden precies één toevalligheid op die het bespreken waard is, want een geloofwaardig artikel toont juist ook de randgevallen, niet alleen de zuivere data. Om 07:27:38 UTC overschreed ONSA zijn 5σ-drempelwaarde bij +0.656 dB-Hz. Twee seconden later, om 07:27:40 UTC, overschreed GANP zijn eigen 5σ-drempelwaarde bij −1.2 dB-Hz. Twee stations binnen vijf seconden, beide getriggerd: op papier exact het profiel van een mogelijke multi-stationgebeurtenis.

Dat is het niet, om twee redenen die de ruimtelijke gelijktijdigheidscontrole van het onderzoek juist moet onderscheppen. Ten eerste klopt het voorteken niet: een echte grootschalige storingsbron verlaagt de CNR bij elk station dat het bereikt, het verhoogt het niet bij het ene en verlaagt het bij het andere. Ten tweede komt de magnitude niet overeen: de overschrijding bij ONSA kwam nauwelijks boven de drempelwaarde uit, terwijl die van GANP ongeveer twee keer zo groot was als de eigen drempel. Bij de striktere 6σ-drempelwaarde kwalificeert de meting van ONSA om 07:27:38 helemaal niet meer, en verdwijnt het toeval volledig. Die piek bij GANP is overigens ook een duidelijke illustratie van een bekend artefact van deze methode: een daadwerkelijke abrupte sprong in de CNR van één station verschijnt in Λ[k] als een passend positief-negatief paar met precies L seconden ertussen, hier +1.9 dB-Hz om 07:27:26 gevolgd door −1.8 dB-Hz om 07:27:29. Die combinatie is typerend voor een reële, lokale gebeurtenis bij de ontvanger of antenne van GANP. Dat dit beperkt bleef tot alleen GANP, zonder enige echo bij GOPE of LAMA op 300 tot 600 km afstand, sluit een gedeelde fysieke oorzaak definitief uit.

Wat dit niet bewijst

Eerlijke kanttekeningen, want een getal zonder nuances is slechts marketing.

Hoe je dit zelf uitvoert

Alles hier is voor iedereen gratis beschikbaar. Kies een set geografisch verspreide IGS-high-rate-stations uit de actuele netwerklijst op network.igs.org. Haal RINEX v3-blokken van 15 minuten op via anonieme FTP-SSL uit het publieke archief van CDDIS, zonder dat een account nodig is. Decomprimeer en parse met opensource-tools zoals georinex, waarbij je het CNR-observabel extraheert voor de gewenste constellatie en frequentie. Bereken Λ[k] exact zoals hierboven beschreven, bepaal de ruisvloer van je eigen stations en beschouw, cruciaal, een overschrijding bij één station nooit op zichzelf als een detectie. De controle op ruimtelijke gelijktijdigheid over verspreide stations is wat een hapering van de ontvanger verandert in een verdedigbare claim, en het is ook de stap die onze ene near-miss terecht terzijde schoof.

Waarom dit ertoe doet

De waarde van een methode als deze is dat het de ground truth uitleest op de signaallaag, vanuit infrastructuur waarvoor niemand blind hoeft te vertrouwen op het dashboard van een leverancier. gpsjam.org en vergelijkbare tools leveren waardevol werk door interferentie af te leiden uit hoe vliegtuigen en schepen downstream reageren. Deze aanpak leest de oorzaak directer af, in data dat een wereldwijd netwerk van geodetische ontvangers al decennialang gratis publiceert, uur na uur. Die combinatie, een reële academische detectiemethode, publieke data zonder toegangsdrempels afgezien van een gratis FTP-login, en een volledig reproduceerbare pijplijn, is zeldzaam in een domein dat anders wordt gedomineerd door verkooppagina's van leveranciers en gerubriceerde feeds. We hebben dit integer uitgevoerd, inclusief het resultaat waarvan we niet hadden verwacht dat het het nuttigste deel zou zijn: een schone baseline, gekoppeld aan reële aantallen fout-positieven, is precies wat iedereen die deze methode implementeert moet weten voordat hij de eerste waarschuwing vertrouwt.

Gerelateerde artikelen