You are on page 1of 4

Kalman and Butterworth filtering for GNSS/INS data

SANDRU Florin-Daniel1, NANU Sorin2, SILEA Ioan3, MICLEA Razvan-Catalin4


Automation and Applied Informatics Department,
Politehnica University Timisoara,
Timisoara, Romania
1
florin.d.sandru@gmail.com, 2sorin.nanu@aut.upt.ro, 3ioan.silea@aut.upt.ro, 4ioan.silea@aut.upt.ro

Abstract—Even though satellite based navigation systems have inertial sensors can be equipped with the proposed
were initially intended only for military purposes their usefulness algorithms without resulting in a hardware change.
in the commercial sector was soon enough realized. Air travel,
marine navigation, car navigations, topography are only a few II. THEORETICAL BASIS
examples of fields in which systems like the GPS or the
GLONNAS have found a solid application ground. One of the A. Basics of positioning using GNSS
main problems that end users face with the usage of such systems The idea of using satellite systems in the scope of
is their precision or their accuracy, often the economic factors positioning was first considered in the 1960s when the system
force the manufacturers of such solutions to choose the cheaper called Transit was first introduced, although the system had a
alternative in terms of hardware and therefore the indicated different operation mode, being based on the Doppler effect
position may wary form the real one. In systems were other [4] rather than trilateration/triangulation like modern satellite
means of measuring inertial related data are present the based positioning systems [5], it laid the grounds for future
precision of such hardware solutions may be improved using
development of such systems. The first fully operational
mathematical algorithms, this being the main focus of this paper.
GNSS was the US's military controlled GPS also referred to as
Keywords—: GNSS/INS, Kalman filter, Butterworth filter NAVSTAR it became operational in 1982 and has gained
GNSS, Precision improvement global coverage in 1994. The Soviet Union's alternative to the
GPS, the GLONAS, became operational in 1995 but suffered
I. INTRODUCTION deterioration after the fall of the Soviet Union till 2001 [6].
Currently the are two major GNSS, the NAVSTAR GPS Bought systems relay on a constellation of LEO type satellites
and GLONNAS, those systems offer for civilian use a quite and the receivers on client side. The systems consist also on a
precise position, the “worst case” accuracy reported for the collection of ground systems that are used for calibration of
GPS is 7.5 meters [1] while the “worst case” accuracy the satellite component. [7], [8]. Considering the success of
reported for the GLONNAS is at 10 meters [2]. However these the Russian and US systems and the fact that those systems are
values depend on the position of the receiver, atmospheric still controlled by the military of those states, the European
conditions, the hardware characteristics of the receiver and Union and China have started work on their own systems. The
European Galileo system is planned to be operational in 2020
other factors. Manufacturers tend to use low cost receivers as
and the as well as the Chinese Beidou [9], [10].
the lack of precision can be compensated by using map
matching techniques or network data to obtain a more precise B. Basics of inertial navigation systems
location. However these techniques are not effective if the Inertial navigation systems are capable of providing the
user decides not to opt for the A-GPS features or if no network means for navigation based solely on a processing the input of
connection is possible such is the case in remote areas. The inertial sensors and a starting and finishing position [11]. This
following paper will propose a solution based on a multi type of navigation was used long before the modern
sensor approach and filtering techniques such as the techniques. This technology was inspired by nature as the
Butterworth filter and the Kalman filter in order to increase dead reckoning techniques are used even by animals for
the performance of such low cost systems. navigation [12]. This technique is prone to errors as the
Based on the raw data position data (latitude and longitude) cumulative errors of each sensor intervene in the positioning
obtained through a GNSS receiver, and inertial sensor a process.
numeric alternative will be created for expensive GNSS However this technology can provide a valuable asset to
receivers. The proposed solution is especially practical and the positioning based on satellite systems as this methods
cost efficient in the case of smart phones where sensors like provide data much faster than any conventional GNSS
accelerometers or gyroscopes are already present [3] on the receiver and are also independent form the satellite uplink
system and adapting such methods will be confined only to a once the first position was obtained, a GNSS are practically
simple change in the phones software. But the solution is not useless in the case of tunnels or mines, and will have much
only limited to the smart phone market as other systems that lower performance depending on the weather or the position

978-1-5090-3748-3/16/$31.00 ©2016 IEEE


on the globe as DOP (Dilution Of Precision) values might be
lower [13].
C. Basics of the Kalman filter
The Kalman filter is a mathematical tool that acts as a state
estimator [14]. The classical filter is remarkably simple from a
mathematical point of view and has gained popularity very
fast. [15]. The basic principles and the main components of
the Kalman filter can be found in numerous publications ,
describing the Kalman filter in depth not being the scope of
this paper therefore only the filter algorithm will be presented
in the form of figure Fig 2.1 [16].

