Professional Documents
Culture Documents
Aviation Analytics and The Internet of Things: Dr. Paul Comitz, Self-Employed Aaron Kersch, The Boeing Company
Aviation Analytics and The Internet of Things: Dr. Paul Comitz, Self-Employed Aaron Kersch, The Boeing Company
2A1-1
This paper embraces these admittedly grand Software Defined Radio
ideas for aviation and the IoT by exploring the The sensor that receives the ADS B signals is a
possibilities of very low cost data collection and software defined radio (SDR). In a traditional radio,
subsequent analytics analysis of an aviation related fundamental components such as amplifiers and
sensor, namely an ADS-B receiver. The penetration modulators are built using hardware. In an SDR, this
and availability of these low cost devices may functionality is realized in software. The SDR that is
provide an ideal environment for new applications used in this work is known as an R820T RTL2832U.
and efficiencies that have been historically closed to The device, with two antennas, is available for $21.
all but insiders in the aviation industry Although the This device was original designed for the DVB-T
prices of an ADS-B receiver have been dropping for (digital video broadcast-terrestrial), a European
some time, the prototype systems shown here can be standard for television broadcast. The device has a
assembled and run by almost anyone, with a minimal frequency range of 24 MHz to 1766 MHz, which
cash investment and just a little aviation know easily allows the receipt of the 1090 MHz ADS-B
how. signal. The device connects to the Raspberry Pi as a
USB dongle (see Figure 1). The antenna is connected
Organization and Components via a female SMA port. Although the device ships
with two inexpensive antennas, this work uses a 75
The remainder of this paper is organized as
ohm digital indoor TV antenna, connected to the
described here. The Components section briefly
radio via an SMA connector.
describes each of the hardware and software
components that were used. The Analysis section
describes the collected data and provides an initial
short analysis of the data. This paper concludes with
a section on Observations which contains
recommendations for future work. A brief references
section is also included. Figure 1. RTL-SDR Radio Dongle
SDR provides the capability for dynamic radio
Components configuration and software signal processing, thus
The following components have been used in enabling an inexpensive wideband scanning
this work: capability. The RTL2832U device is also capable of
listening to air traffic control radio conversations and
1. Raspberry Pi 2 Single Board Computer
decoding VHF Aircraft Communications Addressing
2. RTL-SDR radio and Reporting System (ACARS) messages.
3. Open source software: dump1090 Dump 1090 Open Source Software
4. Data Archive and Analytics Analysis Dump1090 [4] is an open source Mode S
software decoder. It was written to be used with RTL SDR
radios. Dump1090 decodes the mode S downlink
A brief description of each component follows: format (DF) 11 and DF 17 messages. The DF 17
Raspberry Pi extended squitter messages contain information such
The Raspberry PI is an increasingly popular low as aircraft position, squitter status, identity, and
cost, single board computer. The heart of the device airborne velocity. Dump1090 also contains an
is a Broadcom ARM-based system on a chip (SOC). embedded web server and the ability to view received
The SOC contains an ARM processor, and support ADS reports on a Google map (See Figure 2). There
for I/O peripherals, graphics, and memory access. is also a capability to view recorded data. All source
The single board has USB, HDMI, and Ethernet code for dump1090 is available from github [4].
interfaces. This system used in this work is connected Figure 2 shows ADS reports, received in the
to a network via an inexpensive (less than $10) 150 Charleston, South Carolina area in March 2016. The
mbps USB Wi-Fi adapter. The operating system, an data is from a single RTL-SDR based ADS receiver.
open source Linux variant, resides on a 16 GB SD
card.
2A1-2
that provided by the java URLConnection class. The
data is captured by listening on the following URL:
http://xxx.xxx.xxx.xxx::8080/dump1090/data.json
2A1-3
Those familiar with ADS will recognize many of northernmost position to the southernmost position,
the parameters from the 1090 MHz ADS report. referenced to the antenna position (Summerville,
South Carolina).
The collected data contains many incomplete
reports. To check the number of reports with a valid It is also possible to assess the quality of the
position in the example data frame, use the following: data. Note Figure 3. Figure 3 is a plot of latitude and
adsValid<- longitude. The cluster in the corner shows that most
which(ads$validPos==1) observations are in the area 32.5 N and 80.5 W (west
shown as a negative number). However, a number of
This returns a vector of 35795 values, where the observations are clearly incorrect. Some of the
each value is the index of the corresponding ADS collected data shows latitude of -57 and longitude of -
report. This indicates that 32% (35795/111,336) of 61 degrees. A closer examination of the data on this
the collected ADS reports contains a valid aircraft day showed that all of the incorrect observations
position. The next step is to isolate all of the ADS where from a single aircraft.
reports with a valid position in a single R data frame:
validFrame<-
ads[ads$validPos==1,]
The above command returns all rows in the
original unprocessed data set where a valid position
is reported. The results of a quick initial look at this
data frame are shown in Table 1.
Table 1. Initial Observations
ADS Data Item Observation
Number of distinct 655 Figure 3. ADS Lat/Long Plot
ICAO Codes
Continuing the data analysis, consider a single
Number of non-zero 30795 flight. For illustration Jet Blue Flight 1099
transponder codes (JBU1099) is shown. JBU1099 departed New York
LGA on March 18th at approximately 630 am and
Number of reported 296
arrived in Florida MCO at approximately 905 am.
call signs
The flight was an Airbus A320. As indicated above,
Minimum Altitude 575 feet the R data frame validFrame contains the ADS
Maximum altitude 45000 feet reports from all aircraft that reported a valid position.
The data frame can be split and subsetted to isolate
Latitude range 31.93533/33.87689 N the data for a single flight. There are many ways to
Longitude range 79.34001/81.5894 W do this in the R environment. Once way to do this is:
byFlight <-split(validFrame,
validFrame$flight)
Table 1 is a quick look at the available data and
jbu1099 <- byFlight$`JBU1099 `
is offered to show how quickly one can get a basic
view of the airspace over the six-hour collection The code above results in an R data frame that
period. The data shows 655 24 bit ICAO contains only the reports from the aircraft with call
identifications in the collected data. Of the 35795 sign JBU1099. The resulting data frame contains 142
reports that show a valid position, there are 655 ADS reports. The reports begin at 081945 EST and
ICAO codes. This suggests 655 aircraft were viewed end at 083135 EST, The initial altitude is 35650 feet
in this the 6 hour time period. Of the 655 aircraft, and the ending altitude is 34000 feet.
296 reported a valid call sign in the transmitted ADS
report. The extent of the geographic area was
approximately 163 nautical miles from the
2A1-4
analysis techniques are now widely available and
accessible to anyone with the a little aviation
knowledge.
The hardware and software used here was
designed and configured for rapid prototyping.
Reliability, fault tolerance, and automatic failover
were not part of the design criteria. Given the low
cost of the equipment, setup and deployment of
redundant systems is a reasonable idea.
Example applications might be a low cost
airspace monitoring system or an advisory traffic
analysis system. The addition of weather is a
Figure 4. JBU1099 plausible next step
A map with several of the positions plotted
appears in Figure 4. A quick look at the JUB1099 Continuing Work
data is shown in Table 2. This paper is submitted to the ICNS conference
Table 2 . JBU1099 on April 18th, 2016. At the time of this submission,
the paper and the analysis are not complete. The
Data Observation analysis will continue and further analysis will be
Number of ADS reports 143 reported in the future.
Minimum Altitude 34000 feet The following are potential candidates for
investigation and experimentation.
Maximum Altitude 35650 feet
1. Deployment of a network of privately
Latitude range 32.13162/32.64369 N owned, low cost ADS receivers. The
Longitude range 80.22262/80.59702 W receiver could be similar to the receiver used
and described in this paper. Each receiver
would archive the collected data and store
Observations the data to a future, publically accessible
The hardware, software, and analysis described cloud repository. This kind of approach is
in this paper can be done with a very low monetary already being done by private companies,
investment. The hardware cost is less than $100.. but the data is not being shared. In order to
The software is combination of custom developed provide a public network of archived data, a
software and open source software. The major way to modestly monetize the costs
investment is the labor of the individuals assembling associated with the deployment and
and maintaining the system and doing the work. maintenance of an ADS B receiver must be
provided. There is currently no motivation,
The intent of this ongoing work is to assess the other that of the hobbyist/tinkerer, to deploy
viability of low cost open source hardware and and share the data.
software for use in aviation applications. The use of
technologies like ADS-B and ACARS has been 2. Design a capability for fault tolerance and
traditionally limited to individuals with detailed failover of low cost ADS receivers.
knowledge of aviation operations and information Although the receiver described in this paper
that is not generally available. This work shows that was surprisingly reliable, (it ran for months
IoT technology starts to break down this barrier. with almost no maintenance, and is still
Only a few years ago work like this would not have running as this paper is written) , the
been possible because the general public did not have receiver would go offline occasionally. The
wide access to ADS data. The basic work presented majority of these observations were a simple
here shows that historically closed data sets and loss of network connectivity.
2A1-5
[2] OConnor, Chris, 2016, Cognitive IoT: Linking
3. Analysis and analytics tools for aviation the Physical and Digital Worlds to Transform
data. The Comprehensive R Archive Business, InterConnect February 21, 2016, Las
Network (CRAN) is the home site of tools Vegas, Nevada. Retrieved from
and resources available for use with the R https://www.youtube.com/watch?v=9Xd7NAREwG
Programming language. An R package is a Y&list=TL5zg0QUb9HxgxOTAzMjAxNg
collection of functionality for use with the R
[3] Martinez, Laurent, 2015, Airbus: Managing
programming language and environment. R
Aviation Complexity with the Internet of Things.
packages are available as a directory of files
Munich, Germany. Retrieved from
that extend the R programming language
https://www.youtube.com/watch?v=2JO-gvXf-kI
and the environment. R packages are
available for finance, business and customer [4] Sanfilippo, Salvator, Dump1090 Mode S Decoder
analytics, economics and other domain Open Source Software, retrieved from
specific applied pursuits. At the time this https://github.com/antirez/dump1090
paper is written there are over 8000
packages available for R at the CRAN site.
An R package for use with aviation data Email Addresses
would have significant potential utility if The email addresses of the authors of this paper
aviation data such as the ADS data appear below.
described in this paper was widely available. pcomitz@live.com
References aaron.kersch@boeing.com
[1] Harris, Ian 2016, Introduction to the Internet of
Things and Embedded Systems. Retrieved from 2016 Integrated Communications Navigation
http://www.coursera.org/ and Surveillance (ICNS) Conference
April 19-21, 2016
2A1-6