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.