Investigations of Self-Contained Sensors for Personal Navigation

188

Transcript of Investigations of Self-Contained Sensors for Personal Navigation

Page 1: Investigations of Self-Contained Sensors for Personal Navigation

���������������� ����������

�����������

��������������� ������������ ����������������������

�� ��������

Page 2: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 3: Investigations of Self-Contained Sensors for Personal Navigation

ISBN 952-15-1657-7 (printed) ISBN 952-15-1834-0 (PDF) ISSN 1459-2045

Page 4: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 5: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 6: Investigations of Self-Contained Sensors for Personal Navigation

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-

Page 7: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 8: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 9: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 10: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 11: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 12: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 13: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 14: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 15: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 16: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 17: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 18: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 19: Investigations of Self-Contained Sensors for Personal Navigation

xvi List of Tables

Page 20: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 21: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 22: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 23: Investigations of Self-Contained Sensors for Personal Navigation
Page 24: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 25: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 26: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 27: Investigations of Self-Contained Sensors for Personal Navigation
Page 28: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 29: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 30: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 31: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 32: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 33: Investigations of Self-Contained Sensors for Personal Navigation

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,

Page 34: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 35: Investigations of Self-Contained Sensors for Personal Navigation

8 1. Introduction

Page 36: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 37: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 38: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 39: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 40: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 41: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 42: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 43: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 44: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 45: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 46: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 47: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 48: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 49: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 50: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 51: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 52: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 53: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 54: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 55: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 56: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 57: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 58: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 59: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 60: Investigations of Self-Contained Sensors for Personal Navigation

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:

Page 61: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 62: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 63: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 64: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 65: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 66: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 67: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 68: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 69: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 70: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 71: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 72: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 73: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 74: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 75: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 76: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 77: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 78: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 79: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 80: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 81: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 82: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 83: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 84: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 85: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 86: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 87: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 88: Investigations of Self-Contained Sensors for Personal Navigation

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√

∼N (w√

, 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,

Page 89: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 90: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 91: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 92: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 93: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 94: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 95: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 96: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 97: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 98: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 99: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 100: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 101: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 102: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 103: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 104: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 105: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 106: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 107: Investigations of Self-Contained Sensors for Personal Navigation

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:

Page 108: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 109: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 110: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 111: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 112: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 113: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 114: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 115: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 116: Investigations of Self-Contained Sensors for Personal Navigation

4.5. System Integration Strategies 89

Fig. 4.7. Curve obtained from a 3-satellite Observation Set, Zoomed Close to the Earth

Page 117: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 118: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 119: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 120: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 121: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 122: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 123: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 124: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 125: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 126: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 127: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 128: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 129: Investigations of Self-Contained Sensors for Personal Navigation

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-

Page 130: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 131: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 132: Investigations of Self-Contained Sensors for Personal Navigation

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:

Page 133: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 134: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 135: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 136: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 137: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 138: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 139: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 140: Investigations of Self-Contained Sensors for Personal Navigation

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:

Page 141: Investigations of Self-Contained Sensors for Personal Navigation

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:

Page 142: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 143: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 144: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 145: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 146: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 147: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 148: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 149: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 150: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 151: Investigations of Self-Contained Sensors for Personal Navigation

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 %

Page 152: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 153: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 154: Investigations of Self-Contained Sensors for Personal Navigation

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)

Page 155: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 156: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 157: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 158: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 159: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 160: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 161: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 162: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 163: Investigations of Self-Contained Sensors for Personal Navigation

136 6. System Integration using Speed Information

Fig. 6.6. Two-satellite curve

Page 164: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 165: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 166: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 167: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 168: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 169: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 170: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 171: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 172: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 173: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 174: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 175: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 176: Investigations of Self-Contained Sensors for Personal Navigation

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-

Page 177: Investigations of Self-Contained Sensors for Personal Navigation

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’

Page 178: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 179: Investigations of Self-Contained Sensors for Personal Navigation

152 7. Conclusions

Page 180: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 181: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 182: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 183: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 184: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 185: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 186: Investigations of Self-Contained Sensors for Personal Navigation

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.

Page 187: Investigations of Self-Contained Sensors for Personal Navigation

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

Page 188: Investigations of Self-Contained Sensors for Personal Navigation

������������� ����� �����������������������

������������������������ ����� �!�"���#$%&������������'#�� ��(