sailing   wooden boats

 
Enter what you want to search for, to search for an "exact phrase" by enclosing it in quotes. You may search for a combination of words and phrases

en

Learn more about our "How to Tie Knots" DVD/CD
October 20th 2014 - 07:19

Marine Automatic Identification System (AIS)

Short and sweet: AIS is composed of small bursts of data sent over normal marine VHF but using GMSK modulation instead of FM to identify vessels, their position, and telemetry. The data is encoded into a bit pattern (bit vector) to make it as small as possible. For a much longer and drawn-out description see Wikipedia

For practical (technical) information about AIS, it´s reception and decoding, you´ve come to the right place.

AIS Radio Transport

AIS was initially designed to use standard marine radio frequencies for data transmission. This basically means that the existing set of antennas, cabling, and frequency allocation plans didn´t need to be changed at all to see it implemented. All that was required was some special equipment to encode and send/receive and decode the signals.

AIS over VHF

AIS uses the high side of the duplex from two VHF radio "channels" 87B and 88B.

Channel A 161.975Mhz (87B)
Channel B 162.025Mhz (88B)


The simplex channels 87A and 88A use a lower frequency so they are not even affected by this allocation and can still be used as designated for the maritime mobile frequency plan.

AIS Reception

The data is encoded using GMSK modulation so you wont hear anything if you simply tune your VHF radio to 88B - you need a special data output (found on some scanners) to access the data. Many HAM radios that have been configured for high-speed packet radio communications have this output and others can be "hacked" to obtain it. You effectively need a Discriminator Tap This is an output from one of the chips in the radio that gives the raw signal before any audio filtering (the filtering destroys the GMSK data)

To find out about your radio or scanner just do a search something like "<radio model> Discriminator Output" and you should find what you need.
Example of a scanning AIS Receiver

AIS Receivers

Most AIS communications are performed by purpose-built hardware systems. There are several types:

  • Class A Transponders >$2000
    Full implementation that can transmit a vessel´s data on either AIS channel and receive on both channels simultaneously.
  • Class B Transponders ~$1000
    For non-compulsorily fitted vessels withing to have an inexpensive AIS system - same VHF specs but fewer features and capabilities
  • Dual Channel Receivers ~$400
    Receives AIS on both channels simultaneously - usually providing a NMEA data output. No transmission.
  • Scanning Receivers ~$200
    Receives AIS on both one of the two channels at a time (but scans between them) - usually providing a NMEA data output. No transmission.

AIS Data Format

The AIS data format seems to be a fairly well kept secret. The following should help anyone wishing to explore the AIS data in more detail without shelling out the money and then attempting to sift through the ITU M.1371-2 standard

NMEA AIS Message Format

The NMEA standard uses two primary sentences to for AIS data !AIVDM (Received Data from other vessels) and !AIVDO (Your own vessels information) Since you won´t be receiving AIVDO messages we will focus on the AIVDM sentence.

Here is a typical NMEA standard AIS message:

!AIVDM,1,1,,A,14eG;o@034o8sd<L9i:a;WF>062D,0*7D

In Order:

!AIVDM:        The NMEA message type
1              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 Data
0*             End of Data
7D             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. Looking at our data (just the first few characters)

14eG

1 = 000001
4 = 000100
e = 101101
G = 010111
and 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

Now you start grabbing sets of bits from this and converting to decimal. Here are the key pieces of information assuming the first character is a ´1´ (the message type):

MMSI Number - starting from bit 8 for 30 bits
            = 010010110101011101110000101001 = 316005417

HDG - bit 128 for 9 bits
COG - bit 116 for 12 bits (and divide by 10)
SOG - bit 50 for 10 bits (and divide by 10)

Lat - bit 89 for 27 bits (a signed binary number, divide by 600000)
Lon - bit 61 for 28 bits (a signed binary number, divide by 600000)

AIS Message Types

The following are the individual messages that have been defined for AIS in the NMEA standard. Each one that is linked contains the detailed bit vector binary message data breakdown of the message contents. I will try to add all of them as quickly as possible.

01 - Position Report with SOTDMA
02 - Position Report with SOTDMA
03 - Position Report with ITDMA
04 - Base Station Report
05 - Ship static and voyage related data
06 - Addressed Binary Message
07 - Binary Acknowledge
08 - Binary Broadcast Message
09 - Standard SAR Aircraft position report
10 - UTC and Date inquiry
11 - UTC and Date response
12 - Addressed safety related message
13 - Safety related Acknowledge
14 - Safety related Broadcast Message
15 - Interrogation
16 - Assigned Mode Command
17 - GNSS Binary Broadcast Message
18 - Standard Class B CS Position Report
19 - Extended Class B Equipment Position Report
20 - Data Link Management
21 - Aids-to-navigation Report
22 - Channel Management
23 - Group Assignment Command
24 - Class B CS Static Data Report


salts
Copyright © 1987-2014 The Bosun's Mate