How to Receive AIS on Shore and Sea
Most of which you
don't need to know - until it doesn't work !
I've tried to keep as much of the following a simple as possible
while still including some meat for those who wish to know more
about what's actually going on, or are having problems. Just stop
when you've read enough to do what you want - or you're fed up
- as it gradually gets more complicated.
AIS (Automatic Identification
System) is used by ships to report their position, speed course
and other information to other ships and shore stations, by
transmitting the relevant information at regular intervals, using
a VHF radio link. It is used by ships to assist in collision
avoidance and other safety related issues.
Although primarily intended
for inter-ship and ship-to-shore communications, the signals
transmitted can be picked up by any suitably equipped receiving
station, enabling ships' positions to be displayed on a map or
chart. The reception range is limited to VHF radio range, which is
typically 10 to 40 miles.
up a basic station
It is not difficult to set up a simple
home receiving station. You need an aerial connected to a
receiver, connected to a display. Getting the whole to work is a
bit like a jig-saw puzzle, each piece has to link properly to each
other piece in the chain. If one doesn't, you may have to put
another piece in between to link the two together that otherwise
As already mentioned, the higher
The AIS signal is
transmitted at VHF (Very High Frequency), broadly speaking
this is similar to the frequency TV and FM radio is
transmitted. As with TV, reception is limited to "line of
sight", in other words the receiving aerial must be able to
"see" the transmitting aerial. In fact reception distance is
likely to be sightly greater than this, because radio waves
bend a little round the Earth's surface.
Like TV reception a good aerial makes a significant difference
to the reception, and height really does matter (otherwise you
would not put TV aerials on chimney pots).
A Marine VHF aerial will give reasonable reception, for about
double the price of the cheapest marine aerial the Metz
Manta will take some beating. It's still considerably
less than the more expensive marine aerials.
If your handy with a soldering Iron you can make a ribbon
for a few pence.
Commercial aerials may come with a downlead already
connected, or may come with just a socket at the base of the
aerial. If supplied with a lead it will probably have a
PL259 plug on the end of the downlead and your receiver will
probably have a BNC connector for the aerial, in which case you
will need an adapter.
These are available from Maplin , Martin Lynch & Sons or worldwide from Farnell
If no downlead is supplied
you will need RF coax, which should be 50 ohm. To start with RG58
is OK, RG213 is much better (particularly for longer runs)
although considerably more expensive. TV or satellite coax cable
is not suitable.
There are two basic options
Dedicated AIS receiver
This converts the VHF radio signal into a decoded digital signal
suitable for direct connection to a PC or Chart Plotter. It is a
"Black Box", There are no controls of any description, just an
aerial socket, output socket and power supply (unless powered
direct from a computer USB connection). The most popular are
possibly NASA AIS
and SR161/162 .
You can also use a Communications Receiver or Scanner. This
outputs audio and requires an audio decoding program running on a
PC. This is really only a practical proposition if you
already have a suitable receiver or wish to use the receiver for
other purposes. Not all scanners or receivers are suitable as they
need to be able to receive the right frequency and importantly
need a wide enough bandwidth. For more information on suitable
receivers and possibly modifying an existing receiver see http://www.discriminator.nl
Receiver to PC connection
The output socket from a dedicated AIS
receiver will be RS232 (serial) or USB or RJ45 (network). The
output from a communications/scanner it will be a Jack (audio).
The receiver must be connected to the same type of socket on the
PC. The appropriate lead will probably be supplied with the
receiver. If the receiver has a RS232 serial output, you can use a
RS232-USB adapter lead containing both software and hardware
within the socket to convert the signals. It costs around £20 from
Maplin. As the electrical signal in each type of lead are
different, you cannot buy a simple adapter plug to change between
each type of plug and socket.
As already mentioned, a
communications receiver passes an audio signal to the PC, the
other three types of connection all transport identical data from
the receiver to the PC. Each of these three types (RS232,USB,RJ45)
uses a different method to transport the data, even though the
data is identical in each case. Its a bit like receiving the same
letter in the post, by hand and by fax; in each case you receive
the same letter but the method of transport is different. The
format of this data is called NMEA (like the envelope containing
the letter) . The decoded AIS signal is encapsulated within the
A PC or possibly a chart plotter,
is used to display the AIS data in a visual manner, normally on a
chart or a map.
There are a number of programs available, some are free, some
shareware and some commercial. Because of copyright and chart
format issues, simple maps/charts can be free or can be very
expensive and not all charts are compatible with all programs.
To further complicate the choice, there are programs available to
scan charts and stitch adjacent charts together. There are also
programs which will overlay AIS data on Google maps.
Another complication is most programs and some computers do not
accept serial,usb and network connections.
Because of the number of options, and after you have received and
seen your first data, your preferences may change, it is quite
probable your first program may not be the program you ultimately
prefer. I would suggest initially using a simple free program, get
used to the type of information you wish to see and how you prefer
to see it displayed, before committing significant time and
possibly money in software.
free to display your own data. It accepts serial and network
connections. To accept USB you will need a virtual com port
driver which will allow you to use the software with a
receiver using USB output. This driver is supplied with the Comar AIS-2-USB.
is also free and is supplied with the NASA
AIS engine. It only
accepts serial input.
In my view ShipPlotter is better for home use and SeaClear more suitable for use on a boat. SeaClear is more
complex to set up if you are not using serial input.
Direct to the Internet
You can run an AIS
receiving station without using your own PC to process and display
the received data. There are a number of websites who will display
your data (as well as many others) for all to see. Marine Traffic, SIITech
and ShipAIS (UK only) all
provide this free service. To send the data directly to the
internet, the easiest way is to use a receiver with a network
output such as the Comar
SLR200N, which you connect straight to your internet router
using a RJ45 patch lead. If your receiver has a serial output you
will need a serial to network converter such as the Didi
One SP, which is inserted between your receiver and your
There are some additional
considerations when using AIS on a boat. You will be considering
using AIS to assist you in collision avoidance. For my own peace
of mind be warned, AIS is only an assistance, it is not
guaranteed, don't rely solely on AIS. The information transmitted
by other vessels may be incorrect, it may be non-existent.
You will however be able to see most commercial vessels at a far
greater distance and know their speed & course. The use of
virtual buoys will increase. AIS will give you greater peace of
mind, particularly in fog.
An AIS transponder is a receiver coupled to an AIS transmitter,
assuming your vessel is under 300 tons, you will be looking at a
class B transponder. The details applicable to receivers also
apply to transponders. A transponder makes your boat visible to
commercial vessels on their AIS display. There are a couple of
significant differences between Class A (used by commercial
vessels) and Class B (under 300 tons). Apart from a massive price
difference, the power output of Class B is much less (2 watts,
class A is 12.5 watts) and the frequency of transmission is much
less. In addition in the event of slot congestion, due to many
vessels being in the same VHF range, Class B transmissions are
As you will already have a
VHF aerial, you can use the same aerial to receive AIS but you
will need an antenna splitter such as EasyAis.
You must not connect a receiver directly to a transmitter aerial
(you'll overload & probably blow up the receiver). As
splitters are more expensive than VHF aerials you may opt to use a
separate marine VHF aerial. This will be quite adequate for use on
a boat. If you are going to use a transponder you must ensure the
splitter will work with a transponder (many won't) otherwise you
will blow up the splitter.
Some receivers come with a built-in splitter such as the Icom
to existing Instrumentation
Marine instruments normally
talk to one another using NMEA, even those manufacturers using
proprietary protocols provide NMEA converters so their instruments
can both receive and send NMEA format data. If you are receiving
AIS you will want other ships displayed on a chart, which will be
either a chart plotter of a PC. If using a chart plotter, it will
be connected to a GPS. If you are going to use a PC it will
require a GPS input (so you know here you are on the chart). In
both cases A GPS will be connected using NMEA input.
In NMEA terminology, a device connected to other NMEA devices is
either a "talker" a "listener" or both. NMEA allows one
talker to be connected to a maximum of 3 or 4 listeners, without
using a buffer. In practice I have connected more than this
without a problem. The NMEA voltage levels are also different to
the voltage levels on a PC RS232 interface. Again in practice this
does not seem to be a problem with modern PC's. If you put more
than one talker on the same line at the same time some sentences
will become garbled if both talkers talk at the same time (and
there's a fair chance they will).
NMEA also has 2 different speeds 4,800 baud and 38,400 baud. AIS
is always the higher speed, almost all other devices are the lower
speed. For the above reasons the NASA and SR162 have a NMEA input at 4,800 baud and
combine this with the AIS sentences outputting both sentences
sequentially at 38,00 baud. This allows only one input to be used
on the PC or chart plotter.
As NMEA uses 8 bit ASCII characters you can see the NMEA sentences
on your PC. by using Hyperterminal, set to 4,800 or 38,400 baud, 8
bits, no parity ,no flow control. If you see rubbish characters
the baud rate is incorrect.
difficult to obtain, unless you scan & calibrate them
yourself, or buy commercial charts (& probably the software as
well) that are compatible with the software you are using.
are made on two channels (87B & 88B) allocated from the
normal marine VHF radio band. The frequencies of these
channels are161.975 MHz and 162.025 MHz and are referred to as
AIS Channel A and AIS Channel B. Ships transmitting AIS
alternate their transmissions between these two channels. To
receive all AIS transmissions a receiver must monitor both
channels simultaneously, so the receiver must in effect be two
receivers in one box. If two separate and different
transmissions arrive at the receiver at the same time but on
different channels both transmissions will be received and
output by the receiver. This is referred to as a dual channel
receiver. The Comar
and SR162 are
Dual Channel Receivers.
To reduce the cost of in effect having
two receivers in one box, receivers can be designed to monitor the
signal on both channels and when a signal is received on one or
the other channel, switch the reception & decoding circuit to
this channel. If however at the same time a transmission is
received on the other channel, this transmission will be lost.
This is referred to as a Single Channel Receiver but you need to
look at the manufacturer's specification closely, because the
specification will probably say it receives both AIS channels
(which it does) but NOT simultaneously. The NASA
AIS engine and SR161
are Single Channel Receivers.
or Dual channel
If you are using a single channel receiver, the number of
"missed" messages will depend in part of the rate your receiver is
receiving messages. My experience indicates that at around 100
messages/minute (possibly 25 moving ships) you will miss around
1/3rd of the messages with a single channel receiver compared with
a dual channel receiver.
There are 2 categories of AIS messages you are probably most
interested in namely the voyage related data (Speed,
Course,Heading etc.) and the static information (Name of vessel,
Size of vessel etc.). The voyage related messages are transmitted
by each vessel every 2 seconds to once every 3 minutes, dependent
on speed and change of course. The static messages are transmitted
every 6 minutes. Once you have seen the vessel you are probably
interested in its Name Size Type and it can be frustration waiting
for up to 6 minutes to see these details. With a single channel
receiver you can easily wait 15 minutes before the static
information is displayed.
The choice is yours dual channel receivers are significantly
A communications receiver or scanner
is a single channel receiver (even if it's scanning both
channels), therefore I would not suggest buying a scanner just to
Communications receivers employ notch filters to limit the
bandwidth. This is normally desirable if you wish to reduce
interference at a frequency very close to the station you are
actually trying to receive. To receive AIS transmissions you need
a bandwidth of 25kHz, if you don't have this bandwidth you will
receive very little if any decoded data. To ensure this is not
reduced by filtering in the audio circuitry of the receiver, the
audio output must be taken direct from the radio's discriminator.
Some receivers provide this "Discriminator Tap" some don't, even
on expensive communication receivers. Fortunately, on most radios
and scanners it is possible (fairly simply) to fit a discriminator
tap, if you can use a soldering iron. There is a very good website
www.discriminator.nl which will
not only tell you if you need one, but also how to do it.
The received signal (GMSK/FM) will not be decoded, and will need
to be connected to the Aux or Microphone in on the PC. You will
also need a program to decode the Audio into NMEA sentences. By
far away the most popular is ShipPlotter.
Receivers to PC's or Chart Plotters
A Chart Plotter is effectively the
same as a PC, normally it will have a RS232 serial Input, which
may be a 9-pin (computer style socket), it could be a
terminal block or a proprietary socket. More expensive commercial
units may have a network connection.
|RS232 (Straight) M/F Cable
|Virtual Com Port Driver
|Serial to Ethernet Adapter
||Virtual Com Port Driver
|RJ 45 Cable
|Sound Card Jack
|3.5 or 2.5 jack to jack cable
For simplicity, I'm only considering serial connections carrying
technically a standard, but little of it is now standard! It is
actually used more as a generic term to differentiate between
other types of connection. RS422 and RS485 are similar standards
which unless you are interested in industrial strength connections
can be considered RS232.
A straight cable is
required to connect transmitted data (on DCE equipment) to
received data (on DTE equipment). A receiver should be wired as
DCE (Data Communication Equipment) and a PC will be wired as DTE
(Data Terminal Equipment). A crossover cable is required to connect
two of the same type of equipment together (eg 2 PC's). This
crossover can be in an adapter called a Null Modem, which emulates
the in/out on a modem (DCE). Unfortunately the distinction between
DTE and DCE has become blurred & not all manufacturers get it
right anyway. If in doubt try one cable and if this doesn't work
attach a null modem to either end of the cable. Or look at the
manuals to ensure the TX on one device is wired to the Rx on the
other by the connecting cable.
|Connectors are normally 9 or 25 pin "D"
type. Pin numbers are always inscribed on both the
front and rear of the connector alongside each pin (very
|Received Data PC
|Transmitted Data PC
As previously mentioned,
you can normally "get away" with connecting several NMEA listeners
to one NMEA talker. You are much less likely to succeed connecting
two talkers together as they will both be trying to talk at the
same time and you will inevitably loose some data. If you connect
too many listeners to one talker, no damage should happen to the
equipment, some of the connections will probable not work because
the strength of the signal is too low. To get round this you have
to use a NMEA buffer, which may have more than one input and a
number of outputs. They are quite expensive because they normally
electrically isolate all the inputs and outputs to reduce
interference and earth loops.
The devices attached together using a serial connection have to
agree on the speed at which they are going to communicate, this is
called the baud rate. If both devices are set at different
baud rates "junk" will be received. NMEA AIS sentences are sent at
38,400 baud and almost all others at 4,800. To
be set to receive the serial data at the same speed as the
talker. On a PC this will be set in the program that is
receiving the data, this in turn will actually set the COM
port speed. This is described later.
First a little
history. PC's used to have separate cards that plugged internally
into the PC's "BUS". Each different device (for example keyboard,
display, modem, printer, speakers, microphone, serial RS232) all
had separate internal cards and a separate external socket in
which to plug the device. PC's had loads of different types of
sockets. This was inefficient and not suitable for much smaller
PC's such as laptops, there just wasn't the space for all these
cards. The fix was to remove the card from the PC and putting the
hardware in the device. To enable completely different devices to
plug into the one socket, the electrical signals passing between
the device and the PC had to be much more complicated and would
differ for each device. A USB connection has 4 wires, 2 carry
power and 2 carry the signal. This means a separate power supply
is no longer needed for the device. In addition, the signal is
multiplexed so that up to 126 different devices can use the same
physical wire. The actual signal is split into packets, in a
similar manner to a network connection.
The device generates packets which have to be unscrambled with
complementary software (the driver) running on the PC.
When you plug a USB device into your PC, a voltage is asserted on
the signal wire telling the PC a device has been plugged in.
Communication starts between the PC and the device. The device
tells the PC which software to use to communicate with the
device, if the PC cannot find it (it is specific to each
device/manufacturer) and error will result.
You should be aware the power requirements for the device are also
managed by the PC. If these power requirements are exceeded, the
PC will fail to load the device driver, which can happen if too
many power consuming devices are plugged into the same USB hub.
There are three different speeds of data transfer via a USB cable,
these will be transparent to you as again they are managed by the
software (the data transfer speed for a USB disc drive is very
different to a USB keyboard).
It should be clear that although the physical USB lead is common,
the actual data going down the lead is very different for
different devices. This is why you can't get a "simple or dumb"
serial to USB adapter. Note also when you purchase a "smart"
adapter (and they all are), the drivers depend on the actual
chip-set being used in the adapter. For example the FDTI
adapter Under £20 direct from FDTI uses the same FDTI
chip-set as the Comar
The usual connector for a network connection is RJ45, the type of cable this
is connected to is called CAT5E.
A very simplistic explanation follows.
Unlike serial connections, network connections are multiplexed,
many connections being able to share the same cable. It is
therefore quite OK to connect a number of devices together using a
hub (or a switch - a clever hub). The
data flowing round the network is sent in individually addressed
packets which are captured by any device attached to the network,
wishing to receive the data addressed to it. Some of this data can
be sent to (or received from) the internet via a router. The method by which
the data is transmitted over the cable is called Ethernet. The method
by which the packets are addressed to individual devices is called
TCP or UDP.
With a UDP network connection it is important to realise
that although there is a physical connection it does not
follow that data sent will be received. Like a receiver
listening to a transmitter must be tuned to the same
frequency, two devices connected together on a network
must know one another's addresses. These addresses are
called IP addresses
and must be set in both devices. These can either be set
manually (using a program) or automatically using a piece
of software - maybe transparent to the user - called DHCP.
Connections into the PC
So there are four different types of connection into the PC -
Serial, USB, Network and Audio. and your receiver could be plugged
into any one of these. Your PC will be running an operating
system eg. Windows, Linux, Mac. If you are using other than
Windows, you will probably understand the differences to Windows,
therefore I'll only consider how to set-up Windows. There are
differences with versions of Windows, I'll talk about XP, the
principle is the same for the other versions.
just plug in, there is nothing to set-up.
Audio should not be a
problem, the only thing you may need to set is the input levels to
avoid distortion if to high, or no signal if too low.
requires the driver to be set up properly.
requires first converting to serial and then set-up as serial even
if your PC does not have a physical (RS232) serial port.
In the old days a PC would have a number of physical serial ports
named Com1, Com2 etc. Each port has associated with it a driver.
The driver is a bit of software which transfers the data stream
arriving at the serial port into the PC's memory. Once in memory
this data is available for use by programs running on the PC.
To see which serial ports
are available go to "Control Panel > System > Hardware >
Device Manager "
The stream of serial data arriving at the port is coming at a set
speed (the baud rate) and this speed has to be synchronised with
the speed the PC is expecting. This synchronisation can be done
automatically, but normally isn't. If the speed set on the PC is
not the same as the speed being received, it will appear that junk
is being received. To set the speed click on ports > The
Com Port you are receiving the data on (COM1 above)
> Port Settings
The Bits per second (baud rate) for AIS needs to be
changed to 38400
For any other NMEA devices change to 4800
Ensure flow control is
Most USB devices are "Plug-n-Play", This is made possible by the
complex communications between a USB device and the application
software outlined above. You plug in a scanner or camera & it
just works. This could be done with a USB receiver and a receiver
specific display program. Unfortunately I'm not aware of any
manufacturer who provides this software, and because of different
users requirements, it probably will never been done. AIS is a too
To get around this, if you wish to use a USB port on your PC, you
have to convert the serial output from your PC to USB, and then
convert it back to serial within your PC.
You do this by creating a virtual serial (COM) port on your PC.
The supplier of your serial
to USB cable (or adapter), or your USB receiver, will have given
you instructions on how to do this.
After you have installed the
driver and plugged the USB lead into your PC go to "Control Panel > System >
Hardware > Device Manager" to identify the number of the COM
port which has been allocated. This will vary dependent on your
You will see a virtual serial port has been created, in this case
COM3. This COM port must be set to the correct baud rate in
exactly the same way as the physical COM port described above.
This will be 38400 baud for AIS NMEA.
A network connection is multiplexed which means many different
devices can be connected (individually to one another) by sharing
the same physical cable. The basic concept is data is sent up and
down the physical link in packets, each packet having an address
of the destination to which the packet is going. This address is
called the IP address. Each device connected to the same network
has a different IP address. In the case of a network AIS receiver
(such as the Comar SLR200N) the receiver will have one IP address
and your PC will have a different IP address. In this way your PC
will only see packets addressed to itself, as will your receiver.
Nowadays these IP addresses are normally allocated automatically,
when a new device is plugged into your network (by a system called
I may expand on this later which would help you when things don't
work as expected.
Your PC may have a number of programs running at the same time for
example an internet connection and an AIS program. Your PC will be
receiving data (in packets) via the same physical network
connection so your PC needs to send some packets to your internet
browser and some to your AIS program. To sort these out, the
packets also contain a port number, which can be anywhere from 0
to 65,535. Summarising, the IP address must be correct and the
devices must be listening or sending data on mutually agreed port
numbers. For many common applications such as Internet or file
transfers, these port numbers follow a universal standard (so they
are transparent to you), but for "minor" applications such as AIS
there is no universal standard. You will have to set up the port
number on both the AIS receiver and the AIS program to be the
same. If they are not the same the two devices will not be talking
to one another.
There is one further complication with AIS networking, TCP and UDP. The packets in
which the data is sent from one device to another may be
"lost" of corrupted during transmission. TCP guarantees
delivery of uncorrupted packets by means of a two way
communication between the two devices, "lost" or corrupted
packets being retransmitted until received correctly. UDP
streams the data with no guarantee of delivery (like a radio
transmitter). So why isn't TCP used all the time ?
The guarantee of delivery places a significant overhead on the
speed of the data as well as the volume of bits (bandwidth). With
AIS, the data your receiver has received is not guaranteed correct
anyway, so why bother ensuring incorrect data is received
incorrectly when it will soon be retransmitted by the vessel
Because of the
multiplicity of different combinations of inputs and outputs, I
have recently created a program to Route AIS data from one type of
connection to another.
For further information see NmeaRouter.
In Course of Preparation Time permitting !
More on NMEA
More on Serial
RS232 vs RS422
Why Virtual Com port Pairs
More on the signal
More on the Messages
Commercial & DIY
More on Software
Ship Names (Cached)
Incorrect Defaults Heading 511 = 151
CRC error rates 1:256
(8-bit) 1:1860 messages in 3m
More on Networking
Debugging network connections
More on USB hubs
Terminology - simplistic
Multiple USB and Ethernet connections can be combined using a hub
To accept USB into the PC use a virtual com port
driver which converts the
USB input to the PC to appear on the PC as a serial port. To
accept a network connection you could use IPaNema with Com0Com. Com0Com is a
virtual com port driver, it creates 2 serial ports back to back,
the output from one serial port going to the input to the other
port. IPaNema accepts the network output from your receiver and
outputs it to a virtual com port, com0com turns this round to be
the input to another virtual com port. This second port is used as
the serial port input into Seaclear. Virtual means the port
doesn't physically exist.
Distributing your data
Connecting to the WEB
Your own Website