Automatic Identification System (AIS)
The Automatic Identification System (AIS) is an automatic tracking system
used on ships and by the Vessel Traffic Services (VTS) for identifying
and locating vessels.
This is achieved by electronically exchanging data with nearby ships
and AIS base stations within VHF-radio range.
An AIS-equipped system on board of a ship, presents the bearing and
distance of nearby vessels in a radar-like display format.
As such, AIS information supplements marine radar, which continues
to be the primary method of collision avoidance for water transport.
The collected information allows each AIS-equipped ship to determine
the relative motion of nearby vessels and thus to estimate and monitor
the Closest Point of Approach (CPA) for each vessel and to reveal potential
Information provided by AIS equipment, such as unique MMSI identification,
position, course, and speed, can be displayed on a screen or an ECDIS.
AIS is intended to assist ship's watch-standing officers and to allow
maritime authorities to track and monitor vessel movements.
For this purpose, AIS integrates a standardized VHF transceiver with a
positioning system such as a GPS receiver and other electronic navigation
sensors, such as a gyrocompass or rate of turn indicator.
The International Maritime Organization's (IMO) International Convention
for the Safety of Life at Sea (SOLAS) requires AIS to be fitted aboard
international voyaging ships with gross tonnage (GT) of 300 or more tons,
and all passenger ships regardless of size.
However, not all ships carry AIS. In particular pleasure craft and fishing
vessels, may not be fitted with AIS. Also not all vessels accurately report
all required AIS information.
In 2007, the new Class B AIS standard was introduced which enabled a new generation of
low cost AIS transceivers targeting applications in pleasure yachting.
AIS gives access to the information on position and motion of nearby vessels and can
be used to detect potential collision situations, which makes it interesting also for
These types of yachts are not bound to carry AIS, but may at least be equipped
with an AIS receiver to collect the information of larger vessels sailing within VHF range.
Notice that is the yacht is equipped with an AIS receiver only, it will not transmit its
own data and thus will not be "AIS-visible" for other local marine traffic.
The VHF communication link
AIS was designed to use standard marine radio frequencies for data transmission, similar to DSC
(Digital Selective Calling).
This basically means that the existing set of antennas, cabling, and frequency allocation plans
did not need to be changed for its implementation.
But it requires some special equipment to encode, send, receive and decode the digital data.
For the exchange of the AIS information between ships or between ships and ports, two marine VHF
channels are exclusively reserved.
The VHF channel 87B (161.975Mhz) is used for the AIS "A" channel and the channel 88B (162.025Mhz)
is used for the AIS "B" channel.
The simplex channels 87A and 88A use a lower frequency so they are not affected by this allocation
and can still be used as designated by the maritime mobile frequency plan.
The AIS position and telemetry information is transferred as small bursts of 256 bits of data, sent over one
of the two dedicated marine VHF channels using 9.6 kbit/s Gaussian Minimum-Shift-Keying modulation (GMSK)
instead of FM used for analog voice transmission.
Each AIS message will require at least one slot per frame of the VHF data link.
But, depending on the amount of data, this can extend to a maximum of 5 slots per frame
for a complete AIS message. These multiple slots may be consecutive or distributed
within one frame, but this depends on the TDMA access scheme used.
AIS uses TDMA (Time Division Multiple Access) technology to allocate and share the available
airwaves on the AIS frequency.
The AIS standard states that there are a fixed number of these slots for each of the two AIS
channels: 2250 on each channel every 60 seconds, so a total of 4500 per minute across both channels.
Since there is no master station to schedule the transmission of AIS information, a specially developed
mechanism called "Self-Organising" TDMA is used to prevent transmission collisions.
TDMA is the principle of sending information in time slots and stands for "Time-Division Multiple Access".
In this scheme, a ship may use a certain time slot to sent its relevant AIS information.
In order that all ships use a synchronized time slot schedule, this schedule is
synchronized with UTC time obtained from a GPS receiver, which is an integral
part of the AIS set up.
The self-organizing TDMA technique is the most complex TDMA access scheme
defined for AIS and provides the main principle for an autonomous operation
of the network.
For correct SOTDMA operation, all stations share a common time reference
(derived from GPS time) ensuring they can all accurately determine the start
time of each TDMA slot.
Each data transmission includes the reservation of the TDMA slot that will
be used by the transmitting station for subsequent transmissions.
This allows receiving stations to locally build up a "channel activity map"
reflecting which slots are in use by which station.
Each station avoids slots known to be in use by other stations for its own transmissions.
This prevents two stations in range of one another using the same slot.
As mobile stations move from one area to another they encounter new stations
with different slot allocations.
This may cause the station to modify its own slot allocation leading to a
dynamic and self organising system over time and space.
For the class B AIS, a simpler scheme is used called CS-TDMA (carrier sense TDMA).
The CSTDMA scheme was introduced to permits development of a low cost transceiver
that is fully interoperable with SO-TDMA transmissions whilst ensuring priority
is always given to SO-TDMA transmissions.
In the SCTDMA transceiver, the slot timing is determined from the timing of AIS
Class A or AIS base station transmissions within receiver range.
GPS based timing is not required.
Stations using CSTDMA, continuously monitor the AIS radio channels background noise level.
This background level is used as a reference for a received signal strength
measurement at the start of each TDMA slot.
When a transmission is required a TDMA slot is randomly selected and the
signal strength at the start of the slot measured.
If the signal strength is significantly above the background level the slot
is assumed to be in use and the transmission is deferred.
If the signal strength at the start of the slot is close to the background
level the slot is assumed to be unused and the transmission is made.
The ‘listen before transmit’ or ‘carrier sense’ scheme works on a slot by
This limits CSTDMA transmissions to a single TDMA slot.
Multiple consecutive slots cannot be allocated using this technique.
Recently, a new class of transceivers became available, which are named
class B+ transceivers. Advances in technology today allow to implement the
more complex SOTDMA scheme also in the class B transceivers, adding some
class A features to class B transceivers.
The following table summarizes the most important features of the
different transceiver classes:
| ||Class A AIS||Class B AIS||Class B+ AIS|
|Reporting interval (enroute)||2-10 Seconds||30 Seconds||5-30 Seconds|
|Reporting interval (at anchor)||3 Minutes||3 Minutes||3 Minutes|
|Transmit Power||12 Watt||2 Watt||5 Watt|
NMEA data format
The information decoded by the AIS HF receiver is made available for other
navigation instruments in the form of standardized NMEA data messages.
Electrically, this data transfer is performed over a RS232 serial interface or
a USB interface.
The NMEA standard uses two basic data sentences to for AIS information:
In normal operation, an AIS transceiver will broadcast a position report (type 1, 2, or 3)
every 2 to 30 seconds depending on the vessel’s speed while under way,
and every 3 minutes while the vessel is at anchor and stationary.
- "!AIVDM": Position reports from other vessels
- "!AIVDO": Position reports from own vessel (which will not be received by its AIS receiver)
An example for a type 1 report could be as follows:
!AIVDM: the NMEA message type identifier for AIS position report
1 Number of Sentences (some messages need more than one)
1 Sentence Number (1 unless its a multi-sentence message)
the Sequential Message ID (for multi-sentence messages else blank)
A the AIS Channel (A or B)
14eG;... the Encoded AIS Data
0 the number of fill bits requires to pad the data to a 6 bit multiple
* End of Sentence
7D NMEA Checksum
AIS Data Encoding
In the NMEA encoding for AIS each ASCII character represents a 6 bit binary code
(unlike normal ASCII which map to 8 bits).
So you need to step through each received character and subtract 48 from the
ASCII representation, then if it is still a decimal number > 40 subtract another 8 a
nd finally convert the number to 6-bit binary.
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
SOG - bit 51 for 10 bits (and divide by 10)
Lon - bit 61 for 28 bits (a signed binary number, divide by 600000)
Lat - bit 89 for 27 bits (a signed binary number, divide by 600000)
COG - bit 116 for 12 bits (and divide by 10)
HDG - bit 128 for 9 bits
The most interesting message types (first 6 bits of encoded data) are the
position reports (type 1, 2, or 3):
01: Position Report Class A
02: Position Report Class A (Assigned schedule)
03: Position Report Class A (Response to interrogation)
The structure of the position reports is identical for types 1, 2 and 3:
|Information||Message Type 01||Message Type 02||Message Type 03|
|Message type||bits [01-06]||bits [01-06]||bits [01-06]|
|MMSI||bits [09-38]||bits [09-38]||bits [09-38]|
|SOG||bits [51-60]||bits [51-60]||bits [51-60]|
|Longitude||bits [62-89]||bits [62-89]||bits [62-89]|
|Latitude||bits [90-116]||bits [90-116]||bits [90-116]|
|COG||bits [117-128]||bits [117-128]||bits [117-128]|
|True Heading||bits [129-137]||bits [129-137]||bits [129-137]|
|UTC time stamp||bits [138-143]||bits [138-143]||bits [138-143]|
AIS receiver hardware
An interesting hardware platform, ready to build a low cost (experimental) AIS receiver,
is available from
This receiver board fits directly to a raspberry PI microcomputer.
Some successful AIS implementations are available from the raspberry project site.
This two channel marine AIS receiver is reported to work great with e.g. OpenCPN
and other navigation platforms that accept standard serial data input.