Giter Site home page Giter Site logo

karatemir / dump1090-hptoa Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openskynetwork/dump1090-hptoa

0.0 0.0 0.0 6.98 MB

dump1090 decoder with High Precision Timestamping (http://eprints.networks.imdea.org/1768/)

License: Other

JavaScript 22.97% C++ 10.68% Python 2.16% C 56.43% CSS 4.91% HTML 1.79% CMake 1.06%

dump1090-hptoa's Introduction

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

  • High Precision Time-of-Arrival (ToA) timestamps for Mode-S packets.
  • Upsampling performs in the GPU (root is needed).
  • A free-lock system queue (based on moodycamel) to parallelize message processing.
  • Tested in extensively RaspberryPi-3 model B.
  • Compilation process integrated with cmake.

Building the project

  • Clone the repository
$ git clone https://github.com/openskynetwork/dump1090-hptoa
  • Compile the project
$ cd dump1090-hptoa/
$ mkdir build && cmake ../
$ make

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
  • PeakPulse: The default method with lower computation cost (no correlations are performed, only upsampling). The maximum message rate supported on RaspberryPi-3 model B on RPi 3 is estimated to be c.ca 2000 msg/sec. We strongly recommend to use this method.

  • CorrPulse: Alternative method, slightly more precise than the previous one, but heavier on computation resources (CPU, memory). The maximum message rate supported on RaspberryPi-3 model B on RPi 3 is estimated around 700 msg/sec. This option is provided to support future testing and research, we do not recommend to use it for production deployments.

  • None: No high-precision timestamp computed, fallback to the legacy timestamp of the mutability version.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.