Tagged: AIS

ESAR – Extraordinarily Simple AIS Receiver written in C

Thank you to Richard Gosiorovsky for submitting his latest SDR project called ESAR (Extraordinarily Simple AIS Receiver). AIS stands for Automatic Identification System and is used by marine vessels to broadcast their GPS locations in order to help avoid collisions and aide with rescues. An RTL-SDR with the right software can be used to receive and decode these signals, and plot ship positions on a map.

Richards code comes as raw C code, so you will need some knowledge on C code compiling to use it. Being so simple, the code is also a great resource for learning how to access data from an RTL-SDR, and write a decoder. Richard writes:

[ESAR] takes less then 300 lines of programming code and no additional software is necessary (like SDR# or audio piping).

It was intended mainly as exercise in digital signal processing.

All you need is RTL-SDR dongle with driver and rtl_tcp command. Simple dipole antenna is sufficient. If all this you have just compile C code (in the attachment) using MS Visual Studio.

Before running ESAR run rtl_tcp command with this parameters:

rtl_tcp.exe -f 162e6 -s 300000 -a 127.0.0.1 -p 2345 -g 48.0

It comes with GNU licence so converting output to NMEA format or any graphical output is free choice of other SDR enthusiasts.

Richard has shared the C code file directly with us, and it can be downloaded from our server here.

ESAR Code Screenshot

Demonstrating the New 3D Maps in SDRAngel

In December of last year we posted about a video demonstrating the many features that the SDRAngel software comes standard with. Recently they've added a new feature which are 3D maps that can be used to visualize signal data.

In the latest video demonstration they show these 3D maps projecting NOAA weather satellite images onto a 3D globe and at the same time tracking the NOAA satellites over the globe as it produces imagery. They also show the software visualizing a 3D model of aircraft on the globe, using live ADS-B data to show aircraft maneuvers when taking off, cruising and landing. With multiple SDRs they also show how the visualization can be combined with air traffic voice. Finally they also show marine vessels being visualized via live AIS data. There appear to be a wide range of vessel 3D models implemented.

A List of Crowd Sourced SDR Data Exchanges

Over on Reddit u/onemindisbuddha has put together an interesting list highlighting the number of crowd sourced data aggregators that use RTL-SDRs or similar hardware.

A common example of a data aggregator that makes use of RTL-SDRs is most of the flight tracking websites, such as FlightAware and FlightRadar24. Contributors to the service will usually set up RTL-SDR + Raspberry Pi based receivers that feed ADS-B aircraft data received from the local area to these websites. Data from contributors from all over the world are then combined onto a single map, allowing for a global live picture of aircraft traffic.  

Some other examples on the list that use RTL-SDRs include Amateur Radio APRS tracking, marine traffic, police/EMS audio feeds, train traffic, weather audio feeds, satellite ground station feeds and general web based remote SDR access. Added to the list are also aggregators based on other devices for applications like lightning detection and seismic activity reporting.

Aggregators List Partial Screenshot

SDRAngel Features Overview: ADS-B, APT, DVB-S, DAB+, AIS, VOR, APRS, and many more built-in apps

SDRAngel is a general purpose software defined radio program that is compatible with most SDRs including the RTL-SDR. We've posted about it several times before on the blog, however we did not realize how much progress has occurred with developing various built in plugins and decoders for it.

Thanks to Jon for writing in and sharing with us a demonstration video that the SDRAngel team have released on their YouTube channel. From the video we can see that SDRAngel now comes stock with a whole host of built in decoders and apps for various radio applications making it close to an all-in-one SDR platform. The built in applications include:

  • ADS-B Decoder: Decodes aircraft ADS-B data and plots aircraft positions on a map
  • NOAA APT Decoder: Decodes NOAA weather satellite images (in black and white only)
  • DVB-S: Decodes and plays Digital TV DVB-S and DVB-S2 video
  • AIS: Decodes marine AIS data and plots vessel positions on a map
  • VOR: Decodes VOR aircraft navigational beacons, and plots bearing lines on a map, allowing you to determine your receivers position.
  • DAB+: Decodes and plays DAB digital audio signals
  • Radio Astronomy Hydrogen Line: With an appropriate radio telescope connected to the SDR, integrates and displays the Hydrogen Line FFT with various settings, and a map of the galaxy showing where your dish is pointing. Can also control a dish rotator.
  • Radio Astronomy Solar Observations: Similar to the Hydrogen line app, allows you to make solar measurements.
  • Broadcast FM: Decoding and playback. Includes RDS decoding.
  • Noise Figure Measurements: Together with a noise source you can measure the noise figure of a SDR.
  • Airband Voice: Receive multiple Airband channels simultaneously
  • Graves Radar Tracker: For Europeans, track a satellite and watch for reflections in the spectrum from the French Graves space radar. 
  • Radio Clocks: Receive and decode accurate time from radio clocks such as MSF, DCF77, TDF and WWVB.
  • APRS: Decode APRS data, and plot APRS locations and moving APRS enabled vehicles on a map with speed plot.
  • Pagers: Decode POCSAG pagers
  • APRS/AX.25 Satellite: Decode APRS messages from the ISS and NO-84 satellites, via the built in decoder and satellite tracker.
  • Channel Analyzer: Analyze signals in the frequency and time domains
  • QSO Digital and Analog Voice: Decode digital and analog voice. Digital voice handled by the built in DSD demodulator, and includes DMR, dPMR and D-Star.
  • Beacons: Monitor propagation via amateur radio beacons, and plot them on a map.

We note that the video doesn't show the following additional features such as an analog TV decoder, the SDRAngel "ChirpChat" text mode, a FreeDV decoder and several other features.

AIS-Catcher: A Dual Band Multiplatform AIS Receiver for RTL-SDR and Airspy HF+ with Multiple Decoding Models

Thank you to Jasper for writing in and letting us know about the release of his new open source software called "AIS-Catcher". AIS-Catcher is a MIT licensed dual band AIS receiver for Linux, Windows and Raspberry Pi. It is compatible with RTL-SDR dongles and the Airspy HF+.

AIS stands for Automatic Identification System and is used by marine vessels to broadcast their GPS locations in order to help avoid collisions and aide with rescues. An RTL-SDR with the right software can be used to receive and decode these signals, and plot ship positions on a map.

Jasper notes that his software was intended to be a platform for him to experiment with different receiving model algorithms. On the GitHub readme he explains how he's experimented with a coherent demodulation model that estimates the phase offset, a non-coherent model which is similar to what most existing decoders use, a modified non-coherent model with aggressive PLL, and an FM discriminator model which assumes the input is the output of an FM discriminator.

The readme goes on to show some comparison results indicating that the coherent model is the best although it uses 20% more computation time. He also compares AIS-Catcher against some other AIS decoders like AISRec and rtl-ais, showing that AIS-Catcher appears to be comparable or better than AISRec, which is one of the most sensitive decoders available for SDR dongles.

A Windows binary is provided on the releases page and compilation instructions for Linux are provided on the Github Readme.

Some results from AIS-Catcher. Different algorithms and different software compared.

A Dual Aircraft and Ship Tracking System with RTL-SDR

Over on his blog Ian Renton has posted about his dual plane and ship tracker project that he's titled "Plane/Sailing". The project consists of several elements including one FlightAware Pro Stick and Pimoroni ADS-B antenna for the aircraft tracking, and an RTL-SDR Blog V3 dongle and Diamond X-50 AIS antenna for the ship tracker.

Ian runs each dongle on a seperate Raspberry Pi. For aircraft the dump1090 software is used to decode the data, and it passes that data to multiple aggregator feeders such as FlightAware, FlightRadar24, ADS-B Exchange and OpenSky. For ships he uses rtl_ais which feeds into AIS Dispatcher which in turn feeds multiple marine aggregators such as Marine Traffic, VesselFinder, AIS Hub, Pocket Mariner and Ship Finder.

His system also feeds a personally hosted web front end based on his umid1090 software. umid1090 is a replacement for dump1090's web interface, the main difference being that the map is presented using military symbology. For the "Plane/Sailing" project he also extended umid1090 to be able to read the AIS ship position data from AIS Dispatcher's KML output file, and created a clean dark interface. The result is a slick looking map displaying both the tracked aircraft and ships. Ian's web interface for his system is public, and can be viewed at planesailing.ianrenton.com.

The Plane/Sailing Web Interface (Based of UMID1090)

 

Building a Raspberry Pi Based AIS Receiver with an RTL-SDR, Preamp and Collinear Antenna

Thank you to SARCNET (School Amateur Radio Club Network) for submitting news about their tutorial on building a Raspberry Pi and RTL-SDR based AIS receiver. In their tutorial they show what equipment is required and provide access to a ready to use SD Card image for the Pi that has the AIS software pre-installed and ready go. They also show how to upload data to various online AIS data aggregators like AISHub and MarineTraffic.

AIS stands for Automatic Identification System and is used by ships to broadcast their GPS locations in order to help avoid collisions and aide with rescues. An RTL-SDR with the right software can be used to receive and decode these signals, and plot ship positions on a map.

The School Amateur Radio Club Network publishes a simple project aimed at promoting the deployment of maritime Automatic Information System (AIS) receiving stations around the world using cheap RTL-SDR dongles and Raspberry Pi computers. The purpose of the project is to improve the existing terrestrial AIS receiving network by encouraging enthusiasts to setup their own AIS receiving stations and to disseminate their local vessel traffic data freely to AIS Servers. This data can then be used by many organisations involved in monitoring and improving the safety and security of shipping.

The SARCNET project, which works on all models of Raspberry Pi, makes building the AIS receiving station simple by providing pictorial construction details with a pre-packaged Raspberry Pi image to download. The free project uses open-source software and a bootable Raspberry Pi image which has been updated to use the latest Raspbian Lite operating system.

One of the attractions of building your own AIS receiving station is that some AIS servers reward you when you freely upload your local vessel tracking data. They publish your station information, showing your station position on a map and your receiving statistics like messages per hour and coverage in nautical miles. Some give you free, premium access to their AIS data, which can be viewed on their mobile apps. Even so, by operating one of these AIS receiving stations, you will have the satisfaction of making the world a safer place.

AIS Received with a Raspberry Pi and RTL-SDR Dongle.
AIS Received with a Raspberry Pi and RTL-SDR Dongle.

A Homemade Boat Computer with RTL-SDR for Weather Fax, NavTex and more

Over on Hackaday we've seen a post about [mgrouch]'s "boat computer" which consists of a Raspberry Pi 4, HDMI display, and a whole slew of sensors and receivers useful for a marine environment including an RTL-SDR.

The built in equipment includes a GNSS receiver, orientation sensors, AIS receiver, 4G and WiFi, lightning EMI sensor and alarm, optional autopilot integration, rudder angle sensor, connections to boat instruments like wind, depth, speed, temperature, barometric and humidity sensors, an Iridium receiver, and finally an RTL-SDR for receiving weather fax, NavTex, satellite weather, AIS, RTL 433, morse code and more. It really is an "all-in-one" device.

His blog post explains in detail how each of the components work in the system, and in particular for the RTL-SDR he shows how you can use the boat computer to receive FM via GQRX, and NavTex via the Java based Frisnit Navtex decoder. Navtex is a marine radio service that transmits at 518 kHz or 490 kHz. It provides text data regarding weather forecasts, weather warnings, navigational information, and urgent maritime safety messages. For his antenna he writes that he uses a 10 kHz - 30 MHz Mini Whip antenna that he purchased on Aliexpress.

mgrouch's Boat Computer with RTL-SDR
mgrouch's Boat Computer with RTL-SDR