diff --git a/Projects/3-Advanced/ADS-B-Decoder.md b/Projects/3-Advanced/ADS-B-Decoder.md new file mode 100644 index 00000000..311ff96b --- /dev/null +++ b/Projects/3-Advanced/ADS-B-Decoder.md @@ -0,0 +1,35 @@ +# ADS-B Decoder + +**Tier:** 3-Advanced + +All modern commercial aircraft transmit Automatic Dependent Surveillance-Broadcast (ADS-B) messages multiple times a second for the duration. These messages contain multiple different types of messages along with data about the flight and the current conditions of the flight. +This project idea is to build a "simple" decoder to find out what each message contains and data from some of the messages! This is an advanced project, even when building a simple decoder due to how complex the ADS-B system is. You can take this project a lot further to put your skills to the test! Resources for learning more about ADS-B or ADS-B Datasets can be found in the useful links and resources section. + +## User Stories + +- [ ] Convert the original message from hexadecimal to a more useful binary format +- [ ] Filter out any message that is not 112 bits long +- [ ] Split the message into 5 sections corresponding to the sections of an ADS-B message as follows: + Downlink Format (DF) + Transponder Capability (CA) + ICAO Aircraft Address (ICAO) + Data Payload + Parity +- [ ] Determine the type of each message +- [ ] Determine the call sign of the aircraft + +## Bonus features + +- [ ] Determine the altitude and/or speed of the aircraft +- [ ] Sort the messages by aircraft +- [ ] Determine the current status of the aircraft +- [ ] Check for errors in the message using the parity section of the message + +## Useful links and resources + +- [1090MHz Riddle - A Guide for Decoding ADS-B Signals](https://mode-s.org/decode/) +- [Sample Data](https://www.adsbexchange.com/data-samples/) + +## Example projects + +- [Python ADS-B Decoder](https://github.com/junzis/pyModeS) diff --git a/README.md b/README.md index 2d209743..b04b3a93 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,7 @@ required to complete them. | Name | Short Description | Tier | | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------- | +| [ADS-B Decoder](./Projects/3-Advanced/ADS-B-Decoder.md) | A simple decoder for ADS-B aircraft radio messages | 3-Advanced | | [Battleship Bot](./Projects/3-Advanced/Battleship-Bot.md) | Create a Discord bot that plays Battleship | 3-Advanced | | [Battleship Game Engine](./Projects/3-Advanced/Battleship-Game-Engine.md) | Create a callable engine to play the Battleship game | 3-Advanced | | [Boole Bots Game](./Projects/3-Advanced/Boole-Bot-Game.md) | Battling Bots driven by Boolean algebra | 3-Advanced |