{"id":16719485,"url":"https://github.com/junzis/the-1090mhz-riddle","last_synced_at":"2026-01-02T08:09:05.732Z","repository":{"id":28824138,"uuid":"32347545","full_name":"junzis/the-1090mhz-riddle","owner":"junzis","description":"The book about decoding Mode-S and ADS-B data","archived":false,"fork":false,"pushed_at":"2024-07-22T21:13:20.000Z","size":8988,"stargazers_count":109,"open_issues_count":16,"forks_count":51,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-01-22T01:45:02.987Z","etag":null,"topics":["ads-b","aircraft","decoding","mode-s"],"latest_commit_sha":null,"homepage":"http://mode-s.org","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/junzis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-16T19:23:13.000Z","updated_at":"2025-01-06T07:30:06.000Z","dependencies_parsed_at":"2024-10-12T21:41:53.969Z","dependency_job_id":"7a80c9e7-3e8c-42a8-a8fa-bc2fd0f24767","html_url":"https://github.com/junzis/the-1090mhz-riddle","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junzis%2Fthe-1090mhz-riddle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junzis%2Fthe-1090mhz-riddle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junzis%2Fthe-1090mhz-riddle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junzis%2Fthe-1090mhz-riddle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junzis","download_url":"https://codeload.github.com/junzis/the-1090mhz-riddle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243719400,"owners_count":20336607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ads-b","aircraft","decoding","mode-s"],"created_at":"2024-10-12T21:41:49.556Z","updated_at":"2026-01-02T08:09:05.693Z","avatar_url":"https://github.com/junzis.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"The 1090 Megahertz Riddle\n==========================\n\nThis is the working repository of the book \"The 1090 Megahertz Riddle: A Guide to Decoding Mode S and ADS-B Signals\".\n\nVisit the web version of the book online at: [mode-s.org](http://mode-s.org)\n\nThe second edition of this book is published by TU Delft OPEN Publishing as an open access book, under [CC BY-NC-SA-4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) license. You can find the publisher’s version of the book at: https://doi.org/10.34641/mg.11\n\n---\n\n## Synopsis\n\nIn the last twenty years, aircraft surveillance has moved from controller-based interrogation to automatic broadcast. The Automatic Dependent Surveillance-Broadcast (ADS-B) is the most common method for aircraft to report their state information like identity, position, and speed. Like other Mode S communications, ADS-B makes use of the 1090 megahertz transponder to transmit data. The protocol for ADS-B is open, and low-cost receivers can easily be used to intercept its signals. Many recent air transportation studies have benefited from this open data source. However, the current literature does not offer a systematic exploration of Mode S and ADS-B data, nor does it offer an in-depth explanation of the decoding process.\n\nThis book tackles this missing area in the literature. It offers researchers, engineers, students, and enthusiasts a clear guide to understanding and making use of open ADS-B and Mode S data. The first part of this book presents the knowledge required to get started with decoding these signals. It includes background information on primary radar, secondary radar, Mode A/C, Mode S, and ADS-B, as well as the hardware and software setups necessary to gather radio signals. After that, the 17 core chapters of the book investigate the details of all types of ADS-B signals and commonly used Mode S signals. Throughout these chapters, examples and sample Python code are used extensively to explain and demonstrate the decoding process. Finally, the last chapter of the book offers a summary and a brief overview of research topics that go beyond the decoding of these signals.\n\n\n## Cite this book\n\n```\n@book{sun1090mhz,\n    author = {Sun, Junzi}, \n    title = {The 1090 Megahertz Riddle: A Guide to Decoding Mode S and ADS-B Signals},\n    publisher = {TU Delft OPEN Publishing},\n    year = 2021,\n    edition = 2,\n    isbn = {978-94-6366-402-8},\n    doi = {10.34641/mg.11}\n}\n```\n\n\n## Table of content\n\n```\nChapter 1 Introduction\n  Section 1.1 Background: The \"death ray\" that saves lives\n  Section 1.2 The primary radar\n  Section 1.3 The secondary radar\n  Section 1.4 Mode S\n  Section 1.5 ADS-B\n  Section 1.6 Other Mode S services\n  Section 1.7 Summary\n\nChapter 2 Quick Start: Hardware and Software to Receive Mode S Signals\n  Section 2.1 Range\n  Section 2.2 Antenna\n  Section 2.3 Receiver\n  Section 2.4 Software tools\n\nChapter 3 ADS-B Basics\n  Section 3.1 Message structure\n  Section 3.2 Capability\n  Section 3.3 ICAO address\n  Section 3.4 ADS-B message types\n  Section 3.5 Example of ADS-B message structure\n  Section 3.6 Availability and transmission rate\n  Section 3.7 ADS-B versions\n\nChapter 4 Aircraft identification and category\n  Section 4.1 Identification (call sign)\n  Section 4.2 Wake vortex category\n  Section 4.3 Decoding example\n\nChapter 5 Airborne position\n  Section 5.1 An over-simplified example\n  Section 5.2 Compact position reporting\n  Section 5.3 Globally unambiguous position decoding\n  Section 5.4 Locally unambiguous position decoding\n  Section 5.5 Altitude decoding\n  Section 5.6 Verification of decoded positions\n\nChapter 6 Surface position\n  Section 6.1 Movement\n  Section 6.2 Ground track\n  Section 6.3 Position\n  Section 6.4 Decoding example\n\nChapter 7 Airborne velocity\n  Section 7.1 Vertical rate\n  Section 7.2 GNSS and barometric altitudes difference\n  Section 7.3 Sub-type 1 and 2: Ground speed decoding\n  Section 7.4 Sub-type 3 and 4: Airspeed decoding\n\nChapter 8 Aircraft operation status\n  Section 8.1 Version 0\n  Section 8.2 Version 1\n  Section 8.3 Version 2\n\nChapter 9 Uncertainties in ADS-B\n  Section 9.1 Terminology\n  Section 9.2 Version 0\n  Section 9.3 Version 1\n  Section 9.4 Version 2\n\nChapter 10 Error control in ADS-B\n  Section 10.1 CRC error control\n  Section 10.2 ADS-B parity\n\nChapter 11 Basics of Mode S services\n  Section 11.1 Mode S message structures\n  Section 11.2 Parity\n  Section 11.3 ICAO address recovery\n  Section 11.4 Two's complement coding\n\nChapter 12 All-call reply\n\nChapter 13 Surveillance replies\n  Section 13.1 Message structure\n  Section 13.2 Altitude code\n  Section 13.3 Identity code\n\nChapter 14 Airborne collision avoidance system\n  Section 14.1 Background\n  Section 14.2 ACAS with Mode C transponders\n  Section 14.3 ACAS with Mode S transponders\n  Section 14.4 ACAS coordination interrogation\n  Section 14.5 ACAS coordination reply\n\nChapter 15 Comm-B\n  Section 15.1 Structure\n  Section 15.2 BDS\n\nChapter 16 Mode S elementary surveillance\n  Section 16.1 Data link capability report (BDS 1,0)\n  Section 16.2 Common usage GICB capability report (BDS 1,7)\n  Section 16.3 Aircraft identification (BDS 2,0)\n  Section 16.4 ACAS active resolution advisory (BDS 3,0)\n\nChapter 17 Mode S enhanced surveillance\n  Section 17.1 Selected vertical intention (BDS 4,0)\n  Section 17.2 Track and turn report (BDS 5,0)\n  Section 17.3 Heading and speed report (BDS 6,0)\n\nChapter 18 Mode S meteorological services\n  Section 18.1 Meteorological routine air report (BDS 4,4)\n  Section 18.2 Meteorological hazard report (BDS 4,5)\n\nChapter 19 Inferencing of BDS codes\n  Section 19.1 BDS codes identification logics\n  Section 19.2 Identification of BSD 5,0 and 6,0\n  Section 19.3 Decoding examples\n\nChapter 20 Summary and beyond\n  Section 20.1 Summary\n  Section 20.2 Crowd-sourced networks\n  Section 20.3 Additional data\n  Section 20.4 Congestion\n  Section 20.5 The Future of Mode S and ADS-B\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunzis%2Fthe-1090mhz-riddle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunzis%2Fthe-1090mhz-riddle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunzis%2Fthe-1090mhz-riddle/lists"}