openskynetwork / dump1090-hptoa

dump1090 decoder with High Precision Timestamping (http://eprints.networks.imdea.org/1768/)
Other
54 stars 11 forks source link

dump1090-hptoa

This is a fork of Mutability's version of dump1090 that adds a novel method to compute high-precision Time-of-Arrival (ToA) timestamps of the Mode S / ADS-B packets. The actual precision is in the order of a few nanoseconds, depending on the packet strength. Original README

This version is licensed under the GPL (v2 or later). See the file COPYING for details.

This new version is based on the work named 'Nanosecond-precision Time-of-Arrival Estimation for Aircraft Signals with low-cost SDR Receivers' published in ACM/IEEE IPSN 2018 conference and made by Roberto Calvo-Palomino, Fabio Ricciato, Blaz Repas, Domenico Giustiniano, Vincent Lenders.

Precise Time-of-Arrival (TOA) estimations of aircraft and drone signals are important for a wide set of applications including aircraft/drone tracking, air traffic data verification, or self-localization. Our focus in this work is on TOA estimation methods that can run on low-cost software-defined radio (SDR) receivers, as widely deployed in Mode S / ADS-B crowdsourced sensor networks such as the OpenSky Network. We evaluate experimentally classical TOA estimation methods which are based on a cross-correlation with a reconstructed message template and find that these methods are not optimal for such signals. We propose two alternative methods that provide superior results for real-world Mode S / ADS-B signals captured with low-cost SDR receivers. The best method achieves a standard deviation error of 1.5 ns.

Features

Building the project

How to run

This new version adds a new parameter to enable the high precision timestamp method.

--enable-hptoa <method>  Enable High Precision TimeStamping: PeakPulse (default), CorrPulse or None

The detailed description of both methods can be found on the paper: 'Nanosecond-precision Time-of-Arrival Estimation for Aircraft Signals with low-cost SDR Receivers'

Run as root

Since the high precision timestamp estimation requires FFT/IFFT computation in the GPU, it is needed to run dump1090 process as root. This applies to both PeakPulse and CorrPulse method.

sudo dump1090 --enable-hptoa PeakPulse --interactive