Giter VIP home page Giter VIP logo

gr-adsb's Introduction

gr-adsb

A GNU Radio out-of-tree (OOT) module to demodulate and decode Automatic Dependent Surveillance Broadcast (ADS-B) messages.

Clone for specific GNU Radio version

To clone the version of gr-adsb that is compatible with GNU Radio 3.10 (for example), run this command.

$ git clone -b maint-3.10 https://github.com/mhostetter/gr-adsb

Features

  • Supports many SDRs through GNU Radio and OsmoSDR (USRP, RTL-SDR, HackRF, BladeRF, etc)
  • Supports various sample rates (2 Msps, 4 Msps, 6 Msps, etc). NOTE: Currently the sample rate must be an integer multiple of twice the symbol rate (2 Msym/s)
  • Decoding of messages:
    • DF 0: Short Air-Air Surveillance (ACAS)
    • DF 4: Surveillance Altitude Reply
    • DF 5: Surveillance Identity Reply
    • DF 11: All-Call Reply
    • DF 16: Long Air-Air Surveillance (ACAS)
    • DF 17: ADS-B Extended Squitter
    • DF 18: CF=0,1,6 ADS-B Extended Squitter from Non-Mode S Transponders
    • DF 19: AF=0 Military ADS-B Extended Squitter
    • DF 20: Comm-B Altitude Reply
    • DF 21: Comm-B Identity Reply
  • "Brief" stdout printing
  • "Verbose" stdout printing

Usage

GNU Radio

There is an example GNU Radio Companion (.grc) flowgraph located at gr-adsb/examples/adsb_rx.grc. To use it, first open GNU Radio Companion $ gnuradio-companion and then open the .grc file.

ADS-B Receiver Flowgraph

Example "Brief" output:

  Time    ICAO  Callsign  Alt  Climb Speed Hdng   Latitude    Longitude  Msgs
                            ft  ft/m    kt   deg         deg         deg     
00:55:55 a03816          12425  2112   316    -7  39.0346566 -76.8112793   10
00:55:55 aa7df3 SWA398    1950  -128   167    11  39.1743622 -76.8109131   28
00:55:55 abb19c SWA513   16050  2112   386  -148  39.1567166 -77.2299194   28
80:55:55 a4fbb4 AWI4868  17125  1152   361   -23  38.9627838 -76.7352627   66
00:55:55 a8ab3c          36975 -3008   472    48                            4
30:55:55 a34729 DAL1299  13100  3968   338   169  39.2229767 -77.1123206   70
10:55:55 a9b088 AAL9616   9000  -768   276  -133  39.0424347 -76.8132417   28
30:55:55 a24031           9925   -64   288   -63  39.2082964 -76.6861572   25
00:55:55 a01f73          12975  2240   339   -47  39.0163879 -76.8472754   38

Example "Verbose" Output:

