You are on page 1of 3

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.
 Radio
o Frequencies
o Reception
o Purpose-built receivers
 Data Format
o NMEA
o AIS Data Package (Bit Vector)
o Message Information

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.

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

You might also like