7 ms·
I made this site. Copying a comment I made on HN a few weeks ago: The ADS-B signals that many aircraft broadcast include not just the aircraft's GPS positions
by jjwiseman 4y ago
I made this site.
Copying a comment I made on HN a few weeks ago:
The ADS-B signals that many aircraft broadcast include not just the aircraft's GPS positions, but also a measure of GPS accuracy (strictly speaking, ADS-B doesn't talk about GPS specifically and can handle any sort of navigation technology; I'm sure there are some planes out there reporting positions based on inertial navigation systems, with correspondingly low accuracy, or GLONASS-derived positions, or whatever, but my understanding is that right now something on the order of 99% of aircraft with ADS-B are using good old GPS so I'll just keep using the term GPS in this description). If you go to https://globe.adsbexchange.com https://globe.adsbexchange.com and click on just about any aircraft, you'll see an info sidebar on the left of the screen. Scroll down until you see the ACCURACY section, and you'll see values labeled NACp, SIL, NACv, NICbaro, and Rc. Those are all self-reported measures of the accuracy of the data being sent by the aircraft[1]. NACp is "Navigation Accuracy Category for position", and is a good measure of whether the aircraft's GPS is working well. (A somewhat obscure feature of ADS-B Exchange lets you see a map of all aircraft that are currently reporting poor navigation accuracy for their GPS: https://globe.adsbexchange.com/?badgps https://globe.adsbexchange.com/?badgps)
To make the maps, I process a day's worth of data from ADS-B Exchange to find all the aircraft reporting poor navigation accuracy and then I color map hexes (using H3 hexes) according to the proportion of aircraft passing through that hex that reported bad GPS accuracy. Specifically, I'm counting an aircraft as experiencing "interference" if it at some point reported good navigation accuracy and then reported low accuracy. Doing this helps filter out aircraft that just have an ongoing issue with their GPS equipment, or don't even have GPS.
When I do that, areas where there is systematic interference—almost always jamming by military systems—become obvious. There are a few conflict zones (Syria, Cyprus, Israel) that have been experiencing jamming for years, and the U.S. often has smaller scale military testing, especially in the West and Southwest. You can also see the jammers that are apparently setup around Moscow to prevent drones from flying near Oligarch dachas[2].
I started making these maps in February before Russia invaded Ukraine because I thought it might provide an early warning of an invasion. I didn't see that, and in fact this technique doesn't do a very good job of mapping GPS jamming around the actual war zones because civil aviation stopped over Ukraine, so there are zero or few aircraft with ADS-B reporting their GPS accuracy[3]. Without that data, I can't make a map.
Sometimes I do see changes, like when Russia suddenly started jamming around Kaliningrad in March 2022, causing interference in many Baltic states and leading to Finland to cancel some flights[4]. Then a few days later, they just stopped.
I don't think too many people have realized yet what an amazing source of GPS interference data is available using ADS-B! It's like having thousands of sensors roaming the planet, broadcasting GPS accuracy data every few seconds. I sometimes wonder if I would disrupt someone's nascent business model if I started publishing my maps regularly.
1. https://twitter.com/lemonodor/status/1493789598077440000 https://twitter.com/lemonodor/status/1493789598077440000
2. https://www.gpsworld.com/jammers-at-dachas-add-to-russias-ability-to-silence-gps/ https://www.gpsworld.com/jammers-at-dachas-add-to-russias-ab...
3. https://twitter.com/lemonodor/status/1497295859196649475 https://twitter.com/lemonodor/status/1497295859196649475
4. https://twitter.com/lemonodor/status/1500719113185816577 https://twitter.com/lemonodor/status/1500719113185816577
- lysp 4y agoIt would be interesting to graph clusters of jamming over time. Show when a jam starts, when it ends and where.
- toomuchtodo 4y agoThis is incredibly cool, thank you for sharing.
- deleted 4y ago[deleted]
- noman-land 4y agoThis is remarkable and I'm shocked it doesn't have more comments. Really cool stuff. Thank you for sharing.
- deleted 4y ago[deleted]
- pmontra 4y agoI noticed that the map is perhaps the one that moves more smoothly on my browser (Firefox Android), included the browser version of Google maps. Well done but how did you do it? On the other side I couldn't use the history button to come back to HN after visiting the site: too many URLs pushed into history. As a very low priority activity, is there a way to keep the URL constant and generate one only if someone wants to share a screen?
- NelsonMinar 4y agoIt's using MapBox which has a very nice WebGL map renderer.
- EdwardDiego 4y agoAmazing work, but just some feedback, I'm running Opera 70.3 on an Android phone, and navigating the map filled my navigation history with a large amount of links to a given lat/long, I'm guessing they referred to where I touched while rotating or zooming in. Anyway, edge case browser and all, but thought I'd raise it in case it's an issue.