RTL-SDR AIS Ship Tracking

From wikiluntti
Revision as of 12:00, 18 June 2024 by Mol (talk | contribs) (→‎NMEA)

Introduction

  • AIS: Automatic Identification System.
  • RTL
  • SDR: Software Defined Radio
  • Also: ADS-B (Automatic Dependent Surveillance-Broadcast) for aircraft surveillance. 1090 MHz

Need a radio dongle, antenna. Use Arduino and RPi.

RTL-SDR V3

My dongle seems to be original, according to https://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/

V3 Datasheet is at https://www.rtl-sdr.com/wp-content/uploads/2018/02/RTL-SDR-Blog-V3-Datasheet.pdf

  • Install the custom drivers in order to make the V4 work
    • RTL-SDR Blog driver fork from https://github.com/rtlsdrblog/rtl-sdr-blog.
    • Release.zip file from the Releases page. For SDR# extract the rtlsdr.dll file from the x86 folder to the SDR#. For most other x64 programs, use the rtlsdr.dll file in the x64 folder.

Software

Frequencies 161.975 MHz and 162.025 MHz, thus by adjusting the frequency to 162.000MHz we can listen to both frequencies. Marine VHF is narrow band (NFM) Ch16 is on 156.8MHz.


SDRSharp, SDR#

SDR#, brief tutorial:


AISCatcher

https://www.youtube.com/watch?v=8wRIYuFXOqE

  • In built-web server:
    AIS-catcher -v 10 127.0.0.1 -M DT -N 8100
  • Use external data from https://airspy.com/directory/:
    AIS-catcher -v 10 127.0.0.1 -M DT -N 8100 y 37.136.93.253 5000


AirSpy


OpenCPN is a plotter.

AISmon

SDRangel

AIS Data received

  • Date. Eg: Tue Jun 18 2024
  • Time. Eg: 12:07:49
  • MMSI: Maritime Mobile Service Identity. Eg: 230011000
  • Country. Eg:
  • Type. Eg: Static data report // Standard Class B equipment position report // Ship static and voyage related data // Position report (Scheduled) // Position report (Interrogated) // Data link management message // Base station report //
  • Id. Eg:
  • Data. Eg: Type: Vessel - Sailing Vendor ID: SRTH%GM Callsign: OH8682 // Type: Vessel - Pleasure craft Vendor ID: AMC@ANM Callsign: OH6573 // Name: MAIJU // Lat: 91° Lon: 181° Speed: 102.3 knts Course: 360° Status: Moored // Lat: 59.5295° Lon: 24.7398° Speed: 24.2 knts Course: 339.7° Status: Under way using engine // Lat: 59.5168° Lon: 24.8398° Tue Jun 18 09:37:29 2024 GMT // IMO: N/A Callsign: ES2735 Name: AHTO-28 Type: Pilot vessel Destination: MUUGA //
  • NMEA 0183(?) (National Marine Electronics Association). See https://pypi.org/project/pyais/ Eg: !AIVDM,1,1,,,13KIo6P000QiV=:R2p;u2Db@2H59,0*4b // !AIVDM,1,1,,,13KtJ`04PaQiHGJR0w6j2GWT0D2I,0*08
// !AIVDM,1,1,,,347eHF50P0QiIBRR0qsWLFgN2000,0*2e
// !AIVDM,2,1,1,,54cac6429V2GQ1=2221LTi<tr20QDl8E:22222169p;975SV091AE33888888,0*73

!AIVDM,2,2,1,,8888888880,2*5c

  • Hex. Eg: 14420221e2025bcd4854cc4800003594d40520000000000000000000003d0baf92485a497914515604ef2df8624814c00000000000 // 0441fbd883e0000871275fa2059611b9ffac008364
  • Slot. Eg:

NMEA

NMEA 0183(?) (National Marine Electronics Association). See https://pypi.org/project/pyais/

  • Comma-separated fields, eg !AIVDM,1,1,,B,15MwkT1P37G?fl0EJbR0OwT0@MS,0*4E
    • !AIVDM: the sentence is an AIS message in the "VDM" (VDO Message) format.
    • 1,1: the total number of sentences in the message and the current sentence number, respectively.
    • Blank
    • B: the communication channel. In this case, the channel is "B".
    • 15MwkT1P37G?fl0EJbR0OwT0@MS: the message in Six-bit ASCII.
    • 0*4E: a checksum.
  • Eg, Position Report" message: position, course, and speed.
Eg: !AIVDM,1,1,,,13KIo6P000QiV=:R2p;u2Db@2H59,0*4b // !AIVDM,1,1,,,13KtJ`04PaQiHGJR0w6j2GWT0D2I,0*08
// !AIVDM,1,1,,,347eHF50P0QiIBRR0qsWLFgN2000,0*2e
// !AIVDM,2,1,1,,54cac6429V2GQ1=2221LTi<tr20QDl8E:22222169p;975SV091AE33888888,0*73

!AIVDM,2,2,1,,8888888880,2*5c

Theory -- AIS decoding

https://www.rtl-sdr.com/rtl-sdr-tutorial-cheap-ais-ship-tracking/


Radio Dongle

https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/

https://www.ebay.com/str/rtlsdrblog

https://www.ebay.com/itm/283144516411?mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5338814417&customid=&toolid=20012&mkevt=1

Antenna

The frequency of AIS signal is 161.975 MHz and 162.025 MHz, and have the max range of about 70 km. Is is a line of sight signal.

Quarter wave / dipole. One vertical 1/4 wave element connected to the center of the coax cable and 4 (or more) more grounding elements pointing towards the the ground at 45 deg. A quarter wave antenna calculator: https://jeroen.steeman.org/Antenna/Quarter-Wave-Antenna-Calculator

Coax collinear antenna. Very high omnidirectional gain. Multiple short coax cables where the outer conductor is connected to the inner conductor in an alternating fashion.

Yagi antenna. Very directional antenna that will pick up signals in the direction it is pointed: Very large gain.

Slim Jim.

Refs:

Programming

References