Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Abstract— This paper presents an implementation of an In this paper, the researchers construct an SDR-based
AIS transmitter that broadcasts position reports with varying AIS Transmitter to transmit legitimate position reports based
GPS longitude and latitude data. The AIS is primarily used for on a Global Positioning System (GPS) hardware. With the
collision avoidance by regularly broadcasting the vessel’s addition of the GPS hardware, legitimate position data is
information such as position, speed, course, and other safety- transmitted.
related information. In this study, the researchers have
implemented transmission of position reports using an SDR. The paper is organized as follows: Section II is a
The transmitted position information follows the physical and technical description of the underlying technologies and
data link layer set by the international standard. This ensures protocols used. Section III is the detailed design and
that the data transmitted can be properly demodulated by realization of the system with the corresponding tests and
existing and commercially available AIS devices. A handheld verification performed. Section IV comprises the results and
GPS is used to verify the position data transmitted by the SDR discussion. The conclusions are presented in section V.
transmitter, whose GPS information to be transmitted is
obtained from a GPS receiver installed on the SDR
transmitter. GNU Radio is used to interface with the SDR II. TECHNICAL BACKGROUND
transmitter. An SDR-based AIS receiver is used to decode the
transmitted position report and validate the integrity of the A. GPS Position Data and NMEA Standard
transmitted data. Based on the results, the designed The data from GPS receivers are encoded in a standard
transmitter can precisely broadcast the GPS location of the format, according to the National Marine Electronics
device itself, verified by comparing the decoded AIS packet Association Standard for Interfacing Marine Electronic
from the SDR receiver alongside the respective GPS location Devices (NMEA-0183). This standard enables
reading of the handheld GPS. interoperability between different devices ensuring data
normalization and interoperability. The GPS produces
Keywords— AIS, SDR, GPS, Signal Processing, GNU Radio
different NMEA sentences, where each type contains
different information. In this paper, the focus will be on
I. INTRODUCTION Global Positioning System Fixed Data (GGA) sentences. An
Automatic Identification System (AIS) is used primarily example of GGA sentence is given in Table 1 and is
for ship-to-ship collision avoidance, ship information patterned from [7]. This can be decoded by referring to the
gathering, and vessel traffic management. This is approved NMEA format [8].
accomplished by automatic and continuous broadcast of
TABLE I. EXAMPLE OF GGA SENTENCE
vessel-related information such as identification, position,
speed, heading, navigational status and other related Example a
Description Parameter
information [1]. The International Maritime Organization
$GPGGA GPS Fix Data Sentence identifier
(IMO) International Convention for the Safety of Life at Sea
(SOLAS) has mandated that ships greater than 300 gross 074142.000 07:41:42 UTC Time
tonnage (GT), cargo ships greater than 500 GT, and all 1435.4513,N 14.590855°N Latitude
passenger ships regardless of size must be fitted with AIS
[2]. Only ships with an AIS transceiver can be seen in an AIS 12058.7301,E 120.978835°E Longitude
network. Therefore, not all ships in the vicinity is visible in 0= Invalid, 1= GPS Fix,
1 Valid GPS Fix
an AIS network especially that of smaller vessels. Designing 2= DGPS Fix
and implementing an AIS transceiver to be fitted in smaller 05 5 satellites are in use Number of satellites
fishing vessels would enable them to be seen in an AIS Relative accuracy Horizontal Dilution
network. 6.61
of horizontal position of Precision (HDOP)
22 meters
There have been various studies about the 22 M Altitude
above sea level
implementation of AIS. A design of a low cost AIS receiver Height of geoid
39.3,M 39.3 meters
has been proposed where the researchers identified physical above WGS84 ellipsoid
devices to be used to decode AIS data [3]. Software Defined Time since last
blank No last update
Radio (SDR) AIS receivers has also been studied, but the DGPS update
DGPS reference
application is for Satellite AIS Receiver [4, 5]. An open Blank No station ID
station ID
source SDR-based transmitter has been developed to the Used to check for
purpose of security evaluation of the AIS. The program *5E Checksum
transmission error
a.
enables the user to input fabricated ship data to be $GPGGA,074142.000,1435.4513,N,12058.7301,E,1,05,6.61,22.0,M,39.3,M,,*5E
transmitted [6].
TABLE II. POSITION DATA REPORT FOR AIS MESSAGE 1 GPS VHF
Antenna Antenna
Number Quadrature
Parameter Description
of Bits NMEA Signal
Longitude in 1/10,000 min (r180°, Software
GPS Micro
East = positive (as per 2’s complement), Defined
Module computer Radio
Longitude 28 West = negative (as per 2’s complement). RF
181° = (6791AC0h) = not available = Signal
default)
Latitude in 1/10,000 min (±90°, Fig. 3. System diagram of SDR-based AIS transmitter.
North = positive (as per 2’s complement),
Latitude 27
South = negative (as per 2’s complement).
91° (3412140h) = not available = default) B. Acquisition and Parsing of Data from AIS
The GPS module receives GPS signals from multiple
C. AIS Link Layer: Data Link Service Packet Structure satellites orbiting around the Earth and processes these
signals into various data. The module is also responsible for
The position data is encapsulated at the link layer by encoding the data into its corresponding NMEA sentence.
assembling it into a valid transmission packet. Other These NMEA sentences are then transmitted to the
responsibilities of the link layer include calculating the frame
microcomputer through a USB serial interface using the
check sequence (FCS) for AIS message bits, appending the
UART protocol.
FCS to AIS Message, and applying bit stuffing process. The
transmission packet format is shown in Figure 1. Consider the example NMEA sentence in Table 1.
The data fields are delimited by the comma character ( , ).
Training Start End
Data FCS Buffer A python script reads the incoming serial data from the GPS
Sequence Flag Flag
module, and stores the incoming NMEA sentences line by
Fig. 1. Standard packet structure of AIS messages. line. For every sentence, the python script splits the data,
finding for the comma ( , ) character, and stores the split data
D. Software Defined Radio (SDR) as individual elements in an array.
An SDR implements the conventional RF hardware
The first element in the array carries NMEA sentence
output in the software domain. In application-specific
processes, a corresponding hardware is needed to implement data corresponding to the sentence identifier. In this study,
the signal modification. The SDR on the other hand, uses a researchers have considered using the GGA sentence, which
general-purpose processor for signal processing. Changing has a corresponding data content as seen in Table 1. The
functionality of the SDR would only entail changing specific python script first determines if the first element in the array
parameters in code rather than a complete remake of the is equal to the matching sentence identifier for a GGA
hardware. All the physical layer functions will be software sentence ($GPGGA).
defined. Figure 2 shows the components of a transmitter There is a multitude of data stored in a GGA NMEA
[10].
sentence, but for the purposes of encoding GPS position data
on a Message 1 AIS position report, only four fields of the
DSP
Interpolation Digital D/A RF Power data are relevant to use, namely, the latitude value, the
Filter Mixer Conv Conv Amp direction of latitude (North or South), the longitude value,
and the direction of the longitude (East or West). These four
Digital
Osc pieces of information are modified by following the format
for the longitude and latitude data of the standard 168-bit
Fig. 2. Block diagram of an SDR transmitter. AIS data packet, as seen in Table 2.
C. Integrating Position Data to AIS Message Type 1 AIS Frame Builder osmocom Sink
Sentence: 000001…0000000000 Sample Rate (sps): 10M
The longitude and latitude data, formatted as 28-bit and Repeat: Yes Ch0: Frequency (Hz): 162.025
27-bit data respectively, is now appended to the AIS data Enable_NRZI_Conversion: Yes Ch0: Freq. Corr. (ppm): 0
packet. For the longitude data, it occupies the bits from bit 62 Ch0: RF Gain (dB): 10
Ch0: IF Gain (dB): 20
to bit 89 of the 168-bit AIS packet. For the latitude data, it GMSK Mod Ch0: BB Gain (dB): 20
occupies the bits from bit 90 to bit 116. Samples/Symbol: 1.041k
BT: 400m
Other data in the 168-bit field include the message type,
MMSI, repeat indicator, etc. Other than the longitude,
Fig. 5. AIS packet encapsulation.
latitude, and the message type field (this value is set to 1), the
other data fields’ specific content is irrelevant to the purpose
F. Transmitting using the SDR
of this paper, which is to be able to repetitively transmit AIS
packets with a changing longitude and latitude field for every To determine the coherence of transmitted AIS message
transmission, dependent on the location of the device at the and the accuracy of transmitted AIS data, a dual channel AIS
time of transmission. receiver is used. This receiver accepts incoming AIS
messages in the RF domain then converts it to the
D. Encapsulating the Message to Standard Packet Structure corresponding NMEA sentence. The receiver is connected to
a computer running with an open-source chart plotter
The 168-bit AIS packet has now been defined with the
application. The open-source chart plotter interprets the
longitude and latitude field values obtained from the GPS
received AIS data then plots the different information
module. This AIS packet is now passed to a GNU Radio
received to a chart, as drawn in Figure 6. A handheld GPS
program, modified with an out-of-tree module named AISTX
receiver is used to verify if the transmitted location is correct.
[6]. The AISTX module is responsible for other link layer
functions, including bit stuffing, appending the checksum,
appending the start and stop bits as well as the training
SDR-based Computer
sequence, and incorporating an NRZI encoding on the whole AIS Transmitter AIS Receiver
with Chart Plotter
AIS packet. The process of the AISTX module is shown in
Figure 4. Fig. 6. AIS packet encapsulation.