Figure 2.2 Ideal response for the Butterworth filter

The filter can be implemented in the form of am analog


circuit or in the form of software depending on the type of
application and the resources available.
E. Error sources for sattelite based navigation sisyetms
Figure 2.1 The Kallman filter algorithm The IGS Workshop of 2006 lists the major error sources
thin GNSS where presented some of them are [19]:
The filter is applicable for linear dynamic systems, and as
observed in the figure has a recursive structure maintaining a) Far-field and site multipath
and being influenced by previous values of the considered b) Near-field and internal multipath
variable. There are variations of this classic structure like the
adaptive and the unscented Kalman filter but for the scope of c) Radio frequency interference
this application only the classic structure will be used the use d) Radom effects and antenna calibrations
of this recursive algorithm will allow the sensor fusion
between the GNSS receiver and the accelerometer in order to e) Correlations between geodetic results and observation
compensate for each others flaws. errors
D. Basics of the Butterworth filter f) Tracking data amount and quality
The Butterworth filter opposite to the Kalman filter has a g) Inter-modulation biases
"true" filter behavior; filters are characterized by the fact that
h) New signals and carrier phase biases
they perform specific operations on an acquired signal or
signal group and change their data content. The Butterworth i) Inter-modulation biases, new signals
filter, like other filters described by the filter order and the
j) Relative performance of different signal observables
cutoff frequency. The Butterworth is a Type II filter and has a
flat pass band and wide transition bands. The filter may come k) Orbit modeling deficiencies
in different forms for example as a low pass filter, as a high l) Distribution and quality of reference site
pass filter, as a band pass or as a stop pass filter [17]. Based on
the scope of the application the filter type will be selected. The m) y-Shift of orbits
ideal frequency response for the Butterworth filter is shown in n) Co-location
Fig 2.2 [18].
These factors contribute to the reduced precision of both
the GLONNAS and the GPS.
III. APPLICATION OF THE FILTER SYSTEM
A. Setup description

The filter system has the structure described in Fig 3.1.


a) From the GGA message the latitude and longitude data
b) From the VTG message the heading and speed
For simulating the loss of precision due to the GNSS
receiver only the last four decimals where stripped from both
the values for latitude and longitude. For the speed component
Gaussian white noise was applied to all values using the noise
generated by the wgn Matlab function. The heading data was
Figure 3.1 Kalman and Butterworth filter structure considered not to be affected by noise.
The structure considered consists in a GNSS D. Data preparation and filter application
module(simulated through software), an Due to the fact that the position data (latitude, longitude) is
accelerometer(simulated through the derivative of the output transmitted in the WGS 84(World Geodetic System) format a
data of the software), the Butterworth filter that takes input conversion is required to local coordinates, the ENU system
from the accelerometer and the Kalman filter that takes input was chosen for this scope. Conveniently the Matlab
from both the Butterworth filter and the GNSS module. environment offers geodetic2enu [21] function that takes care
of the conversion. The function takes as an input the current
B. Simulation of route
position given by the latitude longitude and altitude, the
Simulation was done using the Google Earth and the reference latitude, longitude and altitude and the earth model.
Labsat Satgen software. Google Earth was used to draw the As for the scope of this paper only the latitude and longitude
trajectory and Satgen was used for the generating the GNNS are relevant the altitude value will be stubbed with zero and
information in NMEA format. The GNSS information acts as the resulting “Up” coordinate will be disregarded. The method
a basis for the accelerometer data simulation. The route was called for every position value received from the
chosen for the simulation is shown in Fig 3.2. simulator and the values with reduced precision. After this
step a trajectory similar to the one displayed on the map is
obtained. In figure Fig 3.3 the effects of the reduced precision
are visible; there are differences between the values received
from the simulator and the values considered for the GNSS
receiver.

Figure 3.2 Route considered for simulation, part of I.C. Bratianu Boulevard in
Timisoara

