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 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)
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 2. https://www.gpsworld.com/jammers-at-dachas-add-to-russias-ab... 3. https://twitter.com/lemonodor/status/1497295859196649475 4. https://twitter.com/lemonodor/status/1500719113185816577
I think it's mostly aerospace installations apparent on that map, such as https://ru.wikipedia.org/wiki/Медвежьи_Озёра_(центр_космичес...
Not sure what's going on in Pereslavl-Zalessky.
Having said that, of course GPS/GLONASS in the form of consumer phone-based navigation works just OK in Moscow. There is sometimes visible interference near the Kremlin though (your phone might suddently think it's in VKO).
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?
Anyway, edge case browser and all, but thought I'd raise it in case it's an issue.
Had to close the tab to get back to HN.
Aside from that, really impressive work. Well done.
I don't know if they are usable for your idea though
I'm around there and my boat plotter (~2005 device) was going berserk in June! Will have to ask other boaters if they had similar experience?
Also, how does ADS-B exchange get coverage around antarctic (i.e. Durban to Australia flights)? I thought they rely on RTL-SDR's sprinkled around the land? I know Iridium monitors ADS-B and AIS from space, but at this point they can also monitor jammed signals itself?
it seems obvious publishing this might not be fully appreciated by the crowd who jams. has this project generated any complaints?
Back before I made this site, when I was publishing my maps on twitter, on-demand, I did get DMs like "I'm Ukrainian. Could you make maps for [range of dates] for [region]?" and I had to think through the ethics. Was I OK publishing information that could not-inconceivably get someone killed in a war zone? Was that person really Ukrainian? Did it matter?
I decided that this information is being broadcast for anyone to easily receive, and also that it is self-censoring in a way: aircraft generally don't fly with ADS-B in a war zone, so I don't have data for hot war zones. (But I'm open to revisiting if someone has a different perspective.)
Show when a jam starts, when it ends and where.
Yes, I know it's not as simple to throw together as just using Mapbox.
Can anyone narrate any of the jammed signals? Like for instance what would be jamming in the ocean between Tripoli and Benghazi? Or what would be jamming around San Antonio, TX?
Interference in the U.S. is almost always the result of military testing or training. If you check against another map (Google maps, or skyvector.com/globe.adsbexchange.com to see sectional charts) you'll see that the interference region is usually centered on or close to a military base or Military Operations Area. There are often FAA notices to pilots about potential GPS outages in those areas.
Around Syria, C4ADS did some research a few years back identifying Russia as the main culprit; I think the conclusion was that Russia is jamming GPS to defend their bases from drone attack. https://www.c4reports.org/aboveusonlystars
At least some of the jamming around Moscow is thought to be an anti-drone measure (to stop nosy photographers? assassins?): https://www.gpsworld.com/jammers-at-dachas-add-to-russias-ab...
In the Baltic, the assumption seems to be that it's usually Russian military.
I wish someone more knowledgeable about what's going on in other regions with interference would write about them! I just don't have the time and expertise do dig into all of them.
[0] https://www.aviationtoday.com/2017/01/31/are-gps-jamming-inc...
[1] https://www.economist.com/science-and-technology/2021/05/06/...
https://www.cnet.com/culture/truck-driver-has-gps-jammer-acc...
The amazing thing is that there's ADS-B data from Syria at all. Who in their right mind would fly over Syria? With ADS-B enabled, no less.
Do GPS packets have a checksum?
https://panbo.com/my-garmin-gps-45-was-amazing-in-1994-and-i...
Transmit a strong signal on the main GPS frequency (1575.42 MHz). Receivers get saturated and can't hear the real signal.
Medium Jamming:
Transmit the signal that a receiver would receive at a specific location loudly. GPS receivers will lock onto that signal, and report they are at the location you choose, rather than the real location they're at.
Advanced Jamming:
Pick a target, such as a VIP plane. Calculate the aggregate GPS signal that that plane is receiving right now from all the GPS satellites. Now start transmitting that same signal towards your target (you'll have to transmit ahead of time due to the speed of light delay, but that isn't an issue because GPS signals are fully predictable). Now gradually modify the signal to make the target think they're moving off their desired course, and to make them make corrections. Watch them in realtime, and adjust the signal so they correct in the direction you choose.
This is how Iran stole a drone[1].
Military GPS is encrypted (ie. XORed with a crypto-stream), which makes the signal not predictable ahead of time, which makes the advanced attack impossible. The basic and medium attacks are still possible though.
[1]: https://en.wikipedia.org/wiki/Iran%E2%80%93U.S._RQ-170_incid...
It seems that progress is being made: https://insidegnss.com/what-is-navigation-message-authentica...
Or you could just send any super strong signal on the frequency to cover the satellite signal up. That can also work.
I haven't followed their progress and was really surprised to see globe view, 3D terrain and custom projections landing in v2.
> In Europe, Poland, Romania, Lithuania, Latvia, Kaliningrad, and Finland sometimes show presumed jamming activity, depending on how active Russia is.
The wording here is confusing, it seems to imply that Kaliningrad is a country, which it is not (it's a Russian exclave, as the author mentions in one of the HN comments).
Also, is “jamming” a precision reduction (seems improbable given how I think gps works) or a signal strength reduction in this case?
Because GPS is way cool. First, there is the official site: https://www.gps.gov/systems/gps/performance/accuracy/ I am far from being an expert, but being a flying nerd, that's what I can tell you:
The more satellites in sight you have access to, the cooler stuff you can do with GPS. Minimum to establish 2D (on globe projection 2D) location is 3 sats, minimum for altitude is 4 sats. There are mathematical simulations you can do to see if, and when, a given aircraft will have access to 4 sats (or more), called RAIM: https://www.mygdc.com/new/static/usermanuals/web_help/RAIM_P...
Now, things get even better if you use 4+ sats, or sats from different constellations (I am not sure how mature is cross-constellation data validation, however, so let's pretend 1 constellation for now). With 5 sats, the receiver can calculate the position even more precisely, determine the level of URE, etc. You can even detect that one source is unreliable, and discard it (effectively falling back to 4 sats). With even more sats you can (theoretically) do cool data analysis, where you can determine those factors even more precisely.
Now, add the inertial factors. Many passenger have either in-software (history of previous positions) or in-hardware (think accelerometers, magnetometers) inertial data sources. A sophisticated flight management software (FMS) can cross-corelate the inertial data with GNSS data and determine when the latter becomes unreliable.
All of those measurements and factors can subsequently be reported via ADS-B or ACARS, to help with fleet management, and general predictive maintenance. While aviation technology might sometimes look way out of date at a first glance, the modern airplanes have some really cool technology hiding in it.
This paper describes in more detail some experiments using a GPS jammer and flying an aircraft around Edwards Air Force Base with ADS-B and what happens to the position reporting: https://web.stanford.edu/group/scpnt/gpslab/pubs/papers/Liu_...
Moscow is out of reach even for the longest range (300km) HIMARS missiles which are not supplied to the Ukraine.
GPS jamming protects Russia's command and control structures from American intermediate range cruise missiles that can be launched from Mk41 launchers in Romania and Poland as well as from American ships.