���������������� ����������
�����������
��������������� ������������ ����������������������
�� ��������
Tampereen teknillinen yliopisto. Julkaisu 619 Tampere University of Technology. Publication 619 Jussi Collin Investigations of Self-Contained Sensors for Personal Navigation Thesis for the degree of Doctor of Technology to be presented with due permission for public examination and criticism in Tietotalo Building, Auditorium TB219, at Tampere University of Technology, on the 16th of October 2006, at 12 noon. Tampereen teknillinen yliopisto - Tampere University of Technology Tampere 2006
ISBN 952-15-1657-7 (printed) ISBN 952-15-1834-0 (PDF) ISSN 1459-2045
ABSTRACT
Satellite-based radionavigation systems provide accurate and reliable positioning and
navigation whenever the satellite-to-receiver path is free from obstacles. In personal
navigation this condition cannot always be guaranteed. Many applications require
accurate position solutions in downtown areas and indoor. Due to the very low trans-
mission power and signal delays caused by the obstacles, the performance of satel-
lite navigation systems decreases in these environments. Conversely, self-contained
sensors can provide navigation information in any environment. Algorithms for ob-
taining changes in position using accelerometer and gyro data are well known. In
addition, the advances in Micro Electro Mechanical System (MEMS) technology en-
able the use of low-cost, low-power and inexpensive sensors in personal navigation
devices. One of the main problems in transforming the known inertial navigation
technology to hand-held devices is that present-day MEMS sensors cannot provide
similar accuracy as sensors used in marine or aerospace navigation. In this thesis,
this fact is acknowledged, and the aim is to construct a framework for algorithms
that can take advantage of the sensor information but are much less sensitive to large
measurement errors than the traditional inertial navigation algorithms.
In personal navigation the orientation of the unit cannot be restricted as in the case
of vehicular navigation, and this significantly reduces the applicability of traditional
navigation calibration and mechanization algorithms. Special attention of this thesis
is brought to algorithms that provide sensor navigation information independently of
the unit orientation. A technique that classifies the user motion using only sensor
information independent of orientation is developed. This method is developed from
the navigation algorithm point of view, where successful detection of a walking user
and a stationary user enables usage of specific navigation algorithms that are less
sensitive to sensor errors. The same algorithm is useful in other applications requiring
situational awareness of the user’s mode of transportation.
ii Abstract
During the research, it was found that accurate satellite signal measurements, com-
bined with the sensor data can be used to obtain the first position fix with less than
four visible satellites. The cases shown in this thesis are a 3-satellite solution without
external altitude information, and a 2-satellite solution with external altitude infor-
mation. The accuracy of these solutions is highly sensitive to measurement errors,
but the methods can be used to obtain a rough position estimate in situations where
stand-alone systems could not provide position information at all.
PREFACE
The work for this dissertation has been carried out at the Institute of Digital and
Computer Systems, Tampere University of Technology. I would like to thank my su-
pervisor Prof. Jarmo Takala for professional guiding and support during these years.
I’m grateful to my co-supervisor Prof. Gerard Lachapelle for professional guidance
and insight. Prof. Lachapelle is also acknowledged for giving me an opportunity to
spend a year as a visiting researcher at University of Calgary. Professors Borje Fors-
sell and Bertrand Merminod are acknowledged for reviewing the manuscript and for
providing valuable comments and constructive feedback.
Dr. Oleg Mezentsev deserves his own chapter here. Without your broad scientific
knowledge and open-minded approach to problems, this thesis would still be a short
draft.doc. In addition, your friendship and good humor has made working in the area
of navigation fun.
I would like to thank my co-authors: Jani Kappi, Ross Stirling and Dr. Heidi Ku-
usniemi. It’s been a pleasure to work with you, and I wish we stay in contact in the
future as well. Glenn MacGougan (+family!), thank you for being a good friend,
for helping to get things started in Calgary and for teaching how to log data from N
receivers with one laptop. People from the Department of Geomatics Engineering,
specially Dr. Olivier Julien, Leo Soliz, Natalya Nicholson, Victoria Hoyle, Dr. Mark
Petovello, and Junjie Liu are all appreciatively thanked.
My colleagues at TUT, specially Helena Leppakoski and Hanna Sairo are gratefully
acknowlegded. Along with high professional quality, the atmosphere in the DCS
Navigation Group is very special, warm and not too formal. Jussi Leppanen is ac-
knowledged for giving insight to problems and solutions related to pattern recogni-
tion.
I would like to express my thanks to Dr. Jari Syrjarinne from Nokia Mobile Phones
for introducing me the problems of personal navigation, and for enlightening techni-
iv Preface
cal discussions during these years. Prof. Jukka Saarinen is responsible for hiring me
to this work.
This thesis was financially supported by Nokia Mobile Phones, National Technol-
ogy Agency (TEKES), Nokia Foundation, Tekniikan edistamissaatio (TES) and Ulla
Tuominen Foundation, which are gratefully acknowledged.
I am grateful to all my friends, the demarcation between work and leisure would not
be possible without you. The same applies to Kylmakoski Renovators, switching
from unsolvable equations to meaningful physical exercises has helped a lot during
the past few years. I would like to thank my parents and brothers for their continuous
support, and teaching the important aspects of life. My warmest thanks go to my
dear Hanna for her love and support during these intensive stages of putting this
work together and dealing with the mysteries of life.
Finally, I am sending my thoughts to the late Matti Heikkila, a kind man who left us
too soon.
Tampere, September 2006
Jussi Collin
TABLE OF CONTENTS
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
List of Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Background and Objectives . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Author’s Contributions . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2. Observations, Signals, and Noise in Filtering. . . . . . . . . . . . . . . 9
2.1 Linear Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Numerical Integration and Differentiation . . . . . . . . . . . . . . 12
2.3 Recursive Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Bayesian Filter . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.2 Minimum Variance Filter . . . . . . . . . . . . . . . . . . . 17
2.4 Least Squares Solution . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Extension to Dynamic Models . . . . . . . . . . . . . . . . . . . . 23
vi Table of Contents
2.6 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.7 A Dynamic Model for a Discrete State System . . . . . . . . . . . . 26
2.8 Measures of Performance . . . . . . . . . . . . . . . . . . . . . . . 29
2.8.1 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.8.2 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8.3 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3. Self-Contained Sensor System Design and Calibration. . . . . . . . . . . 37
3.1 Choosing a Sensor System for Personal Navigation Applications . . 37
3.1.1 Miniature Magnetometers . . . . . . . . . . . . . . . . . . 38
3.1.2 MEMS Accelerometers . . . . . . . . . . . . . . . . . . . . 38
3.1.3 MEMS Gyros . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.4 MEMS Pressure Sensors . . . . . . . . . . . . . . . . . . . 41
3.2 Heading in Personal Navigation . . . . . . . . . . . . . . . . . . . 42
3.3 Calibration Process . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Compass Calibration . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.1 Field Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5 Accelerometer Calibration . . . . . . . . . . . . . . . . . . . . . . 57
3.6 Gyro Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6.1 Testing the Validity of Normal i.i.d Noise Model . . . . . . 61
3.7 Barometric Altimeter Calibration . . . . . . . . . . . . . . . . . . . 65
3.8 Temperature Effects . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.9 Re-Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4. Sensor System Mechanizations and Integration. . . . . . . . . . . . . . 71
4.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2 Free Inertial Navigation . . . . . . . . . . . . . . . . . . . . . . . . 72
Table of Contents vii
4.3 Constrained Inertial Navigation . . . . . . . . . . . . . . . . . . . . 73
4.3.1 Combining the Constraints . . . . . . . . . . . . . . . . . . 74
4.4 Pedestrian Dead-Reckoning . . . . . . . . . . . . . . . . . . . . . . 77
4.4.1 Step Detection . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4.2 Step Length Estimation . . . . . . . . . . . . . . . . . . . . 80
4.4.3 Heading Determination . . . . . . . . . . . . . . . . . . . . 81
4.5 System Integration Strategies . . . . . . . . . . . . . . . . . . . . . 83
4.5.1 Switch Integration . . . . . . . . . . . . . . . . . . . . . . 83
4.5.2 Exact Dynamical Model . . . . . . . . . . . . . . . . . . . 83
4.5.3 Error Variance -Based Integration . . . . . . . . . . . . . . 84
4.5.4 Integration using a Kalman Filter . . . . . . . . . . . . . . 91
4.5.5 Integration Using Embedded Filter . . . . . . . . . . . . . . 93
4.6 Redundancy and Reliability . . . . . . . . . . . . . . . . . . . . . . 95
4.6.1 Geometric Viewpoint for Residual Monitoring . . . . . . . 105
4.6.2 Practical Viewpoint . . . . . . . . . . . . . . . . . . . . . . 107
5. Motion State Recognition. . . . . . . . . . . . . . . . . . . . . . . . . 111
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.3 Choosing the Input Data . . . . . . . . . . . . . . . . . . . . . . . 113
5.4 Sensor Error Effects . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.5 Feature Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.6 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.7 Dimension Reduction . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.8 Ensemble Feature Plots . . . . . . . . . . . . . . . . . . . . . . . . 120
5.9 Applying a Dynamic Model . . . . . . . . . . . . . . . . . . . . . 121
5.10 System Performance . . . . . . . . . . . . . . . . . . . . . . . . . 122
viii Table of Contents
6. System Integration using Speed Information. . . . . . . . . . . . . . . . 125
6.1 Range Rate Observations in a Rotating Frame . . . . . . . . . . . . 125
6.2 Initial Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.2.1 Test Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.2.2 Three Satellites and Height Measurement . . . . . . . . . . 130
6.2.3 Three Satellites and Velocity Aiding . . . . . . . . . . . . . 132
6.2.4 Two Satellites with Velocity and Height Aiding . . . . . . . 134
6.2.5 One Satellite Height Aiding . . . . . . . . . . . . . . . . . 137
6.3 Quality of Velocity Measurements . . . . . . . . . . . . . . . . . . 139
6.3.1 Correction to a Large Receiver Clock Drift . . . . . . . . . 146
7. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7.1 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Appendix A Properties of Normal Distribution
LIST OF PUBLICATIONS
This thesis is a monograph, but some ideas presented in the thesis have already been
published in international journals and conferences. The following published articles
form the basis of the research topics discussed in the thesis:
[P1] O. Mezentsev, J. Collin, and G. Lachapelle. Pedestrian dead reckoning
- a solution to navigation in GPS signal degraded areas? Geomatica,
Volume 59, No 2, pages 175-182, 2005.
[P2] J. Kappi, and J. Collin Method, device and system for calibrating angu-
lar rate measurement sensors. US Patent US6834528, 2004.
[P3] O. Mezentsev, J. Collin, and G. Lachapelle. Vehicular navigation in
urban canyons using a high sensitivity GPS receiver augmented with a
medium-grade IMU. Journal of Gyroscopy and Navigation, No 4(43)
pages 73-84, 2003. Translated from the article published in Proceedings
of 10th Saint Petersburg International Conference on Integrated Navi-
gation Systems, 2003.
[P4] J. Collin, O. Mezentsev, and G. Lachapelle. Indoor positioning system
using accelerometry and high accuracy heading sensors. In Proc. ION
GPS 2003. The Institute of Navigation, 2003.
[P5] R. Stirling, J. Collin, K. Fyfe, and G. Lachapelle. An innovative shoe-
mounted pedestrian navigation system. Proceedings of the European
Navigation Conference GNSS 2003.
[P6] J. Collin, and J. Kappi. Navigating the city. Galileos World, Spring
2002, pages 21-29.
x List of Publications
[P7] J. Collin, G. Lachapelle, and J. Kappi. MEMS-IMU for personal posi-
tioning in a vehicle - A gyro-free approach. In Proc. ION GPS 2002.
The Institute of Navigation, 2003.
LIST OF FIGURES
1.1 Satellite Navigation Problem: Available Accuracy (Solid Line) and
Required Accuracy (Dashed Line) . . . . . . . . . . . . . . . . . . 2
2.1 Navigation Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Frequency and Phase Response of Integrator . . . . . . . . . . . . . 13
2.3 Frequency and Phase Response of Differentiator . . . . . . . . . . . 14
2.4 Non-Gaussian Error Process . . . . . . . . . . . . . . . . . . . . . 36
3.1 Structure of a MEMS gyro, from Alper and Akin (2005) . . . . . . 40
3.2 Floor Detection using Pressure Sensors . . . . . . . . . . . . . . . 42
3.3 Magnetic Sensor Outputs . . . . . . . . . . . . . . . . . . . . . . . 47
3.4 Magnetic Sensor Outputs, 3-D, in mGauss . . . . . . . . . . . . . . 48
3.5 Magnetic Sensor Outputs from the Calibration Phase, Case b, mGauss 50
3.6 Sensor Outputs from the Calibration Phase, Case c, mGauss . . . . 51
3.7 Horizontal Sensor Outputs from 360 Degree Rotation, Earth Field
Magnitude Scaled to One . . . . . . . . . . . . . . . . . . . . . . . 52
3.8 Heading Error in 360 Degree Rotation . . . . . . . . . . . . . . . . 53
3.9 Inclination of the Magnetic Field Vectorm. Inclination is the angle
betweenm and the locally level xy-plane. . . . . . . . . . . . . . . 54
3.10 Effect of Magnetic Disturbance in Magnetometer Outputs . . . . . . 56
3.11 Effect of Magnetic Disturbance in Accelerometer Outputs . . . . . . 56
3.12 Effect of Magnetic Disturbance in Gyro Outputs . . . . . . . . . . . 57
3.13 Norm of the Calibrated Accelerations . . . . . . . . . . . . . . . . 58
xii List of Figures
3.14 Calibrated Output versus Not Calibrated Output . . . . . . . . . . . 59
3.15 Gyro Data Samples . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.16 Test Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.17 Two Different Processes with Equal Variance Growth over Time . . 68
3.18 Two Different Processes with Equal Marginal Variances . . . . . . . 69
3.19 Cumulative Sums of i.i.d Process (Solid) and GM-process (Dashed) 69
4.1 Free Inertial Solution and Constrained Solution . . . . . . . . . . . 76
4.2 Accelerometer Output when Walking, Unit Held in Hand . . . . . . 78
4.3 Accelerometer Output when Walking, Unit in Jacket Pocket . . . . 79
4.4 Accelerometer Output when Walking, Unit Mounted on a Shoe . . . 79
4.5 Accelerometer Output in Frequency Domain, Unit Held in Hand . . 80
4.6 Curve Obtained from a 3-satellite Observation Set . . . . . . . . . . 88
4.7 Curve obtained from a 3-satellite Observation Set, Zoomed Close to
the Earth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.8 Solution Distance from Earth . . . . . . . . . . . . . . . . . . . . . 90
4.9 Simulated GPS Velocity Errors (top) and Filter Velocity Errors (bottom) 93
4.10 Normal Mixture Density Function (solid). The wider dashed curve is
p100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.11 Realizations of Normal Mixture . . . . . . . . . . . . . . . . . . . 98
4.12 Dependency of Residuals and Solution . . . . . . . . . . . . . . . . 99
4.13 Dependency of Residuals and Solution, Gaussian Distribution . . . 99
4.14 Maximum Residual vs. Solution . . . . . . . . . . . . . . . . . . . 101
4.15 Comparison of Filters . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.16 Maximum Residual vs. Solution, Gaussian Distribution . . . . . . . 102
4.17 Maximum Residual vs. Solution, all Observations of the Epoch Dis-
turbed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
List of Figures xiii
4.18 Residual of the Disturbed Observation and Error in the Y-position . 104
4.19 Graphical Representation of the Limit for the Identification of a Large
Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.1 Flowchart of the Implemented Program . . . . . . . . . . . . . . . 113
5.2 SeriesY, Driving (Top) and Walking (Bottom) . . . . . . . . . . . . 116
5.3 FFT of the SeriesY, Driving (Top) and Walking (Bottom) . . . . . 117
5.4 Features 1 and 2 from the Training Data . . . . . . . . . . . . . . . 120
5.5 Decision Results, No Token Passing . . . . . . . . . . . . . . . . . 123
5.6 Decision Results, Token Passing Algorithm Used . . . . . . . . . . 124
6.1 Satellite Path in E-Frame. Units in1000km. . . . . . . . . . . . . . 126
6.2 The Distance of the Parameterized Position (Solid Line) from Earth
Centre. Position Solution is Obtained from the Intersection of Alti-
tude Estimate (Dashed Line) and Parameterized Line . . . . . . . . 131
6.3 Clock Bias vs. Height Error . . . . . . . . . . . . . . . . . . . . . . 132
6.4 Differentiated Dopplers . . . . . . . . . . . . . . . . . . . . . . . . 133
6.5 Differentiated Dopplers, zoomed . . . . . . . . . . . . . . . . . . . 134
6.6 Two-satellite curve . . . . . . . . . . . . . . . . . . . . . . . . . . 136
6.7 Two-satellite Solutions . . . . . . . . . . . . . . . . . . . . . . . . 137
6.8 Visibility Area of One Satellite . . . . . . . . . . . . . . . . . . . . 139
6.9 Receiver Path and Positions at Three Epochs . . . . . . . . . . . . . 141
6.10 Comparison of LS-Velocity Accuracies . . . . . . . . . . . . . . . 142
6.11 Comparison of Doppler and Carrier Phase Velocity Solutions, Consumer-
grade Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.12 Comparison of Doppler and Carrier Phase Velocity Solutions, Geodetic-
grade Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.13 Two-satellite Solutions with Geodetic Grade Receiver . . . . . . . . 145
6.14 Two-satellite Solutions, Indoor Data . . . . . . . . . . . . . . . . . 146
xiv List of Figures
6.15 Comparison of Velocity Solutions: Doppler, Carrier Phase and Car-
rier Phase with Correction for a Consumer-grade Receiver. . . . . . 148
LIST OF TABLES
3.1 Sensors for Personal Navigation . . . . . . . . . . . . . . . . . . . 37
3.2 Typical INS Requirements Compared to Available MEMS Accuracies 40
5.1 Recognition Results, Training Data . . . . . . . . . . . . . . . . . . 122
5.2 Recognition Results . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.1 Events after the Cold Start . . . . . . . . . . . . . . . . . . . . . . 129
6.2 Position Errors and Estimated Clock Bias . . . . . . . . . . . . . . 131
6.3 Position Errors and Estimated Clock Bias, No Altitude Information . 133
xvi List of Tables
ABBREVIATIONS
3-D Three-dimensional
B-Frame Body Frame. A coordinate frame fixed to the navigation unit.
CEP Circular Error Probable
DOP Dilution Of Precision
DRMS Distance Root Mean Squared
ECEF Earth Centre Earth Fixed, equal to E-Frame
ECI Earth Centre Inertial. Approximation of inertial frame, a coordi-
nate frame with origin fixed to the Earth centre and axes fixed to
distant stars.
E-Frame Earth Fixed Frame. A coordinate frame fixed to the Earth. z-
direction is parallel to Earth rotation rate vector.
ENU Coordinate system axes convention where x is east, y is north,
and z is up -axis
E112 Enhanced 112 emergency call requirements
E911 Enhanced 911 emergency call mandate
FCC Federal Communications Commission
FFT Fast Fourier Transform
GDOP Geometric Dilution Of Precision
GM Gauss-Markov
xviii Abbreviations
GNSS Global Navigation Satellite System
GPS Global Positioning System
Gyro Gyroscope, an inertial sensor that measures angular rotation with
respect to inertial space about its input axis.
HSGPS High Sensitivity GPS
iff If and only if
I-Frame The Inertial Frame, I-Frame, is a non-rotating, non-accelerating
coordinate frame which is well approximated by a coordinate
frame with the origin fixed to the Earth’s centre and the axes fixed
to distant stars.
i.i.d Independent and identically distributed
IMU Inertial Measurement Unit
INS Inertial Navigation System
LBS Location-Based Services
L-Frame Locally level coordinate frame, where xyz-axes point east, north
and up, respectively. For simplicity, in this thesis z-direction is
parallel to the plumb-bob gravity (gravitational and centripetal
forces combined).
LS Least Squares
MEMS Micro Electro Mechanical System
MR Magnetoresistive
MRSE Mean Radial Spherical Error
PDOP Position Dilution Of Precision
PDR Pedestrian Dead Reckoning
ppm parts per million
xix
PVT Position, Velocity, and Time
SV Space Vehicle
STD Standard Deviation
TDOP Time Dilution Of Precision
RX Receiver
TOW Time Of Week
TTFF Time To First Fix
UWB Ultra-Wideband
V-Frame Vehicle Frame. A coordinate frame that is fixed to a vehicle (or
person), y-axis indicating the direction of forward motion.
WLAN Wireless Local Area Network
WLS Weighted Least Squares
SYMBOLS
x(t) Scalar at time t
|x| Absolute value of scalarx
exp[·] Exponential, exp[x] ≡ ex
N Number of elements in a finite set
x Arithmetic mean of sequencex1,x2, . . . ,xN
tan(α) Tangent function,tan(α)≡ sin(α)cos(α)
x(t) Vector at timet
xk Vector at epochk
1 Vector of ones,[1. . .1]T
x Norm of a vectorx, x =√
xTx =‖ x ‖
max[x] Value of the largest element ofx
imax[x] Index to the maximum element ofx
(x×) Cross product form of vectorx
bx x-axis component of vectorb
bA Vector in coordinate frame A component form
H Matrix
HT Transpose of matrix H
Hn: nth row of matrix H
xxii Symbols
H:m mth column of matrix H
Hnm Value of matrix H atnth row andmth column
diag(H) Diagonal vector of H
H.J Element-by-element division
dim() Dimension of a subspace
R (H) Range of matrixH, {y |y = Hx}
N (H) Null space of matrixH, {x |Hx = 0}
rank(H) Rank of matrixH, rank(H) = dimR (H)
I Identity matrix
CBA Direction cosine matrix,CB
AbA = bB
Φ State transition matrix
g Plumb-bob gravity vector. In L-Frame,g = [0 0 −g]T .
mg g1000, one thousandth of the magnitude of local plumb-bob gravity
w Earth rate vector, angular rate of Earth Fixed Frame with respect
to Inertial Frame,w = 7.292115·10−5 rads
P(D) Probability of a random eventD
ρn(·) Probability density function of a random variablen
E[·] Expectation operator,E[n] =∫ ∞−∞ uρn(u)du, componentwise op-
eration for vectors.
V[·] Variance operator,V[n] = E[(n−E[n])(n−E[n])T ]
σ2n Variance of random variablen, E[(n−E(n))2]
σn Standard deviation of random variablen
σmn Covariance of the random variablesmandn, σmn= E[(m−E[m])(n−E[n])]
xxiii
pmn Coefficient of correlation of the random variablesmandn, pmn=σmn
σmσn
n Estimate ofn
χ2(p,θ) Chi-squared distribution withpdegrees of freedom and non-centrality
parameterθ
N (µ,σ2) Normal distribution with expectation valueµ and standard devia-
tion σ
U(a,b) Uniform distribution, density function is constant in the interval
[a,b] and zero elsewhere
1. INTRODUCTION
Current problems in satellite based personal navigation are related to disturbances in
signal path; Location-Based Services (LBS) are mostly needed in places where satel-
lite positioning systems were originally not designed to operate, such as downtown
and indoors. Accurate positioning capability in downtown areas and indoors would
enable many beneficial applications for a mobile user. The most topical application
is location of emergency calls (E911; E112), but recreational and commercial loca-
tion based services are gaining interest as well. Performance of a stand-alone Global
Positioning System (GPS) receiver is not sufficient to fulfill the required accuracy
requirements, as the accuracy gets worse in places where the density of possibly in-
teresting places gets higher. Figure 1.1 shows roughly the accuracy of stand-alone
GPS as a function of environment. Even though improvements to existing satellite
systems are continuously developed, such as assistance of Global Positioning Sys-
tem (A-GPS) data via cellular network, additional signal transmission channels (GPS
modernization), and augmentation with cellular network positioning, the basic prob-
lem is always present; the radio signal path is often blocked by man-made structures.
In this thesis, the applicability of self-contained sensors as a part of a navigation
system are investigated to cope with these problems. The motivation for using this
kind of combination is based on complementary properties of the systems. For GPS,
or any Global Navigation Satellite System (GNSS), accuracy can vary by orders of
magnitude as a function of location, but sensor errors are typically independent of
location. Advances in low-cost miniature inertial sensors have made this kind of
combination possible in hand-held navigation units.
2 1. Introduction
Indoor Downtown Rural
5 m
50 m
500 m
Fig. 1.1. Satellite Navigation Problem: Available Accuracy (Solid Line) and Required Accu-
racy (Dashed Line)
1.1 Background and Objectives
Micro-Electro Mechanical System (MEMS) technology1 enables integration of sen-
sor systems with mobile devices, without significantly increasing size, cost, or power
consumption. The biggest drive to the technology comes from the automotive indus-
try, where sensors are used in air-bags, anti-skidding devices etc. Requirements for
sensors in those systems are significantly different than in traditional Inertial Naviga-
tion Systems (INSs). Temperature sensitivity, run-to-run bias, and noise levels need
to be orders of magnitude better in inertial navigation applications.
The origins of inertial navigation are in aircraft navigation, long before GPS (mis-
sile guidance in 1940s, for example). Mechanization and integration algorithms are
well known in the science of navigation. It is possible that as MEMS technology ad-
vances the performance levels may approach those of inertial sensors used in aircraft.
Then, one could use existing algorithms for mobile positioning applications. This
1 Integration of mechanical elements, sensors, actuators, and electronics on a common silicon sub-
strate through microfabrication technology
1.1. Background and Objectives 3
possibility is not considered in this thesis due to following reasons:
• The required accuracy for navigation grade INSs is so demanding that the laws
of physics are likely to prevent advances at some point. With current tech-
nology, larger sensors have more fine resolution (Savage, 1999). The typical
requirements for navigation grade INS are gyro bias accuracy of 0.01 deg/h
and the ability to maintain position accuracy of2 kmper hour.
• Systems that have lower accuracy, 1 to 30 deg/h gyro bias accuracy, are used in
tactical missile midcourse guidance. The operation time is usually less than a
minute, and very accurate initialization is obtained from the aircraft navigation
system before the launch. In personal positioning, the required operation time
would be longer, and accurate initialization is hard to obtain.
• Even though navigation grade INS may eventually be possible at the MEMS
level, the operational environment is likely too harsh for traditional algorithms.
Aircraft are inspected after each mission; whereas, hand-held devices are prob-
ably never inspected. Protection against mechanical stress and heat radiation in
hand-held devices is difficult to achieve. One fall of the unit can cause serious
misalignment in the sensor assembly resulting in position outputs that are more
or less unusable.
A combination of radionavigation system and existing MEMS units for personal po-
sitioning is anything but straightforward, due to the aforementioned problems. How-
ever, these problems arise when traditional integration schemes are used. Different
approaches for integration are investigated in this research, such as methods for ob-
taining the unit heading, user’s motion state2, and novel mechanizations for providing
position. These are important elements of navigation. Dictionary (WEBS) defines
navigation asthe science of getting ships, aircraft, or spacecraft from place to place;
especially: the method of determining position, course, and distance traveled. In
personal positioning, this can be modified tothe science of getting the person from
place to place.
Integration of sensor units with radionavigation systems enables many other advan-
tageous applications, closely related to personal positioning. As the radionavigation
2 The recognition of the method of travel is referred to as motion state recognition in this thesis
4 1. Introduction
system provides information of the user’s position, velocity, and time (PVT) with re-
spect to a fixed global frame, the sensor unit can provide more specific information of
the local environment - temperature, humidity and air pressure, for example. Sensors
can also be used for providing more personal information such as orientation of the
unit, user’s mean of transportation, user’s activity, and acoustic environment. If this
kind of context-awareness is the original reason to include sensors in the navigation
unit, the possibility of using the same sensor data to improve the navigation solution
should be carefully studied.
The objective of this study is to investigate different methods to include the infor-
mation obtained from self-contained sensors to the GPS-based navigation solution.
The focus is kept on personal navigation, which sets tight limits for the selection of
applicable sensors.
1.2 Author’s Contributions
In this thesis, a theoretical framework for combining low-cost (MEMS - level) sensors
with GPS observations is developed, and conventional methods are reviewed. Special
attention is paid to the problems of system implementation for hand-held systems.
The main contributions of the thesis are the following:
• Mathematical tools for navigation mechanizations and filtering are presented.
One goal in the selection of tools is to avoid unnecessary complexity. This is
extremely important, as successful integration of sensors and radionavigation
systems requires co-operation between professionals from different branches
of engineering. Modern science of navigation is a combination of many fields
of knowledge, and therefore discussions in this thesis may be trivial to some
group but valuable to the other. For example, the problems of linear and Gaus-
sian model, as illustrated in Chapter 4, should not be underestimated, even
though the results might be trivial to statisticians. The discussion provides an-
other viewpoint to the problem of reliability; in many cases, ’outliers’ can be
included in the error model.
• Methods for modeling and identification of sensor noise processes are pre-
sented, aiming to find the simplest useful model.
1.3. Related Work 5
• Possibilities for user-performed and autonomous calibration methods are ex-
amined. Problems in calibration that are peculiar to hand-held devices are
emphasized.
• The inapplicability of traditional INS mechanization for solving the research
problem is shown. Alternative mechanizations are examined and shown to be
applicable only if the mode of the motion is known. The problem of finding the
direction of travel using hand-held systems is introduced. Due to this problem,
pedestrian dead reckoning methods are inapplicable if the unit is not fixed to
the user’s body.
• A Motion State Recognition concept is developed for navigation filters that
enables a variety of applications, which are not limited to navigation. During
this research a hand-held real-time version was implemented.
• Methods for obtaining a position solution with less than four satellites using
sensor aiding are examined. These methods require very accurate velocity
measurements, but it is shown that with simple modifications to the well-
known velocity algorithms, the low-cost receivers are able to provide such
accuracy.
GPS is the radionavigation system discussed in this thesis but many results are ap-
plicable for integrating other radionavigation systems with sensors (WLAN, UWB,
cellular networks, etc.).
The work reported in this thesis has been partially published in publications [P1-P7].
In all these publications, the author has played a significant role in providing novel
ideas and implementing them. In addition, the author is responsible for hardware
development, such as power and data transmission systems for a variety of field test
equipment used in the publications and in this thesis.
1.3 Related Work
In recent publications, combinations of low-cost inertial units and GPS has gained
a lot of interest. The most popular combination technique is the traditional mecha-
nization using double integration of accelerations to position and the Kalman filter
6 1. Introduction
as the integration tool, such as in (Sukkarieh, 2000). In (Shin, 2005) different inte-
gration filters were tested with a truly micro-sized Inertial Measurement Unit (IMU),
that included Analog Devices MEMS gyros (ADXRS150). The main problem in in-
tegration is the fact that in the augmentation of an absolute positioning system (such
as GPS) with a relative positioning system (such as INS), the accuracy is limited by
absolute system’s accuracy in the static case. After all, the ideal relative system just
propagates all previous data to current time. Very often, GPS input to the system is
assumed to be of Differential GPS level, with 0.1-3 metre errors. This kind of perfor-
mance cannot be guaranteed in personal positioning. Another problem is the require-
ment of frequent absolute updates due to growth of errors with respect to time in the
traditional INS mechanization. To reduce error growth, the Pedestrian Dead Reck-
oning (PDR) mechanization has been studied widely (Levi and Judd, 1999; Ladetto,
2000; Jirawimut et al., 2003). In PDR, instead of double integrating the accelerations,
steps are counted and the distance traveled is combined with the measured heading.
This makes error growth more step-wise than time dependent, which is a significant
gain when determining the position of a pedestrian using low-cost sensors. Two ma-
jor problems of PDR in personal positioning are discussed in this thesis; firstly, the
mechanization is applicable only for walking motion. Thus, the system fails if some
other motion is falsely identified as walking. Secondly, the definition of heading is
ambiguous in hand-held navigation units. These issues decrease the applicability of
PDR systems significantly. The other problems of PDR-GPS integration, such as in-
accurate initialization and system synchronization, are well described in Mezentsev
(2005).
The classification of human motion using sensor data has been studied for various
context-awareness applications, such as in monitoring activity of people (Sekine
et al., 1998; Bao and Intille, 2004; Aminian and Najafi, 2004) and in recognizing
pedestrians from a video image (Curio et al., 2000). The author is not aware of pre-
vious work where the objective of the classification is to aid the navigation filter. In
this case, the accurate recognition of a static unit and walking motion are extremely
important. Usage of dynamic models in estimation of position of moving items dates
back to the 1930s, when motion of particles in a surrounding medium were inves-
tigated (Uhlenbeck and Ornstein, 1930). The theory is based on assuming a large
amount of collisions between the particles and surrounding molecules, and leads to a
statistical model of displacement and velocity of the ensemble of particles. Clearly,
1.4. Thesis Outline 7
human motion obeys different rules than particles, and motion mode specific filters
should be investigated thoroughly. Especially if sensor data indicates that unit is
static, the filter can rely less on other velocity measurements or even halt the system
to save power. On the other hand, the whole mechanization can be switched from
INS to PDR if the sensor data indicates that the user is walking. This motivates the
study of navigation specific motion classification, but the context-awareness point of
view is considered very important as well.
1.4 Thesis Outline
Chapter 2 describes briefly the mathematical foundations that are needed through-
out the thesis, including the discrete state filter to be used in motion state recognition.
Different approaches for error minimization are reviewed, concentrating on assump-
tions that different filter designs are based on.
Chapter 3 presents applicable sensors for personal navigation. Methods to improve
individual system performance after factory calibration are introduced and reviewed.
In Chapter 4, different sensor system mechanizations are reviewed. Special atten-
tion is paid to mechanization applicability and error growth properties. Simplified
examples of sensor system and absolute navigation system integration are presented.
A special method for improving system’s situation awareness from the navigation
viewpoint is presented inChapter 5. An introduction to pattern recognition and
its applicability in navigation is presented. Detailed description of the implemented
algorithm is presented and preliminary test results are discussed.
Chapter 6 introduces applications of integrated systems in the velocity domain. Po-
sition solutions with less than four satellites are discussed with real data examples.
The quality of consumer-grade GPS receiver velocity solutions is discussed.
Chapter 7 provides conclusions and recommendations for future research.
8 1. Introduction
2. OBSERVATIONS, SIGNALS, AND NOISE IN FILTERING
A navigation filter processes observations, discrete-time and quantized values con-
taining navigation related signals. A navigation signal conveys directly or indirectly
information of the navigation parameters (position, velocity and heading, for exam-
ple). In most cases, the observation contains unwanted disturbance, noise. Generally,
an observation can be described as:
y(k) = s(k)+n(s(k),k)+b (2.1)
s(k) = f(x(k),k) (2.2)
wherey(k) is observation vector at timek, s(k) is the signal,f is a function that relates
the signal with the true navigational parameterx, n is a noise process that is a function
of the signal (scale-factor errors, e.g. distortion) and time.b is a noise process that
has very low-frequency behavior, often referred to as bias. The above definition is
used throughout this thesis. The navigation filter, as shown in Figure 2.1, has two
main tasks:
1. Solvex usingy, i.e. the output should equalx in the absence of noise.
2. Filter the observations, i.e. separate the signal from noise, in a such way that
the effect of noise inx, the solution error, is minimized.
10 2. Observations, Signals, and Noise in Filtering
+
f x s
n
Filter
y ^ x
b
Fig. 2.1. Navigation Filter
Solving x usingy is generally quite straightforward, because relating functions are
known. The second task is an optimization problem that has been present in engi-
neering applications for decades. Well-known tools for the optimization are devel-
oped by Gauss (Least Squares), Wiener (filtering time-varying signals) and Shannon
(encoding the signal in a way that the effect of noise is minimized), to name a few.
In the case of GPS, the received signal is related to position via:
si(k) = f (x(k),k) =√
(x−vi)T(x−vi)−cT (2.3)
wherex is the user position,vi is ith the satellite position,c speed of light andT
receiver clock bias. Task one for the navigation filter is just to solve position coordi-
nates. This can be done, for example by randomly taking four of the available obser-
vations and solving position uniquely using Bancroft’s algorithm (Bancroft, 1985).
In practice, this would result in very poor performance, as task two is not considered
at all. When an error model is added to the equation, one obtains (Lachapelle, 2003):
si(k) =√
(x−vi)T(x−vi)−cT +n (2.4)
n = dρ+dt+dion +dtrop + εP (2.5)
The main noise components are:
dρ orbital errors
dt satellite clock error
2.1. Linear Filters 11
dion ionospheric delay
dtrop tropospheric delay
εP receiver dependent noise and multipath
In inertial navigation systems, observations are specific forcesa and angular rate of
the measurement unit with respect to inertial spacesω. The relation to the required
outputs is (simplified from Savage (1998)):
sa = CBL [x+ f(x)−g(x)] (2.6)
sω = h(CLB) (2.7)
In this case, many initial conditions are required to obtain a solution, as well as a
model for Earth’s gravity field as a function of position and rotation rate of Earth
with respect to inertial space. Yet, solving the user’s position using perfect inertial
measurements is not a very challenging task compared to estimating the effects of
random disturbances in the observations.
When optimizing the solution, it is important to acknowledge that the only part of
the Equation 2.1 visible to the filter isy. For example, if bias,b, would be known,
the system would naturally correct the observation. On the other hand, ifx would be
known, the whole filtering process would be unnecessary. However, incalibration, a
known reference signal provides the system with the ability to learn the properties of
the noise component.
In the following sections, mathematical tools that are necessary to minimize the noise
component are introduced.
2.1 Linear Filters
Assuming there is an observation vectory, the filter output is F(y)=x. Very important
class of filters arelinear filters. A linear filter satisfies
12 2. Observations, Signals, and Noise in Filtering
F(y1 +y2) = F(y1)+F(y2) (2.8)
F(αy) = αF(y) (2.9)
The first condition, additivity, is a very useful property of a filter, especially if the
observation noise is additive,y = s+ n. The second condition is the homogeneity
condition: if the input is doubled the output will be doubled as well. From these
conditions it follows that a linear filter cannotprotect the output. If the input is
disturbed by one large element in the input,∇ = α[0 . . . 1 . . .0]T , its effect in the
output cannot be removed by a linear filter:
F(y+∇) = F(y)+αF([0 . . . 1 . . .0]T) (2.10)
That is, an unbounded input error in one element can cause unbounded output. For
non-linear filters, this is not necessarily the case. For example, ify(t) is modelled as
x(t)+ n(t), and one knows the range ofx(t), input that is too large (y(t)À max[x])can be removed to avoid problems in further actions. As an analogy to electrical
systems, the input channel is usually protected by a fuse to avoid large damages. The
fuse does not react to normal signals, but limits the maximum current in the input
line.
The statistical analysis of a linear filter response to Gaussian noise is very straight-
forward, due to the properties of Gaussian distribution, provided in Appendix A.
2.2 Numerical Integration and Differentiation
In navigation algorithms, numerical integration and differentiation is often needed.
Herein, basic numerical methods are discussed, which are valid if the sampling rate
is high enough. Numerical integration can be performed by using the Trapezoidal
Rule,
∫ m
ns(t)dt ≈ 1
2∆t[s(n)+s(m))] (2.11)
where∆t = m−n is sampling interval. Simple differentiation can be obtained using
the continuous time definition
2.2. Numerical Integration and Differentiation 13
s′(t)≡ limh→0
s(t +h)−s(t)h
≈ s(m)−s(n)∆t
(2.12)
With low sampling rates, future samples may be needed to avoid lag in the differ-
entiation. The frequency responses for these two operations are shown in Figures
2.2 and 2.3, respectively. When the signal is integrated, the high-frequency compo-
nent is damped, and when the signal is differentiated, the low-frequency component
is damped. When noise is present, integration removes high-frequency components,
but low-frequency components will be amplified. Similarly, in differentiation process
biases will be removed, but high-frequency components will be amplified.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−100
−80
−60
−40
−20
0
Normalized Frequency (×π rad/sample)
Pha
se (
degr
ees)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−60
−40
−20
0
20
40
60
Normalized Frequency (×π rad/sample)
Mag
nitu
de (
dB)
Fig. 2.2. Frequency and Phase Response of Integrator
14 2. Observations, Signals, and Noise in Filtering
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
20
40
60
80
100
Normalized Frequency (×π rad/sample)
Pha
se (
degr
ees)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−50
−40
−30
−20
−10
0
10
Normalized Frequency (×π rad/sample)
Mag
nitu
de (
dB)
Fig. 2.3. Frequency and Phase Response of Differentiator
The above responses are important to consider when designing algorithms that min-
imize noise in the differentiated domain. For example, if a gyroscope signal is in-
tegrated to obtain heading, biases are fatal in long missions. However, apparently
high-power white noise in the input is not as serious as it seems. On the other hand,
if velocity is estimated from observed positions, bias in position will be cancelled
out. In statistical terms, using a simplified noise process, wheren is a white sequence
with varianceσ2n andb is bias term with varianceσ2
b, the variance of integrated noise
will be
σ2INT = N2σ2
b +N∆t2σ2n (2.13)
and the variance of the differentiated noise will be
σ2DIFF =
2σ2n
∆t2 (2.14)
It should be noted that the integrated process is not stationary, and the differentiated
process is correlated over time even though the bias was cancelled out.
2.3. Recursive Filtering 15
2.3 Recursive Filtering
In the presence of noise, it is evident that the final result obtained from observations
is never exact. As the true value is not known, statistical methods are used to obtain
an estimate of the true value. The usual method is to estimate input noise parameters
from calibration data and mathematical models, propagate errors through the system
and output suitable parameters of the obtained distribution. As navigation computers
mostly work in real-time, the suitable filters are recursive; output of the filter is feed
back to the input and the filtering procedure is repeated at next epoch1.
In this section, two different approaches for recursive filtering are shown. In the
following, Equation 2.1 is simplified toy(k) = x(k)+n(k), and Equation 2.2 is sim-
plified to f (x) = s. If only one measurement is available there is no other choice than
to output a solutionx(k) = y(k). Now the question arises, what is the accuracy of
this solution? If we know thatn(k) ∼ N (0,σ2), the variance clearly indicates how
accurate the estimate is. It can be shown that if there is no other information ofx(k)than the single observation, one can approximate (e.g. Lehmann (2002)):
x(k)∼N (x(k),σ2) (2.15)
If there areN redundant observations, andni(k) are independent and identically dis-
tributed (i.i.d), it can be shown that
x(k)∼N (y,σ2/N) (2.16)
The next step is to handle following measurements, after timek. If it is known that the
system is staticx(k+ 1) = x(k), multiple measurements of a constant but unknown
value are obtained. If the i.i.d assumption forn(k) holds over time, the distribution in
Equation 2.16 is clearly still valid. However, using a recursive filter would be more
convenient for implementation. In addition, the assumptions of identical distribution
and static system may be not valid in practice. To obtain more general tools for sta-
tistical filtering,Bayesianandminimum variancefiltering principles are introduced.
1 Term ’epoch’ in this thesis refers to an instant of time when a new observation set arrives
16 2. Observations, Signals, and Noise in Filtering
2.3.1 Bayesian Filter
The Bayesian filter utilizes conditional probability density, as described for example
in Maybeck (1979), and is defined as:
ρ(x|y=b)(a) =ρxy(a,b)
ρy(b)(2.17)
or in another form
ρ(x|y=b)(a) =ρ(y|x=a)(b)ρx(a)
ρy(b)(2.18)
For the model described in Equation 2.1, the distribution for observation,ρy, can
be obtained using convolution rule. The distribution of the sum of two independent
random variables (observationy is signalx plus noisen) is (e.g. Fisz (1980)):
ρy(b) = ρn+x(b) =∫ ∞
−∞ρn(b−a)ρx(a)da (2.19)
Using the definition of marginal density,
ρy(b) =∫ ∞
−∞ρxy(a,b)da (2.20)
and Equation 2.19, the joint distributionρxy can be obtained:
ρxy(a,b) = ρn(b−a)ρx(a) (2.21)
Finally, using Equation 2.17 results in the following form:
ρ(y|x=a)(b) =ρxy(a,b)
ρx(a)= ρn(b−a) (2.22)
The equation above agrees with the intuition that the distribution of an observation
given the signal is obtained by biasing the distribution of noise. To conclude the
above equations, provided a given distribution of noise (ρn) and a priori distribution
of signal (ρx), the distribution ofx using the obtained measurement,b, will be
2.3. Recursive Filtering 17
ρx|y=b(a) =ρn(b−a)ρx(a)∫ ∞
−∞ ρn(b−u)ρx(u)du(2.23)
The above equation is very general and assumes only that noise and signal are strictly
independent. In practice, several cases where this assumption does not hold are en-
countered in navigation (scale factor errors, GPS noise in downtown areas etc.). To
obtain recursive formula,ρx|y=b(a) is considered as a priori for the next step. It is
thus assumed thatx is static and noise process is independent over time. The a priori
for the first step can be obtained using Equation 2.15. Ifx is not static, but changes
of its distribution over time are known, a dynamic filter can be obtained. In the im-
plementation, the actual output displayed for the user is some feature of the obtained
distribution (most commonly expectation value or maximum value).
2.3.2 Minimum Variance Filter
The other approach to estimation is to assume that the ’a priori’, or previous mea-
surement is actually an addition of zero mean noisenp, and signalx: yp = x+np. x is
not considered as random variable, but an unknown constant.y is thus a random vari-
able, withx as the expectation value. The following measurement is a realization of
different noise process,ym = x+nm. Then, the combination of these two,Ayp+Bym,
with minimized error is of interest. One criterion for weightsA andB is unbiased-
ness:E[Ayp +Bym] = x. Thus, the weights must be constrained byA+B = 1. Now,
e= Ayp +Bym−x is a random variable, the estimation error. Using the properties of
the expectation operator, and the assumption thatnp andnm are uncorrelated results
in the following equation,
E[Ayp +Bym−x] = Ax+Bx−x = 0E[(Ayp +Bym−x)2] = A2σ2
p +B2σ2m
(2.24)
The termE[(·)2] in the above equation can be considered as a cost function, and
minimizing it yields
A = σ2m
σ2p+σ2
m
B = σ2p
σ2p+σ2
m
(2.25)
18 2. Observations, Signals, and Noise in Filtering
ChoosingA andB using Equation 2.25 gives the optimal estimate (minimized vari-
ance of error), and the only statistical parameters needed are the two variances.
The recursive step is taken by takingAyp + Bym asyp+, a priori for the next step.
Then, the variance ofnp+ isσ2
pσ2m
σ2p+σ2
m. In this derivation it was assumed thatE[npnm] =
0. This is not true, if two observations have a common noise term,yp = x+np1+np2
andym = x+ nm1 + np2. This is the case with radionavigation systems, which have
correlated errors over time due to atmospheric delay and multipath disturbance. This
neglected positive covariance leads to underestimated variance at the next step.
The selection ofE[(·)2] as a cost function can be justified by a number of arguments.
One such argument is the linearity of the expectation operator. In the process, the
variance of the error is minimized, and variance is generally a very good measure
for the dispersion of a random variable. Variances are convenient to propagate in the
filtering, as shown in the following equation: (e.g. Kaleva (2005)):
V[An+b] = AV[n]AT (2.26)
whereA andb are constant matrix and vector, respectively. In general, if only the ex-
pectation value and the variance of a distribution are known, one can use theCheby-
shev inequalityto obtain an indication of dispersion (e.g. Fisz (1980)):
P(|x−µ| ≥ kσ)≤ 1k2 (2.27)
Substitutingk = 3 to Equation 2.27 yields
P(|x−µ| ≥ 3σ)≤ 19
(2.28)
The result19 can be comprehended as the largest possible value for thethree sigma
level. For the Gaussian distribution it is greatly smaller (Fisz, 1980):
P(|x−µ| ≥ 3σ)≈ 0.0027 (2.29)
This means that the Gaussian distribution is highly concentrated around its expecta-
tion value. This property can be used to test whether the observed noise process is
Gaussian or not.
2.3. Recursive Filtering 19
There are a number of applications, where the variance is not the optimal parameter
that describes the distribution. For example, in ballistics, the important question is
’What is the percentage of successful hits to the target?’. In this case, if the target is
missed, there is no extra cost for ’large miss’. In such cases, the parameter Circular
Error Probable (CEP)2, is commonly used:
CEP50%(n) = c⇐⇒ P(√
nTn≤ c) =12
(2.30)
wheren = [n1 n2]T is a random vector describing the measurement noise in the posi-
tion domain. The verbal definition forCEP50% is c is the radius of the circle contain-
ing 50 percent of the individual measurements. Even though CEP might be easier to
comprehend for a user, variance is clearly more suitable when designing navigation
filters. In navigation, the systems are quite non-linear, and large error components
can cause the system to diverge completely. Thus, when examining the errors, large
ones are of great interest. In addition, CEP belongs to group oforder parameters,
i.e. to estimate CEP from data sorting is required, and thus there are more operations
needed than when estimating the variance.
In the above, two methods for combining measurements recursively were shown,
Bayes’ method and the mimimum variance method. The practical difference between
these methods is that the Bayes’ method propagates the whole distribution, whereas
the minimum variance method propagates only the expectation value and variance.
Even though these methods seem to be very different, with Gaussian input noise one
yields the same estimates for both methods (see the following example). However,
in navigation there are many cases where the Gaussian assumption is not valid. For
example, in map-matching the priori is ’the user is on road’, which is clearly a non-
gaussian priori.
Example: The priori distribution isx∼N (µx,σ2x), and the measurement isy = x+ε,
ε ∼ N (0,σ2ε). With the knowledge that the sum of two independent Gaussian dis-
tributed variables is distributed asN (µ1 +µ2,σ21 +σ2
2), the denominator in Equation
2.23 becomesN (µx,σ2x + σ2
ε). Using algebra, Equation 2.23 may now be written in
the form
2 In some references, CEP is defined as Circle of Equal Probability, which is a problematic term for
describing continuous distributions
20 2. Observations, Signals, and Noise in Filtering
ρx|y=b(a) =1√
2π σ2xσ2
εσ2
x+σ2ε
e
−[a− σ2
xb+σ2ε µx
σ2x+σ2
ε]2
2σ2
xσ2ε
σ2x+σ2
ε (2.31)
Equation 2.31 looks complicated, but it is a normal distribution with a mean ofσ2
xb+σ2εµx
σ2x+σ2
εand varianceσ2
xσ2ε
σ2x+σ2
ε, which are identical to the actual outputs of the minimum
variance method. Bayes’ method adjusts the distribution according to realizations of
random events. The minimum variance method weights the realizations in a way that
the weighted result is a realization of a random variable, which has minimized vari-
ance. In the Gaussian case, both solutions are equal, and usually both are interpreted
as parameters of Gaussian distribution.
One of the advantages of the Bayes’ method is thatimpossible eventscan be handled.
For example, assume that the priori is ’Position cannot be less than 0 or more than 10
m’. This information can be handled using uniform distribution,
ρx(a) = 110, 0≤ a≤ 10
ρx(a) = 0, elsewhere(2.32)
Now, Equation 2.23 becomes
ρx|y=b(a) = ρn(b−a)/10∫ 100 ρn(b−a)/10da
= ρn(b−a)Γ(10)−Γ(0) , 0≤ a≤ 10
ρx|y=b(a) = 0, elsewhere
(2.33)
Gamma is the cumulative distribution ofb−x, which is a random variable for a given
b. Now the output distribution keeps the probabilities of impossible events as zero.
This could not be done with the variance information only.
As an example of Bayes’ method, assume that positioning measurement noise is
a function of position. For example, while near a tall building noise has a larger
variance. A user obtains one measurement, a distance from the building wall,y =100m. Let a priori be an uniform distributionx = U(0,200), and measurement noise
N (0,1002) if x < 10m, andN (0,1) if x ≥ 10 m. In this case, the distribution
ρx|y=100 would bemulti-modal; values forx between10m and95m would be very
unlikely when compared to values between 0 and10m, and near100m. For this kind
2.4. Least Squares Solution 21
of distribution, mean and variance are not sufficient to describe the situation. If the
user obtains a new measurement,y(2) = 100.5 m, the probability ofx being near 100
m would be underestimated if only mean and variance are propagated. This example
is not very far from a real navigation situation, where a receiver near a tall building
is more prone to multipath that a receiver far from the building.
There are a number of statistical methods for estimation and many of them are the
subject of rigorous academic debate. In the above, the two methods of filtering that
are needed in this work were presented. In Gaussian noise case, both methods pro-
duce similar results, even though the viewpoint is very different,x ∼ N (x,σ2) in the
Bayes’ case andx ∼ N (x,σ2) in the minimum variance case. The author’s opinion
is that the viewpoint is not important, but the actual performance of the filter.
2.4 Least Squares Solution
In linear Least Squares (LS), the model that relates observations and the signal is
y = Hx︸︷︷︸s
+n
H ∈ Rn×p, p < n(2.34)
wherep is the number of elements inx andn is the number of elements iny.
An estimate of unknownx is obtained by minimizing‖y−Hx‖2 i.e. minimizing the
squares of the residuals. The well-known solution for this is
x = (HTH)−1HTy (2.35)
As (HTH)−1HT is a constant matrix, it follows that least squares filter is a linear
filter. If n ∼ N (0,σ2I) the distribution of the solution isx ∼ N (x,σ2(HTH)−1).This relation between the variance of input noise and the output accuracy is Dilution
of Precision (DOP) which is defined by(HTH)−1. The residual vector,n = Ry is
normally distributed, with zero mean and variance ofσ2R. R, the redundancy matrix,
relates the observations and residuals,R= I −H(HTH)−1HT . Due to redundancy,
R is not invertible and the distribution of residual vector is a singular normal distri-
bution. AsJ = H(HTH)−1HT is a projection matrix (Kaleva, 2005),J is idempotent
22 2. Observations, Signals, and Noise in Filtering
and(I − J)Jx = 0. Thus, the effect of individual input error to the residuals can be
analyzed byR[0 . . . ei . . . 0]T .
If some observations are considered as less accurate than the others, the Weighted
Least Squares (WLS) method can be used. In WLS, the noise model isn ∼ N (0,Σ),and the solution is (Gelb, 1974):
x = (HTΣ−1H)−1HTΣ−1y (2.36)
In WLS, the covariance matrix of the solution is(HTΣ−1H)−1.
The relations between the observations and the signal are often non-linear. The gen-
eral model is then (Krakiwsky, 1990)
f(x, y) = 0 (2.37)
and the model is approximated by a linear Taylor series as follows:
f(x, y) = f(x0,y)+ ∂f∂x(x−x0)+ ∂f
∂y(y−y) = 0 (2.38)
In the above equation,x0 andy are substituted into the partial derivative functions.
x0 is the initial approximate value of the signal. The solution that minimizes the
(y−y)TΣ−1(y−y), given the constraint in Equation 2.38, is obtained by
x = x0− [HT(BΣBT)−1H]HT(BΣBT)−1f(x0,y) (2.39)
The matrixH is the first partial derivative matrix in the Equation 2.38, andB is the
second3.
As an example of the linearized Least Squares, the pseudorange equation (Equation
2.3) can be used to formf:
f(x0,y) =√
(x0−vi)T(x0−vi)−cT0−y, (2.40)
3 The first design matrix and the second design matrix, respectively
2.5. Extension to Dynamic Models 23
wherex = [x T]T = [x1 x2 x3 T]T , coordinates of user position and receiver clock
bias. Now, the matricesH andB are4
H =
x01−v11√
(x0−v1)T(x0−v1)
x02−v12√
(x0−v1)T(x0−v1)
x03−v13√
(x0−v1)T(x0−v1)−c
x01−v21√
(x0−v2)T(x0−v2)
x02−v22√
(x0−v2)T(x0−v2)
x03−v23√
(x0−v2)T(x0−v2)−c
......
......
(2.41)
B =−I (2.42)
In Equation 2.41,vi j refers to theith satellite’s j th position vector component. The
solution is then obtained by
x = x0− (HTΣ−1H)−1HTΣ−1f(x0,y) (2.43)
Due to non-linearity, ifx0 is inaccurate, the procedure must be repeated by takingx
as a new initial estimate.
2.5 Extension to Dynamic Models
To include dynamics in the filtering, the possible changes in the signal over time must
be modeled. If there exists a known transfer function,Φ
x(k) = Φkjx( j), (2.44)
for some time intervalj . . .k, then extension is straightforward. The distribution at a
previous time epoch (t = j) of x( j) is known, and thus the distribution forx(k) can
be computed using rules of statistics. In the previously discussed Bayesian example,
theρx of Equation 2.23 is replaced by this new distribution.
If Φkj is a linear function, the observation at timej can be propagated to timek, and
the variance-based method can be used as shown in the following equation:
4 In practice, c is divided out to avoid numerical problems
24 2. Observations, Signals, and Noise in Filtering
y( j) = x( j)+n( j)y(k) = x(k)+n(k)Φk
jy( j) = Φkjx( j)+Φk
jn( j)= x(k)+Φk
jn( j)
(2.45)
Unfortunately, the transfer function is rarely exactly known. In practical systems,
even ifx( j) is known, theΦkjx( j) differs from truex(k). This is due to the fact that
no model of dynamics is exact. Inaccuracy in the model is usually handled by adding
a noise term to the transfer operation:
x(k) = Φkjx( j)+w(k) (2.46)
If the noise termw(k) is independent ofx, n( j) andn(k), then variance method still
applies. The deterministic transfer function changes the variance ofn( j) by (Φkj)
2,
and variance ofw(k) can be added due to independency. This leads to the one-
dimensional Kalman filter, as can be seen from the equations presented in the next
section.
In cases wherew(k) is dependent onx, one needs to use Bayes’ method. Typical
examples are in speech recognition, where Hidden Markov Models (HMMs) are used
to handle dynamic events.
2.6 Kalman Filter
Using the following assumptions, an optimal recursive filter, that operates on vector
valued inputs can be constructed:
• The density functionρx|y is the Gaussian conditional density of the statex with
mean ofx and covariance matrixP, given the measurement history.
• The transfer functionΦkj in x(k) = Φk
jx( j) is linear.
• The inaccuracy of the dynamic model causes additive zero-mean Gaussian
noise term to be included in the propagation,x(k) = Φkjx( j)+ w(k). Covari-
ance ofw is Q, andw is uncorrelated over time, and independent ofx.
2.6. Kalman Filter 25
• The observation is a linear function ofx(k), perturbed by additive zero-mean
Gaussian noisev(k); y(k) = H(k)x(k)+ v(k). Covariance ofv is R, andv is
uncorrelated over time and withw.
If above assumptions hold, it can be shown that after a propagation step fromj to k,
but before the measurement, the mean ofx(k) is (Maybeck, 1979)
x(k−) = Φkj x( j) (2.47)
and its covariance is
P(k−) = ΦkjP(Φk
j)T +Q (2.48)
When the measurementy(k) becomes available, the mean ofx(k) is
x(k+) = x(k−)+K(k)[y(k)−H(k)x(k−)] (2.49)
and its covariance is
P(k+) = [I −K(k)H(k)]P(k−) (2.50)
The matrixK(k) is Kalman filter gain, which is defined as:
K(k) = P(k−)HT(k)[H(k)P(k−)HT(k)+R(k)]−1 (2.51)
The outputs of the filter are the mean and covariance of the conditional density of
the state vector (given the measurement history). This is Gaussian density, and thus
the mean vector is clearly an optimal estimate of the actual state. The Gaussian
distribution is completely described by its mean and covariance, and thus no memory
to store past measurements/statistical parameters are needed. The Kalman filter can
be derived without the Gaussian noise assumption such as in Brown and Hwang
(1997), where the derivation is based on the minimum variance method. It should be
noted, that the Kalman filter is linear, but not necessarily time-invariant. Stationarity
of the noise processes is not required, on the contrary to a Wiener filter (Kalman,
1960).
26 2. Observations, Signals, and Noise in Filtering
Using Kalman filters in navigation computers is advantageous due to the recursive
approach. However, there are many problems with the assumptions:
• It is hard to obtain good dynamic models, especially in personal navigation
environments. The most applicable transfer function is usually non-linear.
• v is often correlated over time.
• Obtaining validR is not always straightforward.
• The filter is linear and sensitive to large input errors.
Due to these problems, many modifications to the original Kalman filter can be found
from the literature, such as adaptive Kalman filter (e.g. Mohamed and Schwarz
(1999)) and extended Kalman filter (e.g. Welch and Bishop (2002)).
2.7 A Dynamic Model for a Discrete State System
In Kalman filter design it is assumed that state vectorx can have any value, thus it is a
continuous random variable. In many applications, the required parameter is discrete,
in other words there are only a limited amount of choices forx. In speech recognition,
it can be a phoneme, word, or a whole sentence. Even though speech recognition and
navigation filters may seem to be unrelated, there are similarities such as:
• The actual signal is ’hidden’, as the observations are noisy.
• The system dynamics are not deterministic; with one perfect observation future
states cannot be predicted exactly.
Later in this thesis, a model for discrete-state dynamics is needed. The basic algo-
rithm for handling discretely distributed signals is derived in the following.
Let the observation model be the same as discussed,
y(k) = x(k)+n(x(k),k) (2.52)
2.7. A Dynamic Model for a Discrete State System 27
Assuming thatx can only have values from a finite set, its distribution is discrete.
n(x(k),k) is assumed to be a noise process that is uncorrelated over time. The dis-
tribution of the noise process is known, but its parameters can be dependent onx(k).Initially, the distribution forx(k) is known, or it can be initialized as uniform density.
After the first observation, a new distribution forx is computed using again Bayes’
equation:
ρ(x|y=q)(r) =ρ(y|x=r)(q)ρx(r)
ρy(q)(2.53)
Now ρ(y|x=r)(q) is known,ρx(r) is the a priori information, andρy(q) is a multi-modal
distribution, described by
ρy(q) = Σiρx(i)ρ(y|x=i)(q) (2.54)
where indexi goes through all the possible values ofx. Obviously, the conditional
distributionρ(x|y=s)(r) is discrete as well. To add dynamics to the system, state tran-
sitions are introduced, as shown in the following equation (using the transition prob-
ability matrix):
Φ(h, i)kk−1 = P(x(k) = h | x(k−1) = i) (2.55)
wherek is time index, andh andi are possible values ofx. Transitions are assumed
to be Markovian, only the present state affects the probability of the future state.
ChoosingΦ to have the same symbol as the transition matrix in the Kalman filter
equations above is intentional. From the definition of the conditional probability one
can derive
P(A∩B) = P(B|A)P(A) (2.56)
and thus
P(x(k) = h∩x(k−1) = i) = Φ(h, i)kk−1P(x(k−1) = i)
P(x(k) = h) = ∑i Φ(h, i)kk−1P(x(k−1) = i)
(2.57)
28 2. Observations, Signals, and Noise in Filtering
If probabilities for all possible values ofx are are arranged in theNx1 vectorpx, the
probabilities are propagated to the next time index by matrix-vector multiplication,
px(k) = Φkk−1px(k−1) (2.58)
Combining Equations 2.53 and 2.58 gives a recursive algorithm that outputs a discrete
probability distribution forx. However, probabilities for each path to the current state
were not stored, due to the summation in Equation 2.57. Storing probabilities for
each possible path,P(x(1) = a∩ x(2) = b, . . .) would require too much memory. In
many applications, the path is required for further actions, and thus there should
be a method to at least store the optimal path. Another problem in the described
method is that, in practice, a decision is needed when the output is displayed to a
user. The navigation unit cannot output ’You are on Street 1 OR Street 2’. One
way to make a decision is to choose the statei that maximizesP(x(k) = i) at current
time k. However, this is a different decision than the one that maximizes the path
P(x(1) = a∩ x(2) = b. . .∩ x(k) = i). Choosing the right decision depends on the
application. If the history of the states somehow affects the system, the second choice
is clearly better, yet more complicated to solve. This should not be forgotten in the
navigation filter design. Sometimes ’How did we get here?’ can be more relevant
question than ’Where are we?’.
One algorithm to solve the optimal path is shown in Young et al. (1989). Assume
that at initially px(0) is known (initial state might not be known). Letpx( j) =[0.2 0.2 0.6]T , and the transition probability matrix be:
Φkj =
0.8 0.1 00.1 0.7 0.50.1 0.2 0.5
(2.59)
In one wants to output the state that has maximum probability given the past obser-
vations, this is obtained by matrix multiplication and the imax operator (index to the
maximum element),
x = imax[Φkjpx( j)] = 2 (2.60)
2.8. Measures of Performance 29
However, if one wants to select the optimal path during the filter operation, ’Tokens’
from each state are passed to other states. For example, State 1 has three slots for
tokens,T1(k) = [a b c]. Tokens are projected over time using transition probabilities
and observations, but only the best token of each state is passed. Thus, theT1( j) will
be
T1( j) = [0.8·max[T1(k)] 0.1·max[T2(k)] 0·max[T3(k)]]ρ(y|x=r)(q) (2.61)
This is called ’passing the tokens’. For each possible state, only the best token ar-
riving to that state is used in propagation. As the model was Markovian, there is no
need to store the others when seeking the optimal path. At the next epoch, the other
tokens couldn’t give a better path in the probability sense. In order to resolve the full
path, all the ’winner tokens’ carry a path identifier, a time-indexed vector containing
all the states the token has visited. This path contains no ’illegal’ transitions, such as
transition from state 3 to 1 in the above example. It should be noted that the Token
Passing algorithm corrects past solutions during operation. In this sense, the algo-
rithm has two outputs: the one obtained in real-time, and the final path obtained after
the last observation.
The major difference between the Kalman filter and the one presented above is the
vector that is propagated over time. In the Kalman filter, it is sufficient to propagate
mean and the variance. For discrete-state systems, the expectation value and vari-
ance are not very descriptive parameters. If there are only statesx∈ {0,1}, and the
assigned distribution isρx(0) = 0.8 andρx(1) = 0.2, outputting the expectation value
x = 0.2 would be not very useful. In discrete-state systems, where there are only
a few possible states, the whole distribution can be propagated over time, and the
criteria for selecting the optimal output is different than in continuous state filters.
The method for applying a dynamical model presented in this section is actually an
implementation of the famous Viterbi algorithm (Viterbi, 1967), and it is very appli-
cable in navigation filters that are partly or completely based on motion classification.
2.8 Measures of Performance
To compare different navigation systems, some measures for comparison are needed.
In the field of navigation, accuracy, availability and reliability are widely used for this
30 2. Observations, Signals, and Noise in Filtering
purpose. In following sections, these are briefly explained, and the potential of self-
contained sensors systems to improve performance is included. This gives a basis for
studying possible advances gained by integration of sensor systems to existing GPS
technology.
2.8.1 Accuracy
The accuracy of a system can be described as some statistical parameter of the distri-
bution of the error. Error herein is defined as the difference between actual position
(or any other measurable quantity) and the system output. In this section different
methods for obtaining those parameters were shown. However, it should be empha-
sized that these parameters, such as variance, are only models of the real word. The
observation noise can be approximated and evaluated with field testing and mathe-
matical modeling, but global models generally do not exist. The distribution of the
noise can be dependent on location and time. For example, the accuracy of GPS
observations is a function of location; in rural areas, the signal path has fewer obsta-
cles than indoors. Observation noise parameters obtained from rural field test do not
apply to the indoor situation.
From the user’s point of view, the important accuracy measures are related to posi-
tioning errors expressed in locally level frame, L-Frame. If input noise to a WLS-
based positioning algorithm is known to have zero-mean Gaussian distribution, the
covariance matrix(HTΣ−1H)−1 provides all the information on positioning accuracy.
The accuracy information5 is often compressed to a single number, and the following
measures are typically used in navigation (Lachapelle, 2000):
DRMS 2-D Distance Root Mean Squared,DRMS=√
σ2x +σ2
y, wherex andy refer
to the corresponding horizontal axes, and are the first two diagonal elements
of the L-Frame covariance matrix. Ifσx = σy,σxy = 0, the probability of be-
ing within the circle with radius DRMS is63.2 %, which is the value of the
cumulative chi-squared distribution with two degrees of freedom at point 2.
2DRMS (2 X DRMS), which corresponds to a probability between95.4 % and
98.2 %, depending on the ellipticity. With no correlation, and equal variances,
5 including the Gaussian assumption
2.8. Measures of Performance 31
the98.2 %is the value of cumulative chi-squared distribution with two degrees
of freedom at point 8. If the correlation coefficient is one, the distribution is
degenerate. Thus, the value95.4 % is the 2-sigma value of one-dimensional
normal distribution.
MRSE Mean Radial Spherical Error,MRSE=√
σ2x +σ2
y +σ2z, describes 3-D accu-
racy. If σx = σy = σz; x,y,z uncorrelated, the probability of being within the
sphere with radius MRSE is60.8 %, the value of the cumulative chi-squared
distribution with three degrees of freedom at point 3.
The effect of satellite geometry in the solution can be described by the dilution of
precision. It describes the relation between the input noise and the solution errors.
The DOP matrix is
Q = (HTH)−1 (2.62)
and the following DOP numbers are commonly used in GPS (Lachapelle, 2003):
GDOP Geometric DOP,√
Q11+Q22+Q33+Q44
PDOP Position DOP,√
Q11+Q22+Q33
TDOP Time DOP,√
Q44
To obtain L-Frame DOP numbers, the DOP matrix needs to be in the L-Frame form.
Using Equation 2.26:
QL = CLEQCE
L (2.63)
HDOP Horizontal DOP,√
QL11+QL22
VDOP Vertical DOP,√
QL33
It should be noted that the user-satellite geometry is a function of user position, and
thus computing DOPs requires at least one rough position estimate.
32 2. Observations, Signals, and Noise in Filtering
When the position information is obtained using sensor data, the accuracy measures
in the position domain are not changed. The major difference is that the computation
of DOP is not straightforward. The sensor noise and position estimate are connected
via a mechanization algorithm, that includes integrators and highly non-linear ele-
ments. For free inertial navigation, quite descriptive DOP value can be computed
using a constant gyro error model, in deg/h. The corresponding position error is ap-
proximately 60 times the gyro error, in nautical miles6 per hour (Savage, 1999). For
an overall one nautical mile per hour system, the requirement for gyro bias errors is
at the0.01 deg/h level. The DOP of the free inertial mechanization is remarkably
large.
The typical INS sensor error model includes a bias term, a scale factor error term,
misalignment error terms and an uncorrelated noise component term (Savage, 1999).
Variance is a good accuracy measure for the uncorrelated term, and it can be esti-
mated using a short period of sensor data. Describing the bias term is more difficult.
The bias term cannot be obtained without accurate reference, and a good statistical
description would require an ensemble of sensors and very long data sets. According
to IEEE (2001), the accelerometer bias is defined as:
the average over a specified time of accelerometer output measured at
specified operating conditions that has no correlation with input acceler-
ation or rotation. Bias is expressed in[m/s2,g].
Bias instability is defined as
the random variation in bias as computed over specified finite sample
time and averaging time intervals. This nonstationary (evolutionary)
process is characterized by1/ f power spectral density. It is typically
expressed in degrees per hour(◦/h) or [m/s2,g], respectively.
Sensor data is often integrated in the mechanization algorithm, and this makes the
time-correlated noise component more important than the uncorrelated component.
This is emphasized in MEMS sensors. A snap-shot view from data can be very
similar when compared to a high-end sensor, but differences become visible with
longer data sets.
6 1.852km
2.8. Measures of Performance 33
A scale factor is the ratio of a change in output to a change in the input intended to be
measured. Scale factor errors are typically expressed in parts per million (ppm). This
describes the nature of the scale factor errors. The error is a function of the input
signal. In personal navigation, the range of experienced accelerations and rotation
rates can be very wide, as the mass of the system is small. This need to be taken into
account in personal navigation system design.
Sensorresolutioncan be defined as the smallest change in the input that causes an
observable change in the output. The resolution of a sensor is dependent on the noise
floor of the sensor, i.e. the variance of the uncorrelated noise.
It should be stressed than in high-end inertial navigation units, the ’predictable er-
rors’ are compensated by the computer software. Predictable errors are the ones that
can be observed via extensive and accurate laboratory calibration, which is typically
done individually for each unit. For personal navigation units this is not feasible.
Algorithms for user-performed calibration are introduced in Chapter 3.
The major reason why a sensor system can improve the accuracy of an absolute po-
sitioning system is that the sensor system provides additional information on user
dynamics. Dynamic filtering using stand-alone GPS requiresassumptionson user
motion - maximum acceleration, for example. With a sensor system, the dynamics
become directly observable, and switching from assumptions to observations is al-
ways profitable. When the dynamics can be actually measured, the propagation of
past radionavigation observations to current time is possible, as shown in Chapter 4.
This reduces the effect of observation noise in the solution error, and thus improves
the accuracy.
2.8.2 Availability
Availability describes the rate when or where (or in which conditions) the system
provides output. Typical examples of descriptions of system availability are99 % of
the time, in temperatures between -20...20 Celsius, outdoor only. This term is closely
related to accuracy. If a system gives an output, its error component should agree
with the given system accuracy. In many instances, these two terms are used in com-
bination. For example, the Federal Communications Commission E-911 mandate is
defined as (FCC, 2000):The FCC adopts the following revised standards for Phase
II location accuracy and reliability:
34 2. Observations, Signals, and Noise in Filtering
• For network-based solutions: 100 metres for 67 percent of calls, 300 metres
for 95 percent of calls.
• For handset-based solutions: 50 metres for 67 percent of calls, 150 metres for
95 percent of calls.
In the above definition, availability and accuracy are combined. For example, the
network system that would have 1 metre maximum error, but would provide solution
only 60 % of time, would not pass these requirements. Neither would a system that
gives a solution 100 % of time, but with errors following Gaussian distribution with
standard deviations of 200 metres.
The possibility for improved availability is a major reason why self-contained sensors
systems are studied in the area of personal navigation. A sensor system provides
information on user dynamics, and if the radionavigation system is not available,
sensors can be used to propagate position estimates from the last obtained radio-
based position fix. In addition, sensor data can act as an ’extra-satellite’ in the cases
where satellite visibility is limited. To this end, an accurate receiver clock could be
classified as self-contained sensor as well.
2.8.3 Reliability
Reliability can be defined by using the two above performance measures; the system
is reliable when it meets its given accuracy and availability criteria. If the system is
not reliable, its specified performance is overestimated. This leads to severe problems
in system integration. The integrated system performance will be overestimated as
well.
However, reliability can be quite a subjective performance measure, as the follow-
ing example shows. In Figure 2.4, the positioning error of an imaginary navigation
system is shown over time. This error process is non-Gaussian, and even if its ac-
curacy could be described exactly with some parameters of the distribution, the user
might considerer it as a non-reliable system. There are inconsistent elements in the
solution. Actually, reliability is sometimes referred to as a system’s capability to re-
move outliers. Anoutlier is defined in Barnett and Lewis (1978) asan observation
(or subset of observations) which appears to be inconsistent with the remainder of
2.8. Measures of Performance 35
that set of data. To this end, the large peaks in the figure are considered as outliers.
Non-Gaussian errors and reliability are very connected.
The Gaussian noise assumption can be justified by extensive field tests, or in many
applications using the central limit theorem, e.g. Maybeck (1979). This assumption
allows a convenient way to derive implementable filters. However, when the field
tests clearly indicate that the input noise is not Gaussian, various problems in the
filter design are encountered. In addition, if the output errors are non-Gaussian, the
user easily considers the system as non-reliable. Thus, the filter should somehow
transform the non-Gaussian input noise into Gaussian error in the output. Using
only linear filtering methods this is impossible. For overdetermined systems, there
exists non-linear, robust filters that try to remove the inconsistent inputs and thus
force the output errors to be more Gaussian. To make such filters work, there should
be a number of observations that have independent additive noise components. In
traditional INS/GPS systems the noise components are not completely independent,
because information exchange is needed, at least in the initialization phase. Future
combined Galileo and GPS systems will not be completely independent either, since
the location dependency of errors is similar for both systems. A sensor system, that
could provide independently the required navigational information would be very
valuable in improving the system reliability.
A thorough description of reliability theory in personal navigation is given in Kuus-
niemi (2005).
36 2. Observations, Signals, and Noise in Filtering
0 100 200 300 400 500 600 700 800 900 1000−300
−200
−100
0
100
200
300
Epoch
Err
or (
m)
Fig. 2.4. Non-Gaussian Error Process
3. SELF-CONTAINED SENSOR SYSTEM DESIGN ANDCALIBRATION
In this chapter, sensors that are suitable for personal navigation are introduced. In
addition, calibration methods are derived using the observation equations. It is shown
that successful calibration of a low-cost sensor system can change its performance
level significantly. If a present-day miniature sensor system is used in a INS-GPS
combination, a proper calibration is a necessity.
3.1 Choosing a Sensor System for Personal Navigation Applications
As MEMS technology constantly evolves, more and more choices for self-contained
sensors are available for portable devices. Sensors that are investigated in this thesis
are all related to personal navigation applications, and are listed in Table 3.1 .
Table 3.1.Sensors for Personal Navigation
Quantity Measured Derived Navigational ParameterMagnetometer Strength of magnetic field Orientation, specially headingAccelerometer Non-gravitational acceleration Changes in velocity, local verticalGyro Rotation Rate Changes in orientation, headingBarometer Pressure Altitude
In addition to above mentioned sensors, temperature sensor should be included in
the system, as the performance of the sensors mentioned can vary significantly as a
function of surrounding temperature.
All of listed sensors are already available for large volume manufacturing, and prices
are decreasing as the production techniques evolve.
38 3. Self-Contained Sensor System Design and Calibration
3.1.1 Miniature Magnetometers
There are a number of techniques to measure magnetic field. In navigation applica-
tions, the requirement is that the detectable magnetic field range includes the Earth’s
field magnitude. Magnetoresistive (MR) sensors can be bulk manufactured on sili-
con wafers, and the power consumption is relatively low (Caruso and Smith). The
measurement is based on the change of resistance in the sensor element as a function
of applied magnetic field. A concern for many magnetic field sensors is a recovery
from strong disturbing magnetic fields. In MR sensors the disturbing field breaks
down the magnetization alignment, and the re-alignment requires a strong magnetic
pulse along a specified direction. The pulsing requires power, but it also enables a
measuring method that is not sensitive to voltage offsets (Caruso and Smith). A MR
sensor system can achieve a very high heading accuracy,∼ 0.02◦ (HMR2300r). The
main problem with magnetic sensing in personal navigation is the handling of errors
due to external magnetic disturbances. For example, the magnetic field near a small
bar magnet can be 100 Gauss; whereas, the Earth’s magnetic field is very weak at
approximately 0.5 Gauss.
3.1.2 MEMS Accelerometers
Measurements of acceleration are typically obtained indirectly via measuring the po-
sition of a mass-spring system. In MEMS sensors, this position is measured capaci-
tively, and very low power consumption is achieved. In addition, mg-level resolution
at 100Hz is obtained. These properties make MEMS accelerometers very appealing
in motion detection applications.
The basic principle of accelerometer-based positioning is double integration of ac-
celerations to changes in position. Initial positionx0 is required from other source.
Obtaining a proper position via integration is not straightforward. The first prob-
lem is to transform the body frame, B-Frame, measurements into the reference frame
in which the positions are wanted. To introduce the second problem, assume that an
ideal accelerometer triad indicates zero acceleration. Now, according to thePrinciple
of Equivalence, a local system cannot distinguish the following situations (Einstein,
1951):
• The reference coordinate frame is uniformly accelerated with respect to the
3.1. Choosing a Sensor System for Personal Navigation Applications 39
inertial frame1.
• The reference coordinate frame is not accelerating with respect to inertial frame,
but gravitational field is present.
If the reference coordinate frame is fixed to the centre of the Earth, and the accelerom-
eter unit is in free fall, the measurements give no indication of acceleration - the read-
ing is zero. From Newtonian mechanics, one can derive the true value for the desired
acceleration:
x =−GmE
|x|3 x (3.1)
whereG is the gravitational constant andmE is the mass of Earth. To correct the
accelerometer output, this vector needs to be added to the measurement2. If the unit
is aligned with the L-Frame, and the unit is close to the Earth surface, the correction
is obtained from
x = y+g = y− [0 0g]T (3.2)
wherey is the accelerometer measurement. This correction must be applied, free fall
or not, since the gravitation components of the acting forces remain unobservable.
This means that obtaining changes in position requires accurate information of the
local gravity field, direction and magnitude. On the other hand, if the termx is
known, the magnitude and orientation ofg can be solved. Asg defines the local
vertical, the accelerometer triad can then be used to find the direction ’Up’, in all
possible orientations.
3.1.3 MEMS Gyros
The operation of MEMS gyros is based on Coriolis acceleration. The rotation of a
linear velocity vector requires an applied acceleration normal to the velocity vector
and applied angular rate (e.g. Savage (1999)). In practice, a MEMS gyro has an
1 In this case, inertial frame is non-rotating, non-accelerating frame, no gravitational field present2 When computations are done in the E-Frame, centripetal and Coriolis terms are needed as well. In
the context of this thesis it is not necessary to separate gravitation and gravity.
40 3. Self-Contained Sensor System Design and Calibration
element oscillating along the x-axis (drive axis). When an external angular rotation
is applied to the z-axis (sensitive axis) there is a response along the y-axis (sense
mode) due to the Coriolis acceleration (e.g. Alper and Akin (2005)). An example of
a MEMS gyro structure is shown in Figure 3.1.
Due to a complex measuring procedure, MEMS gyros are more expensive than ac-
celerometers. In addition, if bias accuracies required for navigation grade INS are
compared with current MEMS sensors specifications, the main problem of the con-
cept of ’personal INS’ can be found. In Table 3.2, the bias accuracy requirements
are from Savage (1999) and available accuracies are estimated using results from
Mezentsev (2005). From this viewpoint, MEMS accelerometers need to be improved
by two orders of magnitude before achieving navigation grade performance can be
considered. However, for gyros, the difference is five orders of magnitude. Even af-
ter bias accuracy levels become similar, the remaining requirements for scale factor
accuracy, alignment accuracy and input ranges are remarkably high. The problem of
current MEMS gyro accuracy is a main reason why INS mechanization is only briefly
discussed in this thesis.
Table 3.2.Typical INS Requirements Compared to Available MEMS AccuraciesRequirement Off-the-shelf MEMS Accuracy
Accelerometer 40µg 5 mg
Gyro 0.007deg/h 300deg/h
Fig. 3.1. Structure of a MEMS gyro, from Alper and Akin (2005)
3.1. Choosing a Sensor System for Personal Navigation Applications 41
3.1.4 MEMS Pressure Sensors
Akin to MEMS accelerometers, pressure sensors measure physical changes in a ma-
terial due to applied force. However, the force is not inertial force, but a force caused
by a difference in pressure. There are a number of applications for pressure sensing,
and the sensor technology is evolving rapidly due to a large market (NEXUS, 2006).
From the navigation point of view, the atmospheric pressure (∼ 100 kPa) must be
within the measurement range, and the resolution must be around10− 100 Pa for
detecting changes of altitude of1−10m level. These requirements are well satisfied
by off-the-shelf sensors. However, the size and cost of MEMS pressure sensors are
still limiting their applicability in mobile terminals (Kappi and Alanen, 2005). Figure
3.2 shows a results of an indoor test, where three Motorola MPXA6115A pressure
sensors were carried in a four-floor building. The pressure sensors were integrated
to one measurement unit to reduce the effects of input voltage and temperature in
the comparison. In this figure, the horizontal lines are at the floor levels. At time
interval90. . .100s, the test person took the elevator down from floor 3 to 0. At time
interval120. . .280s, the test person walked via the stairs from floor 0 to 4 and back
to 0. Finally, at time interval310. . .320s, the test person returned to floor 3 by the
elevator. The sensor are affected by vibrational acceleration, but with a proper filter,
the correct floor can be identified with any of the three sensors. However, the sensors
outputs were set to zero at the beginning, and the difference between the outputs at
the end of test were of one metre level. The difference between the outputs of the
different sensors was found do be due to different responses to a change in surround-
ing temperature. In a sequence of indoor tests, maximum of a five metre difference
was observed, at the temperature level± 5◦C. Thus, an accurate floor-level detection
requires a very accurately calibrated sensor set. In addition, changes in pressure can
be highly dependent on the ventilation system.
42 3. Self-Contained Sensor System Design and Calibration
0 50 100 150 200 250 300 350 400−20
−15
−10
−5
0
5
10
Time (s)
Rel
ativ
e H
eigh
t (m
)
Fig. 3.2. Floor Detection using Pressure Sensors
3.2 Heading in Personal Navigation
A major difference between sensor-based personal navigation and traditional inertial
navigation (of vehicles) is the freedom of orientation of the unit. In vehicular navi-
gation, the operating unit is fixed to the moving body that generates the motion (such
as aeroplane or passenger car). This distinction becomes clear when defining the
termheadingfor personal navigation. For heading, one can find at least three useful
definitions:
1. Heading, refers to the angle between a chosen body axis with respect to Earth-
fixed north axis. Moreover, unit axes need to be projected to the locally level
plane (L-Frame) before computing the angle as described by the following
equation:
CLB[0 1 0]T = [x y z]T
φ = f (x,y)(3.3)
3.2. Heading in Personal Navigation 43
The usual convention for heading angleφ is the clockwise angle from the north
axis in north-east plane. Thus, the functionf must satisfy
xcos(φ) = ysin(φ)xsin(φ)+ycos(φ) =
√x2 +y2
0 ≤ φ < 360◦(3.4)
Evidently, in the algorithms is it easier to use the direction cosine matrix di-
rectly. A calibrated compass system provides heading of this type.
2. Heading refers to the angle between velocity vector in L-Frame (vL) and north
(y) axis, and is defined as:
v = [x y z]T
φ = f (x,y)(3.5)
Function f is defined as in the first definition. Single antenna GPS-receivers
provide heading of this type. The major difference with other definitions is
that heading of Type 2 is not defined if the unit is stationary with respect to the
Earth.
3. In vehicular navigation, the heading is usually defined as the angle between ve-
hicle frame (V-Frame) y- axis and L-Frame north axis. This equals to heading
Type 2 when the vehicle is in non-sliding motion, and heading Type 1 when the
navigation unit is rigidly fixed to the vehicle. This is described by the following
equation:
CLV [0 1 0]T = [x y z]T
φ = f (x,y)(3.6)
A magnetic compass measures Earth’s magnetic field vector, and the relation between
that vector and true north3 is approximately known. However, electromagnetic com-
passes are fixed to the navigation unit and their output is expressed in the body frame
(B-Frame). When calibrating a compass, it is important to know what parameters are
known, and how possible distortions in magnetic field affect the obtained heading.
The relation of Earth’s magnetic field and true north is a function of position, and it
3 True north: the direction from any point along a local meridian towards the geographic North Pole
44 3. Self-Contained Sensor System Design and Calibration
is known in the L-Frame (NGDC, 2005). A hard iron source in the unit introduces
a constant bias to the measurement (in B-Frame). A soft iron source is more prob-
lematic, as it produces a distortion that is a function of the external magnetic field
(Caruso). A hard iron source in the environment (not fixed to the navigation unit)
produces a constant bias in L-Frame, and can be considered as an error in the rela-
tion between magnetic north and true north. In practice, all the sources are included
in the measurement, and thus the operational environment of a magnetic compass is
limited.
3.3 Calibration Process
As shown later in this chapter, sensors that are suitable for personal navigation tend
to have substantial low-frequency noise components. In such cases, a process of
calibrationbecomes extremely important to increase the system performance. When
a sensor is manufactured, the outputs can vary significantly when compared to other
sensors in the same assembly line. To meet the specified accuracy requirements,
individual sensors can be calibrated. In other words, the outputs are corrected using
a known input signal. In equation form, the signal is moved to the ’observable’ side
of Equation 2.1:
y(k)−s(k) = n(s(k),k)+b (3.7)
A simple example would be resolving the bias of an accelerometer, which is aligned
in a way thats would be zero. Then, the observed sequence would ben(k)+b, k∈1. . .N. Assuming thatn(i) andn( j) are independent (∀i 6= j), identically distributed
random variables, b can be estimated as a sample average of the sequence:
b =1N
N
∑k=1
y(k) (3.8)
If the variance of the noise processn is minor (N is very large compared toVar[n]), it
can be assumed thatb = b, and all future observations can be corrected. This raises
the question of why biases in observations are not corrected using a long calibration
data set. In most models, bias is considered as ’constant with respect to mission time’.
3.4. Compass Calibration 45
This bias changes from mission to mission (hence the term run-to-run bias), and thus
cannot be removed completely with a single calibration process. In the following
sections calibration methods that can be performed by the user are presented.
3.4 Compass Calibration
Assuming that a strong error component in the measurement is caused by a hard iron
source, fixed to the unit, the observation equation will be
y = CBL c+b+n (3.9)
In the above equation,c is the Earth’s magnetic field in L-Frame,b is the bias caused
by the error source, andn is additive noise in the sensor outputs. The coordinate
change using a direction cosine matrix does not change a length of a vector, and thus
y is constrained to a surface of a sphere (in the absence ofn). The centre of the sphere
is shifted byb from the origin, and the radius isc=√
cTc. To solveb andc, the least
squares model described in Chapter 2 can be used. The model equation is then
f(x, l) = 0x = [bx by bz c]T
l = [yT1 yT
2 . . . yTm]T
f1 = (y1x−bx)2 +(y1y−by)2 +(y1z−bz)2−c2
f2 = (y2x−bx)2 +(y2y−by)2 +(y2z−bz)2−c2
. . .
fm = (ymx−bx)2 +(ymy−by)2 +(ymz−bz)2−c2
(3.10)
wherem is the number of measurement epochs, and notationykx refers to x-axis
measurement ofkth epoch. Nowx is a4×1 vector andl is a3m×1 vector. The first
design matrix is am×4 matrix, and the second design matrix is am×3m matrix.
These design matrices are shown in Equations 3.11 and 3.12.
H =
−2(y1x−bx) −2(y1y−by) −2(y1z−bz) −2c−2(y2x−bx) −2(y2y−by) −2(y2z−bz) −2c
......
......
−2(ymx−bx) −2(ymy−by) −2(ymz−bz) −2c
(3.11)
46 3. Self-Contained Sensor System Design and Calibration
BT =
2(y1x−bx) 0 . . . 0
2(y1y−by)...
......
2(y1z−bz) 0... 0
0 2(y2x−bx)... 0
0 2(y2y−by)... 0
0 2(y2z−bz)... 0
0 0... 2(ymx−bx)
......
... 2(ymy−by)0 0 . . . 2(ymz−bz)
(3.12)
MatricesH andB are relatively large in compass calibration, and Equation 2.39 in-
cludes inverses of those matrices. However, in this case the matrixBBT is diagonal,
and this reduces arithmetic operations significantly compared to full-matrix inver-
sion. To obtain an estimate of the external disturbances, the thermal noise variance
of magnetic sensors (σ2n) can be compared to variance estimate of the residuals as
defined by the following equation:
σ2n =
nT nυ
(3.13)
In this equation,υ is the degrees of freedom,m−4 in this case. The covariance matrix
Σ was neglected as it is quite reasonable to assume that all the three sensors have the
same thermal noise properties. If the accuracy of the estimated parameters is needed
in future actions, the noise variance can be applied directly:V[x]σ2n[H
T(BBT)H]−1,
where the second term is already computed. This again simplifies the computations.
The next step in the calibration algorithm is to specify what kind of rotations are
needed in order to resolve the four unknown parameters. Due to the four unknowns,
at least four measurements are needed from different orientations. To reduce com-
putational requirements, as few measurements as possible should be collected for
calibration data. In addition, calibration method that does not require special actions
from the user would be preferred. For example, calibration during walking, with a
sensor device in a trouser pocket. Figure 3.3 shows the collected data in such case4.
4 The sensor unit used in the test was Xsens MT9 (XSENS).
3.4. Compass Calibration 47
As there were no rotations along the vertical axis during the walk, the 3-D plot is an
arc of a circle, as Figure 3.4 depicts. Now, if the calibration algorithm is applied to
the collected data, it is clear that a solution cannot be accurate; the four unknowns
cannot be solved unambiguously as a number of spheres can be fitted to the arc. In the
proposed algorithm, such a situation would make the design matrices singular, and
solution cannot be computed. However, if a user turns during the walk, i.e. there is
rotation along the vertical axis, the unambiguous calibration becomes possible. This
is very appealing way to calibrate the magnetometers in the pedestrian navigation
applications.
0 500 1000 1500 2000 2500−600
−400
−200
0
200
400
600
Out
put m
Gau
ss
Samples @ 10 Hz
XYZ
Fig. 3.3. Magnetic Sensor Outputs
48 3. Self-Contained Sensor System Design and Calibration
350400
450500
550600
−450−400
−350−300
−250−200
−150−100−200
−100
0
100
200
300
XY
Z
Fig. 3.4. Magnetic Sensor Outputs, 3-D, in mGauss
3.4.1 Field Test
To analyze the proposed calibration method, a simple test in an outdoor environment
was performed. Three scenarios were selected for comparison:
a No calibration is applied
b Calibration is performed by rotating the unit in a way that all axes observe the
minimum and maximum of the local magnetic field
c Calibration is performed while walking. The test person walks 360 degree turn,
the unit is held in a trouser pocket
To compare the results, an exact 360 degree turn along the local vertical was per-
formed. The gyro data collected during the rotation was used as reference. The gyro
drift and bias were removed using the known total rotation angle. For the calibration
algorithm, the initial estimates of biases were obtained by taking the average of the
maximum and minimum value of the corresponding measurement axis. The number
3.4. Compass Calibration 49
of observations was reduced by taking every tenth value from the collected data (100
Hz sampling rate, 200 samples used for both calibrations).
The obtained calibration data for cases b and c are plotted in Figures 3.5 and 3.6,
respectively. As Figure 3.6 shows, the orientation of the unit in the pocket was not
aligned with the Local Frame. This represents a situation where the user puts a nav-
igation unit in a pocket and starts walking. Intuitively, using the case c data, the
algorithm should produce a less precise estimate, as there is only one small part of
the sphere covered. Dilution of Precision is available from the above Least Squares
adjustment algorithm,
Q = [HT(BBT)−1H]−1 (3.14)
For the case b, the obtained DOP matrix was
Q =
0.11 0.0058 0.026 −0.0140.0058 0.14 0.016 0.0290.026 0.016 0.095 0.021−0.014 0.029 0.021 0.043
(3.15)
For the case c, the DOP matrix has significantly larger elements:
Q =
14.4 −3.8 −3.1 −14.3−3.8 2.4 0.54 4.0−3.1 0.54 1.3 3.1−14.3 4.0 3.1 14.26
(3.16)
In addition, there is a high correlation between x-axis bias and the radius of the
sphere.
The results for 360 degree rotation output for all the three cases are shown in Figure
3.7. However, the comparison of errors in the obtained heading, as shown in Figure
3.8, is more descriptive. The maximum errors are 31 (a), 10 (b) and 14 (c) degrees.
50 3. Self-Contained Sensor System Design and Calibration
−5000
500
−500
0
500−500
0
500
xy
z
Fig. 3.5. Magnetic Sensor Outputs from the Calibration Phase, Case b, mGauss
3.4. Compass Calibration 51
300400
500600
700
−400
−200
0
200−400
−200
0
200
400
xy
z
Fig. 3.6. Sensor Outputs from the Calibration Phase, Case c, mGauss
52 3. Self-Contained Sensor System Design and Calibration
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4−0.4
−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
x
y
A B
C
Fig. 3.7. Horizontal Sensor Outputs from 360 Degree Rotation, Earth Field Magnitude
Scaled to One
3.4. Compass Calibration 53
0 2 4 6 8 10
−30
−20
−10
0
10
20
30
Time (s)
Err
or (
deg)
A
B
C
Fig. 3.8. Heading Error in 360 Degree Rotation
The first step in compass calibration is to remove a bias that is constant in the sensor
reference frame. This can be done by rotation sequences, as described in the above
example. The next step is resolving biases that are constant in the Local Frame. The
deviation of the Earth magnetic field vector from the Local Frame y-axis is com-
monly described by inclination and declination. These values, and the field intensity
can be obtained from a global model database, such as the NGDC (2005). Correc-
tion using a database requires another orientation-based measurement. In Figure 3.9,
the measurement from ideal 3-D magnetic sensor is shown as a vectorm. L-Frame
coordinates x,y, and z are fixed to east, (true)-north and up, respectively. The circle
in the figure depicts a path of measurements during a 360 degree turn along the local
vertical (z-axis). Inclination is defined as the angle between them-vector and the hor-
izontal plane. Declination is defined as the angle between orthogonal projections of
true north and magnetic north vectors in the xy-plane. From these definitions it fol-
lows that the vertical axis need to be resolved before any corrections can be applied.
Actually, the inclination affects the radius of the circle in the Figure 3.9, but is not a
necessary parameter in obtaining the corrected heading5. Solving the direction co-
5 In the absence of noise
54 3. Self-Contained Sensor System Design and Calibration
sine matrix between the two coordinate frames using vectors known in both frames
is known as Wahba’s problem (Wahba, 1966). If the unit experiences no accelera-
tion, the local vertical axis can be measured using accelerometers, and this would
give the second vector needed to solve the Wahba’s problem uniquely. However, the
dependency of the local vertical axis measurement is a major problem in using elec-
tromagnetic compass for personal navigation; during walking, the measurement is
strongly disturbed by accelerations [P4].
For some applications there might be a less strict requirement than a full coordinate
frame transformation. For example, the mobile unit can display a 3-D view of the
measured magnetic field vector. This does not require a measurement of the local
vertical. If the user is advised to rotate the unit until a chosen axis measurement is
at maximum, the unit is pointing towards magnetic north, and the inclination can be
observed by the user.
z
m y x
Fig. 3.9. Inclination of the Magnetic Field Vectorm. Inclination is the angle betweenm and
the locally level xy-plane.
The effect of inclination is tightly coupled with errors in local vertical measurement.
In Finland, where the inclination is around73◦ (NGO, 2005), the effect is very strong.
Using the Figure 3.9, as inclination angle gets higher, the circle gets smaller. In Fig-
ure 3.7, the 3-D compass measurements were normalized to one, and the radius of the
circle is1/4 of the full field intensity. The sensor noise level remains the same, and
thus the accuracy gets worse. For the same reason, the projection of the measured
3.4. Compass Calibration 55
magnetic field vector to the Local Frame is more sensitive to errors in the local ver-
tical measurement. It should be noted that, in noiseless situation, the angle between
local vertical measurement and magnetic field measurement is constant,90◦−αI ,
whereI is the inclination angle. This is a useful fact when the quality of the measure-
ments is assessed.
Possibly the largest problem in using a magnetic compass in personal navigation is
that global models of declination, inclination and field intensity are inaccurate in the
indoor environment, nearby vehicles or near any other magnetic disturbances. All
these errors act as an error in the magnetic model. These errors cannot be corrected
via user rotation, and are difficult to identify. A GPS-based velocity vector can be
used to correct this kind of error, but the problem is that two different heading types
need to be combined. In personal navigation the magnetic measurements alone are
not sufficient to provide heading for dead-reckoning type computations. However,
unaided magnetic sensor system can be used for pointing type applications, where
measurements are not needed constantly, and where the accuracy requirement is in
tens of degrees instead of degree-level. In addition, as Figure 3.3 indicates, the mag-
netic sensor unit can be used for motion modeling.
A test where a typical cellular phone was brought near to the sensor unit provides
insight into the kind of effects caused by magnetic disturbances. The Figure 3.10
shows output of each axis of the magnetometer during the test. During the time the
phone is near the unit, there is absolutely no orientation information available. After
the test, the y-axis level dropped by 20 mGauss. In dead reckoning applications, this
would mean that the unit needs re-calibration after such an event occurs. Interest-
ingly, accelerometers and gyros are also affected by the magnetic disturbance, as can
be seen from Figures 3.11 and 3.12, respectively. With a conventional inertial navi-
gation mechanization, due to the build-up of errors, a complete reset of the system is
required after such magnetic disturbance affects the sensor unit.
56 3. Self-Contained Sensor System Design and Calibration
1000 1200 1400 1600 1800 2000 2200 2400
−800
−600
−400
−200
0
200O
utpu
t (m
Gau
ss)
Samples @ 100 Hz
x
y
z
Fig. 3.10. Effect of Magnetic Disturbance in Magnetometer Outputs
1000 1200 1400 1600 1800 2000 2200 2400−4
−2
0
2
4
6
8
10
12
Acc
eler
atio
n (m
/s2 )
Samples @ 100 Hz
x
y
z
Fig. 3.11. Effect of Magnetic Disturbance in Accelerometer Outputs
3.5. Accelerometer Calibration 57
1000 1200 1400 1600 1800 2000 2200 2400−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Rot
atio
n R
ate
(rad
/s)
Samples @ 100 Hz
y
x
z
Fig. 3.12. Effect of Magnetic Disturbance in Gyro Outputs
3.5 Accelerometer Calibration
There is a notable similarity in the compass and and accelerometer observations. Re-
arranging the Equation 2.6 to observation form yields the following equation:
y = CBL [x+[0 0g]T ]+b+n (3.17)
When the acceleration,x, is zero the Equations 3.9 and 3.17 have the same form.
This justifies the use of the same Least Squares algorithm as described in the previ-
ous section. However, for accelerometer systems there are no similar body-induced
biases that are common to compass systems. Calibration is necessary, if there is
a remarkable bias in accelerometer sensors due to aging or temperature change. By
using the word ’remarkable’ it is stressed that during rotations the unit typically expe-
riences accelerations that will disturb the calibration. Accelerometer data collected
from compass calibration case c gives no useful results as the acceleration present
during walking motion makes the assumptions completely invalid. However, using
58 3. Self-Contained Sensor System Design and Calibration
case b data useful results are obtained. In Figure 3.13, the norm of the calibrated
accelerometers is shown. This represents the ’total’ measured acceleration, where
the reference value isg = 1. During the rotation, user activity can be observed from
the norm, but after the rotation is done, the result is again very close to one. Figure
3.14 shows how close to one the result is after the rotation, compared to the result
without calibration. The result without calibration is very accurate as well, but with
calibration, the resolution is at the11000 g level. If the system could keep this level of
accuracy over time, the detection of a static or moving unit would be extremely ac-
curate. In navigation algorithms, the reliable detection of a static unit is very useful,
as the dynamics during static periods are then fully known.
500 1000 1500 2000 2500 30000.4
0.6
0.8
1
1.2
1.4
1.6
Samples @ 100 Hz
Nor
m o
f the
Mea
sure
men
ts
Fig. 3.13. Norm of the Calibrated Accelerations
3.6. Gyro Calibration 59
3150 3200 3250 3300 3350 3400 3450
0.98
0.985
0.99
0.995
1
1.005
1.01
1.015
1.02
Samples @ 100 Hz
Nor
m o
f the
Mea
sure
men
ts
Calibrated
Not Calibrated
Fig. 3.14. Calibrated Output versus Not Calibrated Output
3.6 Gyro Calibration
Equation 2.7 introduced the relationship between the gyro triad and the derivative of
CLB. This function can be expressed as (Savage, 1998)
CLB = CL
B(y×)− (w’×)CLB (3.18)
wherey is the gyro triad measurement andw’ is the rotation rate of Local Frame with
respect to Inertial Frame. Updating the direction cosine matrices requires integration,
and as Figure 2.2 shows, a bias input in the integrator is strongly amplified in the
output.
If the navigation unit is not rotating with respect to the L-Frame, Equation 3.18 sim-
plifies to
y = CBLCL
E[0 0w]T +b+n (3.19)
The rotation sequences cannot be used similarly as in the previous examples, as ro-
tations contradict the mentioned assumption. For concurrent MEMS-gyros the bias
60 3. Self-Contained Sensor System Design and Calibration
values are orders of magnitude larger than the Earth rate, and thus a sufficient esti-
mate of biases can be obtained by assuming that the Earth rate is zero. In addition,
the scale factor of a low-cost gyro can be calibrated using low-cost accelerometers
[P2]. This calibration method is briefly described in the following. It is assumed
that initially the Local Frame and Body Frame are aligned,CLB = I . Then, during a
rotation along the body y-axis, the magnitude of the derivative of the accelerometer
triad output is6
‖ yACC ‖=‖ [0 ω 0]T × [0 0g]T ‖= ωg (3.20)
whereω is the rotation rate. Thus, there is a relation between the derivative of the
accelerometer observations and the y-axis gyro observations. If during a time inter-
val [t1, t2] the accelerometers observe a change in the angleα, the integral of gyro
observations should be equal toα as shown in the following equation.
∫ t2
t1ωdt = α (3.21)
If there is an unknown gyro scale factor k, the true angular rate iskω and Equation
3.21 can be expressed as
∫ t2
t1kωdt = α (3.22)
The unknown, but constant k can be solved by
k =α∫ t2
t1 ωdt(3.23)
When the unit is not rotating, the scale factor does not affect the measurement, and
the gyro biases can be solved. During the rotation, the other source (accelerometer
or magnetometer ) is used to monitor the changes inα. This method cannot compete
with turn-rate table tests in accuracy, but can be used when a high orientation accu-
racy is required for a relatively short period of time. In addition, lowest cost sensors
are probably not factory calibrated individually due to the large cost of the process.
Thus, the scale factor can vary significantly between the sensors.
6 obtained using Coriolis equation
3.6. Gyro Calibration 61
3.6.1 Testing the Validity of Normal i.i.d Noise Model
So far, the discussion has been focused on sample-by-sample independent noise,n,
and time-correlated noise,b. It is important to distinguish these components. This
section analyzes how to identify these noise components from the sample data. To
keep the derivation more general, in the following, it is assumed that the direction
of the Earth rate vector in Body Frame is not known. In addition, it is assumed that
the only signal that gyros are measuring is the Earth rate (no vibrations, static unit).
Then, using an additive i.i.d noise model withn∼N (0,σ2), the gyro outputs at each
sample can be expressed as
yx = wx +nx
yy = wy +ny
yz = wz+nz
(3.24)
The magnitude of the Earth rate,√
wTw, is known. Gyro data quality can be esti-
mated by taking the average ofmsamples and summing the squared averages:
w =m−1
∑n=0
y(n)/m (3.25)
w2 = wTw (3.26)
The validity of the assumed noise process is correct can be tested using the following
derivation. The distribution ofw is
w∼N (w, I3×3σ2/m). (3.27)
Known values,σ andm can be divided out from the Equation 3.27 and the resulting
distribution is
wI = w√
mσ
∼N (w√
mσ
, I) (3.28)
If Equation 3.28 is used to test the validity of the noise model, the orientation of the
unit needed. This can be avoided by using definition of the Chi-square distribution,
62 3. Self-Contained Sensor System Design and Calibration
obtaining the following equation:
wTI wI ∼ χ2(3,
w2mσ2 ). (3.29)
This equation applies to accelerometer outputs as well (replacew with norm of local
gravity vector). Ifm/σ2 is large(À w−2), distribution ofwI can be approximated as
wTI wI ∼N (
w2mσ2 ,4
w2mσ2 ) (3.30)
or more conveniently as
wTw∼N (w2,4w2σ2
m) (3.31)
A useful approximation is obtained by linearizing the square root function:
√wTw∼N (w,
σ2
m)
︸ ︷︷ ︸approx.
(3.32)
Equations 3.27 and 3.32 show a connection between the individual gyro errors and
the gyro triad errors. The advantage of Equation 3.32 is that only the norm of the
Earth rate is required to perform statistical testing.
If for a collected data set, it seems that samples do not follow the distribution shown
in Equation 3.32, the correlation between samples must be studied. A method to
check the validity of the normally distributed i.i.d noise model is briefly presented as
follows:
• Using a short period of static data, estimate the variance of the gyro / ac-
celerometer samples, or use the variance from the sensor data sheet.
• Compare averaged signals to the known norm value, using Equation 3.32.
• If the test fails, depending on the application, conclude that:
1) The unit is moving, or
2) Sensor errors are correlated over time, or
3) One or more sensors are malfunctioning.
3.6. Gyro Calibration 63
Case 1 is useful, if the system is of high quality, and it is needed to verify that no
signal is present (initial alignment of IMU, ZUPTs etc). Case 2 can be used to detect
biases in low-cost system outputs. On the contrary, if the test does not fail, gyro
bias models are not needed in the navigation filter. If the variance of gyro data is
stored to system memory, then the Case 3 can be extended. It is not likely that
completely malfunctioning sensor has the same variance in the output as the working
unit. If the unit is equipped with both accelerometer and gyro triads, both can be
tested separately before proceeding to estimate individual biases. This reduces the
possibility of error coupling and false identification of the error sources.
If a test based on Equation 3.32 fails, the identification of the biased sensor(s) is
generally not possible without external orientation reference. However, a statistical
test for detecting a ramping signal in one of the sensors can be derived. In this case, a
hypothesis ofb+n noise model is tested.In other words, a constant bias and Gaussian
i.i.d noise process combination is tested against other models. The test statistic forN
samples is constructed using the following equation:
Tk =k
∑i=1
xi− kN ∑x (3.33)
In the above equation, the second sum is a sum of allN elements. If the hypothesis
is true, the sum of k samples is a random variablekb+ zk, wherezk is normally
distributed. As the expectation value ofzk is always zero, the expectation value of
all the elements in the series is zero,E[kb− kNNb] = 0. The series is constrained by
TN = 0. The variance of thekth element can be computed using the properties of
variance operator, and the result is
Var[Tk] = kσ2− k2σ2
N(3.34)
The maximum variance is reached atk = N2 , and thusTN/2 ∼ N(0, N
4 σ2). Comput-
ing the middle value requires only computation of two sums, and this is not a large
computational burden.
As an example, two gyros of completely different quality are tested with the above
method. Gyro 1 is a1 deg/h Ring Laser Gyro (in Honeywell HG1700 AG11 IMU),
and Gyro 2 is a low-cost miniature gyro (Murata ENC-03).200seconds of static data
64 3. Self-Contained Sensor System Design and Calibration
was collected simultaneously. Figure 3.15 shows directly that Gyro 2 output bias
is large when compared to Earth rate. Inferences of the quality of Gyro 1 data are
harder to obtain from the figure. In Figure 3.16 the results using Equation 3.33 are
shown. This visualizes the effect of ramping signals in the test statistic. For Gyro
1, the middle value isT1000 = −0.0020, and for Gyro 2T1000 = −1.04. Using the
sample variances, theoretical standard deviations for the middle values are0.0023
and0.023, respectively. Value−1.04 is more than 30 standard deviations from the
theoretical value, and it can be concluded that the noise model is insufficient for Gyro
2. There is no evidence to reject the model for Gyro 1, but it should be noted that
sample size is quite small in this example.
200 400 600 800 1000 1200 1400 1600 1800
0
0.01
0.02
0.03
0.04
0.05
Samples @ 10 Hz
Rot
atio
n R
ate
(rad
/s)
Gyro 1
Gyro 2
Fig. 3.15. Gyro Data Samples
3.7. Barometric Altimeter Calibration 65
0 200 400 600 800 1000 1200 1400 1600 1800 2000
−1
−0.8
−0.6
−0.4
−0.2
0
k
T(k
)
Gyro 1
Gyro 2
Fig. 3.16. Test Series
3.7 Barometric Altimeter Calibration
A barometer measures the pressure of surrounding atmosphere relative to a sealed
reference. The observation equation can be modelled as
y = f (h)+g(t)+b+n (3.35)
whereh is the altitude,f is a nominal function relating the altitude and pressure and
g(t) is a function of local pressure level over time. To obtainb without a reference
unit at the same location, the sensor altitude and an up to date reference pressure are
needed. Air pressure from the weather stations is usually converted to sea level to
make measurements from different stations comparable. Ifh is known and a weather
station reference is available, the barometer can be calibrated using
b≈ y− f (h)−gre f(t). (3.36)
66 3. Self-Contained Sensor System Design and Calibration
In the absence of pressure reference, the barometer observation can be differentiated,
to obtain an observation of vertical velocity:
∆y = f ′(h)∆h+∆g+∆b+∆n (3.37)
where f ′ is derivative off with respect to altitude.
It should be stressed that a barometer measurement is not a direct altitude measure-
ment, the local pressure level can be different than the reference. For example, indoor
pressure can be different than outdoor pressure, and especially in a pressurized air-
plane cabin the reference from outdoor would be completely useless. In addition to
spatial changes, the time of the reference value is important. Local air pressure can
vary5 hPa/h (FMI), which translates to40m/h in vertical velocity.
3.8 Temperature Effects
In this chapter, methods for calibrating bias-type parameters of sensor systems were
introduced. The need for calibration after the factory calibration results from the
nature of the biases. The biases of miniature inertial sensors depend highly on the
temperature variations. The effect of temperature in the sensor output can be reduced
by thermal compensation. However, temperature chamber tests indicate that error
behavior with respect to temperature varies greatly between the individual sensors
(Kappi, 2001). Thus, the factory calibration for temperature effects requires tem-
perature chamber test for every sensor. This evidently increases the cost of sensor.
In addition, the response to a change in temperature can be delayed due to slowly
stabilizing temperature gradients in the sensor structure. Due to these problems, the
above calibration methods are valuable when navigation systems that include minia-
ture sensors are designed.
3.9 Re-Calibration
The applicability of calibration methods that require user actions need to be consid-
ered carefully. For example, if the system requires calibration at each power-up, it
would be very annoying for the user. To avoid this, for example in the compass cali-
bration, it is usual to require new calibration only when the battery is being replaced.
3.9. Re-Calibration 67
If there is redundancy in the system, the calibration can be requested only if some
sub-system outputs do not agree with the rest of the system. As shown in this chap-
ter, observations from magnetometers, accelerometers and gyros together contain this
kind of redundancy.
To examine the need for re-calibration with respect to time, a model for bias behavior
over time is needed. Commonly used choices are7:
• Random constant model,bk+1 = bk. If a perfect calibration is performed, there
is no need for re-calibration at all.
• Random walk modelbk+1 = bk+nk, wheren is i.i.d noise process. The magni-
tude of bias has no bounds over time, and after a perfect calibration the variance
grows linearly,Var[bt − b0] = qt. The power spectrum has a1/ f 2 behavior
(Marinari et al., 1983).
• Gauss-Markov model,bk+1 = exp[−β∆t]bk + nk, wherenk is i.i.d Gaussian
noise process. The bias wanders around zero, as the exponent function con-
strains the magnitude.
To avoid confusion with other noise models, the bias-term should be reserved for
’slow’ noise processes. For example, if in the above models the variance ofn is very
large, the term bias can be misleading.
As an example of bias modeling, consider a random walk bias process with a unity
variance Gaussian driving noise. The distribution of the bias after N samples is
N (0,N). If at some point of time, the bias becomes observable (calibration sequence
performed by the user, for example), the variance is decreased, and again starts to
grow over time. If an i.i.d noise process model is used instead of the bias model,
the distribution could still be described byN (0,N). However, the i.i.d model, by
definition, means that the observation of noise at timek indicates nothing about the
past or future observations. In Figure 3.17, realizations of two error processes that
follow the above distribution are shown. The first process (dotted) is an i.i.d process,
and the second (solid line) is the random walk process. If these processes become
observable at sampleN = 600, there is a major difference between the processes. At
sample timeN = 601, the value of the random walk process is very predictable. On
7 For simplicity, the models are discrete time models in here
68 3. Self-Contained Sensor System Design and Calibration
the contrary, previous observations do not help in the estimation of the uncorrelated
process value.
0 200 400 600 800 1000−100
−80
−60
−40
−20
0
20
40
60
80
100
Sample #
Val
ue
UncorrelatedRandom Walk
STD
Fig. 3.17. Two Different Processes with Equal Variance Growth over Time
Comparing i.i.d and Gauss-Markov (GM) processes demonstrates another important
issue of bias modeling. By substituting∆t = 1, β = 0.1 andVar[nk] = 1 to the Gauss-
Markov model, the resulting process variance isVar[bk] = 11−e−0.2 ≈ 5.5.8 The re-
alization of such a process is compared to an i.i.d Gaussian noise process with a
variance of5.5 in Figure 3.18. Realizations of integrated processes are shown in Fig-
ure 3.19. This figure shows clearly that an insufficient noise model in systems that
include integrators results in incorrect accuracy estimates of the solution. From the
properties of the variance operator, it follows that positive covariance between sam-
ples leads to a faster variance growth of a summed process when compared to i.i.d
process,E[(n1 +n2)2] = E[n21]+E[n1n2]+E[n2
2].
8 At the steady state phase,kÀ 0
3.9. Re-Calibration 69
0 100 200 300 400 500 600−10
−5
0
5
10
i.i.d
0 100 200 300 400 500 600−10
−5
0
5
10
Sample #
GM
Fig. 3.18. Two Different Processes with Equal Marginal Variances
0 100 200 300 400 500 600−600
−500
−400
−300
−200
−100
0
100
Sample #
Fig. 3.19. Cumulative Sums of i.i.d Process (Solid) and GM-process (Dashed)
70 3. Self-Contained Sensor System Design and Calibration
A good bias model used with user performed calibration sequences can improve the
performance of a low-cost sensor system significantly. However, for low-cost iner-
tial sensors, bias modeling is very challenging. As Figure 3.13 shows, a low-cost
accelerometer system provides accurately the norm of acceleration. However, this
is due to proper calibration. The duration for which the calibration is applicable is
difficult to determine. The interesting property of MEMS-based inertial systems is
that, for over a short time interval, their behavior is very similar to a systems that are
orders of magnitude more expensive.
4. SENSOR SYSTEM MECHANIZATIONS AND INTEGRATION
4.1 Background
In this following sections, different methods for obtaining velocity from inertial sen-
sor outputs are discussed. The term mechanization for this procedure is adopted to
distinguish filtering from the topics of this chapter. Mechanization in this context is
an automatic routine that, in the absence of noise, provides exact dynamic informa-
tion. As mechanizations are implemented in a computer, the model of the real world
is discrete. Thus, it is profitable to define acceleration and velocity in epoch-by-epoch
basis as
ak =
∫ T2T1
a(t)dt
T2−T1(4.1)
vk =
∫ T2T1
v(t)dt
T2−T1(4.2)
whereT1 is the time of epochk, andT2 the time of next epoch. From this definition it
follows that
vk+1 = vk +ak∆T (4.3)
pk+1 = pk +vk∆T (4.4)
wherep is the position vector. Thus, for obtaining position at any time, the initial
position and epoch-by-epoch velocities are sufficient. On the other hand, the initial
position, initial velocity and epoch-by-epoch acceleration is also sufficient informa-
tion.
72 4. Sensor System Mechanizations and Integration
4.2 Free Inertial Navigation
The most general mechanization is the double integration of measured accelerations
to velocity and position, using 3 accelerometers and 3 gyros. In this mechanization,
there are no assumptions of the user’s motion. In principle, only initial velocity and
positions are needed to propagate the positions and velocities over time. However,
the accelerometers do not sense gravitational acceleration. Thus, the gravitational
acceleration term must be added to the observation, and a function that relates posi-
tion and local gravitational field is required. To obtain results in a useful coordinate
frame, gyros are used to obtain the changes in the orientation of the reference coordi-
nate frame and the Body Frame. This requires at least three initial attitude parameters.
If the reference frame is not an inertial frame, the rotation rate and acceleration of that
frame with respect to the inertial frame is also needed. The requirement for gravity
information means thatvk cannot be obtained without position information.
To get an idea of the sensitivity of the mechanization to gyro biases, assume that the
only error component in the system is y-gyro bias,by. Let the system be aligned with
Local Frame, i.e.CLB = I . The output of accelerometers of a static system can be
obtained using the Equation 3.17 as follows:
yacc = [0 0g]T (4.5)
After a short time intervalδt, the error in integratedCLB can be obtained using Equa-
tion 3.18 as follows:
CLB =
0 0 −δtby
0 0 0δtby 0 0
(4.6)
The error in Local Frame acceleration is then
aL = [−δtbyg 0 0]T (4.7)
The error in the position domain is evidently governed by gyro biases, as once in-
tegrated bias is double integrated to get delta position. With a gyro bias of Earth
4.3. Constrained Inertial Navigation 73
rotation rate level magnitude, the position error after one minute of integration is
150m. The same level of error would result from8 mgbias in accelerometer output.
The advantage of the conventional INS mechanization is that after initial conditions
are resolved, the solution can be obtained regardless of the user’s motion. The mech-
anization is the same for a static, walking or driving user, hence the term ’free inertial
navigation’ is used. In addition, the accuracy of the solution is quite independent of
the motion. The error build-up is governed by bias-type errors in the sensors, and the
time since the last absolute update is of greatest importance. The weak points from
the personal positioning point of view are the requirements for bias stabilities and the
requirement for very accurate initialization.
4.3 Constrained Inertial Navigation
From the discussion so far it can be concluded that existing miniature sensors will
have major problems in providing results using free inertial navigation (see Figures
3.11, 3.12, 3.14, 3.16). However, if the navigation solution can beconstrained, the
error growth can be limited. Examples for constraints are:
Static Constraint—The navigation unit is not moving with respect to Earth, and thus
vk is constrained to0. The unit is also non-rotating with respect to Earth.
Velocity Constraint—Due to the mode of transport, the velocity in some of the V-
Frame axes must be zero. For example, the motion of a train is constrained this
way.
Speed Constraint—vk is fixed, or measured. Clearly, the Static Constraint is a spe-
cial case of speed constraint.
Acceleration Constraint—Acceleration of the user is limited by physical constraints.
This constraint is widely used in dynamic filters in the absence of direct accel-
eration measurements.
The first constraint in the above is very important as the sensor biases can be handled
effectively. If Earth rate is neglected, the gyro biases become directly observable.
In addition, the accelerometer biases can be transformed to orientation error in the
initial alignment process.
74 4. Sensor System Mechanizations and Integration
The velocity constraint, when applied to acceleration-based measurements makes the
obtained path more traceable. In other words, even though there are large errors in
the traveled distance, the shape of the path is approximately correct. 90 degree turns
remain approximately 90 degree turns in the plotted position solution.
Combinations of velocity and speed constraints are widely used in dead-reckoning
types of navigation applications, such as Pedestrian Dead Reckoning (PDR). As the
velocity is constrained to one V-Frame axis, speed and heading measurements are
sufficient to propagate the position over time. This leads to great advances in posi-
tion error growth properties with respect to time, when compared to the free inertial
navigation mechanization.
4.3.1 Combining the Constraints
An experiment, where the static and velocity constraints were combined was de-
scribed in the publication [P6]. The IMU was built for the test using available
miniature size sensors, Panasonic EWTS4 gyros and Analog Devices ADXL105 ac-
celerometers. A 22 minute test was performed with a passenger car and the IMU
was fixed to the car. During the test, the vehicle was stopped approximately once
per minute. The sample variance of inertial sensors was used to find time intervals
when the vehicle was stopped. During each found stop, the accelerometer and gyro
data was averaged. Gyro biases were estimated by using the average, and the ac-
celerometer average was used to obtain a local vertical. The velocity constraint was
applied by simply removing the velocity x- and z-components in the V-Frame in the
position propagation algorithm. After this, the corrected velocity was transformed to
the L-Frame to obtain the change in position. It was found that the orientation and
gyro bias information from the stops was vital for the performance of the algorithm.
To further improve the performance, the mechanization was also reversed; after ob-
taining the bias information, the current solution can be improved by computing the
solution backwards in time as well. This method can be explained by looking at the
mechanization function that relates the observations (past and the present) and the
output as follows:
xk = f (s1...k +n1...k) = f (y1...k) (4.8)
4.3. Constrained Inertial Navigation 75
Now, if at epochk new information about the past noise process is obtained, the
solution can be improved by recomputing the whole set of data. Letn1...k be the
new information vector, then the improved solution is obtained by recomputing with
corrected observations as follows:
xk = f (y1...k− n1...k) (4.9)
If the function f is linear, the correction in the solution is simply− f (n1...k). For
example, if the initial position,x1, of a DR-system can be improved by additional
information at epochk, the solutionxk is improved as well. However, the INS mech-
anization is a non-linear function, and re-computation is needed if new information
on sensor biases becomes available. In [P6], the computational load was reduced by
re-computing only part of the solution. The method can be summarized as follows:
• During a stop, the effect of sensor biases is reduced by averaging (gyros) and
by re-aligning the system (accelerometers).
• Due to the low-frequency nature of the biases, this new information is useful
in both directions of time.
• During the system idle time, the mechanization is run backwards to improve
the past and the current solutions.
For linear systems, the backward mechanization is simple. The forward transition
matrix Φkj is simply replaced byΦ j
k = (Φkj)−1. In the simplified mechanization used
in [P6], it was sufficient to change the signs of gyro observations. The combination
of backward and forward solutions was not optimized statistically. The forward solu-
tion was used in the first half between the stop intervals and the backward solution in
the second half. Figure 4.1 shows the difference between the free inertial mechaniza-
tion solution and the constrained one. The true path is very close to the constrained
solution, the maximum difference was 30 metres. The maximum error of the free in-
ertial mechanization solution was150km. Even though the difference is drastic, the
applicability of the method is rather limited due to practical implementation prob-
lems. The velocity constraint works only if the navigation unit orientation is held
fixed with respect to the vehicle, and stops must be observed reliably to determine
the biases without making gross errors. In addition, stops are needed very often to
76 4. Sensor System Mechanizations and Integration
keep the error growth within acceptable limits. In the performed test, the vehicle was
stopped once per minute. Nonetheless, this study shows clearly the possibilities of
the constrained mechanizations.
−2500 −2000 −1500 −1000 −500
−200
0
200
400
600
800
1000
1200
1400
1600
1800
Easting (m)
Nor
thin
g (m
)
Free Inertial Constrained
Fig. 4.1. Free Inertial Solution and Constrained Solution
It should be noted that an algorithm using backward mechanization and optimal
smoothing algorithms (Maybeck, 1979) are not completely equal. In optimal smooth-
ing, the state estimates are improved using future observations. However, the estimate
of the final epoch is not improved. It is already optimal according to the Kalman fil-
ter theory. In a linear state-space system with Gaussian inputs, the state estimate
and covariance matrix include already all the possible information based on past and
current observations. However, as the introduced mechanization is non-linear, the
recomputing procedure can be necessary.
A mechanization that involves double integration of accelerations, but requires no
gyros was introduced in [P7]. In that mechanization, the changes in pitch angle of
the vehicle were computed by using barometer observations, and heading by using
magnetometers. The method is based on the velocity constraint; any change in al-
titude of the vehicle implies a non-zero pitch angle. Pitch angle in this constrained
4.4. Pedestrian Dead-Reckoning 77
motion can be computed using the observed change in height and the change in po-
sition,θ = dhdx. If the height can be obtained from a barometer and the mechanization
is capable of updating the velocity, the tilt can be computed. The sensitivity of such
a mechanization to observation errors was found to be very high, and it would be
difficult to develop practicable applications with such a method. In general, it can be
stated that odometer measurements would provide much more accurate velocities for
vehicular navigation than low-cost accelerometers.
Further investigations of constrained mechanization, with relatively accurate IMU,
were presented in [P3]. The velocity constraint was found to be especially beneficial
with a map-matching algorithm. In addition, it was shown that the backward mecha-
nization can be very useful, when the system is being turned on in a position where
GPS signals are completely blocked
4.4 Pedestrian Dead-Reckoning
The Pedestrian Dead-Reckoning mechanization is based on constraints that can be
applied to a walking motion. The equation for the PDR system mechanization is:
R = ∑steps
CLV [0 sl 0]T +R(t0) (4.10)
wheresl is the estimate of step length, andR(t0) is the initial position. Steps are de-
tected by examining the waveform that accelerometers output when walking. During
the periods when there are no steps detected, the static constraint is applied auto-
matically. That is, position is only propagated on step-by-step basis. The velocity
constraint is already included in Equation 4.10. It is assumed that the only possible
direction of motion is the y-axis of the V-Frame. The V-Frame is fixed to the walking
person.
The advantages of this mechanization are evident. The error growth is governed by
step count instead of time. The accelerometer biases are not affecting the solution,
and the matrixCLV can be updated using simplified heading observations. In the fol-
lowing sections, the basic components of the mechanization are explained, including
the main error sources.
78 4. Sensor System Mechanizations and Integration
4.4.1 Step Detection
Herein it is assumed that the only possible motion states of the user are walking or
static. This is not a valid assumption for personal navigation, and thus corresponding
motion state recognition is discussed in the next chapter. In Figure 4.2, the norm
of accelerometer outputs during walking is plotted. The unit is carried in hand, and
walking starts att = 4 s. In Figure 4.3, the unit is carried in a jacket pocket, and
walking starts att = 3.2 s. The largest difference is in the amplitude of the signal.
In both cases, step counting is quite easy to resolve. A full wave period represents
a step. The most difficult task here is to find the starting and ending points for step
counting. However, if the user is not stopping all the time, this problem is not serious.
In applications, where the sensor set is mounted on a shoe, such as presented in [P5],
a full wave period indicates the step of one foot only. This must be taken in the
account when comparing the stride lengths. Data of a shoe-sensor system is shown
in Figure 4.4. For successful detection, a sampling rate of20−30 Hz is sufficient.
Figure 4.5 shows a sample of walking data in the frequency domain.1
0 1 2 3 4 5 6 7 8 9 104
6
8
10
12
14
16
18
Time (s)
Nor
m o
f the
Acc
eler
atio
n (m
/s2 )
Fig. 4.2. Accelerometer Output when Walking, Unit Held in Hand
1 Zero-frequency removed
4.4. Pedestrian Dead-Reckoning 79
0 1 2 3 4 5 6 7 8 9 104
6
8
10
12
14
16
18
Time (s)
Nor
m o
f the
Acc
eler
atio
n (m
/s2 )
Fig. 4.3. Accelerometer Output when Walking, Unit in Jacket Pocket
1 2 3 4 5 6 7 8 9 10
10
15
20
25
30
Time (s)
Nor
m o
f the
Acc
eler
atio
n (m
/s2 )
Fig. 4.4. Accelerometer Output when Walking, Unit Mounted on a Shoe
80 4. Sensor System Mechanizations and Integration
0 5 10 15 20 25 30 35 40 45 500
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Frequency (Hz)
Am
plitu
de (
m/s
2 )
Fig. 4.5. Accelerometer Output in Frequency Domain, Unit Held in Hand
4.4.2 Step Length Estimation
Once a step is detected, the stride length needs to be estimated. A number of methods
have been published on this topic, such as:
• Accelerometer data is used for extracting kinematic variables during a step, and
the subject’s gait speed is computed using these variables (Fyfe et al., 2001).
The unit must be placed on a shoe.
• Sensor data is used to extract variables that are related to the step length in-
directly. Such variables can be step frequency and signal variance (Ladetto,
2000) and vertical velocity [P6] to name a few
• Sensor data is not used to estimate the step length. A bias model is assigned
to the step length and this bias is estimated using a Kalman filter (Mezentsev,
2005)
Naturally, the bias modeling of the last item can be used along with the other methods.
The basis of this method is to form a ’pseudo-observation’ of a step length as follows:
4.4. Pedestrian Dead-Reckoning 81
0.7 = s+b+n (4.11)
where the0.7 is the ’observation’ that is obtained when a step is detected,s is the
true step length, andb and n are bias and noise, respectively. The value for step
length, here0.7 m, is the estimate of an average step length of the target user(s).
Next, a suitable model for the errors is needed. For many applications, Gaussian i.i.d
model is adequate. If this model holds, the error in traveled distance afterN steps is
a random variable described as follows:
eN =N
∑k=1
nk (4.12)
This error is Gaussian, and has a variance ofNσ2n. The model that includes a bias
is useful if external updates are available for the step length (GPS velocity etc.).
In this case,s is observed externally, which allows the estimation of the bias term.
Yet, the bias model can also be used in the absence of external observations to keep
the accuracy estimates conservative. For example, one can consider a population
of pedestrians, each having individual, but constant step length. Using a variability
parameter of this population’s step lengths,σ2b, one can obtain conservative estimate
for the distance error after N steps as follows:
eN = Nb+N
∑k=1
nk (4.13)
The variance of this error variable is governed by the bias term,Var[eN] ≈ N2σ2b.
Even though this error grows very fast as the step count increases, the comparison to
the free inertial mechanization with similar mission times shows the advantage of the
PDR mechanization [P1].
4.4.3 Heading Determination
The heading determination, or more precisely the updating of theCLV matrix is the
most essential part of the PDR mechanization. After a successful step detection pro-
cedure, there is a superior speed estimate available, when compared to other mecha-
nizations. However, speed information combined with inaccurate heading can rapidly
82 4. Sensor System Mechanizations and Integration
make the navigation solution useless. The problem of finding an accurate source for
heading is possibly the only reason why PDR system is not common in present-day
personal navigation units2. However, pedometers are quite popular and they can be
considered as PDR systems without heading. One possible way of integrating a pe-
dometer and radionavigation system is introduced later in this chapter.
The key issue in PDR heading determination is the applied constraint for the direction
cosine matrixCVB . If this matrix is known, and remains fixed during the navigation,
the mechanization is well defined. The matrixCLB is obtainable via normal INS for-
mulas, or using a 3D compass - accelerometer combination. Using the properties of
the direction cosine matrix, one can solveCLV =CL
BCBV , and Equation 4.10 can be used
to propagate the position. The main problems when using PDR in hand-held devices
are
• CVB is not necessarily fixed, the user can initially carry the unit in the pocket,
and then carry the unit in hand. In addition, the definition of V-Frame for the
human body is not trivial, as the body is not rigid.
• As shown in Chapter 3, both the compass and gyro -based solutions ofCLB are
subject to strong noise components when miniature sensors are used.
The first problem can be solved by fixing the navigation unit to the user close to the
waist (Ladetto et al., 2001), for example to a belt as in Mezentsev (2005). In [P5],
the orientation measurements were applied only during the stance phase of the gait
cycle. At this phase theCVB is relatively constant. In practice, the problematic part is
the sensor unit rotation with respect to the user body along the local vertical.
The second problem could be solved by using a very accurate gyro triad, such as in
[P4]. However, prevailing1 deg/h-level gyros systems are expensive and quite heavy
to carry. As shown in [P4], three gyros are needed to keep the heading accuracy at
1 deg/h level, as accurate local vertical is needed in the algorithm.
As a conclusion to the PDR section, the main findings as follows:
• The published results of PDR positioning are promising. The results are supe-
rior, when compared to free inertial mechanization.
2 Existing commercial PDR systems are mostly designed for professional use (e.g. VPNM)
4.5. System Integration Strategies 83
• To apply the PDR constraints, a number of conditions need to be fulfilled. First,
the walking motion must be accurately detected. In addition, the unit must be
fixed to the user body. If the user walks on a moving platform, the results
obtained are not valid in a global frame of reference.
• The present-day miniature sensors cannot provide the heading information
needed for long missions. Thus, updates from an absolute positioning system
are needed quite frequently.
4.5 System Integration Strategies
As INS and DR systems are not absolute positioning systems, at least initial position
need to be obtained from another source. The simpliest form of integration is to take
initial position from GPS directly, and then continue using the chosen mechanization
algorithm. Due to the error growth properties, this is not the optimal solution. GPS, or
any other absolute source should be used whenever available together with the sensor
system. In this section different strategies for system integration are presented.
4.5.1 Switch Integration
In the absence of errors, extremely simple switch-like integration is as good as any
other method. In this method, only one system at a time is used. For example,
position and velocity are obtained from GPS whenever available. During the times
GPS is not available, the sensor system is used. Due to such simplicity, this method
is very tempting. However, noise components of both systems should be very small;
GPS should be highly accurate when available, and the sensor system should contain
no bias-like noise components. This integration is herein referred to as uncoupled
integration.
4.5.2 Exact Dynamical Model
If the sensor system can provide nearly exact velocities of the navigation unit, then
dynamic modeling becomes straightforward. In such case, all the GPS observations
can be projected to one epoch. This is very advantageous, as it leads to improved
accuracy and redundancy.
84 4. Sensor System Mechanizations and Integration
Let r j be the satellite to user vector andsj satellite position vector (j is the time
index). Pseudorange is then
p j =‖ r j ‖+cTj +n, (4.14)
whereT is the receiver clock bias. Assume that∆kju, the difference between user posi-
tions at timesj andk is known in the same frame of reference as the satellite positions.
Define∆kjv = sj − sk + ∆k
ju. Simple geometry then shows thatr k = r j + ∆kjv. That
is, in a perfectly modeled dynamic system, the future ranges are completely known
if the current state is perfectly known. In addition, the past ranges are known as well.
If the receiver has measured pseudoranges before the position fix, that data can be
used to monitor the accuracy of the fix (Mezentsev, 2004). A precise, self-contained
dead reckoning system enables projection of past observations to the current time,
and enables prediction of future observations. However, nearly perfect dynamic ob-
servations are available only in very limited cases. One example is detection of a
static receiver using sensor data.
4.5.3 Error Variance -Based Integration
Another quite simple method of integration is to keep track of both systems accuracy
in a variance sense. The position outputs are then combined using the variance-based
weights, as shown in Chapter 2. This method is applicable, if the absolute positioning
system is disturbed and has large error components occasionally. However, it is an
important requirement that the increased noise level must be observed in some sense.
For example, changes in satellite geometry can be observed. Any large error that is
’unexpected’, by definition, is not observable. For example, a four-satellite position
fix with one echo-only signal has a large error in the position solution, but this is not
visible in the LS algorithm’s variance output. There would be a large disagreement
between the sensor and GPS solutions, but choosing which one is ’more erroneous’
is anything but trivial. This method is referred to a loosely coupled integration.
It is not a requirement for the two systems to provide the full navigational solution.
The other system can output partial solution, such as altitude. LS formulation allows
combinations of such systems as well. However, linearization problems need then to
be taken into account, as the following example shows.
4.5. System Integration Strategies 85
Barometric Aiding
In the conventional inertial navigation mechanization, barometric altimeter aiding is
typically needed, as there is a positive feedback in the vertical position channel. The
error in altitude generates error in local gravity estimate. In personal positioning,
barometric aiding is advantageous as well. Miniature barometers have very good res-
olution, and changes in vertical position can be observed. For example, the changes
in floor level can be detected quite accurately. In addition, with an accurate local
pressure reference, the barometer observation can be considered as an extra obser-
vation for radionavigation filter, e.g. (Kappi and Alanen, 2005). For modern mobile
phones, a channel for transmitting the pressure reference exists, which fulfills the
requirement for up to date reference (Alanen and Kappi, 2005).
An especially interesting scenario is when three pseudoranges are aided by an altitude
measurement. This enables faster Time To First Fix (TTFF) and increases availabil-
ity. However, the uniqueness of the solution need to be taken into account. In the
four-satellite case, depending on the geometry and measurement noise, one, two or
no solutions exist (Fang, 1986). In practice, the correct solution can be obtained by
using a rough altitude constraint. However, in the case of three pseudoranges and an
altitude observation, the situation is more complicated. This can be shown by alge-
braic modifications to the normal pseudorange observation equation, as shown in the
following.
Assuming that the receiver has obtained three pseudoranges,p1, p2, p3, and satellite
positions in a valid E-Frame. Three satellites form a 2-D plane, and a new coordinate
system can be defined as follows: Satellite 1 is in the origin of the new coordinate
frame. Satellite 2 is on the x-axis of the new frame. Satellite 3 is on the xy-plane
of this new coordinate frame. The transformation of E-Frame satellite coordinates to
this new frame is unambiguous, one translation and one rotation. In the new frame,
the satellite coordinates are
Satellite 1 {0,0,0}
Satellite 2 {X2,0,0}
Satellite 3 {X3,Y3,0}
To simplify the computations, define
86 4. Sensor System Mechanizations and Integration
C1 = (p1 +cT)2 (4.15)
C2 = (p2 +cT)2 (4.16)
C3 = (p3 +cT)2 (4.17)
wherecT is the clock bias in metres. For unknown user position{z,y,z}, the obser-
vation Equations (2.3) can now be transformed to
x2 +y2 +z2 = C1 (4.18)
(x−X2)2 +y2 +z2 = C2 (4.19)
(x−X3)2 +(y−Y3)2 +z2 = C3 (4.20)
The unknowns are in the new coordinate frame, but transformation back to E-Frame
is trivial. Substituting 4.18 to 4.19 yields
(x−X2)2 +C1−x2 = C2 ⇒ (4.21)
x = −C2−C1−X22
2X2(4.22)
Now the only unknown in the right side of 4.22 is the clock bias. For the analysis,
clock bias is taken as a varying parameter, thus we have a functionx(cT). To solve
y, one can use Equations 4.20 and 4.22 to obtain
y =−2x(cT)X3−X23 −Y2
3 +C3−C1
2Y3(4.23)
Again, only unknown is the clock bias. Equation 4.23 is a line3 in xy-plane. Finally
we can solvezusing 4.18:
z+ =√
C1− [x(cT)]2− [y(cT)]2 (4.24)
z− = −√
C1− [x(cT)]2− [y(cT)]2 (4.25)
3 Within the range ofx(cT)
4.5. System Integration Strategies 87
Thus, as the bias is varied, the triple{x,y,z} draws a curve in 3-D space. From
Equation 4.23 it follows that the orthogonal projection of this curve to the satellite
plane is a line. Intersection(s) of this curve and the Earth ellipsoid can be used to
determine user’s position in zero-altitude. If a non-zero altitude is known, this can be
taken into account when computing the intersection.
To illustrate the methods, assume three satellites from one measurement epoch are
observed, with following E-Frame coordinates
Satellite 1 {4082458,14388588,22140554}
Satellite 2 {15802943,317349,21263781}
Satellite 3 {22150754,10406164,10520195}
In satellite-plane frame, the coordinates will be
Satellite 1 {0,0,0}
Satellite 2 {18334074,0,0}
Satellite 3 {15162765,15730427,0}
Observed pseudoranges are
p = [49336809 48546330 50129716]T (4.26)
By letting the clock bias vary−100ms. . .100ms, Figure 4.6 is obtained (in satellite-
plane coordinates). In this case, there are two solutions on the Earth surface, but
removing the wrong solution is trivial, as the satellites are not visible in the wrong
position. In Figure 4.6, satellites are marked with circle, triangle and asterisk marks.
Thez+ curve cannot coincide with Earth, as the Earth is below the satellite-plane. In
this example, choosing the right solution is trivial, however this cannot be general-
ized to all geometries. Doppler observations can be used to choose the more likely
position (Brodie et al., 2001), and rough initial position and time estimates reduce
the possibility of selecting the wrong position. The usage of Doppler in sensor aided
positioning is detailed in Chapter 6.
88 4. Sensor System Mechanizations and Integration
The slope of the curve with respect to the Earth’s surface indicates how much errors
in altitude affect the horizontal positioning accuracy. Figure 4.7 is zoomed close to
the right solution. In Figure 4.8, the distance of the curve from the centre of the Earth
is computed. This figure shows, that the wrong solution is30 msaway (true bias
90ms).
−2−1
01
2
x 107
−2
−1
0
1
2
x 107
−2
−1
0
1
2
x 107
xy
z
Fig. 4.6. Curve Obtained from a 3-satellite Observation Set
4.5. System Integration Strategies 89
Fig. 4.7. Curve obtained from a 3-satellite Observation Set, Zoomed Close to the Earth
90 4. Sensor System Mechanizations and Integration
0.045 0.05 0.055 0.06 0.065 0.07 0.075 0.08 0.085 0.09 0.0952
4
6
8
10
12
14
Time Bias (s)
Dis
tanc
e fr
om E
arth
Cen
tre
(100
0 km
)
Fig. 4.8. Solution Distance from Earth
Speed-Only Filter
If the sensor system cannot provide heading at all, due to the problems mentioned in
the PDR section, the speed information can still be used. This would lead to adjusting
the velocity observations using additional speed observation from the sensors. The
LS equation turns then to Condition Case (Krakiwsky, 1990), where the first design
matrix is zero,H = 0. The mathematical model is then
f (y) = y21 +y2
2 +y23−y2
4 +n = 0 (4.27)
wherey1,2,3 are GPS based velocities in L-Frame andy4 is sensor based speed.
Using the estimated observation covariance matrix,Σ, the observations are adjusted
(y = y+ n) by forcing f (y) = 0, with minimized[nTΣ−1n]. A special case of speed-
only filter is the sensor-based detection of zero-speed. This can be used in obtaining
a position solution and the method is discussed in Chapter 6.
4.5. System Integration Strategies 91
4.5.4 Integration using a Kalman Filter
If a Kalman filter is used as a tool of integration, the integration is often referred
to as tight coupling. In this strategy, there is an information exchange link between
the two mechanizations. As simple example, consider a PDR based velocity output,
and a GPS-based velocity output. Let the model chosen for the PDR step length
observation be as shown in Equation 4.11. The example here is simplified to the one-
dimensional case, and it is assumed that step occurrence times are aligned with GPS
observation epochs. Using these simplifications, the PDR-based velocity is
vPDR = v+b+nPDR (4.28)
wherev is the true velocity, as defined in Equation 4.2. The GPS velocity observation
should have no large bias-components, and thus GPS-based velocity would be
vGPS= v+nGPS (4.29)
These solutions can be combined to form a new observation as follows:
z= vPDR− vGPS= b+nPDR−nGPS (4.30)
The filters that do not model the navigation parameter (v) behavior over time, but
some other system parameters are referred to as complementary filters. The next
step is to consider this observation as a combination signalb and noisenC = nPDR−nGPS. To meet the noise requirements of a Kalman filter, the noise component should
be uncorrelated over time. The bias has normally at least some kind of dynamic
variation, and this is modeled in the Kalman filter’s dynamic model as follows:
bk+1 = Φbk +nD (4.31)
Using this equation, all the bias types introduced in the Chapter 3 can be modeled.
The process noisenD actually represents our uncertainty of bias with respect to time;
if there is a full knowledge ofbk, the uncertainty with respect to time in the absence
of new observations is described by the processnDj . Thus, if the bias is modeled
92 4. Sensor System Mechanizations and Integration
as constant,nD is always zero. If the bias model is i.i.d, theΦ would be always
zero. Obviously that would not be a bias anymore, and the integration would be
similar to loosely coupled integration. For this example, a random walk model is
chosen, and thusΦ = 1. The drawback of this model is that the variance grows
without limits when the step count increases, which is clearly not the case in the
real world. If nD is uncorrelated over time and with respect tonPDR− nGPS, the
use of Kalman filter is justified. The process noise variance isQ = Var[nD] and the
measurement noise variance isR=Var[nC]. Initial b can be obtained from the system
memory, for example, and its uncertainty is expressed inP0. The output of the filter
is a sequenceb j , with assigned variancesPj . To have gain from the integration,
conditionVar[nGPS] À Var[nPDR] should be satisfied. If this holds, the corrected
PDR observation,vPDR+ = v+b+nPDR− b can be used in position propagation. In
fact, Var[nPDR] is very low due to the nature of walking, as the step length is not
changing continuously. Using this model, the loss of GPS signals can be thought as
Rj···k = ∞, and during that period the Kalman filter will be in predicting mode only,
as theK becomes zero.
As an example of Kalman filter integration, a simulation was performed using the
above described model with the following parameters:
Q = 5·10−6 (m/s)2
R = 1 (m/s)2
Var[nPDR] = 2.5·10−7 (m/s)2
P0 = 0.3 (m/s)2
b0 = 0 m
The simulated data was generated with the same parameters. The initial bias was
set to0.1. Figure 4.9 shows the simulated GPS errors, and the error of filter-based
velocity estimates using500simulated steps. The filter-based velocity error decreases
as the number of observations increases. However, the error does not approach zero
asymptotically, due to the nature of the bias.
4.5. System Integration Strategies 93
0 50 100 150 200 250 300 350 400 450 500−4
−2
0
2
4
Err
or (
m/s
)
0 50 100 150 200 250 300 350 400 450 500−0.1
0
0.1
0.2
0.3
Err
or (
m/s
)
Step Count
Fig. 4.9. Simulated GPS Velocity Errors (top) and Filter Velocity Errors (bottom)
4.5.5 Integration Using Embedded Filter
The last integration strategy presented herein is the use of a special kind of comple-
mentary filter, where the sensor system is providing changes in the desired naviga-
tional parameter. The formulation is very similar to the traditional Kalman filter, but
the transition matrixΦ is obtained from the sensor data. Sensor errors are modeled
in theQ matrix. The prediction model is
x−k = xk−1 +∆xk∆t +nSk (4.32)
where∆x is obtained from the sensors, and thenSk is the sensor noise process. The
measurement model is
yk = xk +nAk (4.33)
whereA refers to the noise of the absolute system. This filter can be compared to the
one presented in the previous section; now the PDR system would provide the change
94 4. Sensor System Mechanizations and Integration
in the step length. This is the change in ’pseudo-observation’ of the step length. With
the chosen model it is always zero:
yPDR1 = 0.7 = v1 +b1 +nPDR
1
yPDR2 = 0.7 = v2 +b2 +nPDR
2
∆yPDR = 0 = ∆v+∆b+∆n(4.34)
Again, the noise process,n, is neglected in the filter, and thus the prediction phase of
the filter will be
v−k = vk−1 +∆yPDR (4.35)
The same prediction is obtained using model of Equation 4.31, as∆yPDR is zero. In
addition, thePandQmatrices are equal.Q is obtained from∆b, as it was in the above.
The error variance is propagated byP−k = Pk−1 + Qk as earlier. The measurement
model is
yGPSk = vk +nGPS
k . (4.36)
Thus, as thenPDR is neglected, theR is the same as in the filter described in section
4.5.4. AsH = 1 in both filters, andQ,R,P are equal, ifP0 is equal, theK matrix will
be equal identical in both filters as well. In addition, if the initial value ofv0 is set to
0.7, the filters are completely identical, as can be seen from the following equations.
After one step, the complementary filter output is
v1 = v0 +K1(yGPS1 − v0) = K1yGPS
1 +0.7(1−K1) (4.37)
The output of the bias-state filter is
b1 = 0+K1(0.7−yGPS1 −0) (4.38)
and the velocity estimate is
v1 = 0.7− b1 = K1yGPS1 +0.7(1−K1) (4.39)
4.6. Redundancy and Reliability 95
These outputs are equal. By the used definitions, the derivative of a random walk sig-
nal results in an uncorrelated noise process and a minimum variance filter is straight-
forward to design for such noise processes.
Examples herein are simplified but serve as an introduction to integration methods.
More deep integration of systems introduces many time alignment and linearization
problems. Details on integration methods for PDR/GPS integration can be found
from Mezentsev (2005). Petovello (2003) includes a good overview of INS/GPS
integration strategies. Integration of gyro and compass data using a Kalman filter is
discussed in Ladetto and Merminod (2002).
4.6 Redundancy and Reliability
The great advantage of system integration is increased redundancy. More observa-
tions become available. When the number of observations exceeds the minimum
requirement, the system is overdetermined, and it is possible to monitor the system
performance by examining the residuals. A simplified example of such a system
would beN observations of a single unknown variable as follows:
y = 1s+n, (4.40)
wherey, n and1 = [11. . .1]T areN-length vectors. The average of the observations
is a Least Squares solution, which minimizes the‖ y− 1s ‖2. If n ∼ N (0,σ2I),the averaged estimate∼ N (s, σ2
N ). This shows that the estimate improves as more
observations are available. In addition, the residual vector (n = y−1s) distribution
is N (0,σ2I − J), whereJ is N×N matrix, in which all the elements are1N . This
distribution does not include the unknowns, and it can be used to examine whether
the system outputs are in agreement with the assumed noise properties. Two common
statistical tests are used in the case of GPS observables (Kuusniemi, 2005):
1. Global Test, examine the complete set of residuals. Distribution ofnT nσ2 should
beχ2(N−1) in the above example.
2. Local Test, examine an individual observation. Distribution of an individual
residualni should beN (0,σ2(1− 1N)) in the above example.
96 4. Sensor System Mechanizations and Integration
The problem in statistical testing of observations is that alternative hypothesis actu-
ally states ’statistical parameters used are not correct’. Thus, the action following a
failed statistical test is not straightforward to decide. The statistical testing algorithm
in the navigation computer implies that the system designer knows that the used sta-
tistical parameters are not always correct. The reason for using ’wrong’ parameters
is that it allows simplified filter design. The separation of ’gross errors’ and ’normal
errors’ enables the usage of various advanced linear estimation methods. It should be
noted that a filter that rejects observations based on the residual information is not a
linear filter.
In the following, an example of a non-linear filter that is very similar4 to a LS-filter
with statistical testing is given. The aim of the filter model is to enable the evaluation
of different integration schemes in systems that have non-Gaussian noise inputs. This
method is somewhat in between linear filters and filters with statistical reliability, in
a sense that distribution of ’gross’ errors can be taken into account.
Examples are given using the model described in Equation 4.40. First, it is necessary
to acknowledge that ifn ∼ N (0,σ2I), then1s and n are independent random vari-
ables. From the LS formulas,1s is Jy andn = (I−J)y. In (Kaleva, 2005) it is shown
that if x ∼N (µ,Σ), then random variablesAx andBx are independent if and only if
AΣBT = 0. BecauseJ is symmetric and idempotent,(I − J)JT is zero, and thus1s
and n are independent. The same applies to the WLS case. Independency leads to
the following conclusions:
• If the noise assumption holds, i.e.n ∼ N (0,σ2I) , the residuals contain no
information on actual accuracy of the solution. Modifying the solution by ex-
amining the residuals has only negative effects.
• On the contrary, if it is found that residual-based modification of the solution
improves the system performance, the assumption does not hold.
• The critical assumption is that, all the time, the system knows the variance
of the Gaussian distribution. If the variance changes in an unknown way, the
distribution is not Gaussian from the viewpoint of the filter.
The last item can be explained by a simple example. Navigation system performance
parameters have been obtained from numerous tests, and it has been noted that errors
4 In some cases equal
4.6. Redundancy and Reliability 97
in observations followN (0,10 m2) when the signal path is clear andN (0,100m2)when the signal path is disturbed. However, the system cannot observe the state of
the signal path. In the expected operation environment, the signal path is disturbed 10
% of the time. Using above information, the distribution of errors is0.1p100+0.9p10,
wherepv is a density of normal distribution with variancev. The obtainednormal
mixturedensity function is plotted in Figure 4.10.
−40 −30 −20 −10 0 10 20 30 400
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
0.02
Fig. 4.10. Normal Mixture Density Function (solid). The wider dashed curve isp100
As this distribution is not Gaussian, residual monitoring of redundant observations
can be beneficial. Realizations of such process are plotted in Figure 4.11
98 4. Sensor System Mechanizations and Integration
0 100 200 300 400 500 600 700 800 900 1000−30
−20
−10
0
10
20
30
40
Err
or (
m)
Sample
Fig. 4.11. Realizations of Normal Mixture
Dependency of the estimate and residuals can be shown by plotting the residual with
respect to the solution, as shown in Figure 4.12. If two observations per epoch are
available, the Least Squares solution iss = 0.5y1 + 0.5y2, and the first residual is
n1 = 0.5y1− 0.5y2. The figure clearly shows that the further the residual is from
zero, the less accurate the solution. When generating the samples, it was assumed
that the signal path disturbances are not correlated with respect to other channels or
time.
4.6. Redundancy and Reliability 99
−15 −10 −5 0 5 10 15 20−15
−10
−5
0
5
10
15
20
25
Residual (m)
Sol
utio
n (m
)
True position = 5 m
Fig. 4.12. Dependency of Residuals and Solution
A similar plot, but with Gaussian distributionN (0,30m2), is shown in Figure 4.13.
In this case, residuals carry no information on the accuracy of the solution.
−15 −10 −5 0 5 10 15−10
−5
0
5
10
15
20
Residual (m)
Sol
utio
n (m
)
True position = 5 m
Fig. 4.13. Dependency of Residuals and Solution, Gaussian Distribution
100 4. Sensor System Mechanizations and Integration
Note: in both cases, the residual and solution areuncorrelated, E[(s− s)(n1)] =E[s−s]E[n1)] = 0. However, they areindependentonly in the Gaussian case.
The above example justifies the use of Global Test with non-Gaussian noise. If the
noise level increases significantly, the residuals are affected. To include an example
of the Local Test, one more measurement per epoch is needed. In addition, the error
variance in the disturbed case is increased to1002m2. 5 The Local Test is based on
the assumption that the largest input error can be located using the residuals. Thus, if
some residual exceeds the chosen threshold, the corresponding input is removed. In
Figure 4.14, the maximum residual of three observations is plotted with respect to the
solution. The dependency of maximum residual and error is very linear, and a coarse
line fit in the figure indicates that the error is half of the maximum residual most of
the time. Interestingly, adding a half of the residual to the observation in this case is
equivalent to removing the corresponding observation:
y1 +y2 +y3
3︸ ︷︷ ︸solution
+12[
y1 +y2 +y3
3−y2
︸ ︷︷ ︸residual
]
=y1 +y3
2︸ ︷︷ ︸average of the remaining observations
(4.41)
5 Even though this variance is very large, it can be justified in the multipath-prone environment of
High Sensitivity GPS (MacGougan, 2003)
4.6. Redundancy and Reliability 101
−200 −150 −100 −50 0 50 100 150 200
350
400
450
500
550
600
650
Maximum Residual (m)
Sol
utio
n (m
)
True position = 500 m
Fig. 4.14. Maximum Residual vs. Solution
The Local Test aims to detect and remove an observation that causes a very large
residual. In the presence of a large residual, the dependency of that residual and the
solution leads to a removal of corresponding observation and re-computation of the
Least Squares solution. De-weighting the observation instead of completely remov-
ing it is reasonable only in the cases where the ’gross error distribution’ is accurately
known. Comparison of this non-linear filter with a Least Squares filter is shown in
Figure 4.15. If the optimization criterion for the filter is a minimized error variance6,
then the non-linear filter performs better. The difference in the maximum error is due
to two large input errors at the same epoch. In those cases the residuals cannot be
used for locating the largest input error.
6 sample variance
102 4. Sensor System Mechanizations and Integration
0 200 400 600 800 1000 1200 1400 1600 1800 2000−100
−50
0
50
100LS Filter
0 200 400 600 800 1000 1200 1400 1600 1800 2000−100
−50
0
50
100
Sample
Err
or (
m)
Non−Linear Filter
STD: 18 mMax error: 150 m
STD: 11 mMax error: 220 m
Fig. 4.15. Comparison of Filters
In the Gaussian noise case, residual monitoring has no advantages, as Figure 4.16
shows
−40 −30 −20 −10 0 10 20 30475
480
485
490
495
500
505
510
515
520
Maximum Residual (m)
Sol
utio
n (m
)
True position = 500 m
Fig. 4.16. Maximum Residual vs. Solution, Gaussian Distribution
Furthermore, if all the observations at the same epoch are disturbed, then the residual-
4.6. Redundancy and Reliability 103
by-residual monitoring is not useful. As an example, when a GPS receiver is used
indoors, it can be assumed that all the channels are disturbed by multipath delay to
some extent. Figure 4.17 shows maximum residuals when the probability of distur-
bance is kept at0.9, but the disturbance is applied to all channels of the corresponding
epoch.
−300 −200 −100 0 100 200 300300
350
400
450
500
550
600
650True position = 500 m
Maximum Residual (m)
Sol
utio
n (m
)
Fig. 4.17. Maximum Residual vs. Solution, all Observations of the Epoch Disturbed
In the case of pseudoranges, the situation is very close to the examples described
above. In Figure 4.18 simulated errors were added to measured data with nine satel-
lites observed. One satellite experienced simulated disturbance. The variance was
increased from102 m2 to 1002 m2 randomly, on the average to 10 % of the epochs.
104 4. Sensor System Mechanizations and Integration
−50 0 50 100
−60
−40
−20
0
20
40
Residual (m)
Err
or (
m)
Fig. 4.18. Residual of the Disturbed Observation and Error in the Y-position
If the assumption ’largest input error∇i causes the largest residualr i ’ holds, that is:
imax[|n|] = i=⇒
imax[| n.1−diag(H) |] = i
(4.42)
then the error in the observation domain can be estimated by using the linearized H
matrix,n = (I −H(HTH)−1HT)(y+[0 . . . e . . . 0]T)
=⇒ e= ni1−Hii
(4.43)
The effect ofe in the solution domain is
se = (HTH)−1HT [0 . . . e . . . 0]T (4.44)
and thus the effect ofecan be reduced by re-estimating the solution by
s= s− se (4.45)
This method requires no re-iteration ofH, and can be used in situations wheree is
sufficiently small. In the example above, the method gives correction factor of−0.5
4.6. Redundancy and Reliability 105
for y-position, which is very close to the slope of residuals in Figure 4.18. This
method works only in following conditions:
• The error does not affect H significantly in the original iteration process.
• The index of the largest residual is the same as the index of the largest mea-
surement error.
4.6.1 Geometric Viewpoint for Residual Monitoring
To get more insight into the role of the residual matrix diagonal, a redundancy matrix
from a 6-satellite observation set is shown in Equation 4.46.
R=
0.5575 −0.3049 −0.1095 −0.2886 −0.0818 0.2274−0.3049 0.1764 −0.0104 0.2096 0.0184 −0.0891−0.1095 −0.0104 0.5337 −0.3202 0.2080 −0.3016−0.2886 0.2096 −0.3202 0.4269 −0.0989 0.0713−0.0818 0.0184 0.2080 −0.0989 0.0839 −0.12960.2274 −0.0891 −0.3016 0.0713 −0.1296 0.2216
(4.46)
Now R[0 1 0 0 0 0]T picks the second column ofR, and thus a large error in the
second observation (n2 ¿ n j ) causes the largest residual in the first element of the
residual vector. In the case of two or more large input errors, the situation is even
more complicated, as the residual vector will be a linear combination of the columns
of R.
Let Rbe the redundancy matrix as in Equation 4.46. If there is an error only in one of
the observations,n = [0 ej 0 . . . 0]T , its effect in the residuals isn = ejR: j . To locate
the error, the necessary condition is that the error in any other other column cannot
produce the same residual, i.e.
α jR: j +αiR:i = 0 ⇔ α j = αi = 0 (4.47)
In other words, the two column vectors need to be linearly independent. Then, the
residual vectorn can be expressed uniquely as a combination of a unit vector and a
scalar:
106 4. Sensor System Mechanizations and Integration
n = αR: j
‖R: j‖ (4.48)
Now, |α|= ‖n‖, and
R: j
‖R: j‖ =± n‖n‖ (4.49)
Locating the residual can then be performed by findingj that matches the above
equation. If there are two indices that match the equation, Equation 4.47 does not
hold, or there are errors in other observations. Even a very low noise from other
observations causes inexact match. Thus, a measure for closeness is needed, such as
the cosine of the angles between the vectorsa = R: j
‖R: j‖ andb = n‖n‖ . Using the dot
product,
cosθ j =aTb|a||b| = aTb. (4.50)
The above equation also solves the sign in Equation 4.49.
When considering the complexity of the method, it should be noted that‖n‖ is al-
ready computed, if the Global Test is performed. In addition, asR is idempotent,
‖R: j‖ =√
Rj j . To perform the computation,R is generated by dividingith row of R
by√
Rii for all indices, and then
cosθ = Rn‖n‖ (4.51)
For the given example matrixR, the matrixR is
R=
0.7467 −0.4084 −0.1467 −0.3866 −0.1096 0.3046−0.7260 0.4200 −0.0247 0.4990 0.0439 −0.2122−0.1499 −0.0142 0.7306 −0.4384 0.2847 −0.4128−0.4418 0.3208 −0.4902 0.6533 −0.1513 0.1091−0.2825 0.0636 0.7180 −0.3413 0.2897 −0.44750.4831 −0.1894 −0.6406 0.1515 −0.2754 0.4707
(4.52)
4.6. Redundancy and Reliability 107
Assumingn = [0 0 0 0−50 0]T , the residual vector is
n = [4.0922−0.9213−10.4003 4.9440−4.1967 6.4821]T (4.53)
and divided by its norm yields
n‖n‖ = [0.2825−0.0636−0.7180 0.3413−0.2897 0.4475]T (4.54)
Multiplication with Rproduces
cosθ = [0.3784−0.1514−0.9828 0.5224−1.0000 0.9506]T (4.55)
which indicates that there is a negative error in the fifth element, ande5R:5 = n. If
redundancy is reduced by one (6th observation removed), the procedure yields
cosθ = [−1.0000 1.0000−1.0000 1.0000−1.0000]T (4.56)
which shows that in this case it is impossible to locate the error.
4.6.2 Practical Viewpoint
The assumption that only one observation can contain an error is not very realistic.
The identification of error becomes harder as the number of errors per epoch grows.
It was already shown that in the case of normally distributed errors in all observa-
tions, errors cannot be individually detected. This can be shown from the geometric
viewpoint as well. The rank ofR is n− p, the number of observations minus the
number of unknowns, and for allm×n matrices (MATHW)
rank(A)+dimN (A) = n (4.57)
This shows that the dimension of the null space ofR is the number of unknowns. This
is related to identification of error via
R[a−b] = 0 ( a−b ∈N (R) )⇒ Ra = Rb.
(4.58)
108 4. Sensor System Mechanizations and Integration
That is, vectorsa andb produce the same residual. Now, as
z = [1 −0.3095 −0.7608 0.9872 2.3266 −1.1426]T (4.59)
belongs to null space7 of R, vectors
z1 = [1 0 0 0 0 0]T
z2 = [0 0.3095 0.7608 −0.9872 −2.3266 1.1426]T(4.60)
produce the same residual. Thus, it is impossible to compute the number of erroneous
observations. It is only possible to locatelarge errors, and the next step is to define
the termlarge. It should refer to the individual error’s magnitude with respect to
other errors. In the above, inz2 there is no individual error that has a large magnitude
relative to others. The consequent question is: is there a theoretical limit for the
magnitude ratios for successful error identification?
This problem can be resolved geometrically. The cosines between the column vectors
of Rcan be easily computed viaRRT , and the result in the example case is:
RRT =
1.0000 −0.9723 −0.2008 −0.5917 −0.3784 0.6470−0.9723 1.0000 −0.0338 0.7638 0.1514 −0.4508−0.2008 −0.0338 1.0000 −0.6710 0.9828 −0.8769−0.5917 0.7638 −0.6710 1.0000 −0.5224 0.2318−0.3784 0.1514 0.9828 −0.5224 1.0000 −0.95060.6470 −0.4508 −0.8769 0.2318 −0.9506 1.0000
.
(4.61)
In Equation 4.61, the element(i, j) is the cosine of the angle betweenith column
vector andj th column vector. Geometrically, the residual is a weighted sum of the
column vectors ofR. Column vectors span lines in the range space ofR. Now, if
individual error is large enough, the residual vector is always the closest to the line
that corresponds to the error. The situation is depicted in Figure 4.19.
7 Found by MATLAB8 NULL-command
4.6. Redundancy and Reliability 109
e R :i
R : j
c
x
Fig. 4.19. Graphical Representation of the Limit for the Identification of a Large Error
Using the notation of Figure 4.19, the largest error adds the componenteR:i to the
residual. To identify the error, other error components should not move the residual
to be closest to the line spanned byR: j . The shortest vector that can move the residual
closer to the other line isx in the Figure 4.19.‖x‖ can be solved by
sinc2
=‖x‖‖eR:i‖ (4.62)
This is actually the ratio that was looked for. If
sinc2≤ ‖x‖‖eR:i‖ , (4.63)
there is a possibility that the wrong observation will be identified as erroneous. Due
to the properties ofR, ‖Rn‖ ≤ ‖n‖, a simple, but sufficient rule for successful identi-
fication can be obtained:
sinc2
>‖n1‖‖ei‖ (4.64)
wheren1 is computed by dividing the error vectorn to two vectors:
n1 = [e1 e2 0 e4 e5 e6]T
n2 = [0 0 e3 0 0 0]T(4.65)
110 4. Sensor System Mechanizations and Integration
As can be found from Equation 4.61, the closest columns are3rd and5th, which gives
c = arccos(0.9828) ∼ 10.6◦. Then,sin(5.3◦) ∼ 0.1. Now, if
10‖n1‖< |e3| (4.66)
the error can be identified by using Equation 4.51. This is asufficient, but notnec-
essarycondition. Neithern1 nor |e3| are known during the filter operation, and the
limit for rejecting an observation must be justified by using field test data.
As a conclusion for this discussion, the rejection of observation is justified when:
• There is evidence, that only one observation contains a large error.
• The column vectors of the redundancy matrix are well separated; if the angle
between two vectors is close to zero, identification becomes impossible.
• The cost of failed removal (larger DOP) is less than cost of keeping an erro-
neous observation (possibility for unbounded error in the output).
The first item in the above does not preclude the sequential rejection process; how-
ever, there is a condition thatei À ej À ek, when the rejection order isi ⇒ j ⇒ k. For
two errors with similar magnitude, there is no guarantee for successful identification.
In that case, there is a possibility of rejecting an observation that contains no error,
and accepting the erroneous ones.
To locate a single error, one can generate the matrixR, and multiply it by the nor-
malized residual vector. If the result has one element very close to one, this indicates
a large error component in the corresponding observation. If there are two or more
elements close to one, one can conclude that there is not enough redundancy to locate
a single error. This is a geometric approach to residual monitoring, and can be used
along with ’gross error’ models to obtain an efficient non-linear filter.
5. MOTION STATE RECOGNITION
5.1 Introduction
As shown in the previous chapter, significant improvements to the performance of a
sensor based navigation system can be obtained by applying constraints to the mech-
anization. However, to apply the constraints, special knowledge of the navigational
situation is required. This information cannot be read directly from GPS or sensor
data. Applying the wrong mechanization clearly ruins the solution; if the PDR mech-
anization is applied to a bicycling user, the results are disastrous. One way to deal
with this problem is to limit the availability of the system. However, limiting the use
of the personal navigation device to one specific motion would be against the princi-
ple of personal navigation. The navigation solution should be available regardless of
the situation. In this chapter, statistical methods for extractingmotion stateinforma-
tion from the sensor data are introduced. The objective of this study was to develop
real-time software that can be used as a core for future applications.
5.2 Methodology
Selecting an object from a finite set of classes based on sensor data is a process of
pattern recognition, or pattern classification.
The basic stages in pattern recognition are
1. Training, sensor data is collected when the true class is known. A statistical
model for the class is generated. Suitable features of the sensor data are se-
lected (variance, peak frequency etc.) that are sufficiently different between
the classes.
112 5. Motion State Recognition
2. Generalization, it is assumed that statistical properties remain the same if the
training procedure is repeated.
3. Classification, the obtained statistical information is used to choose a class
from the sensor data. At this point, the true class is not directly observable.
From the sensor data, the features are extracted, and a decision rule is applied
to obtain the most likely class for the given data.
The classes chosen for this study are navigation related motion states includingwalk-
ing, vehicular motion, bicycling, static andunknown. The bicycling class was se-
lected to study how close repetitive acceleration patterns from bicycling are to the
ones obtained from walking motion.
The chosen statistical method for the classification was Bayes’ decision rule (Webb,
2002). This involves a priori probabilities for classesP(ω1), . . . ,P(ωC). These are
probabilities for the specific motion states in the absence of observations. Observa-
tion vectory is understood as a random vector, and its conditional probability densi-
ties
ρ(y|ωi) (5.1)
are obtained from the training process. Using Equation 2.18, for observedq, one
obtains
ρ(ωi |y=q)(r)(i) =ρ(y|ω=i)(q)ρω(i)
ρ(y)(q)(5.2)
Due to the finite number of possible classes, this is a discrete distribution, and thus
gives the probability of classi given the observationq. The decision is made by
choosing thei that has maximum probability. Asρ(y)(q) is the same for all classes,
it is sufficient to find thei that maximizes
ρ(y|ω=i)(q)ρω(i). (5.3)
In this study, no a priories were assigned to the classes, so the last term above is also
dropped. Further assumption that the distribution of Equation 5.1 is Gaussian makes
5.3. Choosing the Input Data 113
the recognition process very straightforward. Only the estimated mean vector and
covariance matrix are needed to describe each class.
A flowchart of the implemented program is shown in Figure 5.1. A real time version
for Pocket PC was implemented, and a similar program was written in MATLAB to
enable efficient off-line analysis capability.
Input Data from file
or sensors
Feature Selection
m _get_states
Feature Extraction
m _state_recognition
Classifier
m _state_recognition Decision
Training Data from
File
Statistics and PCA
m _train_states
TRAINING PART dashed lines, Matlab code
RECOGNITION PART solid lines, C ++ code in Pocket PC
PCA Mean
Cov
Fig. 5.1. Flowchart of the Implemented Program
5.3 Choosing the Input Data
Any sensor system that provides motion-related information is useful in the described
system. However, for simplicity, only accelerometer data was used in this study. The
observation model for accelerometers is given in Equation 3.17. The ideal sensor
would provide the acceleration in inertial frame minus the local gravity vector. Only
the norm of the acceleration triad data was used. Orientation information is not gen-
erally informative for motion state recognition in personal positioning, as orientation
can be arbitrary with respect to the moving platform in all possible motions. The
norm of accelerometer output was used to make the system orientation invariant. In-
variancy to changes in orientation follows from the properties of the direction cosine
matrix as follows:
114 5. Motion State Recognition
y = CBL z⇒ (5.4)
yTy = zTCLBCB
L z⇒ (5.5)
yTy = zTz (5.6)
The input data to the recognition algorithm, in the absence of noise is (x in L-Frame)
s = ([x−g]T [x−g])12
= (x2E + x2
N +(xU +g)2)12
(5.7)
Equation 5.7 shows that, in the absence of noise,s is zero only if sensor unit is in free-
fall motion. In addition, there are exactly two possible motions wheres equals the
strength of local gravity:x = 0 andx = 2g. As the latter motion is high acceleration
towards Earth center, it can be excluded as very unlikely motion. Thus, ifs equals
local gravity, it can be concluded that the unit is not accelerating. Evidently, the noise
in the sensor outputs changes the situation slightly. However, in practice any way of
transport produces relativity large vibrational acceleration, and thus stationarity of
the unit can be detected with very high accuracy.
5.4 Sensor Error Effects
The sensor error effects cannot be completely neglected, even though their effect is
relative small in motion recognition. The observation with errors,y, is
y2 = s2 +2nTCBL [x−g]+nTn (5.8)
If the sensor misalignment is not corrected, the measurement equation is
y = MCBL [x−g]+n (5.9)
whereM is the unknown misalignment matrix. Misalignment (M 6= I ) causes cou-
pling to orientation as follows:
5.5. Feature Selection 115
y = MCBL [x−g]⇒
y2 = [x−g]TCLBMTMCB
L [x−g](5.10)
In addition, scale factor errors affect the output. These are the main error components,
and specifically the bias type noise can be removed by user calibration, as shown in
Chapter 3.
Based on collected data, the following rule of thumb can be used when selecting the
proper unit for motion detection system. For accurate detection of vehicular motion
and the static case, the errors in observation,|y− s| should not exceed1100
ms2 , i.e.
mg level accuracy is required. This requirement is probably feasible for near-future
MEMS sensors. More specifically, the probabilityP(|y− s| > 1100) < α, whereα
should be around0.05. . .0.1.
It should be noted that accuracy requirements for accelerometers in motion state
recognition are very different from ones in inertial navigation. For example, in sim-
ple pedometers, the detection of a step is based on exceeding a certain acceleration
limit, and the accelerometers used can be very inexpensive. Low-pass filtering of sen-
sor signals should not be used, as a vibrational signal provides information about the
motion state. This is contrary to the INS case, where vibration is generally considered
as noise.
5.5 Feature Selection
Next step in the algorithm design process is to choose suitable features for the recog-
nition process. This involves a series
Y = yk (5.11)
which, in the developed software, consisted of 5 seconds of samplesy, which is 500
elements in total1. The following features were selected
• Sample variance (ofY)
1 Sampling rate was100Hz
116 5. Motion State Recognition
• Peak frequency
• Amplitude of the peak frequency
• Slope of the peak
• Change in the peak frequency over 4 sub-frames
• Energy of the signal, in four frequency bands
• Energy of the signal near to the peak frequency
• Maximum value minus minimum element
In total, this resulted in feature vectorF having 13 elements. The role of Fourier
Transform becomes clear, whenY collected from a walking person and from a mov-
ing vehicle are compared. In Figure 5.2, the observedY is plotted in the dime do-
main. A clear difference in the variation of the signal is apparent. However, in the
frequency domain, as shown in Figure 5.3, the nature of walking motion is more
clear. The energy of the signal is highly concentrated on the low-frequency band.
0 50 100 150 200 250 300 350 400 450 5008
9
10
11
12
m/s
2
0 50 100 150 200 250 300 350 400 450 5000
5
10
15
20
25
m/s
2
Fig. 5.2. SeriesY, Driving (Top) and Walking (Bottom)
5.6. Training 117
0 5 10 15 20 25 30 35 40 45 500
0.05
0.1
0.15
0.2
Frequency (Hz)
Am
plitu
de (
m/s
2 )
0 5 10 15 20 25 30 35 40 45 500
0.5
1
1.5
2
2.5
Frequency (Hz)
Am
plitu
de (
m/s
2 )
Fig. 5.3. FFT of the SeriesY, Driving (Top) and Walking (Bottom)
It is apparent that peak frequency is relatively stable in walking compared to other
possible states. This is the reason why the chosen features were mostly obtained
using the FFT. A successful separation of walking motion from the other possible
motions was kept as most important issue in the algorithm design as this facilitates
the use of PDR techniques.
5.6 Training
In the training phase, statistical parameters ofFi for each classi are obtained. This
is done by collecting data from each motion, and computing sample means and vari-
ances for each class. Training data is collected into matricesFi , where the observed
feature vectors are in columns. The size of the matrix is the(13×Ni), whereNi is
the number of observations in the training data.
Within-class mean,mi , is obtained by taking a sample mean of each row of theFi .
Within-class covariance,Σi , is obtained by taking sample covariance of theFi . These
parameters are used in defining the distributionsρFi |ωi.
For this study, a total of100 MB of training data was collected. Due to practical
reasons, the training data consisted of data from different accelerometer units. This
118 5. Motion State Recognition
caused problems for detecting static events, as the sensor noise properties play a
significant role in the zero-input case. The data collection campaign was designed
to represent motions that a user of a personal navigation device would experience
normally, such as:
Walking - A short data set of walking from 20 persons was collected. The unit
placement was varied, e.g. backpack, carried by hand, ’talking to phone’, and
carried in pocket. Running was not included, and test persons age varied from
20 to 40.
Bicycling - Four test persons were bicycling a short test track that included asphalt,
grass and sand parts. The unit was carried in a backpack and in a pocket
(trouser and jacket).
Driving - This data set included sensor data from normal driving with several cars.
The unit was placed on the seat, the dashboard, and in the driver’s pocket.
Static - Idle data from different data units was collected.
Unknown - This data set consisted of skiing data, data obtained by shaking the unit,
and data from transitions, which are defined as events where the user changes
from driving to walking, etc.
5.7 Dimension Reduction
As the chosen feature vector had13 elements, the visualization of its distribution
was found to be difficult. The desirable situation for visualization is a vector of two
elements, as then the features can be plotted as a 2-D figure. Reducing the dimension
of the feature vector has other advantages as well, such as
• Reducing the size of the feature vector reduces the number of statistical param-
eters needed. This reduces the computational operations needed.
• After the reduction, there should be only relevant features left, and the effi-
ciency of the classifier is improved.
• Reduction recovers the meaningful variables that describe the data.
5.7. Dimension Reduction 119
The method for dimension reduction used was obtained from Webb (2002). The
method has two stages. First, within-class covariance matrix (obtained from training
data) is transformed to a space in which the averaged within-class covariance matrix
is diagonal.
The averaged within-class covariance is defined as
SW =1C
C
∑i=1
Σi (5.12)
The transformation is obtained using the eigenvectors and rank ofSW. At this stage,
if there are small eigenvalues, corresponding dimensions are left out. This removes
the redundant features. For example, if the sample standard deviation is added to
the above presented features, it is redundant, because there is already the sample
variance.
The next phase is to compress the class mean information. The between-class covari-
ance matrix is defined as
SB =1C
C
∑i=1
(mi−m)(mi−m)T (5.13)
wherem is the mean of the within-class means.SB describes how far apart the within-
class means are from each other. If means are very close, the corresponding feature is
not good for discrimination. If there is a feature that is not changing, when the motion
state is changing, that feature would be useless. After the second transformation, the
dimension is at mostC−1, which equals4 in the developed algorithm. Dimension
reduction toC−1 features is based on the fact that class-mean space cannot be larger
thanC−1. For example, three points in a 3-D space form a plane. The dimension of
a plane is two.
The result of the transformation is a matrixQ, which in this case is a(4×13) matrix.
For the algorithm to obtainQ, the reader is referred to Webb (2002), pages 331-334.
The required MATLAB functions are RANK, and EIG. However, these function are
not needed in the navigation unit itself. The training phase can be done in a desktop
computer separately, and it needs to be done only once. Transformed class means and
covariances are stored in the navigation unit’s memory, along with the matrixQ. The
120 5. Motion State Recognition
recognition algorithm forms the 13 element feature vector from the observations, but
this vector is multiplied withQ before further actions.
5.8 Ensemble Feature Plots
A good first impression of how well the system can classify input patterns is obtained
by looking at the first two features2 of the training data. The matrixQ actually ar-
ranges the features to the order of separability, and thus a plot including the ensemble
of Feature 1 outcomes in the x-axis and Feature 2 outcomes in the y-axis is valuable
in evaluating the system performance. For example, Figure 5.4 includes all the ob-
tained feature outcomes from the training data. This figure shows that walking data is
generally well separated from the other motions. However, some overlapping occurs
between bicycling and walking motions, as well as with bicycling and vehicular mo-
tion. The overlap between static observations and vehicular observations is explained
by the stops due to traffic. During these events, the vehicular data is obviously very
close to the static data. It should be noted that these features have no physical mean-
ing due to the dimension reduction. They are a linear combination of the described
original features.
−8 −6 −4 −2 0 2
−2
−1
0
1
2
3
4
5
6
Feature 1
Fea
ture
2
BicycleCar Walk Static
Fig. 5.4. Features 1 and 2 from the Training Data
2 obtained from the dimension reduction algorithm
5.9. Applying a Dynamic Model 121
5.9 Applying a Dynamic Model
It is obvious that the motion state cannot change all the time. If there is a strong
indication that the state is walking, the information should be utilized to some extent
in following decisions. This leads to dynamic modeling of the user’s motion state.
There is a discrete number of states, and thus the method presented in Section 2.7 can
be used.
The measurement model
y(k) = x(k)+n(x(k),k) (5.14)
can be adopted by assuming thatx(k) is the expected value of the feature vector in
that specific motion. That is, if there is no noise, the recognition is always successful.
The desirable property forn is low variance. The means obtained from the training
data should be far apart.
The probability transition matrix chosen is
Φ =
0.9 0.0 0 0.05 0.20 0.9 0 0.05 0.20 0 0.9 0.05 0.2
0.05 0.05 0.05 0.8 0.20.05 0.05 0.05 0.05 0.2
(5.15)
where the states are ordered aswalking, vehicular motion, bicycling, staticandun-
known. The numeric values are chosen quite arbitrarily, but keeping in mind the true
system behind the model. For example, transitions betweenwalking, vehicular mo-
tionandbicyclingare not directly permitted. If the user changes the motion state there
should be observations that are very close tounknownor static states. This makes
the system more stable when the observations are very close to the decision bound-
ary. For the performed tests, there were no major differences between the results
obtained with and without dynamic model. Generally, the Token Passing algorithm
gave slightly better results than the dynamic model using only maximum probability.
The real-time results were almost identical. Without any dynamic model, the solution
switched decisions more often during a long period of similar motion. Avoiding this
type of behavior is a good reason to apply dynamic models, even though the most
122 5. Motion State Recognition
important factor in the performance is clearly the separability of the features between
the motions.
There is a loose connection between Kalman smoothing and Token Passing algorithm
in a sense that the both seek for the optimal path for a given observation sequence.
The possibilities of using Token Passing algorithms in other navigation problems is
a subject of further study. The capability of correcting past solutions without any
backward loops, and without large memory requirements is very inviting.
5.10 System Performance
The first insight to the discrimination capability of the system is obtained from in-
putting the training data to the recognition mode. This does not tell how well the
generalization phase works, but shows the areas that are problematic in the recogni-
tion. Table 5.1 shows these results. Each row indicates how the system recognizes the
motion in question. Abbreviations TW, TV, TB and TS refer to true motion; Walking,
Vehicular, Bicycling and Static, respectively. Similar abbreviations DW, DV, DB, DS
and DU refer to decisions made by the algorithm, with DU referring to unknown
motion.
Table 5.1.Recognition Results, Training DataDW DV DB DS DU
TW 94 % 0 % 1 % 0 % 5 %TV 0 % 72 % 13 % 12 % 3 %TB 1 % 4 % 91 % 0 % 4 %TS 0 % 10 % 0 % 90 % 0 %
The table shows that the problematic parts of the implemented algorithm are the
closeness of walking from bicycling, and classifying vehicular motion. Separation of
static and vehicular motion can be improved significantly, if only one type of sensors
are used as in that case the sensor noise model will be included in the training. The
results in Table 5.1 are in good agreement with Figure 5.4, which indicates that the
two first features are sufficient in analyzing separability.
Obviously, it is more interesting to study how the system works with new data. Figure
5.5 shows a result from a test, where the test person traveled from home to work. The
test included walking, a bus drive and again walking. In the figure, the bus drive is
5.10. System Performance 123
between the black vertical lines. The test took 40 minutes. The input data is plotted
with respect to time, and the system decisions are shown in color, with green for
walking, red for bicycling and blue for vehicular motion. Figure 5.6 shows the result
when the token passing algorithm is used. The token passing algorithm improves the
result in cases where the motion signal is very close to the some other motion, such
as in the driving case. However, the algorithm cannot improve results if the observed
features are in the wrong region all of the time.
0
5
10
15
20
25
Nor
m o
f Acc
eler
atio
n (m
/s2 )
Fig. 5.5. Decision Results, No Token Passing
124 5. Motion State Recognition
0
5
10
15
20
25N
orm
of A
ccel
erat
ion
(m/s
2 )
Fig. 5.6. Decision Results, Token Passing Algorithm Used
For the non-training data, the following results were obtained (Table 5.2). The test
data set was relatively short, but it provides a good overview of the system perfor-
mance. It was found that for some test persons, all the decisions when walking were
wrong, if the unit was carried in hand. This is a general problem of pattern recog-
nition, the generalization does not work always. However, as in speech recognition,
if the training data is collected from the end-user the results improve significantly.
From the navigation point of view, the columns DW and DS are of special interest. If
a PDR or static constraint is applied, the probability of misclassification of any other
motions to these needs to be extremely low.
Table 5.2.Recognition ResultsDW DV DB DS DU
TW 70 % 0 % 22 % 0 % 8 %TV 0 % 74 % 5 % 12 % 9 %TB 3 % 7 % 82 % 0 % 8 %TS 0 % 6 % 0 % 94 % 0 %
6. SYSTEM INTEGRATION USING SPEED INFORMATION
Various methods and algorithms to process sensor data are reviewed and introduced
in this thesis. The approach is to find methods that tolerate the relatively large sensor
noise. It is evident that in personal navigation, accurate estimation of the unit ori-
entation is a very challenging task. This makes the position computation extremely
difficult. However, motion state recognition provides means to estimate the user’s
speed very accurately in walking and static modes. Observing the speed instead of
3D velocity reduces the possible integration methods; the system cannot predict the
future positions in sensor-only mode. There is one exception to this in the situation
where the unit is static with respect to the Earth. In this chapter the possibility of
using this ’system static’ information directly with the pseudorange and pseudorange
rate data of GPS is studied. Other applications are left to further study. However,
it should be noted that successful motion state recognition provides odometer like
ability for the walking motion state. Furthermore, connecting the personal naviga-
tor to actual odometers on cars and bicycles is very feasible and facilitates seamless
distance measurement.
6.1 Range Rate Observations in a Rotating Frame
When combining information in velocity domain, it is very important to keep both
systems in the same reference frame. Geometric range in GPS is defined as (ICD,
2000)
D =‖ x(tR)−v(tT) ‖ (6.1)
wheretT andtR are the GPS system times of transmission and reception, respectively.
v(tT) is the position vector of the GPS satellite in the selected I-Frame at timetT and
126 6. System Integration using Speed Information
x(tR) is the position vector of the receiver in the I- Frame at timetR. The I-Frame
is very convenient in satellite position computations, as the satellite path is close to
ellipse in that frame. However, the user is interested of positions and velocities in the
E-Frame. In the E-Frame the satellite path is more complex, as Figure 6.1 shows.
−200
20
−20
0
20
−20
−10
0
10
20
Fig. 6.1. Satellite Path in E-Frame. Units in1000km.
If the navigation algorithm works directly in the E-Frame, special care in the transfor-
mations are needed. If frame rotation during signal travel is neglected1, the positions
can be expressed in ECEF frame as well, as long as the direction cosine matrixCIE,
that accurately transforms satellite positions to ECEF, is known at the current epoch.
The range and range rates must be exactly the same, regardless of the reference frame.
For range the equality can be shown using the properties of direction cosine matrix,
as follows:
1 or corrected iteratively afterwards
6.1. Range Rate Observations in a Rotating Frame 127
D = ‖ xI −vI ‖= ‖CI
ExE−CIEvE ‖
=√
(CIExE−CI
EvE)T(CIExE−CI
EvE)
=√
[CIE(xE−vE)]T [CI
E(xE−vE)]
=√
(xE−vE)TCEI CI
E(xE−vE)
=√
(xE−vE)T(xE−vE)
= ‖ xE−vE ‖
However, when we are observing range rates,
D =ddt‖ x(tR)−v(tT) ‖ (6.2)
the Earth rotation cannot be neglected. The user is interested in velocity with respect
to Earth, and in Earth-fixed coordinates,[ ddt (x
E)]E. Velocity with respect to I-Frame
is very high. The transformation that takes into account the Earth rotation is (Savage,
2000)
[ddt
(xE)]E = CEI [xI − (w×)xI ] (6.3)
This involves user position, which can be one of the unknowns before the observa-
tions arrive. However, the equation works for satellite velocity as well, as follows:
[ddt
(vE)]E = CEI [vI − (w×)vI ] (6.4)
Satellite position and velocity in inertial frame are known from the ephemeris mes-
sages. Computing the unknowns in the Earth-referenced frame is then performed by
using the equation
D = ([ddt
(vE)]E− [ddt
(xE)]E)T vE−xE
‖ vE−xE ‖ (6.5)
128 6. System Integration using Speed Information
and observed range rates
pi = Di +cT +ni (6.6)
Substituting Equations 6.3 and 6.4 to Equation 6.5 shows that terms including(w×)will disappear, and thus the expression for range rate is equal in I- and E-frames.
If the unknown to be solved isxE instead of[ ddt (x
E)]E, the problem at hand is the
Doppler positioning problem.
6.2 Initial Solution
When a navigation unit is turned on, the position solution is not available immedi-
ately. The minimum TTFF of GPS in the general case is 30 seconds (e.g. Syrjarinne
(2001)). Satellite-specific data from at least 4 channels are needed to obtain position,
velocity and time (PVT) solution. If the receiver has 12 channels, the 30 s TTFF time
requires immediate tracking of 4 channels, and thus a list of visible satellites should
be known beforehand. If visible satellites are not known, the TTFF can take minutes.
For sensor systems, the velocity information can be available in five seconds, assum-
ing that there is an accurate 5-second window motion state algorithm, and the motion
state is walking or static. In the walking case, an autonomous velocity observation
in the E-Frame requires an accurate magnetic field measurement. The knowledge
of velocity reduces the observations needed for obtaining position, as the following
example shows.
For this example, it is assumed that the sensor system provides velocity in the E-
Frame before the satellite solution is available. In addition, the Earth rotation during
the signal travel is neglected to simplify the computations.
The Doppler observation relates the user position and velocity as shown in Equations
6.5 and 6.6. The derivative of user velocity is obtained from sensors. The remain-
ing unknowns are the user position and clock drift. If the receiver has obtained 3
pseudorange measurements, the solution curve as a function ofT is available. This
curve is in satellite-plane coordinates, but the transformation between the coordinate
frames is straightforward. The first term of Equation 6.5 is expressed withT as pa-
rameter. Next, by differentiating two Doppler observations, the common clock drift
6.2. Initial Solution 129
term disappears. Clock bias that agrees with the differentiated Doppler observations
then solves the user position, without altitude information. It seems that this solution
is unique, but the proof is left to further study.
6.2.1 Test Setup
An off-the-shelf GPS receiver was placed in a known position, with open sky con-
ditions, and kept static. The last position fix was obtained weeks before, and from a
different continent. Thus, the receiver had no a priori information of position or time.
The events from the receiver output were as follows:
Table 6.1.Events after the Cold StartEpoch Pseudoranges SV Data PVT
1 0 0 N/A42 1 0 N/A43 2 0 N/A48 3 0 N/A51 4 1 N/A57 4 3 N/A63 4 4 N/A82 5 5 OK...
277 8 8 OK
In Table 6.1, the first column is seconds from the start, the next column is the number
of pseudoranges. SV Data is the number of channels that have at least one GPS
subframe decoded. PVT is OK when the receiver outputs position, velocity and time.
The TTFF was 82 seconds.
At epoch 51, the receiver obtained subframe 3. All subframes include truncated
TOW-count (GPSSPS, 1995), and this is the first indication for the receiver of current
time. However, the week number is still unknown. More information of the current
time is obtained at epoch 69, when subframe 1 is decoded. This subframe includes
satellite clock correction parameters and the week number. After this point, at least
the receiver knows the lower bound for the current time.
At epoch 81, the receiver has all the subframes needed to compute satellite positions
130 6. System Integration using Speed Information
of four satellites. The receivers solution at epoch 82 is off from the true position 3
metres horizontally and 8 metres vertically. To study what would be possible to do
with three satellites only, the fourth satellite was not used in the following computa-
tions.
6.2.2 Three Satellites and Height Measurement
For this scenario, it was assumed that an external height measurement with accuracy
of ± 50 m is available. Using the parameterized 3-satellite solution2, a resulting
curve is plotted in Figure 6.2. There are two solutions, but the spacing between the
solutions is20 ms in time, and in addition, the satellites are not visible in the other
possible position. The curve is flat in the right side of the figure. At this point the
curve meets the satellite-plane and solutions are complex-valued. The solution closer
to zero-time is the true solution. The closeness of solutions with different satellite
scenarios was not studied, but clearly a good initial position estimate helps to avoid
selecting the wrong solution. If the reference pressure is available, it implies that
a good initial position estimate is also available. The reference station for pressure
should not be far away, otherwise the pressure information is not valid.
A closer look of at the curve near to the true position is plotted in Figure 6.3 (bias in
microseconds, and added by 1000 to get a better picture of the sensitivity). The two
horizontal lines are the assumed limits for the barometer error. Table 6.2 compares
the solution errors in the L-Frame when altitude errors of -50 m, 0 m and 50 m are
used. The error of receiver’s 4-satellite solution is included as well for comparison.
The difference between the 4-satellite solution and 3-satellite solution with accurate
altitude reference is quite small. Error in altitude projects directly to the altitude
solution, and horizontally the projection error is near one to one in this case. This
projection depends heavily on satellite geometry, and this can be visualized as in
Figure 4.6. Even though the observations are very different in nature, altitude aiding
is considered like an extra satellite observation. However, aiding source errors and
the possibility of a wrong solution need to be taken into account in the system design.
2 See Chapter 4
6.2. Initial Solution 131
Table 6.2.Position Errors and Estimated Clock BiasEast (m) North (m) Up (m) Clock Bias (µs)
ealt =−50m 1.7 45 -50 -1040.001ealt = 50m 9.3 -18 50 -1039.784ealt = 0 m 5.7 12.2 0 -1039.894RX 4-SVs 3.8 -1.0 7.8 -1039.887
−0.1 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.10
5
10
15
20
25
30
35
40
Time Bias (s)
Dis
tanc
e fr
om E
arth
Cen
tre
(100
0 km
)
Fig. 6.2. The Distance of the Parameterized Position (Solid Line) from Earth Centre. Position
Solution is Obtained from the Intersection of Altitude Estimate (Dashed Line) and
Parameterized Line
132 6. System Integration using Speed Information
−40.3 −40.2 −40.1 −40 −39.9 −39.8 −39.7 −39.6 −39.5−300
−200
−100
0
100
200H
eigh
t Err
or (
m)
Time Bias (us)
+ 50 m
− 50 m
Solution
Fig. 6.3. Clock Bias vs. Height Error
6.2.3 Three Satellites and Velocity Aiding
The system becomes underdetermined, if external altitude observation is removed
from the above example. In the cases where the sensor system can provide velocity,
the Doppler observations can be used as positional information. A scenario where
sensors are detecting that the receiver is static, and only three satellites are available
is detailed in this section. The data used is the same as in the previous example,
but Doppler observations are also included. The GPS Doppler positioning method
is extremely sensitive to observation errors (Lehtinen, 2001). The same applies to
the case where there are only three pseudoranges and three Doppler measurements
available.
Figure 6.4 shows the differentiated Dopplers obtained using Equation 6.5 and the
same clock bias parameterization as in the previous example. As there are three
Doppler observations, the system is redundant. In the figure the curves are obtained
by differentiatingp1, p2 (solid) andp2, p3 (dashed). The solution is at the point where
the difference is zero. In the previous case, there were two distant solutions, but in
6.2. Initial Solution 133
this case the solution is unambiguous3. However, as a closer look at the solution
curves shows (Figure 6.5), the sensitivity to errors is dramatic. First of all, the two
separate solutions are0.5 µsapart. In addition, both are at least1 µsapart from the
true solution. The sensitivity to observation errors is seen from the y-axis.1 cm/s
level errors have a large effect on the solution. Errors in user or satellite velocity have
the same level of effect. The solutions in the position domain are shown in Table 6.3.
The 4-satellite receiver solution is again included for reference.
Table 6.3.Position Errors and Estimated Clock Bias, No Altitude InformationEast (m) North (m) Up (m) Clock Bias (µs)
p1, p2 -28 300 -450 -1040.934p2, p3 -44 434 -656 -1041.424RX 4-SVs 3.8 -1.0 7.8 -1039.887
−0.1 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1−1500
−1000
−500
0
500
1000
Time Bias (s)
Diff
eren
tiate
d D
oppl
ers
(m/s
)
p1−p2
p2−p3
Fig. 6.4. Differentiated Dopplers
3 In the absence of noise
134 6. System Integration using Speed Information
−43.5 −43 −42.5 −42 −41.5 −41 −40.5 −40 −39.5
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
Time Bias (us)
Diff
eren
tiate
d D
oppl
ers
(m/s
)p1−p2
p2−p3
Fig. 6.5. Differentiated Dopplers, zoomed
6.2.4 Two Satellites with Velocity and Height Aiding
The fact that externally obtained user velocity and measurements from three satellites
are redundant brings up an interesting question. What could be done if one adds a
height constraint to the above equations? The difference of two pseudoranges define
a hyperboloid (Sirola et al., 2003), and the intersection of the Earth and that surface is
very close to a circle. The intersection of this circle and one Doppler difference based
on points on the circle provides a point solution. The feasibility of such method is
not studied in this thesis, but is left here as an example of how external velocity in-
formation can change the requirements of position solution computation. Sensitivity
to velocity errors is obviously very high, and needs to be studied carefully to avoid
navigation filter divergence. The two-satellite solution using Doppler differences is
mentioned in Soleimani and Xiangdong (2000). Wherein, the derivation of equations
is different; the parameterized system presented in Chapter 4 can be modified to the
two-satellite case quite straightforwardly.
In Chapter 4, a new coordinate frame with three satellites was constructed. In the
6.2. Initial Solution 135
two-satellite case, the Earth centre is taken as the third point to define a plane. Thus,
Equations 4.18 and 4.19 are still valid. Equation 4.20 must be modified. Firstly,
’Satellite 3’ is now the Earth centre, andC3 is a squared range from the Earth’s centre
to the user position. The solution using Equations 4.22, 4.23, 4.24 and 4.25 is valid,
but the different coordinate frame andC3 lead to different geometry. The solution is
now constrained to the Earth’s surface, as Figure 6.6 shows. This figure is generated
using the data set described in the previous section, with only two satellites. The
situation is very interesting from a filtering point of view, as this kind of informa-
tion cannot be propagated with minimum variance filters. On the other hand, using
a Bayes’ filter the a priori distribution for the next epoch is very complicated to ex-
press. Aiding from the Doppler measurements, even if very inaccurate, simplifies the
distribution model significantly.
By transforming the two satellite velocities to the new frame and differentiating the
Dopplers, two solutions for the user position are obtained (Figure 6.7). With the
exact distanceC3, the horizontal error of first solution is 550 metres. In this case, the
second solution is in a place where the two used satellites would not be visible. With
this geometry the relation between horizontal error and input altitude error is close
to 1 : 1, but the sensitivity to errors in Doppler measurement or satellite velocity are
extreme:0.1 m/serror leads to kilometre-level errors in horizontal position.
A simple test to verify if a satellite is visible from the obtained solution is given in
Sirola and Syrjarinne (2002). Letx be the solution4 to be tested, andvi a satellite
position vector, both in E-Frame. The satellite is visible, if
vTi x≥ xTx ∀ i. (6.7)
This is based on the properties of the dot product. If the satellite is in the local
horizon, the angle between the user position vector and the user-to-satellite vector is
a right angle, i.e.(−x+vi)Tx = 0. The dot product is negative if the satellite is below
the local horizon.
4 on Earth surface
136 6. System Integration using Speed Information
Fig. 6.6. Two-satellite curve
6.2. Initial Solution 137
Fig. 6.7. Two-satellite Solutions
It should be noted that the three- and two-satellite solutions herein are derived from
a geometric point of view to get a graphical presentation of the situation. In receiver
software, the computation of solutions with a full range of possible time biases would
be unnecessary. In addition, the Earth oblateness and Earth rotation during the signal
travel necessitates additional iterative steps for practical implementation. The above
solutions are not completely authentic representations of the true situations, as the
receiver actually had observations of four satellites. However, there is no major dif-
ferences between the situation where the receiver tracks only two or three satellites.
This was tested with a data set where two satellites were tracked before the receiver
TTFF, as detailed later in this chapter.
6.2.5 One Satellite Height Aiding
In the case of only one satellite tracked, the remaining information is the satellite
visibility. The accuracy of height aiding is not very relevant in this case. Setting zero
138 6. System Integration using Speed Information
elevation of a satellite as a limit simplifies the computations, as shown in the previous
chapter. In the limiting case, the triangle defined by user, satellite and Earth centre is
a right triangle. If this triangle is rotated alongv, the endpoint ofx draws a circle of
zero-elevation on Earth surface. The area of the surface can be computed using the
area ofspherical cap(MATHW),
Scap = 2πRh (6.8)
whereR is the radius of the sphere, defined by Earth radius.h can be solved using
the properties of a right triangle, as follows:
h = x− x2
v(6.9)
Using only the first satellite from the described test, one obtains the following num-
bers:
h = 4870km (6.10)
Scap = 195·106 km2 (6.11)Scap
SEarth= 0.38 (6.12)
This information is not completely useless as the solution search space can be re-
duced in both position and time domain. The minimum Time of Flight is obtained by
computingv−xc , and the maximum by
√v2−x2
c . The circle of zero elevation is plotted
in Figure 6.8.
6.3. Quality of Velocity Measurements 139
Fig. 6.8. Visibility Area of One Satellite
6.3 Quality of Velocity Measurements
The results obtained from two- and three-satellite algorithms are highly dependent
on the accuracy of velocity related observations. In this section an overview of the
performance of typical consumer-level receiver from this point of view is given.
To obtain an accurate estimate of the receiver velocity, the carrier tracking loop mea-
surements should be utilized. These measurements are orders of magnitude better
the differentiated delay lock loop measurements (Kaplan (Ed.), 1996). Using the
broadcast ephemeris, the satellite velocity error is ofmms level, and, in low dynamic
environments, receiver velocity of same level can be obtained, without a reference
station (Serrano et al., 2004). The fact remains that reported consumer grade receiver
velocity errors are typically at the100mm/s level and GPS velocity accuracy is re-
ported to be of this level (NAVSTAR, 1996). This difference between obtainable and
reported accuracy is remarkably high. One reason for this is that mm/s level is ob-
tainable under certain conditions (continuous tracking, good position estimate, etc.).
140 6. System Integration using Speed Information
In addition, it is assumed that the velocity can be meaningfully defined as the change
in position over two epochs. During high dynamics, often neither of these condi-
tions hold. In high dynamic environment the receiver cannot average measurements
for very long. This leads to an increase in noise. This is a very general trade-off,
reduction of uncorrelated noise leads to less tolerance for high dynamics.
In Figure 6.9, hypothetical receiver positions in the E-Frame over three epochs are
shown. Clearly, the velocity is not constant during the time between the epochs. De-
pending on the application, the velocity of interest can be the one defined in Equation
4.2, or instantaneous velocity. The former velocity is used to propagate the position
from epoch1 to 2, irrespective of what happens between the epochs. The latter is
used in the algorithms described in previous sections, the velocity of interest isdxdt
exactly at the current epoch. Clearly, these velocities are not equal. In navigation
system integration, it is very crucial to use the same frames of reference, but in ad-
dition the definitions of derivatives with respect to time are important. Especially, as
the obtained velocities are functions of time, and some latency or averaging due to
noise is always present.
If the receiver is static with respect to the Earth, the receiver still observes dynamics.
The ranges to the satellites are still changing. If the situation is viewed from the
I-Frame (ECI), the satellite velocity changes, the Earth rotates and both the satellite
and the receiver clocks are drifting. These contribute to differences in range between
epochs. In addition, there are accelerations present. However, dynamics are quite
low when compared to typical user motions such as in a braking car or in a trouser
pocket when walking. Thus, a relatively simple method to obtain high accuracy
velocity is available. Accurate estimate of instantaneous velocity can be obtained
by differentiating carrier phase5 over two epochs,φ2 ≈ φ3−φ12∆t (Serrano et al., 2004).
This method should provide a very accurate velocity estimate for the epoch2.
5 Integrated Doppler
6.3. Quality of Velocity Measurements 141
x 1
x 2
x 3
Fig. 6.9. Receiver Path and Positions at Three Epochs
In Petovello et al. (2003) it was found that velocities obtained from the tested consumer-
grade receiver have bias-like behavior. According to the authors, this bias is a result
of a relatively large receiver clock drift that need to be taken into account when com-
puting the velocity. This is confirmed in the next section. Similar bias was found
from the receiver used in the tests above. In Figure 6.10, this behavior is clearly vis-
ible. In this test, geodetic-grade and consumer-grade receivers were collecting data
simultaneously. The static test was performed in an open sky area, and both receivers
tracked the same satellites. E-Frame z-axis velocity obtained using differentiated
carrier-phases and the normal LS-velocity formula (Kaplan (Ed.), 1996) are plotted
in the figure. The geodetic-grade receiver velocities are at themms level. However, the
consumer-grade receiver velocities are clearly biased. This bias is due to the large
receiver clock drift. In Figures 6.11 and 6.12 the Doppler-based velocity and carrier-
phase differentiated velocity for both receivers are compared. The difference in the
bias levels in Figure 6.11 can be explained by the time shift due to a large averaging
period, a problem which is not present in the described carrier-phase differentiation
method6. The increase in noise level in Figure 6.12 can be explained by the length of
the averaging period. Shorter averaging increases the noise level, but enables better
dynamic response.
6 Averaging Doppler introduces a time lag that is not corrected in the computations. It should be
noted that in principle, there is no difference whether averaged Dopplers or carrier phase is used
142 6. System Integration using Speed Information
0 50 100 150 200 250 300−0.1
−0.08
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
Time (s)
LS−
Vel
ocity
E−
Fra
me
z−ax
is (
m/s
)Consumer−grade RXGeodetic−grade RX
Fig. 6.10. Comparison of LS-Velocity Accuracies
6.3. Quality of Velocity Measurements 143
0 50 100 150 200 250 300−0.1
−0.08
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
Time (s)
LS−
Vel
ocity
E−
Fra
me
z−ax
is (
m/s
)
DopplerCarrier Phase
Fig. 6.11.Comparison of Doppler and Carrier Phase Velocity Solutions, Consumer-grade
Receiver
144 6. System Integration using Speed Information
0 50 100 150 200 250 300−0.1
−0.08
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
Time (s)
LS−
Vel
ocity
E−
Fra
me
z−ax
is (
m/s
)DopplerCarrier Phase
Fig. 6.12.Comparison of Doppler and Carrier Phase Velocity Solutions, Geodetic-grade Re-
ceiver
The biases due to averaging affect the two- and three-satellite solutions described
in this Chapter. The bias due to large clock drift affects the RX velocity solution7. For a reference, the two-satellite solutions using the geodetic-grade receiver with
differentiated carrier phases are plotted in the Figure 6.13. It should be noted, that
for this case the satellite visibility criterion cannot remove the second solution. In
addition, a few solutions are out of the figure, with 10 km level error. This is probably
due to cycle slips. This figure shows how the errors that might seem small in the
velocity domain affect the Doppler-based position solution.
7 If not handled properly as described in the next section
6.3. Quality of Velocity Measurements 145
−150 −100 −50 0 50 100 150
−100
−50
0
50
100
East Error (m)
Nor
th E
rror
(m
)
Fig. 6.13. Two-satellite Solutions with Geodetic Grade Receiver
Finally, Figure 6.14 shows that after the proper handling of the biases, geodetic
grade receiver is not necessarily required for useful two-satellite solution. In this
test, consumer-grade receiver was truly tracking only two satellites, indoor8. The
receiver carrier to noise values were37 dBHzand30 dBHz. Due to the low power
of the second channel, the receiver got the ephemeris for that channel at the end of
the test. However, in this test case the ephemeris is used for all the data. When ne-
glecting the first position error of1000m, the sample 2DRMS is 60 metres for the 15
solutions obtained .
8 Light wooden building
146 6. System Integration using Speed Information
−80 −60 −40 −20 0 20 40
−60
−50
−40
−30
−20
−10
0
10
20
30
40
E−frame X Error (m)
E−
fram
e Y
Err
or (
m)
Fig. 6.14. Two-satellite Solutions, Indoor Data
6.3.1 Correction to a Large Receiver Clock Drift
It is often assumed that the receiver clock drift term in Doppler equations is indepen-
dent of the incoming frequency. This is not always a valid assumption, especially if
the receiver clock drift is large. The Doppler shift is (sign convention can vary)
∆ f = fT − fR (6.13)
wherefT is transmitted frequency (Hz) andfR is received frequency. The relationship
between the true and measured received signal frequency is given by (Lachapelle,
2003)
fR = fRM(1+ T) (6.14)
where fR is the true received frequency (Hz),fRM is the measured received frequency
andT is the receiver clock drift rate in seconds per second. A receiver outputs the
Doppler measurement as
6.3. Quality of Velocity Measurements 147
fout = fT − fRM (6.15)
where fT is the known transmit frequency. The velocity information is in∆ f , and
combining Equations 6.14 and 6.15 yields
fout = fT − fT −∆ f
1+ T(6.16)
The desired form is∆ f +kT, wherek is independent of the received frequency. This
is required by the used LS velocity equations. IfT is very small, the following
condition is satisfied:
fout ≈ fT − ( fT −∆ f )(1− T)≈ fT T +∆ f (6.17)
The last approximation neglected the term−∆ f T. If the clock drift is large, this term
causes a bias to the velocity solution, as it is different for each satellite. However, the
nominal value for the clock drift is usually specified by the manufacturer9, and thus
Equation 6.16 can be scaled by(1+ Tnom)
fout(1+ Tnom)≈ fT(1+ T)− fT +∆ f = fT T +∆ f (6.18)
which is in the desired form. A similar correction must be applied if carrier phases
are differentiated. From this viewpoint the correction arises from the fact that in the
equation
φ2 ≈ φ3−φ1
2∆T(6.19)
the ∆T is one second according to the receiver clock, but actually the delta time is
1/(1+ T). The receiver clock(ARX) reading at true timet is
ARX(t) = b+ tT + t (6.20)
whereb is the receiver clock bias att = 0. The receiver second is then9 or can be solved iteratively
148 6. System Integration using Speed Information
ARX(t2)−ARX(t1) = 1 =⇒ (6.21)
t2− t1 =1
1+ T(6.22)
that is,1/(1+ T) true seconds.
The effect of the correction is shown in Figure 6.15, where the corrected solution
is compared with the data shown in Figure 6.11. The sample standard deviation is
3 cm/s for all the cases, but the sample mean drops down significantly, from6 cm/s
and3 cm/s to 0.2 cm/s.
0 50 100 150 200 250 300 350 400
−0.1
−0.05
0
0.05
0.1
0.15
0.2
Time (s)
LS−
Vel
ocity
E−
Fra
me
z−ax
is (
m/s
)
DopplerCarrier PhaseCorrected
Fig. 6.15.Comparison of Velocity Solutions: Doppler, Carrier Phase and Carrier Phase with
Correction for a Consumer-grade Receiver.
7. CONCLUSIONS
In the area of personal navigation, the requirements for the system performance can
vary significantly. For most of the applications, the accuracy of positions is the key
parameter. For some applications, the velocity or traveled distance is more interest-
ing. In addition, some users require 100 % availability, even if this leads to reduced
accuracy. This variety of individual requirements necessitates the use of integrated
systems in the future. A stand-alone GPS receiver has a very limited observability
from the context-awareness point of view. After all, the same message is broadcast
to all the users, and the only individual differences are the phase, frequency and the
strength of the signals. Self-contained sensors play a significant role when system
requirements include the capability to adapt to the changing navigation situation.
However, increasing the number of system components increases the complexity of
the system. Thus, understanding the underlying principles of each sub-system is es-
sential for successful system integration. One important part in this is to locate the
weak points of each sub-system. In this thesis, many weak points of self-contained
sensor systems are introduced. This should not lead to conclusion that sensors can-
not solve radionavigation problems. A good way to continue is to acknowledge the
weaknesses and exploit the strengths discussed in this thesis.
The original motivation for this study was to increase the availability of position fixes
via sensor integration, especially in the indoor environment. This was found to be an
extremely difficult task. In the absence of radionavigation signals, the initial posi-
tion is still required, and errors grow with respect to time or with respect to traveled
distance, significantly in most cases. If there is a reduced set of available satellite
signals, the situation is somewhat different. Sensors can be used to project previ-
ous observations to the current epoch, or even act as extra satellites in some cases.
However, the sensors cannot provide absolute 3D-position autonomously. The fun-
damental positioning accuracy limits are defined by the absolute positioning system.
On the other hand, a PDR system can count steps without the absolute system. Orien-
150 7. Conclusions
tation, especially for the locally level plane, is measured very accurately with sensors.
The user motion can be identified with relatively good accuracy. The availability of
this information is not restricted by the local surroundings. In conclusion, examples
of sensor-based solutions that relate to this study are given as follows:
• Inserting the position information into a photograph or a video clip is a well-
known application of GPS. The addition of sensors brings the orientation in-
formation available as well. The direction of north, angular increments or the
level plane can be added to this information tag as well. For example, a mod-
ern version of sextant can be implemented this way. The calibration methods
introduced in Chapter 3 are very valuable to make this information accurate.
• Sensor system can collect information for a personal workout program. Daily
activities can be recognized and gathered together with other related informa-
tion. This is good for medical monitoring of patients for example. Herein,
the role of GPS is that of a timing aid that requires a low update frequency.
In this kind of application, the availability of measurements is important. For
example, if the step count is of interest the GPS-based measurements are not
optimal for this purpose. The PDR mechanization reviewed in Chapter 4 and
a motion state recognition system described in Chapter 5 provide a framework
for this kind of system design.
• Probably the most relevant recognition that the sensors can enable is the de-
tection of a static unit versus a moving unit. During static periods, position
updates are not necessarily needed. This reduces the power consumption of
the unit. In addition, as the velocity with respect to the E-Frame is completely
known, the position solutions with a reduced set of satellites become available,
as discussed in Chapter 6.
7.1 Recommendations
The possibilities to improve accuracy and availability of radionavigation system are
very limited with present-day sensor systems. The requirements for price and weight
of the systems are very strict, and some physical limitations cannot be bypassed. It
remains to be seen how these different technologies evolve, but to some extent inte-
gration is always needed. A good goal for the technologies is a ’seamless navigator’
7.1. Recommendations 151
concept. This navigation unit would work with similar performance level irrespective
of the environment or the situation. That is, the availability of the navigational infor-
mation should be 100 %, and the accuracy should be stated in the operation manual,
not as a constantly changing value on the screen. In addition, this accuracy level
should agree with the user’s expectations. The author’s opinion is that this happens
only if the error distribution is very close to a Gaussian distribution. These goals
should be kept in mind in the system design.
152 7. Conclusions
Appendix A
PROPERTIES OF NORMAL DISTRIBUTION
The random variablen has a p-dimensional normal distribution if its density function
is of the form (Kaleva, 2005)
ρn(q) =1√|2πΣ|exp[−(q−µ)TΣ−1(q−µ)
2], (7.1)
whereµ is p×1 vector andΣ is symmetric and positive definitep× p matrix. Then,
E[n] = µandV[n] = Σ. If V[n] is not positive definite1, butaTn is normally distributed
for all constantp×1 vectorsa, n has a singular normal distribution (Kaleva, 2005).
The following list is a collection of theorems and definitions related to the normal
distribution, collected from (Fisz, 1980). All of these are closely related to statistical
filtering in navigation.
• The arithmetic mean ofp independent random variables with the same, al-
though arbitrary, distribution has, for largep, an asymptotically normal distri-
bution. The only assumption for the variables’ distribution is that the moment
of second order exists. This gives a justification for using normal distribution
in describing many physical phenomena.
• If independent random variablesx andy have the distributionN (µ1,σ21) and
N (µ2,σ22), respectively, the random variable z=x+y has the distributionN (µ1+
µ2,σ21 +σ2
2).
• If two random variables with joint normal distribution are uncorrelated, they
are independent.
1 But positive semidefinite
154
• Every marginal distribution of a random vector with the normal distribution is
normal.
• If random variablesxk (x1,x2, . . . ,xp) are independent and everyxk has the
distributionN (µk,1), then the random variable
y =p
∑k=1
x2k (7.2)
has noncentral chi-squared distribution,y ∼ χ2(p,θ), wherep is the degrees
of freedom andθ = ∑pk=1µk is the non-centrality parameter.
• Estimation of the variance of noise during calibration:let xk (x1,x2, . . . ,xp)be samples of population that has the normal distributionN (µ,σ2), where the
variance is unknown. The estimate of variance
σ2 =1p
p
∑k=1
(xk−µ)2 (7.3)
is the most efficient estimate.
• Estimation of signal corrupted by additive noise: Assume that in the distribu-
tion of the previous exampleσ2 is known, butµ is unknown. Then the estimate
of µ
µ=1n
p
∑k=1
xk (7.4)
is the most efficient estimate.
• When bothµ andσ2 are unknown, theµ in the Equation 7.3 must be replaced
with µ, and the denominator withp−1. Then, if one takes a series of indepen-
dent samples from a normal population and divides these samples into groups
so that all the samples for which the values ofσ close to another belong to one
group, then the distribution of the values ofµ will be approximately the same
for every group. That is, estimated variances cannot be used for classifying the
data as ’good’ or ’bad’ samples. The converse theorem is also true, ifσ2 andµ
are independent, the random variablesxk have the normal distribution (Lukacs,
1955).
BIBLIOGRAPHY
ADXRS150. Analog Devices ADXRS150 angular rate sensor data sheet. URL
www.analog.com .
K. Alanen and J. Kappi. Enhanced assisted barometric altimeter A-GPS hybrid using
the internet. InProc. ION GPS 2005. The Institute of Navigation, 2005.
S. Alper and T. Akin. A single-crystal silicon symmetrical and decoupled MEMS
gyroscope on an insulating substrate.IEEE Journal of Microelectromechanical
Systems, 14(4):707–717, 2005.
K. Aminian and B. Najafi. Capturing human motion using body-fixed sensors: out-
door measurement and clinical applications.Journal of Visualization and Com-
puter Animation, 15(2):79–94, 2004.
S. Bancroft. An algebraic solution of the GPS equations.IEEE Transactions on
Aerospace and Electronic Systems, 21(7):56–59, Jan. 1985.
L. Bao and S. Intille. Activity recognition from user-annotated acceleration data. In
A. Ferscha and F. Mattern, editors,Proc. PERVASIVE 2004, LNCS 3001, pages
1–17. Springer-Verlag, 2004.
V. Barnett and T. Lewis.Outliers in Statistical Data. John Wiley and Sons, Inc., New
York, 1978.
K. Brodie, D. Tuck, and M. Chansarkar. Navigation processing for a satellite posi-
tioning system receiver, US Patent US6665612, 2001.
R. G. Brown and P. Y. C. Hwang.Introduction to Random Signals and Applied
Kalman Filtering. John Wiley and Sons, Inc., New York, 3rd edition, 1997.
M. Caruso. Applications of magnetic sensors for low cost com-
pass systems. Honeywell SSEC Application Note. URL
http://www.ssec.honeywell.com/magnetic/datasheets/ .
156 BIBLIOGRAPHY
M. Caruso and C. Smith. A new perspective on magnetic
field sensing. Honeywell SSEC Application Note. URL
http://www.ssec.honeywell.com/magnetic/datasheets/ .
C. Curio, J. Edelbrunner, T. Kalinke, C. Tzomakas, and W. Seelen. Walking pedes-
trian recognition. IEEE Trans. on Intelligent Transportation Systems, 1(3):155–
163, Sept. 2000.
E112. Enhanced 112, location of cellular users for emergency services, project page.
URL http://www.telematica.de/html/locus1.html .
E911. Enhanced 911. URLhttp://www.fcc.gov/911/enhanced/ .
A. Einstein.The Meaning of Relativity. Methuen & Co. Ltd., 5th edition, 1951.
B. Fang. Trilateration and extension to global positioning system navigation.Journal
of Guidance, Control and Dynamics, 9(6):715–717, 1986.
FCC. Federal Communications Commision, USA, OET BULLETIN no. 71, Guide-
lines for testing and verifying the accuracy of wireless E911 location systems,
April 2000. URLhttp://www.fcc.gov/ .
M. Fisz. Probability Theory and Mathematical Statistics. Robert E. Krieger Publish-
ing Company, 1980.
FMI. Finnish Meteorological Institute. URLhttp://www.fmi.fi/ .
K. Fyfe, J. Rooney, and K. Fyfe. Motion analysis system, US Patent US6513381,
2001.
A. Gelb. Applied Optimal Estimation. The M.I.T. Press, Cambridge, Massachusetts,
and London, England, 1974.
GPSSPS. GPS SPS signal specification, 1995. URL
http://www.navcen.uscg.gov/pubs/gps/sigspec/ .
HMR2300r. Three-axis strapdown magnetometer HMR2300r. Honeywell Datasheet.
ICD. GPS interface control document, IRN-200C-004, April 2000. URL
http://www.navcen.uscg.gov/pubs/gps/icd200/icd200cw1234.pdf . US
Coast Guard.
BIBLIOGRAPHY 157
IEEE. IEEE standard for inertial sensor terminology, 2001.
R. Jirawimut, P. Ptasinski, V. Garaj, F. Cecelja, and W. Balachandran. A method for
dead reckoning parameter correction in pedestrian navigation system.IEEE Trans.
on Instrumentation and Measurement, 52(1):209–215, Feb. 2003.
O. Kaleva. Tilastolliset monimuuttujamenetelmat. Lecture Notes, Tampere Univer-
sity of Technology, 2005.
R. E. Kalman. A new approach to linear filtering and prediction problems.Transac-
tions of the ASME - Journal of Basic Engineering, 82:35–45, 1960.
E. D. Kaplan (Ed.).Understanding GPS: Principles And Applications. Artech House,
Inc., Boston, London, 1996.
J. Kappi. Modelling and analysis of inertial sensors. MSc thesis, Tampere University
of Technology, Tampere, Finland, 2001.
J. Kappi and K. Alanen. Pressure altitude enhanced AGNSS hybrid receiver for a
mobile terminal. InProc. ION GPS 2005. The Institute of Navigation, 2005.
E. Krakiwsky.The Method of Least Squares: A Synthesis of Advances. University of
Calgary, UCGE Report Number 10003, 1990.
H. Kuusniemi. User-Level Realiability and Quality Monitoring in Satellite-Based
Personal Navigation. PhD thesis, Tampere University of Technology, 2005.
G. Lachapelle. Hydrography. Lecture Notes, University of Calgary, 2000.
G. Lachapelle. Advanced GPS theory and applications. ENGO 625 Lecture Notes,
University of Calgary, 2003.
Q. Ladetto. On foot navigation: Continuous step calibration using both complimen-
tary recursive prediction and adaptive kalman filtering. InProc. ION GPS 2000,
pages 1735–1740, Anaheim, CA, Jan. 2000. Institute of Navigation.
Q. Ladetto, V. Gabaglio, and B. Merminod. Two different approaches for augmented
GPS pedestrian navigation. InProceedings of the International Symposium on
Location Based Services for Cellular Users, Locellus 2001, 2001.
158 BIBLIOGRAPHY
Q. Ladetto and B. Merminod. Digital magnetic compass and gyroscope integration
for pedestrian navigation. InProc. 9th Saint Petersburg International Conference
on Integrated Navigation Systems, Saint Peterspurg, Russia, May 2002.
E. Lehmann.Testing Statistical Hypotheses. Springer, 2002.
A. Lehtinen. Doppler positioning with GPS. Master’s thesis, Tampere University of
Technology, 2001.
R. Levi and T. Judd. Dead reckoning navigation system using accelerometer to mea-
sure foot impacts, US patent US5583776, 1999.
E. Lukacs. Applications of Faa di Bruno’s fromula in mathematical statistics.The
American Mathematical Monthly, 62(5):340–348, 1955.
G. MacGougan. High sensitivity GPS performance analysis in degraded signal envi-
ronments. MSc thesis, Department of Geomatics Engineering, The University of
Calgary, Calgary, Canada, 2003.
E. Marinari, G. Parisi, D. Ruelle, and P. Windey. Random walk in a random environ-
ment and 1/f noise.Physical Review Letters, 50(17):1223–1225, April 1983.
MATHW. Mathworld web encyclopedia. URLhttp://mathworld.wolfram.com/ .
P. Maybeck. Stochastic Models, Estimation, and Control, volume 1-3. Academic
Press, Inc, 1979.
O. Mezentsev. Self-contained sensor aided kinematic HSGPS positioning algorithm.
In Proc. ION GPS 2004. The Institute of Navigation, 2004.
O. Mezentsev.Sensor Aiding of HSGPS Pedestrian Navigation. PhD thesis, De-
partment of Geomatics Engineering, The University of Calgary, Calgary, Canada,
2005.
A. Mohamed and K. Schwarz. Adaptive kalman filtering for INS/GPS.Journal of
Geodesy, pages 193–203, 1999.
MPXA6115A. Motorola MPXA6115A silicon pressure sensor data sheet.
NAVSTAR. NAVSTAR GPS user equipment introduction, 1996.
BIBLIOGRAPHY 159
NEXUS. Market analysis for mems and microsystems III, 2005-2009. Technical
report, NEXUS, 2006. URLhttp://www.nexus-mems.com/ .
NGDC. NGDC geomagnetic models and software, 2005. URL
http://www.ngdc.noaa.gov/seg/geomag/ .
NGO. Nurmijarvi Geophysical Observatory, October 2005. URL
http://www.ava.fmi.fi/MAGN/nurxyz.html .
M. Petovello. Real-Time Integration of a Tactical-Grade IMU and GPS for High-
Accuracy Positioning and Navigation. PhD thesis, Department of Geomatics En-
gineering, The University of Calgary, Calgary, Canada, 2003.
M. Petovello, O. Mezentsev, G. Lachapelle, and M. Cannon. High sensitivity GPS
velocity updates for personal indoor navigation using inertial navigation systems.
In Proc. ION GPS 2003, pages 2886–2896, Portland, OR, Sept. 2003. The Institute
of Navigation.
P. Savage. Strapdown inertial navigation integration algorithm design.Journal of
Guidance, Control and Dynamics, 21(1-2), 1998.
P. Savage.Introduction to Strapdown Inertial Navigation Systems. Strapdown Asso-
ciates, Inc., 10 edition, 1999.
P. Savage.Strapdown Analytics, volume 1. Strapdown Associates, Inc., 2000.
M. Sekine, M. Ogawa, T. Togawa, and Y. Fukui. Classification of acceleration wave-
form in a continuous walking record. InProc. of the 20th Conference of the IEEE
Engineering in Medicine and Biology Society, volume 20, pages 1523–1526, 1998.
L. Serrano, D. Kim, R. B. Langley, K. Itani, and M. Ueno. A GPS velocity sensor:
How accurate can it be? - a first look. InProc. ION NTM 2004, pages 875–885,
2004.
E. Shin. Estimation Techniques for Low-Cost Inertial Navigation. PhD thesis, De-
partment of Geomatics Engineering, University of Calgary, Calgary, Canada, 2005.
N. Sirola, R. Piche, and J. Syrjarinne. Closed-form solutions for hybrid cellular/GPS
positioning. InProc. ION GPS 2003, 2003.
160 BIBLIOGRAPHY
N. Sirola and J. Syrjarinne. GPS position can be computed without navigation data.
In Proc. ION GPS 2002, pages 1613–1619, 2002.
M. Soleimani and L. Xiangdong. Method and system of determining user terminal
position using multiple satellites, US Patent US6317077, 2000.
S. Sukkarieh.Low Cost, High Integrity, Aided Inertial Navigation Systems for Au-
tonomous Land Vehicles. PhD thesis, Department of Mechanical and Mechatronic
Engineering, The University of Sydney, Sydney, Australia, 2000.
J. Syrjarinne. Studies of Modern Techniques for Personal Positioning. PhD thesis,
Tampere University of Technology, Tampere, Finland, 2001.
G. Uhlenbeck and L. Ornstein. On the theory of the brownian motion.Physical
Review, 36:823–841, September 1930.
A. Viterbi. Error bounds for convolutional codes and an asymptotically optimum
decoding algorithm.IEEE Transactions on Information Theory, 13(2):260–269,
1967.
VPNM. Vectronix pedestrian navigation module. URLhttp://www.vectonix.ch .
G. Wahba. A least squares estimate of satelllite attitude, problem 65-1.SIAM Review,
8(3):384–386, July 1966. URLhttp://www.jstor.org/ .
A. Webb. Statistical Pattern Recognition. John Wiley & Sons, LTD, 2nd edition,
2002.
WEBS. Merriam-Webster Unabridged Dictionary. URL
http://www.webster.com .
G. Welch and G. Bishop. An introduction to the kalman filter, 2002. URL
http://www.cs.unc.edu/ welch/kalman/ .
XSENS. Xsens Inertial Motion Sensor System MT9. URL
http://www.xsens.com/ .
S. Young, N. Russel, and J. Thornron. Token passing: a simple
conceptual model for connceted speech recognition systems. Techni-
cal report, Cambridge University Engineering Department, 1989. URL
ftp://svr-ftp.eng.cam.ac.uk/reports/ .
������������� ����� �����������������������
������������������������ ����� �!�"���#$%&������������'#�� ��(