Sunteți pe pagina 1din 4

Implementing Automatic Identification System

Transmitter on Software Defined Radio


Febus Reidj G. Cruz, Ryan Christopher M. Gania, Bryx William C. Garcia, Jared Christian R. Nob
School of Electrical Electronics and Computer Engineering, Mapua University, Manila, Philippines
frgcruz@mapua.edu.ph

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].

978-1-5386-7767-4/18/$31.00 ©2018 IEEE


B. AIS Message Type 1: Position Report Structure III. DESIGN AND IMPLEMENTATION OF SDR-BASED
The AIS transmits a total of 27 different messages, each AIS POSITION REPORT TRANSMITTER
containing a different type of information. Position Reports
are described in Messages 1, 2, and 3. Message 1 is the A. System Diagram of SDR-based AIS Transmitter
scheduled position report. Message 2 is the assigned position The transmitter setup is composed of a GPS module with
report. The AIS Message 3 is special position report used as an antenna, a microcomputer, and an SDR with an antenna.
a response for interrogation. The Class A AIS uses these The GPS module outputs various GPS related NMEA
message types. In this paper, the transmitted information will sentences. The received sentences are relayed to a
follow the Message 1 structure. The complete format of the microcomputer running on Ubuntu Mate with GNU Radio.
message is described in the technical characteristics of AIS The received GPS data is further processed by the
released by the International Telecommunication Union [9]. microcomputer, and then relayed to the SDR. The SDR
Table 2 describes how longitude and latitude should be further processes this data and transmits it as radio frequency
encoded in Message 1. signal.

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.

AIS CRC16 CRC Byte IV. RESULTS AND DISCUSSIONS


Message Calculation Append Flipper
The AIS transmitter is tested in three different locations.
These locations are marked using the handheld GPS receiver.
Bit Packet NRZI The AIS transmitter is switched on in these locations and the
Stuffing Filler Encoding data transmitted is monitored by the AIS receiver [11]. The
data transmission was performed close to Port of Manila
Fig. 4. AIS packet encapsulation. where the AIS network is busy. Each AIS message includes
a unique identifier for each transmitter which assisted in
E. Transmitting using the SDR recognizing which is transmitting the data. The data received
Following the AISTX block on the GNU Radio program from AIS transmitter and GPS receiver are tabulated in Table
is the GMSK Mod block. The GMSK is the modulation used 3. The AIS receiver does not accept invalid AIS messages.
by the AIS standard for data transmission. The GMSK Mod Since the AIS receiver was able to interpret the transmitted
block converts the digital data from the AISTX module into AIS message, it is implied that the message transmitted
a frequency modulated signal ready for transmission. The complies with the standard message structure.
GMSK specific parameters used for the transmitter in this TABLE III. COMPARISON OF RECEIVED DATA
paper are stated in the ITU-R M.1371-5 standard [9]. The FROM AIS TRANSMITTER AND FROM GPS RECEIVER
final output of the GMSK Mod block is the quadrature signal
of the GMSK modulated signal, to be utilized by the SDR From AIS Transmitter From GPS Receiver
Difference
Hardware. in Distance
Longitude Latitude Longitude Latitude
Finally, the SDR hardware used in this study is interfaced
through the GNU Radio osmocom sink block, which is the 120°58.73 14°35.4273’ 120°58.737 14°35.430’
5.315 m
final block of the GNU Radio program for transmission. The 60 E N ’E N
SDR converts the quadrature signal from the GMSK block
120°58.70 14°35.5129’ 120°58.698 14°35.515’
into RF signals, which is transmitted through the antenna 6.934 m
12’ E N ’E N
connected on the SDR. Figure 5 presents the GNU Radio
AIS transmission blocks. In the study, we tune the SDR 120°58.65 14°35.6262’ 120°58.645 14°35.626’
10.23 m
07’ E N ’E N
frequency to transmit on AIS channel B (162.025 MHz) [9].
The difference in distance in Table 3 is calculated using ACKNOWLEDGMENT
the Haversine formula. One of the causes for this difference This work is primarily funded by the Philippine Council
is the number of decimal places used by individual devices. for Industry, Energy and Emerging Technology Research
The Technical Standard [9] requires that four decimal places and Development of the Department of Science and
must be used in transmitting longitude and latitude. The GPS Technology (DOST-PCIEERD) with Project No. 4393 and
module used in AIS transmitter uses four decimal places. year of Project Start 2017.
However, the handheld GPS only produces three decimal
places. REFERENCES
[1] Annex 3, IMO. (1998). Resolution MSC.74 (69): Adoption of new
V. CONCLUSION and amend performance standards. Legal Documents, 74(May), 1–6.
[2] SOLAS Chapter V, Regulation 19.2: Carriage Requirements for
In this study, transmission of position data reports for Shipborne Navigational Systems and Equipment
AIS Message 1 was performed. The first part introduced the [3] F. Cabrera, N. Molina, M. Tichavska and V. Araña, "Design of a low
concepts used to implement an AIS transmitter. Then, a cost prototype of automatic identification system (AIS) receiver,"
prototype of an AIS transmitter was implemented using an 2015 1st URSI Atlantic Radio Science Conference (URSI AT-
RASC), Las Palmas, 2015, pp. 1-1
SDR. The position data transmitted is supplied by the GPS [4] G. Sahay, P. Meghana, V. V. Sravani, T. P. Venkatesh and V. Karna,
receiver module. The transmitted data’s coherence is verified "SDR based single channel S-AIS receiver for satellites using system
by using an AIS receiver and a separate handheld GPS generator," 2016 IEEE International Conference on Advanced
receiver. In this study, only position report (Message 1) is Networks and Telecommunications Systems (ANTS), Bangalore,
2016, pp. 1-6
transmitted. [5] K. F. Mathapo. “A Software-Defined Radio Implementation of
Maritime AIS”, December 2007
The procedures involved in the study can be used to [6] M. Balduzzi, A. Pasta, K. Wilhoit. A security evaluation of AIS
modify the AIS packet data, supply the required information automated identification system. Annual Computer Security
for any of the 27 AIS data packets available for transmission, Applications Conference (ACSAC '14). ACM, New York, NY, USA,
and have the packet broadcasted through an SDR transmitter. 436-445.
[7] A.A.Ariffin, H.Aziz, K.A. Othman. (2011). Implementation of GPS
This allows for quick and flexible development of SDR- for location tracking. 77-81. 10.1109/ICSGRC.2011.5991833.
based AIS transceivers, as compared to discrete-component [8] IEC 61162-1 Maritime Navigation and Radiocommunication
AIS counterparts. Further studies can use this setup to equipment and systems – Digital interfaces Part 1 Single talker and
develop the algorithm for SDR-based AIS transmitters in Multiple Listeners.
[9] ITU-R M.1371-5 Technical Characteristics of an Automatic
which the timing of the transmissions adhere to the proper Identification System (AIS) using Time Division Multiple Access in
slot timing in the SOTDMA scheme indicted in the ITU the VHF Maritime Mobile Frequency Band.
standard [9]. [10] J.R.Machado-Fernandez. Software Defined Radio: Basic Principles
and Applications. Fac. Ing. [online]. 2015, vol.24, n.38 [cited 2018-
08-29], pp.79-96
[11] F.R.G. Cruz, R.C.M. Gania, B.W.C. Garcia, J.C.R. Nob, “Software
Defined Radio Implementation of a Single Channel Automatic
Identification System Receiver,” IEEE Region 10 Conference,
TENCON, Jeju, Korea, 28 - 31 Oct 2018, pp. 2447 - 2450.

S-ar putea să vă placă și