The output of the Satgen software is a text file containing Figure 3.3 Loss of precision for the position signals
the NMEA sentences that can be interpreted through the
Matlab via the string operations the two sentences considered The speed data was converted from km/h, as sent
are the GGA and VTG sentences described by the NMEA according to the NMEA standard, to m/s and from where the
standard [20] acceleration was obtained thus simulating data received from
an accelerometer. To the accelerometer data the white noise
GGA - essential fix data which provide 3D location and
was applied thus simulating a real world environment.
accuracy data. Example from simulation:
E. Implementation of the Butterworth and Kalman filter and
$GPGGA,090000.00,4545.20481438,N,02113.73526731,
E,1,05,2.87,160.00,M,-21.3213,M,,*76 test results
For the Butterworth filter the built in Matlab function
VTG - Velocity made good. Example from simulation: butter was used to generate the filter characteristics, the
$GPVTG,343.63,T,,M,009.797,N,018.144,K,A* characteristics where then applied to the value affected by
noise via the filter function, the output off this function is the
The simulator output (NMEA sentences) will be used as first element needed in the implementation of the filtering
the real values for both the position data and the inertial data. system. The filtered velocity is used in the Kalman filter
C. Simulation of inprecision and noise computation. For the Kalman filter implementation the a
structure was considered as shown in Fig 3.1 The filtering
The required data was extracted from the NMEA sentences algorithm was applied to the latitude and longitude separately
in the following way:
as to avoid a higher complexity in the Kalman filter structure. V. REFRENCES
The speed component for each axis was computed using the [1] http://www.gps.gov/systems/gps/performance/accuracy/ , accessed
sin and cos functions [22]. Given the speed data and the input 04.06.2016
by the GNSS receiver the following output was obtained (Fig [2] http://beebom.com/what-is-glonass-and-how-it-is-different-from-gps// ,
3.4) accessed 04.06.2016
[3] Ramsey Faragher and Robert Harle, Accurately Tracking Smartphones
Indoors, GPS World 2013
[4] http://www.nasa.gov/directorates/heo/scan/communications/policy/GPS
_History.html, accessed 04.06.2016
[5] http://spaceplace.nasa.gov/gps/en/ , accessed 04.06.2016 accessed
04.06.2016
[6] https://www.glonass-iac.ru/en/guide/ , accessed 04.06.2016
[7] http://www.navipedia.net/index.php/GPS_Ground_Segment , accessed
04.06.2016
[8] http://www.navipedia.net/index.php/GLONASS_Ground_Segment\ ,
accessed 04.06.2016
[9] http://www.gsa.europa.eu/r-d/h2020/introduction , accessed 04.06.2016
Figure 3.4 Path output for the filter, the low performance GNSS receiver and [10] http://english.gov.cn/news/top_news/2014/12/09/content_281475021598
the real path 676.htm , accessed 04.06.2016
[11] Angus P. Andrews, Lawrence R. Weill, and Mohinder S. Grewal,
For a performance analysis the original values from the Global Positioning Systems, Inertial Navigation, and Integration Second
simulator where used and the performance from the unfiltered edition
and the Kalman and Butterworth filter where considered, thus [12] Ian Q. Whishaw , Dustin J. Hines, Douglas G. Wallace,Dead reckoning
yielding the difference in meters from the ideal value. Fig 3.5 (path integration) requires the hippocampal formation: evidence from
and Fig 3.6 spontaneous exploration and spatial learning tasks in light (allothetic)
and dark (idiothetic) tests
[13] Shuanggen Jin, Global Navigation Satellite Systems: Signal, Theory
and Applications
[14] Mohinder S. Grewal, Angus P. Andrews “Kalman Filtering:Theory and
Practice Using MATLAB”
[15] Gregory F. Welch HISTORY: The Use of the Kalman Filter for Human
Motion Tracking in Virtual Reality
[16] https://wangqiang8511.wordpress.com/2012/03/09/kalman-filter/ ,
accessed 04.06.2016
[17] http://www.mathworks.com/help/signal/ref/butter.html , accessed
04.06.2016
Figure 3.5 Position error for Y axis [18] http://www.electronicshub.org/butterworth-filter/ , accessed 04.06.2016
[19] Urs Hugentobler, Hans van der Marel, Tim Springer, Identification and
Mitigation of GNSS Errors Position Paper
[20] The NMEA 0183 Protocol, version available at
http://www.tronico.fi/OH6NT/docs/NMEA0183.pdf , accessed
04.06.2016
[21] http://www.mathworks.com/help/map/ref/geodetic2enu.html , accessed
04.06.2016
[22] Jaime Gomez-Gil , Ruben Ruiz-Gonzalez, Sergio Alonso-Garcia and
Francisco Javier Gomez-Gil, A Kalman Filter Implementation for
Precision Improvement in Low-Cost GPS Positioning of Tractors

Figure 3.6 Position error for X axis

IV. CONCLUSIONS
It is visible that the combination of Butterworth and
Kalman filter a very good performance was obtained, but if
the system for which the solution is designed has a rather
limited capacity of data processing the Butterworth filter may
be disregarded from the solution. The performance increase of
using the Kalman solution may have its best use in the case of
smart phones, almost all of them having GNSS receivers and
inertial data sensors, thus opting for a cheaper GNSS receiver
with a lower performance could reduce the bill of material for
the product while maintaining the customer satisfaction.

You might also like