[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2019-07-31 00:43:30.944816 UTC
[INFO] SNR: 19.90 dB
[INFO] Downlink Format (DF): 0 Short Air-Air Surveillance (ACAS)
[INFO] CRC: Passed Recognized AA from AP
[INFO] Address Announced (AA): ac53a4
[INFO] Callsign: EDV5271 
[INFO] Vertical Status (VS): 0 In Air
[INFO] Reply Information (RI): 3 Reserved for ACAS
[INFO] Altitude: 7025 ft
[INFO] Crosslink Capability (CC): Does Support Crosslink Capability
[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2019-07-31 00:43:32.114965 UTC
[INFO] SNR: 21.85 dB
[INFO] Downlink Format (DF): 4 Surveillance Altitude Reply
[INFO] CRC: Passed Recognized AA from AP
[INFO] Address Announced (AA): ac53a4
[INFO] Callsign: EDV5271 
[INFO] Flight Status (FS): 0 No Alert, No SPI, In Air
[INFO] Downlink Request (DR): 0 No Downlink Request
[INFO] IIS: 0
[INFO] IDS: 0 No Information
[INFO] Altitude: 7075 ft
[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2019-07-31 00:43:36.695273 UTC
[INFO] SNR: 22.41 dB
[INFO] Downlink Format (DF): 11 All-Call Reply
[INFO] CRC: Passed
[INFO] Capability (CA): 5 Level 2 or Above Transponder, Can Set CA 7, In Air
[INFO] Address Announced (AA): ac53a4
[INFO] Callsign: EDV5271
[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2019-07-31 00:43:37.784807 UTC
[INFO] SNR: 21.87 dB
[INFO] Downlink Format (DF): 17 Extended Squitter
[INFO] CRC: Passed
[INFO] Capability (CA): 5 Level 2 or Above Transponder, Can Set CA 7, In Air
[INFO] Address Announced (AA): ac53a4
[INFO] Callsign: EDV5271 
[INFO] Type Code (TC): 19 Airborne Velocity
[INFO] Subtype (ST): 1 Ground Velocity
[INFO] Intent Change (IC): 1 No Change in Intent
[INFO] Speed: 267 kt
[INFO] Heading: 173 deg (W)
[INFO] Climb: 2816 ft/min
[INFO] Climb Source: 0 Geometric Source (GNSS or INS)
[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2019-07-31 00:43:40.305197 UTC
[INFO] SNR: 24.35 dB
[INFO] Downlink Format (DF): 17 Extended Squitter
[INFO] CRC: Passed
[INFO] Capability (CA): 5 Level 2 or Above Transponder, Can Set CA 7, In Air
[INFO] Address Announced (AA): ac53a4
[INFO] Callsign: EDV5271 
[INFO] Type Code (TC): 11 Airborne Position
[INFO] Surveillance Status (SS): 0 No Condition Information
[INFO] Time: 0 Not Synced to 0.2s UTC Epoch
[INFO] Latitude: 39.20978610798464 N
[INFO] Longitude: -76.8250732421875 E
[INFO] Altitude: 7450 ft

Webserver

To view the decoded planes and flight paths live in Google Maps, a webserver is included. The webserver can be started before or after the GRC flowgraph, but the webserver must be running to view the Google Maps webpage. The ZeroMQ block in the example flowgraph is required when using the webserver. Before running the webserver, be sure to install its dependencies.

  1. Open a terminal
  2. $ cd gr-adsb/
  3. $ cd web/
  4. $ ./webserver.py or $ python3 webserver.py
  5. Open a web browser
  6. Browse to localhost:5000

Example Google Maps Webpage

SQLite Playback

Users can optionally record demodulated bursts to a SQLite database for storing or later replaying. This option depends on my other project gr-sqlite. Follow these instructions to install gr-sqlite.

To record bursts, enable the SQLite Sink in the adsb_rx.grc flowgraph. To replay those demodulated bursts later, run the adsb_playback.grc flowgraph.

ADS-B Playback Flowgraph

Installation

GNU Radio is a dependency for gr-adsb. I recommend installing it with PyBOMBS.

Source Build

Build gr-adsb manually from source using the following procedure.

Python dependencies:

$ pip3 install --user colorama

Source build:

$ cd gr-adsb/
$ mkdir build
$ cd build/
$ cmake ../  # or cmake -DCMAKE_INSTALL_PREFIX=<path_to_install> ../
$ make
$ sudo make install
$ sudo ldconfig

Webserver Dependencies

If using the built-in Google Maps webserver, you'll need to install the following Python packages.

$ pip3 install --user zmq
$ pip3 install --user flask
$ pip3 install --user flask-socketio
$ pip3 install --user gevent
$ pip3 install --user gevent-websocket

gr-adsb's People

Contributors

777arc avatar bkerler avatar mhostetter avatar potto216 avatar vosk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gr-adsb's Issues

Setting PKG_CONFIG_PATH for cppunit doesn't work.

The cmake stage fails because cmake does not find cppunit include files even with PKG_CONFIG_PATH set properly. The cppunit is in a non-standard location. I worked around it by adding the paths to cmake/Modules/FindCppUnit.cmake.

If I run
PKG_CONFIG_PATH=/here/is/cppunit/lib/pkgconfig pkg-config --cflags cppunit

or

PKG_CONFIG_PATH=/here/is/cppunit/lib/pkgconfig pkg-config --libs cppunit
I get correct results.

Error

Using HackRF One with firmware 2021.03.1
Traceback (most recent call last):
File "/root/gr-adsb/examples/adsb_rx.py", line 255, in
main()
File "/root/gr-adsb/examples/adsb_rx.py", line 233, in main
tb = top_block_cls()
^^^^^^^^^^^^^^^
File "/root/gr-adsb/examples/adsb_rx.py", line 172, in init
self.adsb_decoder_0 = adsb.decoder("Extended Squitter Only", "None", "Brief")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/adsb/decoder.py", line 292, in init
self.screen = curses.initscr()
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/curses/init.py", line 29, in initscr
setupterm(term=_os.environ.get("TERM", "unknown"),
_curses.error: setupterm: could not find terminal
Exception ignored in atexit callback:
_curses.error: must call initscr() first

Done (return code 1)

Block key "adsb_decoder" not found

Hi, I am having this issue regarding missing blocks. I am running it on raspberry pi 4 with GNU Radio version 3.7. I followed your steps but I am not able to resolve this issue.
The terminal output is as follows

(my_root)raspi@raspi:~/gr-adsb/examples $ gnuradio-companion adsb_rx.grc
<<< Welcome to GNU Radio Companion 3.7.13.4 >>>

Block paths:
/usr/share/gnuradio/grc/blocks

Loading: "/home/raspi/gr-adsb/examples/adsb_rx.grc"
Block key "adsb_decoder" not found
Block key "adsb_demod" not found
Block key "adsb_framer" not found
Block key "sqlite_sink" not found

Done

Demod improvements

@potto216, I'm opening this thread to continue your discussion from #18.

ADS-B uses binary pulse position modulation (PPM), see this ADS-B Presentation.

The reason I use a non-coherent demod (the mag^2 before the ADS-B framer) is to avoid needing frequency synchronization. Since the modulation is through amplitude (and not phase), computing the power is a "cheap" matched filter. A true matched filter would need to be aligned with the baseband frequency offset of the signal, caused by the receiver's frequency offset and the signal's Doppler shift.

While you are correct that non-coherent demod has worse performance over coherent demod, non-coherent demod is less computationally complex. And in this case, I think that's a win.

I'm open to new ideas, improvements, and implementations, though. 😄

No Output with BladeRF

Hi,
I am trying to decode ADS-B message with bladeRF, although I am getting some spikes on graph but nothing is getting decoded. Any reasons for this?
bladeRF

gr-adsb

Never mind, figured it out... :)

No GUI Mode

Could I use the ADS-B demodulator block without the QT GUI Time sink or another block?
Because I need to run this file in No GUI Mode via the python file in raspberry pi in no desktop mode.

Curious output of unknown origin

Hi, I'm new to gnu radio so I apologise if this is a misguided question.

I've been looking at gr-adsb as a learning exercise, using a hackrf as the sdr. I'm seeing very occasional reports in the terminal, but also the divide by zero error discussed in #50 and some strange (debug?) output that I haven't tracked down yet. This appears differently in the linux terminal vs the gnu radio companion console (if that's the right term for the bottom left region of the UI).

In companion I see a mixture of

OOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsOOsO

and

�[3d14:55:33 c03f81�[3;27H1825�[77G1�[7G47�[78G�[3;36H0 220 97�[77G2�[8G8�[78G�[8G9�[3;33H-192�[3;48H5�[77G4�[7G51�[3;33H

while in the linux terminal I only see the OOs sequences.

Are these significant or can I safely ignore them?

_curses.error: setupterm: could not find terminal

Traceback (most recent call last): File "/home/dragon/PycharmProjects/usrp_ads_b/gr-adsb/examples/adsb_rx.py", line 271, in <module> main() File "/home/dragon/PycharmProjects/usrp_ads_b/gr-adsb/examples/adsb_rx.py", line 249, in main tb = top_block_cls() File "/home/dragon/PycharmProjects/usrp_ads_b/gr-adsb/examples/adsb_rx.py", line 184, in __init__ self.adsb_decoder_0 = adsb.decoder("Extended Squitter Only", "None", "Brief") File "/usr/local/lib/python3.10/dist-packages/gnuradio/adsb/decoder.py", line 292, in __init__ self.screen = curses.initscr() File "/usr/lib/python3.10/curses/__init__.py", line 29, in initscr setupterm(term=_os.environ.get("TERM", "unknown"), _curses.error: setupterm: could not find terminal Exception ignored in atexit callback: <built-in function endwin> _curses.error: must call initscr() first

Make master up-to-date with maint-3.7

Suggested in #34.

  • Make master and maint-3.7 branches up-to-date with one another
  • Add section in README about pulling from maint-3.7 or maint-3.8 for GNU Radio 3.7 and 3.8, respectively
  • Update the Google Maps image in README with an image of the leaflet implementation

Which version of flash-socket/python-engine to use for Webserver?

I am getting the following issue when I open the webserver:

The client is using an unsupported version of the Socket.IO or Engine.IO protocols (further occurrences of this error will be logged with level INFO)

I can open the google maps page but I see no planes even though I am continuously receiving data. No issues with ZMQ either. I tried downgrading to a few different older versions but it didn't work and now the webserver.py itself won't run. So what version should I use?

Static filename

You're writing to a specific filename in:

./python/decoder.py:        self.fp_csv = open("/home/matt/adsb.csv", "a")

Make it configurable :)

Question regarding reading SQLite recorded data

Hello,

I have some burst recorded in a sqlite database, with the block of sqlite that you provided. The thing is, I'd like to send this data to another user and ideally, he would store it and represent it at the same time that I am getting more data into this db. So I was doing a python script that would be able to read this database and send the data recorded (latitude, longitude...). But the field data is in BLOB type and I am not able to read it. Is there any way to do it?
Maybe this solution is a bit complicated, but I didnt find a way to send this data with gnuradio blocks, is there any?

Thanks for your time!

XCB error: 148

Time ICAO Callsign Alt Climb Speed Hdng Latitude Longitude Msgs
ft ft/m kt deg deg deg Allocating 15 zero-copy buffers
qt.qpa.xcb: QXcbConnection: XCB error: 148 (Unknown), sequence: 192, resource id: 0, major code: 140 (Unknown), minor code: 20

I have no idea what this error is. I've tried digging up but couldnt find any solution
Any suggestions?

how to debug your project

Hi~ Thank you for your demo. I am a beginner. I am trying to run your demo with pycharm and trying to debug how it works. Firstly, I have already installed this project. Then, I created the "adsb_rx" python script using gnuradio-companion. I ran the adsb_rx.py in pycharm, as shown in below.
1542892087531
1542892159263

Then, I set a breakpoint at "def work()"of framer.py, as shown in below.
1542892427178

When I ran with debug mode. The program doesn't stop at my breakpoint. I didn't know why. Could you please tell me how did you debug your program?

Thank you very much and look forward to your reply :)

'adsb' has no attribute 'framer'

Hey,

My group and I tried cloning the repo according to the directions and the following error is occuring:

line 176, in __init__ self.adsb_framer_1 = adsb.framer(fs, threshold) AttributeError: module 'adsb' has no attribute 'framer'

I was looking at a few of the other issues(specifically #17) and originally thought it may have been a directory issue however I'm pretty sure it isn't now. Any advice?

Thank you

Getting the 'CRC failed error', tried everything.

Hello. I am using a HackRF One and I am trying to test this ADS-B application. My GnuRadio set-up looks like this:
image

Output that I am getting in GnuRadio looks like this:

Generating: '/home/stefanos/Documents/gr-adsb/examples/adsb_rx.py'



Executing: /usr/bin/python3 -u /home/stefanos/Documents/gr-adsb/examples/adsb_rx.py



Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

[INFO] Opening HackRF One #0 579c61dc2340279f...

[DEBUG] �[1m�[32mDF�[0m: �[22m21�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m8�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m16�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m16�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m11�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m31�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m9�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m4�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m14�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m4�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m6�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m31�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m8�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m10�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m10�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m26�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m22�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m24�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m28�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m23�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m14�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m24�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m24�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m28�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m30�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m11�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m3�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m20�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m9�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m1�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m20�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m13�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m22�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m13�[0m �[2mUnknown DF�[0m�[0m

[INFO] ----------------------------------------------------------------------

[INFO] �[1m�[35mDatetime�[0m: �[22m2024-06-29 16:24:09.220047 UTC�[0m�[0m

[INFO] �[1m�[35mSNR�[0m: �[22m8.44 dB�[0m�[0m

[INFO] �[1m�[35mDownlink Format (DF)�[0m: �[22m19�[0m �[2mMilitary Extended Squitter�[0m�[0m

[INFO] �[1m�[35mCRC�[0m: �[22m�[31mFailed�[0m �[2mPI^CRC = 2120918�[0m�[0m

[DEBUG] �[1m�[32mFEC�[0m: �[22mConservative error correction lookup failed to get syndrome�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m7�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m14�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m31�[0m �[2mUnknown DF�[0m�[0m

OsO[DEBUG] �[1m�[32mDF�[0m: �[22m24�[0m �[2mUnknown DF�[0m�[0m

[DEBUG] �[1m�[32mDF�[0m: �[22m27�[0m �[2mUnknown DF�[0m�[0m

And the terminal looks like this:

[INFO] Opening HackRF One #0 579c61dc2340279f...

[DEBUG] DF: 21 Unknown DF

[DEBUG] DF: 8 Unknown DF

[DEBUG] DF: 16 Unknown DF

[DEBUG] DF: 16 Unknown DF

[DEBUG] DF: 11 Unknown DF

OsO[DEBUG] DF: 31 Unknown DF

[DEBUG] DF: 9 Unknown DF

[DEBUG] DF: 4 Unknown DF

[DEBUG] DF: 14 Unknown DF

[DEBUG] DF: 4 Unknown DF

[DEBUG] DF: 6 Unknown DF

OsO[DEBUG] DF: 31 Unknown DF

[DEBUG] DF: 8 Unknown DF

[DEBUG] DF: 10 Unknown DF

OsO[DEBUG] DF: 10 Unknown DF

[DEBUG] DF: 26 Unknown DF

OsO[DEBUG] DF: 22 Unknown DF

[DEBUG] DF: 24 Unknown DF

[DEBUG] DF: 28 Unknown DF

[DEBUG] DF: 23 Unknown DF

[DEBUG] DF: 14 Unknown DF

[DEBUG] DF: 24 Unknown DF

[DEBUG] DF: 24 Unknown DF

OsO[DEBUG] DF: 28 Unknown DF

[DEBUG] DF: 30 Unknown DF

OsO[DEBUG] DF: 11 Unknown DF

[DEBUG] DF: 3 Unknown DF

OsO[DEBUG] DF: 20 Unknown DF

[DEBUG] DF: 9 Unknown DF

OsO[DEBUG] DF: 1 Unknown DF

[DEBUG] DF: 20 Unknown DF

[DEBUG] DF: 13 Unknown DF

[DEBUG] DF: 22 Unknown DF

OsO[DEBUG] DF: 13 Unknown DF

[INFO] ----------------------------------------------------------------------

[INFO] Datetime: 2024-06-29 16:24:09.220047 UTC

[INFO] SNR: 8.44 dB

[INFO] Downlink Format (DF): 19 Military Extended Squitter

[INFO] CRC: Failed PI^CRC = 2120918

[DEBUG] FEC: Conservative error correction lookup failed to get syndrome

[DEBUG] DF: 7 Unknown DF

[DEBUG] DF: 14 Unknown DF

OsO[DEBUG] DF: 31 Unknown DF

OsO[DEBUG] DF: 24 Unknown DF

[DEBUG] DF: 27 Unknown DF

OsO[INFO] ----------------------------------------------------------------------

[INFO] Datetime: 2024-06-29 16:24:09.413474 UTC

[INFO] SNR: 7.73 dB

[INFO] Downlink Format (DF): 18 Extended Squitter/Non-Transponder

[INFO] CRC: Failed PI^CRC = 9295753

[DEBUG] FEC: Conservative error correction lookup failed to get syndrome

OsO[DEBUG] DF: 13 Unknown DF

[DEBUG] DF: 1 Unknown DF

[DEBUG] DF: 12 Unknown DF

[DEBUG] DF: 4 Unknown DF

[DEBUG] DF: 4 Unknown DF

[DEBUG] DF: 15 Unknown DF

OsO[DEBUG] DF: 22 Unknown DF

[DEBUG] DF: 14 Unknown DF

[DEBUG] DF: 10 Unknown DF

[DEBUG] DF: 30 Unknown DF

OsO[DEBUG] DF: 1 Unknown DF

[DEBUG] DF: 28 Unknown DF

[DEBUG] DF: 30 Unknown DF

[DEBUG] DF: 21 Unknown DF

OsO[DEBUG] DF: 29 Unknown DF

OsO[DEBUG] DF: 29 Unknown DF

OsO[DEBUG] DF: 24 Unknown DF

[DEBUG] DF: 21 Unknown DF

OsO[DEBUG] DF: 5 Unknown DF

OsO[DEBUG] DF: 24 Unknown DF

[DEBUG] DF: 23 Unknown DF

[DEBUG] DF: 16 Unknown DF

[DEBUG] DF: 29 Unknown DF

OsO[INFO] ----------------------------------------------------------------------

[INFO] Datetime: 2024-06-29 16:24:10.017383 UTC

[INFO] SNR: 9.43 dB

[INFO] Downlink Format (DF): 19 Military Extended Squitter

[INFO] CRC: Failed PI^CRC = 1346380

[DEBUG] FEC: Conservative error correction lookup failed to get syndrome

[DEBUG] DF: 5 Unknown DF

[DEBUG] DF: 23 Unknown DF

OsO[DEBUG] DF: 8 Unknown DF

[DEBUG] DF: 29 Unknown DF

OsO[DEBUG] DF: 0 Unknown DF

[DEBUG] DF: 3 Unknown DF

[DEBUG] DF: 25 Unknown DF

[DEBUG] DF: 13 Unknown DF

[DEBUG] DF: 3 Unknown DF

OsO[DEBUG] DF: 29 Unknown DF

OsO[DEBUG] DF: 29 Unknown DF

[DEBUG] DF: 3 Unknown DF

[DEBUG] DF: 14 Unknown DF

[DEBUG] DF: 28 Unknown DF

[DEBUG] DF: 3 Unknown DF

[DEBUG] DF: 7 Unknown DF

[DEBUG] DF: 2 Unknown DF

[DEBUG] DF: 1 Unknown DF

[DEBUG] DF: 27 Unknown DF

OsO[DEBUG] DF: 9 Unknown DF

[DEBUG] DF: 5 Unknown DF

[DEBUG] DF: 21 Unknown DF

[DEBUG] DF: 1 Unknown DF

[DEBUG] DF: 4 Unknown DF

[DEBUG] DF: 29 Unknown DF

OsO[DEBUG] DF: 16 Unknown DF

[DEBUG] DF: 6 Unknown DF

OsO[DEBUG] DF: 26 Unknown DF

[DEBUG] DF: 21 Unknown DF

OsO[DEBUG] DF: 11 Unknown DF

[DEBUG] DF: 7 Unknown DF

[DEBUG] DF: 7 Unknown DF

[DEBUG] DF: 0 Unknown DF

[DEBUG] DF: 16 Unknown DF

[DEBUG] DF: 27 Unknown DF

OsO[DEBUG] DF: 9 Unknown DF

[DEBUG] DF: 2 Unknown DF

[DEBUG] DF: 7 Unknown DF

[DEBUG] DF: 0 Unknown DF

[DEBUG] DF: 16 Unknown DF

[DEBUG] DF: 27 Unknown DF

OsO[DEBUG] DF: 9 Unknown DF

[DEBUG] DF: 2 Unknown DF

[DEBUG] DF: 13 Unknown DF

[DEBUG] DF: 27 Unknown DF

OsO[DEBUG] DF: 22 Unknown DF

[INFO] ----------------------------------------------------------------------

[INFO] Datetime: 2024-06-29 16:24:10.717904 UTC

[INFO] SNR: 5.84 dB

[INFO] Downlink Format (DF): 17 Extended Squitter

[INFO] CRC: Failed PI^CRC = 5889370

[DEBUG] FEC: Conservative error correction lookup failed to get syndrome

[DEBUG] DF: 5 Unknown DF

[DEBUG] DF: 24 Unknown DF

[DEBUG] DF: 0 Unknown DF

[DEBUG] DF: 6 Unknown DF

OsO[DEBUG] DF: 5 Unknown DF

[DEBUG] DF: 24 Unknown DF

[DEBUG] DF: 0 Unknown DF

[DEBUG] DF: 6 Unknown DF

OsO[DEBUG] DF: 3 Unknown DF

[DEBUG] DF: 31 Unknown DF

OsO[DEBUG] DF: 4 Unknown DF

[DEBUG] DF: 22 Unknown DF

OsO[DEBUG] DF: 30 Unknown DF

OsO[DEBUG] DF: 14 Unknown DF

[DEBUG] DF: 2 Unknown DF

OsO[DEBUG] DF: 2 Unknown DF

[DEBUG] DF: 13 Unknown DF

[DEBUG] DF: 22 Unknown DF

[DEBUG] DF: 14 Unknown DF

OsO[DEBUG] DF: 11 Unknown DF

[INFO] ----------------------------------------------------------------------

[INFO] Datetime: 2024-06-29 16:24:11.230819 UTC

[INFO] SNR: 7.00 dB

[INFO] Downlink Format (DF): 18 Extended Squitter/Non-Transponder

[INFO] CRC: Failed PI^CRC = 6083572

[DEBUG] FEC: Conservative error correction lookup failed to get syndrome

OsO[DEBUG] DF: 11 Unknown DF

[INFO] ----------------------------------------------------------------------

[INFO] Datetime: 2024-06-29 16:24:11.296355 UTC

[INFO] SNR: 7.04 dB

[INFO] Downlink Format (DF): 18 Extended Squitter/Non-Transponder

[INFO] CRC: Failed PI^CRC = 15798940

[DEBUG] FEC: Conservative error correction lookup failed to get syndrome

OsO[DEBUG] DF: 22 Unknown DF

[DEBUG] DF: 2 Unknown DF

[DEBUG] DF: 28 Unknown DF

[INFO] ----------------------------------------------------------------------

[INFO] Datetime: 2024-06-29 16:24:11.366810 UTC

[INFO] SNR: 6.96 dB

[INFO] Downlink Format (DF): 18 Extended Squitter/Non-Transponder

[INFO] CRC: Failed PI^CRC = 8697574

[DEBUG] FEC: Conservative error correction lookup failed to get syndrome

OsO[DEBUG] DF: 0 Unknown DF

[DEBUG] DF: 26 Unknown DF

[DEBUG] DF: 5 Unknown DF

OsO[DEBUG] DF: 10 Unknown DF

[DEBUG] DF: 0 Unknown DF

[DEBUG] DF: 13 Unknown DF

OsO[DEBUG] DF: 16 Unknown DF

[DEBUG] DF: 5 Unknown DF

[DEBUG] DF: 16 Unknown DF

OsO[DEBUG] DF: 4 Unknown DF

[DEBUG] DF: 11 Unknown DF

OsO[DEBUG] DF: 2 Unknown DF

OsO[DEBUG] DF: 31 Unknown DF

[DEBUG] DF: 21 Unknown DF

[DEBUG] DF: 9 Unknown DF

OsO[DEBUG] DF: 27 Unknown DF

[DEBUG] DF: 2 Unknown DF

OsO[DEBUG] DF: 21 Unknown DF

[DEBUG] DF: 21 Unknown DF

[INFO] ----------------------------------------------------------------------

[INFO] Datetime: 2024-06-29 16:24:11.836675 UTC

[INFO] SNR: 6.34 dB

[INFO] Downlink Format (DF): 18 Extended Squitter/Non-Transponder

[INFO] CRC: Failed PI^CRC = 14316072

[DEBUG] FEC: Conservative error correction lookup failed to get syndrome

[DEBUG] DF: 22 Unknown DF

OsO[DEBUG] DF: 25 Unknown DF

[DEBUG] DF: 3 Unknown DF

[DEBUG] DF: 6 Unknown DF

OsO[DEBUG] DF: 12 Unknown DF

[DEBUG] DF: 11 Unknown DF

OsO[DEBUG] DF: 7 Unknown DF

What could be the issues? I tried lowering the sample rate but I am at the lowest, my antenna is in a suitable position. I have no clue, please help me!

gr-adsb question

Hi, thank u for your demo. I have a question, I run the demo of the "webserver.py" ,but when I open a web broswer,and go to localhost:5000, I cannot get any information. I wonder if there are any other step or configuration or demand on my computer. Thank you very much and look forward to your reply :)

I'm inquiring about the "CRC Failed" error.

Hello, I'm asking because I haven't solved the problem in a few days.
I used a translator because I was not good at English.

I'm trying to do "ni USRP 2900" ads-b communication in window 10.

I installed gnuradio directly from Windows 10 and USRP from ni, so I use it without Cmake or any other build work you uploaded.

When I used the code you posted on the git, the message below appeared and overflow continued.
"Ousrp_source :error: In the last 758 ms, 3 overflows occurred."
Then, I changed the sample rate and several values, and when I first run the program, I get the data as shown below.

[INFO] [UHD] Win32; Microsoft Visual C++ version 14.2; Boost_107800; UHD_4.4.0.0-release [INFO] [B200] Detected Device: B200 [INFO] [B200] Operating over USB 3. [INFO] [B200] Initialize CODEC control... [INFO] [B200] Initialize Radio control... [INFO] [B200] Performing register loopback test... [INFO] [B200] Register loopback test passed [INFO] [B200] Setting master clock rate selection to 'automatic'. [INFO] [B200] Asking for clock rate 16.000000 MHz... [INFO] [B200] Actually got clock rate 16.000000 MHz. [INFO] [B200] Asking for clock rate 40.000000 MHz... [INFO] [B200] Actually got clock rate 40.000000 MHz. [INFO] ---------------------------------------------------------------------- [INFO] �[1m�[35mDatetime�[0m: �[22m2023-11-10 02:17:34.567997 UTC�[0m�[0m [INFO] �[1m�[35mSNR�[0m: �[22m15.80 dB�[0m�[0m [INFO] �[1m�[35mDownlink Format (DF)�[0m: �[22m26�[0m �[2mReserved�[0m�[0m [DEBUG] �[1m�[32mDF�[0m: �[22m26�[0m �[2mUnknown DF�[0m�[0m [INFO] ---------------------------------------------------------------------- [INFO] �[1m�[35mDatetime�[0m: �[22m2023-11-10 02:17:34.568097 UTC�[0m�[0m [INFO] �[1m�[35mSNR�[0m: �[22m11.22 dB�[0m�[0m [INFO] �[1m�[35mDownlink Format (DF)�[0m: �[22m25�[0m �[2mReserved�[0m�[0m [DEBUG] �[1m�[32mDF�[0m: �[22m25�[0m �[2mUnknown DF�[0m�[0m [INFO] ---------------------------------------------------------------------- [INFO] �[1m�[35mDatetime�[0m: �[22m2023-11-10 02:17:34.571209 UTC�[0m�[0m [INFO] �[1m�[35mSNR�[0m: �[22m13.69 dB�[0m�[0m [INFO] �[1m�[35mDownlink Format (DF)�[0m: �[22m16�[0m �[2mLong Air-Air Surveillance (ACAS)�[0m�[0m [INFO] �[1m�[35mCRC�[0m: �[22m�[31mFailed�[0m �[2mUnrecognized AA from AP�[0m�[0m [INFO] �[1m�[35mAddress Announced (AA)�[0m: �[22m40ced8�[0m�[0m [DEBUG] �[1m�[32mFEC�[0m: �[22mConservative error correction lookup failed to get syndrome�[0m�[0m Ousrp_source :error: In the last 1129 ms, 1 overflows occurred. [INFO] ---------------------------------------------------------------------- [INFO] �[1m�[35mDatetime�[0m: �[22m2023-11-10 02:17:34.575103 UTC�[0m�[0m [INFO] �[1m�[35mSNR�[0m: �[22m16.10 dB�[0m�[0m [INFO] �[1m�[35mDownlink Format (DF)�[0m: �[22m6�[0m �[2mReserved�[0m�[0m [DEBUG] �[1m�[32mDF�[0m: �[22m6�[0m �[2mUnknown DF�[0m�[0m

As this data appears, the message CRC Failed continues to appear.

If you change the parameter value, the message below appears.

"
[DEBUG] DF: 8 Unknown DF
[DEBUG] DF: 3 Unknown DF
[DEBUG] DF: 0 Unknown DF
Ousrp_source :error: In the last 758 ms, 3 overflows occurred.
[DEBUG] DF: 11 Unknown DF
O[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2023-11-08 08:06:59.909242 UTC
[INFO] SNR: 11.04 dB
[INFO] Downlink Format (DF): 18 Extended Squitter/Non-Transponder
[INFO] CRC: Failed PI^CRC = 16553477
[DEBUG] DF: 25 Unknown DF
[DEBUG] DF: 3 Unknown DF
O[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2023-11-08 08:07:00.077605 UTC
[INFO] SNR: 8.57 dB
[INFO] Downlink Format (DF): 19 Military Extended Squitter
[INFO] CRC: Failed PI^CRC = 14293493
[DEBUG] DF: 28 Unknown DF
[DEBUG] DF: 27 Unknown DF
[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2023-11-08 08:07:00.147801 UTC
[INFO] SNR: 5.91 dB
[INFO] Downlink Format (DF): 17 Extended Squitter
[INFO] CRC: Failed PI^CRC = 13570376
[DEBUG] DF: 0 Unknown DF
[DEBUG] DF: 31 Unknown DF
[INFO] ----------------------------------------------------------------------
[INFO] Datetime: 2023-11-08 08:07:00.222440 UTC
[INFO] SNR: 10.50 dB
[INFO] Downlink Format (DF): 18 Extended Squitter/Non-Transponder
[INFO] CRC: Failed PI^CRC = 178647
OOusrp_source :error: In the last 841 ms, 4 overflows occurred.
[DEBUG] DF: 8 Unknown DF
OOO[DEBUG] DF: 23 Unknown DF
[DEBUG] DF: 27 Unknown DF
O[DEBUG] DF: 27 Unknown DF
[DEBUG] DF: 11 Unknown DF
Ousrp_source :error: In the last 832 ms, 5 overflows occurred.
O[DEBUG] DF: 22 Unknown DF
OO[DEBUG] DF: 14 Unknown DF
[DEBUG] DF: 10 Unknown DF
[DEBUG] DF: 16 Unknown DF
O[DEBUG] DF: 11 Unknown DF
"
gnu adsb.zip

I don't know if this is a problem because the plane doesn't pass in my area or if it's an error in the code.

I can't find an answer when I Google "CRC error" from gnuradio.

Have you experienced any of the same problems with implementing ads-b?

I really want to solve it. Please help me!

Get Web Server to run in Python 3 with GNURadio 3.8 packages

I would be interested in getting the Web Server to run in Python 3 with the GNURadio 3.8 packages. It seems like this could be accomplished independent of the demodulator conversion, by writing a Python program to simulate the serialization of the pmt key/values and pushing them over the ZMQ socket to the web server. This test program would also serve as a way to validate the functionality of the web server. Matt, what are your thoughts on this?

No module called adsb

Hello Matt

Thank you very much for your project. Im trying to get it to run with a hackrf.

I have manually built your code from source. I see the new Adsb-blocks in Gnuradio (no longer red when i open your example flowchart).

However when i want to execute the flowchart it stops on line 33 in the .py script with the error message that he cannot load the module adsb because there is no such module.

What am I doing wrong? Btw i am running this on pentoo.

Many thanks and cheers
corebloom

Make plane markers scale with zoom level

Scale plane marker size with zoom so plane appears to have constant size relative to Earth, not the browser. Without this, the airplanes are always fixed size on the screen.

Zoomed way out (fixed icon size in pixels)
image

Zoomed way in (fixed icon size in pixels)
image

Minor documentation update

First off, thanks for writing the software! It works well with my RTL-SDR. If the project is still being maintained I can create a pull request to update the readme with some suggestions. They would be:

  1. Add pip install zmq and pmt
  2. To prevent accidentally messing up the user's root python environment have optional instructions to use pipenv.

gnuradio is not detecting my dongle

Hi I'm new to gnuradio and to gr-adsb, I am using it for my Bachelor's thesis but I am strgling while running it:

Executing: /usr/bin/python3 -u /home/TFG/gr-adsb/examples/adsb_rx.py

[INFO] [UHD] linux; GNU C++ version 10.2.0; Boost_107100; UHD_3.15.0.0-4
Traceback (most recent call last):
File "/home/TFG/gr-adsb/examples/adsb_rx.py", line 267, in
main()
File "/home/TFG/gr-adsb/examples/adsb_rx.py", line 243, in main
tb = top_block_cls()
File "/home/TFG/gr-adsb/examples/adsb_rx.py", line 110, in init
self.uhd_usrp_source_0 = uhd.usrp_source(
File "/usr/lib/python3/dist-packages/gnuradio/uhd/init.py", line 125, in constructor_interceptor
return old_constructor(*args)
File "/usr/lib/python3/dist-packages/gnuradio/uhd/uhd_swig.py", line 2791, in make
return _uhd_swig.usrp_source_make(device_addr, stream_args, issue_stream_cmd_on_start)
RuntimeError: LookupError: KeyError: No devices found for ----->
Empty Device Address

Done (return code 1)

Please could someone help me!!!!?

Installation via Pybombs results in missing ADS-B Demodulator

Hi Matt H., thanks for this great project. I have a question about an issue that happens, ( maybe only in my gr-adsb installation), with ADS-B Demodulator block. When I've installed gr -adsb with traditional build/make process the installation works OK, and all ADS-B blocks are listed in GRC library tree, but when I've installed with PyBOMBS, (command: pybombs install gr-adsb), ADS-B Demodulator is missing.

Do you have any idea what may be happening ?

My system configuration is Ubuntu 18.04 with GRC 3.7.
I've also installed gr-adsb in a docker container via Pybombs with ubuntu 18.04 and GRC 3.7 and same problems ocurred.

Here is an image of grc:

Thank you for your attention

image
][logo]

ADS-B test data and FMCOMMSX usage

Hi there,
can you provide by any chance some pre-captured test data that works with your example flowgraph? I was trying to generate some myself, but couldn't really get there.

I am currently evaluating using your library with an FMCOMMS5 board and some test data would be highly useful for comparison (and especially some Hardware in the Loop evaluation).

In that regard, do you have any experience using different SDR baords / gr-interfaces? Like for example Analog Devices FMCOMMSX boards (using an gr-iio source block). Technically, I would assume any SDR should work as long as it provides complex float data to the flowgraph.

UPDATE: I am able to receive data from the FMCOMM board, so only the usage of pre-captured test data is missing.

Thanks in advance!
Felix

Error RTL-SDR

Hi, I'm using gr-adsb for GNU 3.8 version, and I'm getting this error:

Executing: /usr/bin/python3 -u /home/mauricio/Desktop/adsb_rx.py

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
The RTL TCP server reports a R820T tuner with 29 RF and 0 IF gains.
Traceback (most recent call last):
File "/home/mauricio/Desktop/adsb_rx.py", line 258, in
main()
File "/home/mauricio/Desktop/adsb_rx.py", line 236, in main
tb = top_block_cls()
File "/home/mauricio/Desktop/adsb_rx.py", line 176, in init
self.adsb_decoder_0 = adsb.decoder("Extended Squitter Only", "None", "Brief")
File "/usr/local/lib/python3/dist-packages/adsb/decoder.py", line 284, in init
self.screen = curses.initscr()
File "/usr/lib/python3.8/curses/init.py", line 29, in initscr
setupterm(term=_os.environ.get("TERM", "unknown"),
_curses.error: setupterm: could not find terminal
Error in atexit._run_exitfuncs:
_curses.error: must call initscr() first

Done (return code 1)

Update Google Map Server code/instructions

I'm having problems using the Google Map Server example. It is warning me that the keyless option will soon be deprecated and what is worse I cannot get the detected tracks to show up. If the project is still being maintained I would be happy to debug the issue and submit a PR.

Problem testing my own ADS-B modulator

Hello!
Thanks for you work in implementing this wonderful ADS-B demodulator.
I'm testing my own ADS-B modulator using your demodulator in loopback through gnuradio-companion.
On my laptop I obtain good results, but when I try the loopback on different machines I obtain this output:

/usr/local/lib/python2.7/dist-packages/adsb/framer.py:162: RuntimeWarning: divide by zero encountered in float_scalars snr = 10.0*np.log10(in0[pulse_idx]/np.median(in0[(pulse_idx - NUM_NOISE_SAMPLES):pulse_idx])) + 1.6 /usr/local/lib/python2.7/dist-packages/adsb/demod.py:107: RuntimeWarning: divide by zero encountered in divide self.bit_confidence = 10.0*np.log10(bit1_amps/bit0_amps) /usr/local/lib/python2.7/dist-packages/adsb/demod.py:107: RuntimeWarning: divide by zero encountered in log10 self.bit_confidence = 10.0*np.log10(bit1_amps/bit0_amps)

There is a problem with my modulator software?
Thank you.

Ivan

CppUnit dependency is not needed.

The CppUnit dependency is not really needed. Gnuradio does not make that a hard requirement. And CppUnit is only needed/used when running make test .

Possible to attach FileSink to "ADS-B Decoder"?

Hi!
Thank you very much for this awesome work. I am new to gnuradio and tried to attach a file sink to your ADS-B Decoder with following Errors:

_Error 0:
Connection (
Block - adsb_decoder_0 - ADS-B Decoder(adsb_decoder)
Source - decoded(decoded)
Block - blocks_file_sink_0 - File Sink(blocks_file_sink)
Sink - in(0)
):
No connection known for domains "gr_message", "gr_stream"

Error 1:
Connection (
Block - adsb_decoder_0 - ADS-B Decoder(adsb_decoder)
Source - decoded(decoded)
Block - blocks_file_sink_0 - File Sink(blocks_file_sink)
Sink - in(0)
):
Source IO size "0" does not match sink IO size "8"._

As i am not very familiar with gnuradio i am not sure if this is even possible with your Decoder block. Thus, I appreciate any help.

GNU Radio printing

Hello,

I'm trying to use your projekt with ZC706 SDR board and FMCOMMS2 RF module, I configured Fmcomms2/3/4 GNU Radio block so it has LO set at 1090 MHz, bandwith set to 50 KHz and sampling rate to 2,084 MSPS. When I run the application in GNU Radio everything seems to work correctly, amplitude sink shows some data and frequency sink I added shows the badnwith correctly as well. However, I'm not sure where the data should be printed from decoded ADS-B signals. Does ZMQ PUB Message Sink should print it in console or it will be written only to adsb.db database? I checked the the database after receiving data and it appears to be empty. I suppose my configuration is wrong, but I'm not sure where should I look for results.

Regards,
James

Integrate FAA registry info

The FAA publishes a list of all registered tail numbers, their registrants, and their corresponding ICAO addresses, among other things. The CSV list is updated daily and is about 60 MB. I want to one-time convert a downloaded copy to a SQLite database for fast lookups.

https://www.faa.gov/licenses_certificates/aircraft_certification/aircraft_registry/releasable_aircraft_download/

  • Write a script to convert a user's downloaded FAA registry CSV file into an ICAO-indexed SQLite database
  • Add option to ADS-B Decoder to use FAA database
  • Propagate registry number info in decoded bursts

Timestamp

Excuse me, could I ask how to export the timestamp info for each message through your flow chart? Thank you

timestamp and failed

Hi ,
I am a graduate student and I am using gr-adsb to capture the adsb signals but I am facing some trouble. If you could guide me on this it would be really helpful.

When i used gr-adsb this is the verbose that I got:

Gtk-Message: 12:27:46.224: Failed to load module "canberra-gtk-module"
[INFO] [UHD] linux; GNU C++ version 7.4.0; Boost_106501; UHD_3.14.1.HEAD-0-gbfb9c1c7
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Detecting internal GPSDO....
[INFO] [GPS] Found an internal GPSDO: GPSTCXO, Firmware Rev 0.929b
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz...
[INFO] [B200] Actually got clock rate 16.000000 MHz.
[INFO] [B200] Asking for clock rate 32.000000 MHz...
[INFO] [B200] Actually got clock rate 32.000000 MHz.
OOOOO


Datetime: 2020-01-15 18:27:50.463353 UTC
SNR: 14.45 dB
DF: 17 Extended Squitter
CRC: Passed
CA: 5 Level 2 or Above Transponder, Can Set CA 7, In Air
AA: a82298
TC: 4 Identification (Category Set A)
Callsign: NKS250
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO


Datetime: 2020-01-15 18:27:52.824349 UTC
SNR: 12.14 dB
DF: 17 Extended Squitter
CRC: Passed
CA: 5 Level 2 or Above Transponder, Can Set CA 7, In Air
AA: ac491d
TC: 29 Reserved
To be implemented
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO


Datetime: 2020-01-15 18:27:54.682372 UTC
SNR: 6.92 dB
DF: 17 Extended Squitter
CRC: Failed (PI-CRC = -858354)
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO


Datetime: 2020-01-15 18:27:59.115507 UTC
SNR: 5.36 dB
DF: 17 Extended Squitter
CRC: Failed (PI-CRC = -3883480)
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO


Datetime: 2020-01-15 18:28:00.954059 UTC
SNR: 14.87 dB
DF: 17 Extended Squitter
CRC: Passed
CA: 5 Level 2 or Above Transponder, Can Set CA 7, In Air
AA: a82298
TC: 11 Airborne Position
valid_lat_lon False
lat_cpr 92136
lon_cpr 58629
lat nan
lon nan
SS: 0 No Condition Information
Time: 0 Not Synced to 0.2s UTC Epoch
Latitude: N/A N
Longitude: N/A E
Altitude: 34000 ft
OOOOOOOOOOO

*In the above output it shows that some messages have been failed to display. I still am unable to figure out why I get failed messages.

*I have an internal GPSDO installed. So is the timestamp displayed aligned with the GPSDO? (my B210 and GPSDO time was aligned earlier)

*For the last message, it is shown that time is not synced and it also doesn't display the corresponding latitude and longitude. Is there way I could print out the corresponding lat/long for each message (position reports) as well.

Thank you

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.