Source Checkout - nmea4j - NMEA encoding/decoding for Java. AIS (Automatic Identification System) Decoding. Well, this page is getting really old.
Today you can buy AIS receivers at reasonable prices in ”any” shop. When I wrote this page, back in 2003, such receivers had brutal price tags. However, I will keep this page for sentimental reasons. What is AIS ? AIS (Automatic Identification System) is a system that continuously transmits a ship’s identification and position to other nearby vessels. AIS is a global system. AIS uses two channels (VHF 161.975 and 162.025 MHz) that have been reserved worldwide for this purpose. AIS Decoding for the Hobbyist To add an item to my decoding résumé I decided to spend a few evenings to see if I could catch some position reports from ships in Gothenburg’s harbor. Most of the time was spent on the Internet, gathering information on GMSK, NRZI and bit stuffing.
The AIS signal is trickier to decode than, for instance, FFSK or Pocsag. The more-or-less triangle shaped training sequence in the picture is actually supposed to be a sine wave, or close to one. AIVDM/AIVDO protocol decoding. Note that many sources use 1-origin numbering for the bits.
We’ll use 0-origin in this document. The first 6 bits of the payload (0-5) are the message type. Message types are as follows: In normal operation, an AIS transceiver will broadcast a position report (type 1, 2, or 3) every 2 to 10 seconds depending on the vessel’s speed while underway, and every 3 minutes while the vessel is at anchor and stationary. It will send a type 5 identification every 6 minutes. Class 6 is used for unencrypted structured extension messages by local authorities such as the St. Class 8 is in common use for private encrypted messages, such as location transmission in military exercises. Classes 12 and 14 are used for text messaging, nominally safetty-related but also for traffic control and occasionally chatter.
In practice, message types other than 1, 3, 4, 5, 18, and 24 are unusual or rare; many AIS transmitters never emit them. AISParser - ais-toolkit - This article describes how to use the AIS parser in your own Java project. - AIS Parser and Receiver for handling AIS data with Java. The usage of the AIS Parser is very simple.
Just implement an AISObserver and register the object at the parser. The observers would be notified on every complete AIS message (some AIS messages consist of more than one part). The following code shows a minimal setup which covers all parts of the public API. Receiver public final class Receiver implements AISObserver, Runnable { public static void main(String[] args) { new Thread(new Receiver()).start(); } AIVDM/AIVDO protocol decoding. Note that many sources use 1-origin numbering for the bits.
We’ll use 0-origin in this document. The first 6 bits of the payload (0-5) are the message type. Message types are as follows: In normal operation, an AIS transceiver will broadcast a position report (type 1, 2, or 3) every 2 to 10 seconds depending on the vessel’s speed while underway, and every 3 minutes while the vessel is at anchor and stationary. It will send a type 5 identification every 6 minutes. Class 6 is used for unencrypted structured extension messages by local authorities such as the St.
Class 8 is in common use for private encrypted messages, such as location transmission in military exercises. Classes 12 and 14 are used for text messaging, nominally safetty-related but also for traffic control and occasionally chatter. In practice, message types other than 1, 3, 4, 5, 18, and 24 are unusual or rare; many AIS transmitters never emit them. Ais Decoder. The decoder will decode all the NMEA VDM or VDO content of all 27 AIS message types including ! AIVDM, ! BSVDM and ! ABVDM, The decoder has been tested on an XP PC, and believe it should work on all Windows PC's after 98.
Other users report it works on Vista, Win 7, Win 7-64 and Linux (Wine). Introduction Ais Decoder accepts AIS data from an AIS Receiver, the Internet or a Local Network connection, decodes the data and presents the decoded data in a form suitable for display and analysis by mapping program (eg Google Earth or Google Maps), or for analysis using Excel, or by a database (eg MySql). AIS Decoder im Binnenland testen ;-) Freeais.org - Browse Files. Free AIS vessel tracking. Marine > AIS > AIS Information > AIS Decoder. GNU AIS - Automatic Identification System for Linux. Download nmea format ais decoder java on - iwdownload.com.
AIVDM/AIVDO protocol decoding. Marine > AIS > AIS Information > AIS Decoder. AIS Data Exchange - Protocols and Interfaces. Decode AIS data= AIS parser. !
AIVDM,1,1,,A,14eG;o@034o8sd In Order: ! AIVDM: The NMEA message type1 Number of Sentences (some messages need more then one)1 Sentence Number (1 unless it's a multi-sentence message) The blank is the Sequential Message ID (for multi-sentence messages)A The AIS Channel (A or B)14eG;... The Encoded AIS Data0* End of Data7D NMEA Checksum AIS Data Encoding In the NMEA encoding for AIS - each ASCII character corresponds to 6 binary bits (unlike normal ASCII which uses 8 bits) so you need to step through each character and subtract 48 from the ASCII - then if it's still a decimal number > 40 subtract another 8 - then convert to binary: this guarantees a 6 bit number. 14eG 1 = 0000014 = 000100e = 101101G = 010111and so on... The complete data string decoded looks like this when strung back together.000001 000100 101101 010111 011100 001010 010000 000000 000000 000000 110111 001000 110111 100001 101000 011100 011101 110010 011111 101011 110000 110101 010111 010000 000000 001000 011000 011011.