Skip to content

dump1090 data analysis scripts in Python and Geographiclib

License

Notifications You must be signed in to change notification settings

bucweat/ads-b-analysis

 
 

Repository files navigation

ads-b-analysis

dump1090 data analysis scripts in Python and Geographiclib.

This repository contains a set of script to analyze the BaseStation format data obtained from dump1090 ADS-B receiver.

This script is also applicable for the BaseStation format data obtainable from Radarcape and FlightRadar24 FR24 Box receiver.

Files

  • ads-b-log.sh: analysis script running on the receiver (Raspberry Pi, etc.)
  • ads-b-log-example.txt: output example from ads-b-log.sh
  • antenna-design-20140615.jpg: antenna design memorandum
  • convdist.py: analyze the data in the output format from stdin, output to stdout, converted to distance (in nautical miles) and azimuth (in degrees)
  • convdxdy.py: analyze the data in the output format from stdin, output to stdout, converted to dx (distance of X axis, West-to-East) and dy (distance of Y axis, South-to-North) (distance in nautical miles)
  • plotdxdy.R: plot the data into a PNG file with R ggplot2 library

ADS-B message format reference

Requirement

Caveats

  • Conversion is slow (it's in Python, after all); run the conversion program on a fast machine.
  • Do not transfer the raw BaseStation format data to the host analyzing the data via TCP in real-time. The rate of packets is high (>20 lines/sec), and the packets may consume a considerable amount of bandwidth and CPU power (~ full 1 core of Core i7) of the recipient side.
  • Computationally lightweight load filtering (e.g., format conversion, choosing items, etc.) should be performed on the Ras Pi.

Signal receiving tips

  • Use the receiver protection and filterting on R820T SDR with:
    • 1/4-wavelength short stub filter for 1090MHz (which may effectively reduce cell phone airwaves around 2.18GHz)
    • Ferrite cores to the power and signal cables from Ras Pi to the R820T
    • Do not expose the receiving antenna close to the transmission antenna.
    • If you have to place a transmission antenna close to the receiving antenna, measure how the transmission affects the overall performance. In my case, 18.1MHz and 21MHz fed with 50W of power to the inverted vee antenna 1m above didn't affect the performance much. You need to experiment to determine the reception performance impact by the transmission. Note: the HF antenna near the ADS-B antenna has been removed.
  • Always try to use a better antenna system, with a simple antenna erected highest as possible (a sleeve dipole or a ground plane will work very well)
  • The ground height matters; the propagation of line-of-sight path works best.
  • Use daemontools for stable continuous operation
  • Update Raspbian distribution as necessary (security fix especially bash (though Raspbian itself does not assign bash as the default shell), etc.)
  • Details on Radarcape or Flightradar24.com box can be found at Radarcape Wiki.

License

Public domain aka CC0

Author

Kenji Rikitake

About

dump1090 data analysis scripts in Python and Geographiclib

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 84.6%
  • R 11.8%
  • Shell 3.6%