Aided Navigation : GPS With High Rate...

553

Transcript of Aided Navigation : GPS With High Rate...

Page 1: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS
Page 2: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

AIDED NAVIGATIONGPS with High Rate Sensors

Page 3: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

About the AuthorJay A. Farrell received B.S. degrees (1986) in physicsand electrical engineering from Iowa State University,and M.S. (1988) and Ph.D. (1989) degrees in electricalengineering from the University of Notre Dame. AtCharles Stark Draper Lab (1989–1994), he was principalinvestigator on projects involving intelligent and learn-ing control systems for autonomous vehicles. Dr. Farrellreceived the Engineering Vice President’s Best Techni-cal Publication Award in 1990, and Recognition Awardsfor Outstanding Performance and Achievement in 1991and 1993. He is a Professor and former Chair of theDepartment of Electrical Engineering at the Universityof California, Riverside. He has served as Vice Presi-dent of Finance and Vice President of Technical Activ-ities for the IEEE Control Systems Society. He is a Fel-low of the IEEE (2008) and author of over 150 technicalpublications. He is author of the book Aided Navigation:GPS with High Rate Sensors (McGraw-Hill, 2008). He isalso co-author of the books The Global Positioning Systemand Inertial Navigation (McGraw-Hill, 1998) and Adap-tive Approximation Based Control: Unifying Neural, Fuzzyand Traditional Adaptive Approximation Approaches (JohnWiley, 2006).

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 4: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

AIDED NAVIGATIONGPS with High Rate Sensors

Jay A. Farrell

New York Chicago San FranciscoLisbon London Madrid Mexico City

Milan New Delhi San JuanSeoul Singapore Sydney Toronto

Page 5: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Copyright © 2008 by The McGraw-Hill Companies. All rights reserved. Manufactured in the UnitedStates of America. Except as permitted under the United States Copyright Act of 1976, no part of thispublication may be reproduced or distributed in any form or by any means, or stored in a database orretrieval system, without the prior written permission of the publisher.

0-07-164266-8

The material in this eBook also appears in the print version of this title: 0-07-149329-8.

All trademarks are trademarks of their respective owners. Rather than put a trademark symbol afterevery occurrence of a trademarked name, we use names in an editorial fashion only, and to the benefit of the trademark owner, with no intention of infringement of the trademark. Where such designations appear in this book, they have been printed with initial caps.

McGraw-Hill eBooks are available at special quantity discounts to use as premiums and sales promotions, or for use in corporate training programs. For more information, please contact GeorgeHoare, Special Sales, at [email protected] or (212) 904-4069.

TERMS OF USE

This is a copyrighted work and The McGraw-Hill Companies, Inc. (“McGraw-Hill”) and its licensors reserve all rights in and to the work. Use of this work is subject to these terms. Except aspermitted under the Copyright Act of 1976 and the right to store and retrieve one copy of the work,you may not decompile, disassemble, reverse engineer, reproduce, modify, create derivative worksbased upon, transmit, distribute, disseminate, sell, publish or sublicense the work or any part of it without McGraw-Hill’s prior consent. You may use the work for your own noncommercial and personal use; any other use of the work is strictly prohibited. Your right to use the work may be terminated if you fail to comply with these terms.

THE WORK IS PROVIDED “AS IS.” McGRAW-HILL AND ITS LICENSORS MAKE NO GUAR-ANTEES OR WARRANTIES AS TO THE ACCURACY, ADEQUACY OR COMPLETENESS OFOR RESULTS TO BE OBTAINED FROM USING THE WORK, INCLUDING ANY INFORMA-TION THAT CAN BE ACCESSED THROUGH THE WORK VIA HYPERLINK OR OTHERWISE,AND EXPRESSLY DISCLAIM ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUTNOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR APARTICULAR PURPOSE. McGraw-Hill and its licensors do not warrant or guarantee that the functions contained in the work will meet your requirements or that its operation will be uninterrupted or error free. Neither McGraw-Hill nor its licensors shall be liable to you or anyone elsefor any inaccuracy, error or omission, regardless of cause, in the work or for any damages resultingthere from. McGraw-Hill has no responsibility for the content of any information accessed throughthe work. Under no circumstances shall McGraw-Hill and/or its licensors be liable for any indirect,incidental, special, punitive, consequential or similar damages that result from the use of or inabilityto use the work, even if any of them has been advised of the possibility of such damages. This limita-tion of liability shall apply to any claim or cause whatsoever whether such claim or cause arises in contract, tort or otherwise.

DOI: 10.1036/0071493298

Page 6: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

To my students and colleagues, without whomthis book would not have been possible.

Page 7: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 8: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Contents

I Theory 1

Part I Overview 3

1 Introduction 51.1 Method Overview . . . . . . . . . . . . . . . . . . . . . . . . 7

1.1.1 Methodology Example . . . . . . . . . . . . . . . . . 81.1.2 Methodology Summary . . . . . . . . . . . . . . . . 10

1.2 Overview of Part I: Theory . . . . . . . . . . . . . . . . . . 121.2.1 Reference Frames . . . . . . . . . . . . . . . . . . . . 121.2.2 Deterministic Systems . . . . . . . . . . . . . . . . . 131.2.3 Stochastic Processes . . . . . . . . . . . . . . . . . . 131.2.4 Optimal State Estimation . . . . . . . . . . . . . . . 141.2.5 Performance Analysis . . . . . . . . . . . . . . . . . 151.2.6 Aided Navigation System Design and Analysis . . . 15

1.3 Overview of Part II: Applications . . . . . . . . . . . . . . . 161.3.1 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.2 Aided Navigation Systems . . . . . . . . . . . . . . . 16

1.4 Overview of Appendices . . . . . . . . . . . . . . . . . . . . 17

2 Reference Frames 192.1 Reference Frame Properties . . . . . . . . . . . . . . . . . . 212.2 Reference Frame Definitions . . . . . . . . . . . . . . . . . . 23

2.2.1 Inertial Frame . . . . . . . . . . . . . . . . . . . . . 232.2.2 Earth Centered Earth Fixed (ECEF) Frames . . . . 242.2.3 Geographic Frame . . . . . . . . . . . . . . . . . . . 242.2.4 Geocentric Frame . . . . . . . . . . . . . . . . . . . . 242.2.5 Local Geodetic or Tangent Plane . . . . . . . . . . . 252.2.6 Body Frame . . . . . . . . . . . . . . . . . . . . . . . 262.2.7 Platform Frame . . . . . . . . . . . . . . . . . . . . . 272.2.8 Instrument Frames . . . . . . . . . . . . . . . . . . . 272.2.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . 27

2.3 ECEF Coordinate Systems . . . . . . . . . . . . . . . . . . 28

vii

For more information about this title, click here

Page 9: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

viii CONTENTS

2.3.1 ECEF Rectangular Coordinates . . . . . . . . . . . . 292.3.2 The Earth Geoid and Gravity Model . . . . . . . . . 292.3.3 ECEF Transformations . . . . . . . . . . . . . . . . 33

2.4 Reference Frame Transformations . . . . . . . . . . . . . . . 352.4.1 The Direction Cosine Matrix . . . . . . . . . . . . . 352.4.2 Point Transformation . . . . . . . . . . . . . . . . . 392.4.3 Vector Transformation . . . . . . . . . . . . . . . . . 392.4.4 Matrix Transformation . . . . . . . . . . . . . . . . . 40

2.5 Specific Vector Transformations . . . . . . . . . . . . . . . . 412.5.1 Plane Rotations . . . . . . . . . . . . . . . . . . . . 412.5.2 Transformation: ECEF to Tangent Plane . . . . . . 422.5.3 Transformation: ECEF to Geographic . . . . . . . . 442.5.4 Transformation: Vehicle to Navigation Frame . . . . 462.5.5 Transformation: Orthogonal Small Angle . . . . . . 50

2.6 Rotating Reference Frames . . . . . . . . . . . . . . . . . . 512.6.1 Direction Cosine Kinematics . . . . . . . . . . . . . 512.6.2 Derivative Calculations in Rotation Frames . . . . . 53

2.7 Calculation of the Direction Cosine . . . . . . . . . . . . . . 542.7.1 Direction Cosine Derivatives . . . . . . . . . . . . . 552.7.2 Euler Angle Derivatives . . . . . . . . . . . . . . . . 56

2.8 References and Further Reading . . . . . . . . . . . . . . . . 582.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3 Deterministic Systems 633.1 Continuous-Time Systems Models . . . . . . . . . . . . . . 63

3.1.1 Ordinary Differential Equations . . . . . . . . . . . . 643.1.2 Transfer Functions . . . . . . . . . . . . . . . . . . . 653.1.3 State Space . . . . . . . . . . . . . . . . . . . . . . . 66

3.2 State Augmentation . . . . . . . . . . . . . . . . . . . . . . 693.3 State Space Linearization . . . . . . . . . . . . . . . . . . . 723.4 Discrete-Time State Space Notation . . . . . . . . . . . . . 743.5 State Space Analysis . . . . . . . . . . . . . . . . . . . . . . 74

3.5.1 Similarity Transformation . . . . . . . . . . . . . . . 753.5.2 State Space to Transfer Function . . . . . . . . . . . 763.5.3 State Transition Matrix Properties . . . . . . . . . . 793.5.4 Linear Time-Invariant Systems . . . . . . . . . . . . 803.5.5 Discrete-Time Equivalent Models . . . . . . . . . . . 81

3.6 State Estimation . . . . . . . . . . . . . . . . . . . . . . . . 823.6.1 Observability . . . . . . . . . . . . . . . . . . . . . . 853.6.2 Estimator Design by Pole Placement . . . . . . . . . 873.6.3 Observable Subspace . . . . . . . . . . . . . . . . . . 92

3.7 References and Further Reading . . . . . . . . . . . . . . . . 953.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Page 10: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

CONTENTS ix

4 Stochastic Processes 1054.1 Basic Stochastic Process Concepts . . . . . . . . . . . . . . 105

4.1.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . 1064.1.2 Plan of Study . . . . . . . . . . . . . . . . . . . . . . 110

4.2 Scalar Random Variables . . . . . . . . . . . . . . . . . . . 1104.2.1 Basic Properties . . . . . . . . . . . . . . . . . . . . 1104.2.2 Gaussian Distributions . . . . . . . . . . . . . . . . . 1124.2.3 Transformations of Scalar Random Variables . . . . 113

4.3 Multiple Random Variables . . . . . . . . . . . . . . . . . . 1154.3.1 Basic Properties . . . . . . . . . . . . . . . . . . . . 1154.3.2 Statistics and Statistical Properties . . . . . . . . . . 1174.3.3 Vector Gaussian Random Variables . . . . . . . . . . 1204.3.4 Transformations of Vector Random Variables . . . . 120

4.4 Stochastic Processes . . . . . . . . . . . . . . . . . . . . . . 1214.4.1 Statistics and Statistical Properties . . . . . . . . . . 1214.4.2 White and Colored Noise . . . . . . . . . . . . . . . 123

4.5 Linear Systems with Random Inputs . . . . . . . . . . . . . 1254.6 State Models for Stochastic Processes . . . . . . . . . . . . 130

4.6.1 Standard Model . . . . . . . . . . . . . . . . . . . . 1314.6.2 Stochastic Systems and State Augmentation . . . . . 1324.6.3 Gauss-Markov Processes . . . . . . . . . . . . . . . . 1334.6.4 Time-propagation of the Mean . . . . . . . . . . . . 1394.6.5 Time-propagation of the Variance . . . . . . . . . . 139

4.7 Discrete-time Equivalent Models . . . . . . . . . . . . . . . 1404.7.1 Calculation of Φk from F(t) . . . . . . . . . . . . . . 1404.7.2 Calculation of Qdk from Q(t) . . . . . . . . . . . . . 141

4.8 Linear State Estimation . . . . . . . . . . . . . . . . . . . . 1444.9 Detailed Examples . . . . . . . . . . . . . . . . . . . . . . . 146

4.9.1 System Performance Metrics . . . . . . . . . . . . . 1464.9.2 Instrument Specifications . . . . . . . . . . . . . . . 1544.9.3 One Dimensional INS . . . . . . . . . . . . . . . . . 1574.9.4 One Dimensional Position Aided INS . . . . . . . . . 159

4.10 Complementary Filtering . . . . . . . . . . . . . . . . . . . 1614.11 References and Further Reading . . . . . . . . . . . . . . . . 1624.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

5 Optimal State Estimation 1695.1 State Estimation: Review . . . . . . . . . . . . . . . . . . . 1705.2 Minimum Variance Gain Derivation . . . . . . . . . . . . . 172

5.2.1 Kalman Gain Derivation . . . . . . . . . . . . . . . . 1725.2.2 Kalman Gain: Posterior Covariance . . . . . . . . . 1735.2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . 173

5.3 From WLS to the Kalman Filter . . . . . . . . . . . . . . . 1745.3.1 Weighted Least Squares (WLS) . . . . . . . . . . . . 174

Page 11: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

x CONTENTS

5.3.2 Weighted Least Squares Solution . . . . . . . . . . . 1755.3.3 Recursive Least Squares (RLS) . . . . . . . . . . . . 1795.3.4 Kalman Filtering . . . . . . . . . . . . . . . . . . . . 183

5.4 Kalman Filter Derivation Summary . . . . . . . . . . . . . 1845.4.1 Equivalent Measurement Updates . . . . . . . . . . 1865.4.2 Equivalent Covariance Measurement Updates . . . . 1875.4.3 Kalman Filter Examples . . . . . . . . . . . . . . . . 187

5.5 Kalman Filter Properties . . . . . . . . . . . . . . . . . . . 1895.6 Implementation Issues . . . . . . . . . . . . . . . . . . . . . 191

5.6.1 Scalar Measurement Processing . . . . . . . . . . . . 1915.6.2 Correlated Measurements . . . . . . . . . . . . . . . 1935.6.3 Bad or Missing Data . . . . . . . . . . . . . . . . . . 194

5.7 Implementation Sequence . . . . . . . . . . . . . . . . . . . 1955.8 Asynchronous Measurements . . . . . . . . . . . . . . . . . 1955.9 Numeric Issues . . . . . . . . . . . . . . . . . . . . . . . . . 196

5.9.1 Covariance Matrix Symmetry . . . . . . . . . . . . . 1965.9.2 Covariance Matrix Positive Definiteness . . . . . . . 197

5.10 Suboptimal Filtering . . . . . . . . . . . . . . . . . . . . . . 1975.10.1 Deleting States . . . . . . . . . . . . . . . . . . . . . 1985.10.2 Schmidt-Kalman Filtering . . . . . . . . . . . . . . . 1995.10.3 Decoupling . . . . . . . . . . . . . . . . . . . . . . . 2025.10.4 Off-line Gain Calculation . . . . . . . . . . . . . . . 2025.10.5 Nonlinear Filtering . . . . . . . . . . . . . . . . . . . 203

5.11 References and Further Reading . . . . . . . . . . . . . . . . 2115.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

6 Performance Analysis 2176.1 Covariance Analysis . . . . . . . . . . . . . . . . . . . . . . 2176.2 Monte Carlo Analysis . . . . . . . . . . . . . . . . . . . . . 2246.3 Error Budgeting . . . . . . . . . . . . . . . . . . . . . . . . 2246.4 Covariance Divergence . . . . . . . . . . . . . . . . . . . . . 2306.5 References and Further Reading . . . . . . . . . . . . . . . . 2326.6 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

7 Navigation System Design 2357.1 Methodology Summary . . . . . . . . . . . . . . . . . . . . 2357.2 Methodology: Detailed Example . . . . . . . . . . . . . . . 237

7.2.1 Augmented Kinematic Model . . . . . . . . . . . . . 2387.2.2 Navigation Mechanization Equations . . . . . . . . . 2387.2.3 Sensor Models . . . . . . . . . . . . . . . . . . . . . 2397.2.4 Error Models . . . . . . . . . . . . . . . . . . . . . . 2407.2.5 State Estimator Design . . . . . . . . . . . . . . . . 2407.2.6 Covariance Analysis . . . . . . . . . . . . . . . . . . 244

7.3 Complementary Filtering . . . . . . . . . . . . . . . . . . . 247

Page 12: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

CONTENTS xi

7.3.1 Frequency Domain Approach . . . . . . . . . . . . . 2487.3.2 Kalman Filter Approach . . . . . . . . . . . . . . . . 250

7.4 An Alternative Approach . . . . . . . . . . . . . . . . . . . 2517.4.1 Total State: Kinematic Model . . . . . . . . . . . . . 2527.4.2 Total State: Time Update . . . . . . . . . . . . . . . 2527.4.3 Total State: Measurement Update . . . . . . . . . . 253

7.5 Approach Comparison . . . . . . . . . . . . . . . . . . . . . 2547.6 A Caution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557.7 References and Further Reading . . . . . . . . . . . . . . . . 2567.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

II Application 259

Part II Overview 261

8 Global Positioning System 2638.1 GPS Overview . . . . . . . . . . . . . . . . . . . . . . . . . 264

8.1.1 GPS System . . . . . . . . . . . . . . . . . . . . . . 2648.1.2 Original GPS Signal . . . . . . . . . . . . . . . . . . 265

8.2 GPS Pseudorange . . . . . . . . . . . . . . . . . . . . . . . 2668.2.1 GPS Pseudorange Notation . . . . . . . . . . . . . . 2678.2.2 GPS Pseudorange Solution . . . . . . . . . . . . . . 2698.2.3 Satellite Azimuth and Elevation . . . . . . . . . . . 273

8.3 GPS Receiver Overview . . . . . . . . . . . . . . . . . . . . 2768.3.1 Carrier Phase Observables . . . . . . . . . . . . . . . 2778.3.2 Delta Pseudorange Observable . . . . . . . . . . . . 278

8.4 GPS URE Characteristics . . . . . . . . . . . . . . . . . . . 2808.4.1 Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . 2818.4.2 Satellite Clock Bias, cδts . . . . . . . . . . . . . . . 2828.4.3 Receiver Clock Error, Δτr . . . . . . . . . . . . . . . 2838.4.4 Atmospheric Delay, cδtsa . . . . . . . . . . . . . . . . 2878.4.5 Ephemeris Errors, Es . . . . . . . . . . . . . . . . . 2928.4.6 Selective Availability, SAs . . . . . . . . . . . . . . . 2938.4.7 Multipath, Ms

ρ , Msφ . . . . . . . . . . . . . . . . . . 294

8.4.8 Receiver Noise, ηiρ, ηi

φ . . . . . . . . . . . . . . . . . 2958.4.9 Carrier Tracking and Integer Ambiguity, N i . . . . . 2958.4.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . 301

8.5 Geometric Dilution of Precision . . . . . . . . . . . . . . . . 3028.6 Two Frequency Receivers . . . . . . . . . . . . . . . . . . . 306

8.6.1 Wide and Narrow Lane Observables . . . . . . . . . 3098.7 Carrier-Smoothed Code . . . . . . . . . . . . . . . . . . . . 3108.8 Differential GPS . . . . . . . . . . . . . . . . . . . . . . . . 312

8.8.1 Relative DGPS . . . . . . . . . . . . . . . . . . . . . 313

Page 13: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

xii CONTENTS

8.8.2 Differential GPS . . . . . . . . . . . . . . . . . . . . 3178.8.3 Double Differences . . . . . . . . . . . . . . . . . . . 323

8.9 Integer Ambiguity Resolution . . . . . . . . . . . . . . . . . 3258.9.1 Decreasing the Search Space . . . . . . . . . . . . . 3288.9.2 Selection of Optimal Integers . . . . . . . . . . . . . 3298.9.3 Modernized GPS Signal . . . . . . . . . . . . . . . . 331

8.10 GPS Summary . . . . . . . . . . . . . . . . . . . . . . . . . 3328.11 References and Further Reading . . . . . . . . . . . . . . . . 333

9 GPS Aided Encoder-Based Dead-Reckoning 3359.1 Encoder Model . . . . . . . . . . . . . . . . . . . . . . . . . 3369.2 Kinematic Model . . . . . . . . . . . . . . . . . . . . . . . . 3389.3 Encoder Navigation Equations . . . . . . . . . . . . . . . . 340

9.3.1 Continuous-Time: Theory . . . . . . . . . . . . . . . 3409.3.2 Discrete-Time: Implementation . . . . . . . . . . . . 341

9.4 Error State Dynamic Model . . . . . . . . . . . . . . . . . . 3419.5 GPS Aiding . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

9.5.1 Receiver Clock Modeling . . . . . . . . . . . . . . . . 3439.5.2 Measurement Differencing . . . . . . . . . . . . . . . 3449.5.3 Comparison . . . . . . . . . . . . . . . . . . . . . . . 345

9.6 Performance Analysis . . . . . . . . . . . . . . . . . . . . . 3469.6.1 Observability . . . . . . . . . . . . . . . . . . . . . . 3469.6.2 Covariance Analysis . . . . . . . . . . . . . . . . . . 348

9.7 General 3-d Problem . . . . . . . . . . . . . . . . . . . . . . 351

10 AHRS 35310.1 Kinematic Model . . . . . . . . . . . . . . . . . . . . . . . . 35410.2 Sensor Models . . . . . . . . . . . . . . . . . . . . . . . . . . 35510.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . 356

10.3.1 State Initialization: Approach 1 . . . . . . . . . . . . 35610.3.2 State Initialization: Approach 2 . . . . . . . . . . . . 358

10.4 AHRS Mechanization Equations . . . . . . . . . . . . . . . 35810.5 Error Models . . . . . . . . . . . . . . . . . . . . . . . . . . 359

10.5.1 Measurement Error Model . . . . . . . . . . . . . . . 36010.5.2 Attitude Error Dynamics . . . . . . . . . . . . . . . 36310.5.3 AHRS State Space Error Model . . . . . . . . . . . . 36510.5.4 Measurement Noise Covariance . . . . . . . . . . . . 36610.5.5 Initial Error Covariance Matrix . . . . . . . . . . . . 367

10.6 AHRS Approach Summary . . . . . . . . . . . . . . . . . . 36810.7 Observability and Performance Analysis . . . . . . . . . . . 36910.8 Pitch and Roll Application . . . . . . . . . . . . . . . . . . 37010.9 References and Further Reading . . . . . . . . . . . . . . . . 377

Page 14: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

CONTENTS xiii

11 Aided Inertial Navigation 37911.1 Gravitation and Specific Force . . . . . . . . . . . . . . . . 379

11.1.1 Gravitation . . . . . . . . . . . . . . . . . . . . . . . 37911.1.2 Specific Force . . . . . . . . . . . . . . . . . . . . . . 38011.1.3 Accelerometers . . . . . . . . . . . . . . . . . . . . . 38111.1.4 Gravity Error . . . . . . . . . . . . . . . . . . . . . . 384

11.2 INS Kinematic Equations . . . . . . . . . . . . . . . . . . . 38611.2.1 Inertial Frame . . . . . . . . . . . . . . . . . . . . . 38811.2.2 ECEF Frame . . . . . . . . . . . . . . . . . . . . . . 38811.2.3 Tangent Frame . . . . . . . . . . . . . . . . . . . . . 38911.2.4 Geographic Frame . . . . . . . . . . . . . . . . . . . 389

11.3 INS Mechanization Equations . . . . . . . . . . . . . . . . . 39011.4 INS Error State Dynamic Equations . . . . . . . . . . . . . 392

11.4.1 Position Error Linearization . . . . . . . . . . . . . . 39311.4.2 Attitude Error Linearization . . . . . . . . . . . . . 39311.4.3 Velocity Error Linearization . . . . . . . . . . . . . . 395

11.5 INS Error Characteristics . . . . . . . . . . . . . . . . . . . 39611.5.1 Simplified Error Models . . . . . . . . . . . . . . . . 39711.5.2 Full Error Model . . . . . . . . . . . . . . . . . . . . 399

11.6 Augmented State Equations . . . . . . . . . . . . . . . . . . 40611.6.1 Instrument Error Overview . . . . . . . . . . . . . . 40711.6.2 Accelerometer Error Modeling . . . . . . . . . . . . 40811.6.3 Gyro Error Modeling . . . . . . . . . . . . . . . . . . 41111.6.4 Error Characteristics . . . . . . . . . . . . . . . . . . 414

11.7 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . 41411.7.1 Self-Alignment Techniques . . . . . . . . . . . . . . . 416

11.8 Aiding Measurements . . . . . . . . . . . . . . . . . . . . . 42111.8.1 Position Aiding . . . . . . . . . . . . . . . . . . . . . 42111.8.2 GPS Pseudorange Aiding . . . . . . . . . . . . . . . 422

11.9 Observability Analysis . . . . . . . . . . . . . . . . . . . . . 42711.9.1 Stationary, Level, Known Biases . . . . . . . . . . . 42811.9.2 Stationary, Level, Unknown Biases . . . . . . . . . . 429

11.10References and Further Reading . . . . . . . . . . . . . . . . 430

12 LBL and Doppler Aided INS 43112.1 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 432

12.1.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . 43212.1.2 System Kinematics . . . . . . . . . . . . . . . . . . . 433

12.2 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43312.2.1 Inertial Measurement Unit . . . . . . . . . . . . . . 43412.2.2 Attitude and Yaw Sensor . . . . . . . . . . . . . . . 43512.2.3 Doppler Velocity Log . . . . . . . . . . . . . . . . . . 43612.2.4 Pressure Sensor . . . . . . . . . . . . . . . . . . . . . 43612.2.5 Long Baseline Transceiver . . . . . . . . . . . . . . . 436

Page 15: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

xiv CONTENTS

12.3 Mechanization and IMU Processing . . . . . . . . . . . . . . 43812.3.1 Mechanization Equations . . . . . . . . . . . . . . . 43812.3.2 IMU Processing . . . . . . . . . . . . . . . . . . . . . 438

12.4 Error State Dynamic Model . . . . . . . . . . . . . . . . . . 43912.4.1 Position Error Model . . . . . . . . . . . . . . . . . . 43912.4.2 Velocity Error Model . . . . . . . . . . . . . . . . . . 44012.4.3 Attitude Error Model . . . . . . . . . . . . . . . . . 44112.4.4 Calibration Parameter Error Models . . . . . . . . . 44212.4.5 Error Model Summary . . . . . . . . . . . . . . . . . 442

12.5 Aiding Measurement Models . . . . . . . . . . . . . . . . . 44312.5.1 Attitude and Yaw Prediction . . . . . . . . . . . . . 44312.5.2 Doppler Prediction . . . . . . . . . . . . . . . . . . . 44412.5.3 Depth Prediction . . . . . . . . . . . . . . . . . . . . 44512.5.4 LBL Prediction . . . . . . . . . . . . . . . . . . . . . 445

12.6 EKF Sensor Integration . . . . . . . . . . . . . . . . . . . . 44612.6.1 Measurement Updates for t ∈ [t0, t4] . . . . . . . . . 44712.6.2 Measurement Updates for t �∈ [t0, t4] . . . . . . . . . 44812.6.3 Covariance Propagation . . . . . . . . . . . . . . . . 449

12.7 Observability . . . . . . . . . . . . . . . . . . . . . . . . . . 44912.8 Simulation Performance . . . . . . . . . . . . . . . . . . . . 452

A Notation 455A.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455A.2 Useful Constants . . . . . . . . . . . . . . . . . . . . . . . . 457A.3 Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457A.4 Other Notation . . . . . . . . . . . . . . . . . . . . . . . . . 458

B Linear Algebra Review 459B.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459B.2 Matrix and Vector Operations . . . . . . . . . . . . . . . . . 461B.3 Independence and Determinants . . . . . . . . . . . . . . . 464B.4 Matrix Inversion . . . . . . . . . . . . . . . . . . . . . . . . 465B.5 Matrix Inversion Lemma . . . . . . . . . . . . . . . . . . . . 466B.6 Eigenvalues and Eigenvectors . . . . . . . . . . . . . . . . . 467B.7 Positive Definite Matrices . . . . . . . . . . . . . . . . . . . 468B.8 Singular Value Decomposition . . . . . . . . . . . . . . . . . 469B.9 Orthogonalization . . . . . . . . . . . . . . . . . . . . . . . 469B.10 LU Decomposition . . . . . . . . . . . . . . . . . . . . . . . 470B.11 UD Decomposition . . . . . . . . . . . . . . . . . . . . . . . 472B.12 Matrix Exponential . . . . . . . . . . . . . . . . . . . . . . 472

B.12.1 Power Series . . . . . . . . . . . . . . . . . . . . . . 472B.12.2 Laplace Transform . . . . . . . . . . . . . . . . . . . 473

B.13 Matrix Calculus . . . . . . . . . . . . . . . . . . . . . . . . . 474B.13.1 Derivatives with Respect to Scalars . . . . . . . . . . 474

Page 16: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

CONTENTS xv

B.13.2 Derivatives with Respect to Vectors . . . . . . . . . 474B.13.3 Derivatives with Respect to Matrices . . . . . . . . . 475

B.14 Numeric Zero Finding & Optimization . . . . . . . . . . . . 475B.14.1 Numerical Zero Finding . . . . . . . . . . . . . . . . 475B.14.2 Numeric Optimization . . . . . . . . . . . . . . . . . 477

B.15 References and Further Reading . . . . . . . . . . . . . . . . 480B.16 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480

C Calculation of GPS Satellite Position & Velocity 485C.1 Satellite Clock Corrections . . . . . . . . . . . . . . . . . . . 487C.2 Satellite Position Calculations . . . . . . . . . . . . . . . . . 488C.3 Reference Frame Consistency . . . . . . . . . . . . . . . . . 494C.4 Satellite Velocity . . . . . . . . . . . . . . . . . . . . . . . . 495

C.4.1 Equations from Ephemeris . . . . . . . . . . . . . . . 495C.4.2 Practical Issues . . . . . . . . . . . . . . . . . . . . . 496

C.5 Ionospheric Model . . . . . . . . . . . . . . . . . . . . . . . 497C.6 References and Further Reading . . . . . . . . . . . . . . . . 500

D Quaternions 501D.1 Quaternions Basics . . . . . . . . . . . . . . . . . . . . . . . 501D.2 Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503

D.2.1 Direction Cosine to Quaternion . . . . . . . . . . . . 504D.2.2 Quaternions to Euler Angles . . . . . . . . . . . . . 505

D.3 Quaternion Derivative . . . . . . . . . . . . . . . . . . . . . 505D.3.1 General Derivation . . . . . . . . . . . . . . . . . . . 505D.3.2 Body to Navigation Frame Result . . . . . . . . . . 506

D.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507D.5 Quaternion Integration . . . . . . . . . . . . . . . . . . . . . 508D.6 Attitude Representation Comparison . . . . . . . . . . . . . 510D.7 References and Further Reading . . . . . . . . . . . . . . . . 511D.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511

Bibliography 515

Index 527

Page 17: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 18: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

PrefaceTechnological innovations over recent decades have enabled an ever in-

creasing array of inexpensive, high accuracy, aided navigation systems suit-able for student projects, research test-bed usage, and commercial and mil-itary applications. These innovations include: small, low cost, low powersensors; GPS technology; and, high performance, low cost, computationalequipment for embedded processing.

Aided navigation involves two categories of sensors. The output sig-nals from sensors in the first category are integrated using a kinematicmodel of the system. The result of this integration provides a referencetrajectory. Example kinematic input sensors include inertial measurementunits, Doppler radar or sonar, and wheel encoders. Elements of the secondcategory of sensors are used to estimate the error between this referencetrajectory and trajectory of the vehicle. In the estimation process, theseaiding sensors may also determine various calibration parameters to im-prove the future performance of the system. The advent of Global Naviga-tion Satellite Systems (GNSS) has provided an accurate and reliable aidingmeasurement source for navigation systems in certain outdoor applications.A prototypical example of a GNSS sensor suitable for aided operations isthe Global Positioning System (GPS).

Aided navigation is motivated when an application, such as an au-tonomous vehicle, requires accurate high bandwidth information about thevehicle state reliably at a high sample rate. The aiding sensors may sat-isfy the accuracy requirement, but not the reliability, bandwidth, and highsample rate specifications. The reference trajectory computed from thekinematic input sensors may satisfy the reliability, bandwidth, and highsample rate specifications; however, due to its integrative nature, errorsthat accumulate over time can cause the unaided system to eventually failto meet the accuracy specification.

The aiding sensors and the reference trajectory computed from the kine-matic input sensors have complementary characteristics; therefore, it isnatural to consider their implementation within an integrated approach.

Objective

My main objective in writing this book is to provide a self-contained ref-erence on aided navigation system design that is appropriate for use in aclassroom setting. The methodology presented herein is an industry stan-dard approach. It has been used by many persons in various applicationswith a high-level of success.

The text is written with the expectation that the reader has the standardbackground of a senior in a bachelor-of-science (BS) engineering program.

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 19: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

xviii Preface

I have taken special care in presenting the material at the BS level. Forexample, the topic of optimal filtering is derived both in the least squarescontext and in the standard stochastic processes context. Examples areincluded throughout the text to relate theoretical concepts back to appli-cations, to motivate the importance of specific concepts, and to illustratethe tradeoffs between alternative techniques. In addition, detailed deriva-tions are included. The intended audience for the book includes engineers,students, researchers, scientists, and project managers who may be inter-ested in either designing or using an aided navigation system in a givenapplication.

Outline

The text presents a systematic method for designing and analyzing aidednavigation systems along with the essential theory to support that method-ology. The book is divided into two parts.

Part I contains seven chapters. Chapter 1 motivates the design and anal-ysis methodology. This chapter introduces simple examples and compar-isons to illustrate the method and to stimulate interest in the theoretical in-formation presented in Chapters 2–6. Chapter 2 defines frames-of-reference,transformations between frames-of-reference, and methods for maintainingthe transformations between rotating frames-of-reference. Chapters 3 and4 focus on model development. An accurate mathematical model is a nec-essary precondition to being able to make accurate quantitative statementsabout navigation system performance during the design process. Chapter3 presents various concepts from (deterministic) systems theory. Chapter4 introduces certain necessary concepts from the theory of stochastic pro-cesses. Chapter 5 introduces and derives optimal state estimation methods(i.e., Kalman filtering). Knowledge of optimal and sub-optimal state es-timation are essential to the implementation and performance analysis ofnavigation systems. Chapter 6 discusses methods for performance analy-sis. Chapter 7 returns to the methodology suggested in Chapter 1; how-ever, now with the tools provided in Chapters 2-6 the same examples canbe rigorously and quantitatively analyzed. Examples are used extensivelythroughout Chapters 1-7.

Part II of the text provides in-depth discussion of several specific navi-gation applications. Chapter 8 provides a self-contained description of thebasic GPS solution, differential GPS, Doppler processing, and various car-rier phase processing techniques. This presentation of the various GPStechniques using unified notation greatly facilitates the understanding ofthe techniques and their relative tradeoffs. For clarity of the presentationand comparison of methods within Chapter 8, all techniques presented inthat chapter consider only point-wise data processing (i.e., no Kalman fil-

Page 20: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

J. A. Farrell xix

tering). GPS is discussed herein as a prototype of the various GNSS whichare now or soon will be available. Chapters 9–12 each focus on a specificaided navigation application. Each chapter derives the kinematic modeland presents the navigation mechanization equations based on the kine-matic model; derives and analyzes the dynamic model for the navigationerror state; and, presents equations for predicting the aiding measurementsand for modeling the residual aiding measurements. Different forms of per-formance analysis are included in each of the chapters including covarianceanalysis, observability analysis, and data analysis from application or sim-ulation. Chapter 9 discusses aided encoder-based dead-reckoning. Chapter10 discusses an attitude and heading reference system that uses gyros asinputs to the kinematic model and accelerometers as gravity sensors forerror correction. Chapter 11 discusses aided inertial navigation. Chapter12 discusses a specific application of an aided inertial system. Togetherthese chapters provide examples of methods that the reader can modify tofit their particular application needs.

Four appendices are included. Appendix A defines the notation and con-stants used in the text. Appendix B reviews various linear algebra conceptsthat are used in the main body of the text. Appendix C presents mate-rial from the GPS interface specification that is necessary to process GPSpseudorange, phase, and Doppler measurements. Example calculations arealso included. Appendix D presents a short tutorial on quaternions. Thisappendix discusses their definition, operations, and kinematic model. Ex-ample calculations are included in each appendix.

Motivation

This book is motivated in part by the reader response to my prior book [48].That response requested two major changes. First, that the material berestructured to support the book’s use in a classroom setting. Second, thatthe subject matter be widened to the broader topic of aided navigation.Therefore, while the present book draws a significant amount of its sourcematerial from [48], the objectives of this book are distinct enough and theamount of new material is significant enough to necessitate the new title.

The present book discusses the general topic of aided navigation sys-tem design. Chapters 1 and 7 present the aided navigation system designmethodology. Chapters 2–6 present the theoretical material required tounderstand and implement that method. Chapter 8 provides a detaileddiscussion of GPS. Chapters 9–12 provide detailed discussion of the aidednavigation system design and analysis methodology.

This book is appropriate for use as a textbook in a senior or first yeargraduate level course. As such, the book includes extensive use of exam-ples and end-of-chapter problems throughout Part I. As a textbook, the

Page 21: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

xx Preface

lectures could cover Part I, with a student end-of-course project to designand implement an aided navigation system. The systems in Chapters 9,10, and 11 are particularly appropriate for senior design projects.

Many engineering programs require senior-level students to complete asubstantial design project. A challenge for faculty involved in directingsuch projects is leading the student team through the quantitative defi-nition of the specification and analysis of system performance relative tothe specifications. A main reason that the aided navigation system designand analysis methodology presented herein is widely used in commercialand military applications is that it is easily amenable to such quantitativeanalysis of performance relative to specifications. Performance analysis isdiscussed in Chapter 6.

Book Website

Associated with this book is the publisher hosted website. The websitecontains various resources related to this book:

• The source code used to create examples using MATLAB;

• Data sets to support examples;

• Data sets that are requested by readers and that are reasonable forthe author to provide;

• An errata list;

• Clarifications as requested by readers.

The official web site for this text can be found at

www.mhprofessional.com

then searching by isbn, title, or author. The book web site that results willcontain a download section containing the above material.

Errata

While I have worked to ensure that this book is free from errors, previousexperience has taught me that this is unlikely to occur. An errata list willbe made available through the publisher website and through my universityhomepage, currently

www.ee.ucr.edu/∼farrell

Page 22: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

J. A. Farrell xxi

Readers who detect errors not already on the errata list are encouraged toreport them electronically to the author. My e-mail address is currently

[email protected]

Identification of errors, or suggestions of either additional material (e.g.,examples, exercises, or topics), is greatly appreciated.

Acknowledgements

First, I appreciate the many readers of [48] who communicated to me in-teresting ideas, corrections, and useful suggestions. Those communicationshelped to motivate and define this book. Second, I am grateful to acknowl-edge the help and collaboration of my students and colleagues in the devel-opment and proofreading of this book. The first set of reviewers includedAnning Chen, Licheng Luo, Angello Pozo, and Arvind Ramanandan. Thesecond set of reviewers included Jinrong Cheng, Wenjie Dong, Yu Lu, PaulMiller, Rolf Rysdyk, and Peng Xie. In addition, Wenjie Dong collaboratedin the writing of Section 4.9.1; Arvind Ramanandan collaborated in thewriting of Section 4.9.2; Yunchun Yang provided information essential tothe writing of Chapter 10; Yu Lu collaborated in the writing of SectionC.4 and provided source material helpful in the writing of Chapter 9; and,collaboration with Paul Miller was essential to the writing of Chapter 12.Of course, I take responsibility for any errors or omissions in the final pre-sentation of all the material contained in the book. Third, I appreciate thehelp and support of the production team, mainly Wendy Rinaldi and JeanBodeaux. Finally, I appreciate the patience of my family throughout thisproject.

This book was typeset using LATEX. The examples and graphs for figureswere implemented in MATLAB and SIMULINK. Drawings for figures werecreated using Macromedia FreeHand MX.

Jay A. FarrellDepartment of Electrical EngineeringCollege of EngineeringUniversity of California, RiversideFebruary 23, 2008

Page 23: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 24: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Part I

Theory

1

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 25: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 26: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Part I Overview

This portion of the book presents a methodology for the design of aidednavigation systems along with the theory necessary for implementation ofthe method. The methodology is briefly presented in Chapter 1 to motivatethe study of the material in Chapters 2–6. Chapter 7 uses the material fromChapters 2–6 to reconsider the design and analysis approach in significantlymore depth.

Part II of the book will use the skills developed in Part I to work throughthe design and analysis of several navigation systems.

3

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 27: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 28: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 1

Introduction

Throughout history, the science of navigation has played an important rolefor mankind. Individuals who could reliably travel to and return fromdistant locations were successful both militarily and commercially [140].

Increasing levels of vehicle autonomy have been demonstrated in recentdecades. A fundamental capability for an autonomous vehicle is naviga-tion. In the autonomous vehicle literature, navigation may have one of twomeanings:

1. accurate determination of the vehicle state (e.g., position, velocity,and attitude); or

2. planning and execution of the maneuvers necessary to move betweendesired locations.

The first capability is necessary to accurately achieve the second. Thisbook focuses on the methods to implement the first capability; therefore,herein, the term navigation is used to refer to the process of estimating thevehicle state in realtime as the vehicle maneuvers along a trajectory. Bothmanned and unmanned vehicles require navigation capabilities. The vehi-cle state may be necessary for automatic control, real-time planning, datalogging, simultaneous location and mapping, or operator communications.is referred to as navigation.

A typical systems approach to the larger guidance, navigation, and con-trol (GNC) problem is illustrated in Figure 1.1. The objective of the GNCproblem is to cause the vehicle, weapon, or robot (referred to below asthe plant) to achieve a useful set of tasks requiring translational motion.The plant alone is an actuated connection of mechanical components. Tomove purposefully, the hardware must be augmented with sensors and acontrol system. The inputs to the control system are the estimated andcommanded values of key system variables. When properly designed, the

5

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 29: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6 CHAPTER 1. INTRODUCTION

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

������

����� �

������

��������

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

���� �����

Figure 1.1: Block Diagram of a Typical GNC System.

output actuation signals from the control system force the system variablesto their desired values [43, 53, 114]. If the system is to be capable of highperformance translational motion, then it must be capable of accuratelydetermining either its local (i.e., landmark relative) or world coordinates.This is the purpose of a navigation system. Based on knowledge of thedesired objectives and the estimate of the vehicle state from the naviga-tion system, the planning and guidance systems determine and output atrajectory in the appropriate coordinate system for input to the controlsystem.

A classical approach to vehicle state estimation is to equip the vehi-cle with inertial sensors capable of measuring the acceleration and angularrate of the vehicle. With proper calibration and initialization, integrationof the angular rates provides an estimate of the attitude, while integrationof acceleration provides estimates of velocity and position. The integra-tive nature of this approach has both positive and negative aspects. Onthe positive side, integration will smoothed out the high-frequency errors(e.g., sensor noise). On the negative side, integration of low frequency er-rors due to biases, scale factor error, or misalignment will cause increasingerror between the true and estimated vehicle state. The vehicle state esti-mate computed by integration of the data from the high rate sensors canbe corrected using measurements from suitably selected low rate sensors.Examples of current and potential future aiding sensors include cameraimagery, BeiDou (or Compass), Galileo, GLONASS, laser range finders,LORAN, Navstar global positioning system (GPS), pseudolites, radar, andstar sensors. Navigation systems wherein low rate sensors are used to cor-rect the state estimate produced by integration of the outputs from highrate sensors are referred to as aided or integrated navigation systems.

The main objective of this book is to systematically present the standardtools and methods used in aided navigation system design and analysis. Thebook is divided into two parts. Part I presents the theoretical issues that anengineer must understand to design and analyze aided navigation systems.The material is presented in a practical fashion with numerous illustrativeexamples. Derivations are presented with sufficient detail to allow the de-velopment of the theory in a step by step fashion. Part II presents various

Page 30: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

1.1. METHOD OVERVIEW 7

applications of the theory from Part I to navigation systems. The appli-cations have been selected based on commercial, military, student project,and research interests. The GPS system is discussed in a chapter of its own.GPS is currently the dominant aiding system for outdoor applications. GPSwill be used as the aiding system in two of the subsequent chapters of PartII. Each aided navigation system in Part II will be presented and analyzedusing a consistent methodology and notation. In each case, the chapter willpresent a complete kinematic model with sufficiently detailed sensor errormodels to allow the reader to extend that portion of the model to fit thecircumstances of their own application.

With the advent of multiple Global Navigation Satellite Systems(GNSS), it is likely that future commercial and student projects will useinformation from other GNSS in addition to GPS. In the author’s experi-ence, if a student learns the theory well and is able to develop and analyzea single aided navigation system, then the student is able to extend thatapproach to use alternative aiding sensors. Therefore, this book focuses onGPS aided systems to allow a thorough presentation and exemplificationof system design and analysis without getting bogged down in the specificdetails of the many different possible aiding sensors.

The next section presents a very simple example of the navigation sys-tem design and analysis methodology that is used throughout this text.This section is intended to serve as a motivation for the various theoreticalissues that will be considered in Part I of this text. Section 1.2 provides asummary of the material in Part I with discussion of the relation of that ma-terial to aided navigation system design and analysis. Section 1.3 providesa summary of the applications considered in Part II.

1.1 Method Overview

The method presented in this text is a classical approach that has beenapplied successfully in many applications for several decades. The methodcan best be understood in relation to a specific example system. The systemis intentionally simple and low dimensional to focus on the main theoreticalideas without large amounts of algebra. The intent of the discussion is tomotivate the theoretical coverage in Part I and the general approach usedin Part II. The realistic systems of Part II are considerably more complex.

Most readers will not be familiar with all of the ideas presented in thefollowing discussion, for example, differential equations with random inputs.Such readers should not be intimidated, the purpose of the example is toillustrate the necessity for the study of such topics in relation to aidednavigation system design and analysis. The reader should use the exampleto identify and distinguish between the topics in which they are alreadyknowledgable and the topics in which they are not. Then, the reader can

Page 31: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8 CHAPTER 1. INTRODUCTION

use the discussion of Section 1.2 to identify a reading plan for Part I of thebook. This example is revisited in greater depth in Chapter 7.

1.1.1 Methodology Example

Consider a point that is moving on a line. The position p, velocity v, andacceleration a are related by the kinematic model

p(t) = v(t)v(t) = a(t).

Kinematics is the study of motion without discussion of the masses or forcesinvolved in creating the motion. Note that there is no uncertainty in thekinematic model of the system: no unknown parameters and no randomsignals.

If a sensor is available that provides a continuous-time measurement a(t)of the acceleration a(t), then a navigation system could integrate this mea-surement through the kinematic model to provide an estimate of the systemstate vector x = [p, v]�. Throughout this book, the equations for comput-ing the state estimate based on the integration of sensor signals through thevehicle kinematics will be referred to as the mechanization equations. De-noting the estimate of the state as x = [p, v]�, the mechanization equationsfor the navigation system would be

˙p(t) = v(t)˙v(t) = a(t).

}(1.1)

Assuming that initial conditions [p(0), v(0)] are available, numerical inte-gration of the mechanization equations from time zero forward in timewould provide an estimate of the system state for any positive value oftime. Throughout the text, when the meaning is clear, the time argumentof signals will be eliminated to simplify the notation.

To study the accuracy of the system we define the error state vectorδx = x − x. The components of this vector in this simplified examplewould be δp = p − p and δv = v − v. We can find the model for the timevariation of the error state by subtracting the above equations:

δp = p − ˙p= v − v

= δv

and

δv = v − ˙v= a − a

Page 32: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

1.1. METHOD OVERVIEW 9

wherea = a + b (1.2)

when a bias estimate b is available. For this simple example, b = 0. Sum-marizing the results of the above analysis, the model of the time variationof the navigation error is

δp = δvδv = a − a.

}(1.3)

The navigation error state changes with time as dictated by eqn. (1.3). Thismodel shows that the time variation of the error state is driven by the errorin the measurement of a. Note that while the navigation system actuallyintegrates eqns. (1.1) during the operation of the system, eqns. (1.3) cannotbe integrated to determine the error state because the input (a − a) is notknown. Instead, eqns. (1.3) are analyzed theoretically to quantify and toidentify the means to improve the performance of the system.

To characterize the performance of the navigation system, we must startwith a characterization of the accuracy of the instruments that are usedas inputs to the kinematic model of eqn. (1.1). For the purpose of thisdiscussion, assume that the acceleration sensor measurement is accuratelymodeled as

a(t) = a(t) − b(t) − ω1(t). (1.4)

The signals ω1 and b represent imperfections in the sensor that can be mod-eled as stochastic processes. The signal ω1 represents random measurementnoise. The quantity b represents a sensor bias. This bias is unknown andvaries slowly with time. The sensor manufacturer provides the followingmodel of the bias time variation

b(t) = −λbb(t) + ωb(t)

where λb is a positive constant and ωb is another a random process. Thesensor manufacturer also provides time-invariant statistical descriptions ofthe random signals ω1(t) and ωb(t).

Based on eqn. (1.4),

a(t) − a(t) = b(t) + ω1(t).

With this equation, the model for the system error becomes

δp = δvδv = b + ω1

b = −λbb + ωb

⎫⎬⎭ (1.5)

where the accelerometer error state dynamics have been included. This isa stochastic process model for the system error state. It is a linear system

Page 33: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10 CHAPTER 1. INTRODUCTION

with two random inputs that, in this particular example, results in a timeinvariant model. It should be clear that the study of linear systems withrandom inputs will be critical to the characterization of the performance ofnavigation systems. Variations of this example are considered throughoutPart I of the text. Readers curious about the nature of the error accumu-lation and the benefits of aiding could glance at Sections 4.9.3–4.9.4.

If a second sensor, referred to as an aiding sensor, is available thatprovides a measurement of some portion of the state at discrete instants oftime. For example, a sensor might provide measurements of the positionp at a 1 Hz rate. We might be interested in using the measured valueof p to correct the estimated state of the navigation system. This canbe formulated as a state estimation process. Then, important practicalquestions concern the design of, and performance available from, an optimalestimator.

1.1.2 Methodology Summary

In general, the procedure can be described as follows.

1. A kinematic model is derived for the system of interest in the form

x = f(x,u) (1.6)

where a sensor is available for the kinematic input variable u.

2. The navigation mechanization equations are defined by

˙x = f(x, u) (1.7)

where u represents the measured value of the signal u. Samples of uare available at the sample rate f1, where f1 is large relative to thebandwidth of the system of interest.

3. Models are developed for the u sensor and for any aiding sensors. Inthe following, the aiding sensors will be denoted by the variable y.The aiding signals may be asynchronous or be sampled at differentrates, but for simplicity of discussion, assume that they are all sam-pled at a rate f2. It will typically be the case that f1 >> f2. It maybe the case that f2 is smaller than the bandwidth of the system ofinterest.

4. A linearized model is developed for the navigation error state vector.The goal for this step is to obtain a set of linear differential equa-tions with inputs that are defined by stochastic processes with knownstatistics. This model is the basis for the subsequent two steps.

5. A state estimator is designed to stabilize the error state system.

Page 34: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

1.1. METHOD OVERVIEW 11

6. The system performance is analyzed.

The design objective is to provide an optimal estimate of x for the givenset of sensors. Additionally, the designer is often interested in performingquantitative analysis to answer questions such as:

• What values of f1 and f2 are necessary to achieve a specified perfor-mance?

• What quality of kinematic input sensor u is sufficient to achieve aspecified performance?

• What quality of aiding sensor y is sufficient to achieve a specifiedperformance?

• How do these design specifications interact? For example, if the qual-ity of y is increased, how much can the quality of u be decreased?

• What algorithm should be selected to compute the error state esti-mate?

• Are there implementation simplifications that can be made withoutsignificantly affecting the performance relative to the specifications?

The example of Section 1.1.1 exhibits several standard characteristics ofmany navigation problems.

• The kinematic model of the actual system is deterministic and dy-namic; however, the sensors used in the navigation system cause themodel of the overall system to contain stochastic variables. Therefore,we will be interested in the behavior of deterministic and stochasticdynamic systems.

• The system dynamics naturally evolve in continuous-time; however,the sensed variables are only available at discrete-time instants.Therefore, we will be interested in equivalent discrete-time modelsfor continuous-time systems.

• The sensors have different sampling rates with the quantities to beintegrated (i.e., u) sampled at a much higher rate than the quantitiesthat result from the integration (i.e., y).

With these design questions and model characteristics in mind, additionalmore theoretical questions are of interest.

• What is meant by optimal estimation?

• What is the optimal estimation algorithm?

Page 35: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12 CHAPTER 1. INTRODUCTION

• What are properties of the optimal estimator?

• To what form of model does the optimal estimator apply?

• What model structural properties are required for an optimal estima-tor to exist?

• How can the navigation problem be manipulated into a suitable form?

• How is the performance of the estimator analyzed?

• How can the performance analysis methods be used to analyze systemdesign tradeoffs?

The example of Section 1.1.1 and previous discussion of this sectionmotivates discussion of several topics critical to the design and analysis ofaided navigation systems. Part I will present various theoretical topics thatshould be well understood by the navigation system designer and analyst.At the conclusion of Part I, the navigation system design and analysismethodology is reviewed with greater detail in Section 7.1. Part II willconsider the use of these theoretical topics in the design and analysis ofnavigation systems. The following sections overview the structure of thistext.

1.2 Overview of Part I: Theory

This section provides an overview of the material in Chapters 2-7.

1.2.1 Reference Frames

A clear understanding of reference frames is necessary in navigation systemdesign. For example, Newton’s equations apply in inertial reference frames,while the GPS ephemeris equations are typically solved in a specific Earth-centered Earth-fixed frame-of-reference. Since the Earth rotates about itsown axis and orbits the sun, the Earth is not an inertial reference frame.

As sensors are added to a navigation system and equations are derived,the navigation system designer must make careful note and definition ofany new reference frames that are introduced. To make comparisons be-tween quantities that are naturally defined in different frames-of-reference,transformations between these frames-of-reference will be required. Suchtransformations may be fixed or time-varying. In either case, the accu-racy of the transformation is critical to the accuracy of the transformedquantities.

As an example, consider the vehicle and Earth reference frames. Sensorsonboard the vehicle may resolve their data in the vehicle reference frame;

Page 36: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

1.2. OVERVIEW OF PART I: THEORY 13

however, the user of the vehicle is interested in knowing the vehicle state(i.e., position and velocity) in the Earth reference frame. The vehicle frameis attached to and rotates with the vehicle. The Earth frame is attached toand rotates with the Earth. Because the vehicle is free to translate and ro-tate with respect to the Earth, the vehicle and Earth frames can arbitrarilytranslate and rotate with respect to each other. Therefore, the naviga-tion system must maintain accurate estimates of the quantities necessaryto allow transformation of variables between these reference frames.

Definition of various important reference frames and transformationsbetween rotating reference frames is addressed in Chapter 2.

1.2.2 Deterministic Systems

The kinematics of the vehicle naturally evolve in continuous-time. There-fore, the analysis and design process typically begins with the developmentof a continuous-time kinematic model for the vehicle. Various continuous-time model formats exist. The majority of this text will focus on the statespace model format. Since navigation systems and optimal estimators areconveniently implemented in discrete-time on a computer, we will requirediscrete-time equivalent state space models of continuous-time systems.

To accommodate modeling of sensor alignment and calibration param-eters, it may be desirable to augment the vehicle state variables with addi-tional alignment and calibration variables. In the simple example in Sec-tion 1.1, p and v are the vehicle model states and b is a sensor calibrationparameter. If we are able to estimate this parameter accurately, then theestimated value can be removed from the sensed quantity to produce a moreaccurate estimate of the acceleration a: a(t) = a(t) + b(t), which could beused in the mechanization equations instead of the raw sensor output a.

Chapter 3 will review various important concepts related to continuousand discrete-time dynamic systems. Since all engineering students takeordinary differential equations, physics, and some dynamics courses, theunderlying concepts should be familiar; however, not all such courses areformulated within the state variable framework. Therefore, the two maingoals of that chapter are to review state space analysis and state estimation.

1.2.3 Stochastic Processes

By their senior year at college, most students are fairly comfortable withmodeling continuous-time deterministic systems. The idea that we inte-grate acceleration to find velocity and integrate velocity to find position isnow rather innate. However, for many readers derivation and analysis ofstochastic models remains somewhat esoteric.

Even in the simple example in Section 1.1, the model has (at least) threestochastic variables: ω1, b and ωb. In fact, we will see that any quantities

Page 37: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

14 CHAPTER 1. INTRODUCTION

computed from these variables will also be stochastic variables. Therefore,accurate stochastic system modeling and analysis is critical to navigationsystem design. Accurate characterization of model and variable propertiesand analysis of their affect on the system defines the analysis of the overallsystem performance.

When purchasing or designing sensors, the designer naturally searchesfor the best sensors that fit within the project budget. However, any use ofan adjective such as “best” requires further consideration of its definition inthis context. For example, for the acceleration sensor, the best sensor wouldhave no noise (i.e., ω1(t) = 0) and no bias (i.e., b(t) = 0); however, this istypically not possible under application conditions. Instead, thermal fluc-tuations and component variation will cause both quantities to be nonzero.To surpass the competition, each sensor manufacturer has the incentive toremove, to the extent possible, all the predictable components of sensor er-ror (e.g., nonlinearities, temperature dependent characteristics). Therefore,the remaining sensor error is non-deterministic and will be accommodatedwithin the navigation system design by stochastic process modeling andstate estimation. Knowing this, the sensor manufacturer designs the sen-sor so that the characteristics that define the random nature of the sensorare time-invariant. Also, the sensor manufacturer will typically supply theparameters that quantify the stochastic nature of the sensor. A brief dis-cussion of sensor specifications is presented in Section 4.9.2.

Chapter 4 discusses the various topics from the theory of random vari-ables and stochastic processes that must be understood for the design andanalysis of navigation systems. This discussion includes definitions of basicstochastic process concepts, discussion of dynamic systems with stochasticinputs, definition of various stochastic process models that regularly appearin navigation systems, and discussion of the time variation of the mean andvariance of the state of a linear stochastic state space system. Chapter4 concludes with a discussion of state estimation as it relates to linearstochastic state space systems and the characterization of their state esti-mation accuracy through covariance analysis. The example of Section 1.1.1is considered again in Section 4.9.3-4.9.4 using the quantitative methods ofChapter 4.

1.2.4 Optimal State Estimation

Based on the considerations of the previous subsections, aided navigationsystem design will be organized as a state estimation problem for a stochas-tic dynamic system. Due to the stochastic nature of the measured variables,the designer cannot expect to achieve a state estimation error that convergesexactly to zero; however, the designer has the means to quantify the per-formance of the state estimation process. Therefore, a natural question toconsider is what is the optimal level of performance that can be achieved

Page 38: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

1.2. OVERVIEW OF PART I: THEORY 15

and what is the estimator that will provide that level of performance.Chapter 5 derives the Kalman filter and discusses its properties along

with key implementation considerations. Under certain assumptions, theKalman filter is the optimal state estimator for a linear system with stochas-tic inputs. These assumptions and their relation to navigation applicationswill be considered.

1.2.5 Performance Analysis

The analysis in Chapter 5 assumes that the estimator design model is anexact model of the navigation system error dynamics. That assumptionis optimistic. In the design process, a series of modeling tradeoffs maybe considered for various reasons including computational loading. Due tosuch tradeoffs and the fact that any mathematical model is only an approx-imation to the actual physical system, the estimator design model will notexactly match the real system. Therefore, the analyst should be interestedin analyzing the robustness of the system performance to discrepancies be-tween the actual and model systems. In addition, the designer may beinterested in considering how the system performance would change un-der different sets of design choices, for example, changing the quality of asensor.

Chapter 6 presents both a method to study the robustness of the systemperformance to model errors and a method that allows the designer toconsider each source of system error separately to determine its contributionto the overall error budget.

1.2.6 Aided Navigation System Design and Analysis

Chapters 2–6 will have presented various theoretical topics which can becombined to provide a classical theory for the design and analysis of aidednavigation systems. Chapter 7 combines together the various theoreticalconcepts within simple navigation examples to illustrate the key concepts ofthe approach. This understanding is the stepping off point for Part II of thetext. It is critical to understand the basic theory and overall approach priorto attempting more complex and higher dimensional real world navigationsystems.

Chapter 7 will discuss the complementary filter with applications andexercises. The complementary filter framework relates well to aided nav-igation system design. Within this framework it is natural to focus onkey ideas such as the complementary nature of sensors, observability, andlinearized models for stochastic error variables.

Researchers might be tempted to investigate more advanced conceptssuch as particle filters, neural networks, or fuzzy estimators. Such advanced

Page 39: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

16 CHAPTER 1. INTRODUCTION

topics are sometimes proposed and may, in some applications, be appropri-ate. However, the classical approach built on the theory in Part I of thistext, outlined in Chapter 7, and discussed for several specifics applicationsin Part II is a complete and rigorous approach to the design and analysisof navigation systems. It is highly recommended that the researcher un-derstand this classical approach, its strengths, and its weaknesses beforemoving on to more advanced concepts.

1.3 Overview of Part II: Applications

Part I of this text has presented the essential components of the theorynecessary for the design and analysis of navigation systems. Chapter 7 hasbrought those concepts together to present the classical approach to aidednavigation system design. Chapter 7 focused on a rather simple exampleusing the idea of a complementary filter. The purpose of Part II is to extendthat methodology to the design of various navigation systems suitable forreal world application. Prior to considering aided navigation systems, PartII first introduces the GPS system as a typical aiding sensor. The coverageof each chapter is discussed in the following subsections.

1.3.1 GPS

Chapter 8 discusses the Navstar Global Positioning System. This chapterincludes discussion of the GPS observables, measurement models, errormodels, position solution methods, and differential GPS.

In this text GPS is used as the prototypical aiding sensor. Aidingwith Compass, Galileo, GLONASS, combined GNSS signals, or pseudoliteswould be similar in nature, but distinct in specific integration details.

Similarly, underwater applications are denied access to satellite signals;however, a variety of acoustic ranging sensor systems exist. Understandingof the use of GPS as an aiding signal enables extension to underwater acous-tic ranging systems. However, the speed of sound in water is significantlyslower and more variable than the speed of light in Earth’s atmosphere;therefore, depending on the desired level of performance characterizationof the speed of sound in water and accommodation of the time of travel ofthe ranging signal can be critical.

1.3.2 Aided Navigation Systems

Chapters 9 and 11 will discuss the design and analysis of GPS aided Encoderand GPS aided INS, respectively. Chapter 10 discusses the design of an at-titude and heading reference system. Chapter 12 discusses the design of a

Page 40: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

1.4. OVERVIEW OF APPENDICES 17

Doppler and acoustic ranging aided inertial navigation system for an under-water vehicle. Each chapter will present the system kinematic model, basicsensor models, measurement prediction equations, measurement residualequations, an error state dynamic model, observability analysis, and exam-ple covariance analysis. Each chapter includes enough discussion to serveas a detailed starting point for applications or student projects.

1.4 Overview of Appendices

Four appendices are included. Appendix A is provided as a summary ofnotation used in the book. Appendix B reviews various linear algebra con-cepts and includes a few more advanced topics. It is intended to serveas a convenient point of reference to make the text more self-contained.Appendix C presents the GPS ephemeris and ionospheric models. The ap-pendix includes an example set of calculations and equations for computingthe velocity of the GPS satellites. Appendix D discusses the important topicof quaternions. The main body of the text discusses mainly the Euler angleand direction cosine attitude representations. Even though quaternions areoften the preferred attitude representation, since students often find quater-nions difficult and they are not essential for implementation, quaternionshave been included as an appendix. The intent is to allow the main body ofthe text to flow through the theory presented in Part I and the applicationsof Part II. Once these concepts are familiar and at least one application issuccessfully functioning, the topic of numeric efficiency and singularity freerepresentations is an extension that often will naturally occur.

Page 41: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 42: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 2

Reference Frames

Navigation systems require the transformation of measured and computedquantities between various frames-of-reference. The purpose of this chap-ter is to define the various frames and the methods for transforming thecoordinates of points and representation of vectors between frames. Be-fore proceeding to the main body of the chapter, the next paragraph stepsthrough the measurements and computations of a strapdown inertial nav-igation system (INS). The goals of this brief introduction are to definenotation and to illustrate how the different frames-of-reference come intoplay in navigation applications.

��

�����

����

���

���

����

����

���

����

��

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

��� �������

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

Figure 2.1: High level block diagram of an inertial navigation system. Fora vector, the superscript defines the frame-of-reference in which the vector isrepresented. For a matrix transformations between two frames-of-reference,the subscript defines the origination frame and the superscript defines the des-tination frame. The encircled symbol Π represents a product.

A high level block diagram for a typical strapdown INS is shown inFigure 2.1. Before discussing its operation, it is necessary to briefly discussnotational conventions. As will be discussed in this chapter, vectors havedistinct coordinate representations in distinct reference frames. Therefore,

19

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 43: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

20 CHAPTER 2. REFERENCE FRAMES

a notation is required to record the frame of the representation. The refer-ence frame in which a vector is represented is indicated by a superscript, forexample vn is the velocity vector represented in the n or navigation frame.In the text of the book, vectors and matrices will be represented in boldface.Rotational transformations will be represented by an R with a subscriptand superscript indicating the origin and destination frames-of-reference.For example, Rn

p represents the rotational transformation from the p orplatform frame to the n or navigation frame. The various reference framesare defined in Section 2.2. Finally, certain quantities such as angular ratesmeasure the rotational rate of one frame relative to another in addition tobeing represented in a specific reference frame. For example, ωp

ip should beread as the angular rate of frame p with respect to frame i represented inframe p. With this notation, it is true that

ωpip = −ωp

pi.

Throughout the book, all angular rates are defined to be positive in theright-handed sense. This means that if the thumb of the right hand pointsalong the direction of the angular rate vector, then the fingers of the righthand will indicate the physical sense of the rotation. Alternatively, thiscan be stated that looking up along the angular rate vector, from the tailtoward the head, the sense of the rotation is clockwise.

The INS in Figure 2.1 uses variables related to five different coordinatesystems. The accelerometers measure fa

ip which is the platform accelera-tion relative to an inertial frame-of-reference, resolved in the accelerometerframe-of-reference (i.e., along the accelerometer sensitive axis). The ac-celerometer measurements are transformed into the platform frame usingthe (usually) constant calibration matrix Rp

a. The gyros measure ωgip which

is the platform angular rate relative to the inertial frame-of-reference, asresolved in gyro frame (i.e., along the gyro sensitive axis). The gyro mea-surements are also transformed into the platform frame using the (usually)constant calibration matrix Rp

g. The platform frame gyro measurementsare processed to maintain the platform-to-navigation frame rotation matrixRn

p . Finally, the platform-to-navigation frame rotation matrix Rnp is used to

transform the accelerometer measurements into the navigation frame wherethey are processed to determine navigation frame velocity and position.

This chapter discusses the definition of, properties of, and transforma-tion between frames-of-reference. Section 2.1 provides a short summary ofsome properties of reference frames and coordinate systems to simplify thediscussion of the subsequent sections. Section 2.2 defines each frame-of-reference along with at least one definition of a suitable coordinate frame.Section 2.3 focuses on definition of and transformations between commoncoordinates systems for the important Earth Centered Earth Fixed frame-of-reference. Section 2.4 discusses the general approach to transforming

Page 44: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.1. REFERENCE FRAME PROPERTIES 21

points and vectors between rectangular coordinate systems. Section 2.5discusses plane rotations with derivations of specific rotation matrices thatare useful in navigation applications. Since navigation systems are freelymoving, one navigation system may rotate relative to another. Therefore,Section 2.6 discusses the properties of time derivatives of vectors repre-sented in and rotation matrices representing transformations between ro-tating reference frames. Section 2.7 discusses methods to compute thedirection cosine matrix based on measurements of the relative angular ratebetween two reference frames.

2.1 Reference Frame Properties

As previously motivated, navigation systems involve variables measuredin various frames-of-reference. To insure system interoperability and clearcommunication between engineers working with the system each frame andits properties should be clearly defined.

As exemplified in the introduction to this chapter, throughout this book,vectors and matrices will be written in boldface. When a vector is repre-sented relative to a specific reference frame, the frame-of-reference will beindicated by a superscript. For example, ωa is the vector ω representedwith respect to the a frame-of-reference. The rotation matrix for trans-forming a vector representation from frame a to frame b is written as Rb

a

whereωb = Rb

aωa. (2.1)

This equation is derived in Section 2.4. Specific rotation matrices Rba will

be defined in Section 2.5. Appendix A contains summary tables of thevarious coordinate frame, notation, variable, and constant definitions usedthroughout this chapter and the remainder of the book.

Unless otherwise stated, all rectangular frames-of-reference are assumedto have three axes defined to be orthonormal and right-handed. Let theunit vectors along the coordinate axes of a reference frame be I, J, and K.Orthonormality requires that

I · I = 1 I · J = 0 I · K = 0J · I = 0 J · J = 1 J · K = 0K · I = 0 K · J = 0 K · K = 1

where K · I denotes the inner product between K and I. Right-handedimplies that I × J = K.

Due to the gravitational effects near the surface of the Earth, it is oftenconvenient to consider ellipsoidal coordinate systems in addition to rectan-gular coordinate systems. The Earth’s geoid is a hypothetical equipotentialsurface of the Earth’s gravitational field that coincides with the Earth’s

Page 45: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

22 CHAPTER 2. REFERENCE FRAMES

mean sea level. By definition the gravity vector is everywhere perpendic-ular to the geoid. For analytic tractability the Earth’s geoid is usuallyapproximated by a reference ellipsoid that is produced by rotating an el-lipse around its semi-minor axis. Figure 2.2 depicts an ellipse that hasmuch greater flatness than the that of the Earth, but the ellipse is usefulfor making a few important points. Most importantly, the normal to theellipse, when extended towards the interior of the ellipse does not intersectthe center of the Earth. See exercise 2.1. Since the gravity vector is (nom-inally) perpendicular to the ellipsoid, the gravity vector does not point tothe center of the Earth. Also, as shown in the left portion of the figure, thelatitude of a point P can be defined in two different ways. The geodeticlatitude φ is the angle from the equator to the outward pointing normalvector with positive angles in the northern hemisphere. The geocentriclatitude φc is the angle from the equator to the vector from the center ofthe Earth to P . Therefore, we can have geodetic or geocentric ellipsoidalcoordinates. Also, we must be careful to clearly distinguish whether a localcoordinate systems aligns with the geodetic or the geocentric normal.

There are also two common classes of methods for defining the originO of a reference system on the surface of the Earth. As shown in the leftportion of Figure 2.2, the origin of a reference frame can be defined as theprojection of the point P onto the reference ellipsoid. In this case, thereference frame origin O moves as dictated by the horizontal portion of themotion of P . Alternatively, as shown in the right portion of the figure, theorigin O may be fixed to the surface of the Earth at a point convenient forlocal reference, e.g., the end of a runway. In this case, the origin of thelocal reference frame does not move with P .

������

������

��

Figure 2.2: Left — Exaggerated ellipse depicting the difference betweengeodetic and geocentric latitude. Right — Depiction of a local frame-of-reference.

Page 46: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.2. REFERENCE FRAME DEFINITIONS 23

2.2 Reference Frame Definitions

This section defines various frames-of-reference that are commonly used innavigation system applications.

2.2.1 Inertial Frame

An inertial frame is a reference frame in which Newton’s laws of motionapply. An inertial frame is therefore not accelerating, but may be in uniformlinear motion. The origin of the inertial coordinate system is arbitrary,and the coordinate axis may point in any three mutually perpendiculardirections. All inertial sensors produce measurements relative to an inertialframe, resolved along the instrument sensitive axis.

For discussion purposes it is sometimes convenient to define an Earthcentered inertial (ECI) frame which at a specified initial time has its origincoincident with the center of mass of the Earth, see Figure 2.3. At the sameinitial time, the inertial x and z axes point toward the vernal equinox andalong the Earth spin axis, respectively. The y-axis is defined to complete theright-handed coordinate system. The axes define an orthogonal coordinatesystem. Note that the ECEF frame, defined in Section 2.2.2, rotates withrespect to this ECI frame with angular rate ωie; therefore, in the ECI framethe angular rate vector is ωi

ie = [0, 0, ωie]�.

��

��

��

��

���

Figure 2.3: Rotation of the ECEF frame with respect to an Earth-centeredinertial frame. The vectors xi, yi, and zi, define the axes of the ECI frame.The vector xe defines the x-axis of the ECEF frame.

Page 47: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

24 CHAPTER 2. REFERENCE FRAMES

2.2.2 Earth Centered Earth Fixed (ECEF) Frames

This frame has its origin fixed to the center of the Earth. Therefore, theaxes rotate relative to the inertial frame with frequency

ωie ≈(

1 + 365.25 cycle(365.25)(24) hr

)(2π rad/cycle3600 sec/hr

)= 7.292115 × 10−5 rad

sec(2.2)

due to the 365.25 daily Earth rotations per year plus the one annual revo-lution about the sun. Relative to inertial frame, the Earth rotational ratevector expressed relative to the ECEF axes is ωe

ie = [0, 0, 1]�ωie.The Earth’s geoid is usually approximated as an ellipsoid of revolu-

tion about its minor axis. A consistent set of Earth shape (i.e., ellipsoid)and gravitation model parameters must be used in any given application.Therefore, the value for ωie in eqn. (2.2) should only be considered as anapproximated value. Earth shape and gravity models are discussed in Sec-tion 2.3. Due to the Earth rotation, the ECEF frame-of-reference is not aninertial reference frame. Two common coordinate systems for the ECEFframe-of-reference are discussed in Section 2.3.

2.2.3 Geographic Frame

The geographic frame is defined locally, relative to the Earth’s geoid. Theorigin of the geographic frame moves with the system and is defined asthe projection of the platform origin P onto the reference ellipsoid, see theleft portion of Figure 2.2. The geographic z-axis points toward the interiorof the ellipsoid along the ellipsoid normal. The x-axis points toward truenorth (i.e., along the projection of the Earth angular rate vector ωie ontothe plane orthogonal to the z-axis). The y-axis points east to complete theorthogonal, right-handed rectangular coordinate system.

Since the origin of the geographic frame travels along with the vehicle,the axes of the frame rotate as the vehicle moves either north or east. Therotation rate is discussed in Example 2.6. Because the geographic framerotates with respect to inertial space, the geographic frame is not an inertialframe.

Two additional points are worth specifically stating. First, true northand magnetic north usually are distinct directions. Second, as illustratedby the exaggerated ellipse in the left portion of Figure 2.2, the normal toa reference ellipsoid (approximate Earth geoid) does not pass through thecenter of the ellipsoid, unless the platform origin P is at the equator oralong the Earth spin axis.

2.2.4 Geocentric Frame

Closely related to the geographic frame-of-reference is the geocentric frame.The main distinction is that the geocentric z-axis points from the system

Page 48: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.2. REFERENCE FRAME DEFINITIONS 25

location towards the Earth’s center. The x-axis points toward true northin the plane orthogonal to the z-axis. The y-axis points east to completethe orthogonal, right-handed rectangular coordinate system. Like the geo-graphic frame, the axes of the geocentric frame rotate as the vehicle movesnorth or east; therefore, the geocentric frame is not an inertial frame.

2.2.5 Local Geodetic or Tangent Plane

The local geodetic frame is the north, east, down rectangular coordinatesystem we often refer to in our everyday life (see Figure 2.4). It is deter-mined by fitting a tangent plane to the geodetic reference ellipse at a pointof interest. The tangent plane is attached to a fixed point on the surface ofthe Earth at some convenient point for local measurements. This point isthe origin of the local frame. The x-axis points to true north. The z-axispoints toward the interior of the Earth, perpendicular to the reference el-lipsoid. The y-axis completes the right-handed coordinate system, pointingeast.

For a stationary system, located at the origin of the tangent frame, thegeographic and tangent plane frames coincide. When a system is in motion,the tangent plane origin is fixed, while the geographic frame origin is theprojection of the platform origin onto the reference ellipsoid of the Earth.The tangent frame system is often used for local navigation (e.g., navigationrelative to a runway).

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

� ����������

�������������� �!�"

�#�����

����� $��� �% ��&���

���

Figure 2.4: Local geodetic or tangent plane reference coordinate system inrelation to the ECEF frame.

Page 49: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

26 CHAPTER 2. REFERENCE FRAMES

2.2.6 Body Frame

In navigation applications, the objective is to determine the position andvelocity of a vehicle based on measurements from various sensors attachedto a platform on the vehicle. This motivates the definition of vehicle andinstrument frames-of-reference and their associated coordinate systems.

The body frame is rigidly attached to the vehicle of interest, usually at afixed point such as the center of gravity. Picking the center of gravity as thelocation of the body frame origin simplifies the derivation of the kinematicequations [90] and is usually convenient for control system design. Theu-axis is defined in the forward direction of the vehicle. The w-axis isdefined pointing to the bottom of the vehicle and the v-axis completes theright-handed orthogonal coordinate system. The axes directions so defined(see Figure 2.5) are not unique, but are typical in aircraft and underwatervehicle applications. In this text, the above definitions will be used. Inaddition, the notation [u, v, w] for the vehicle axes unit vectors has beenused instead of [x, y, z], as the former is more standard.

#

!

Figure 2.5: Top view of vehicle (body) coordinate system.

As indicated in Figure 2.5, the rotation rate vector of the body framerelative to inertial space, resolved along the body axis is denoted by ωb

ib =[p, q, r]� where p is the angular rate about the u-axis (i.e., roll rate), q isthe angular rate about the v-axis (i.e., pitch rate), and r is the angularrate about the w-axis (i.e., yaw rate). Each angular rate is positive in theright-hand sense. The body frame is not an inertial frame-of-reference.

Page 50: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.2. REFERENCE FRAME DEFINITIONS 27

2.2.7 Platform Frame

This book will only discuss applications where the sensors are rigidly at-tached to the vehicle. For inertial navigation, such systems are referred toas strap-down systems. Although the sensor platform is rigidly attachedto the vehicle, for various reasons the origin of the platform frame may beoffset or rotated with respect to the origin of the body frame. The originof the platform coordinate frame is at an arbitrary point on the platform.The platform frame axes are defined to be mutually orthogonal and right-handed, but their specific directions are application dependent. Often therotation matrix Rb

p is constant and determined at the design stage.

2.2.8 Instrument Frames

Typically an instrument frame-of-reference is defined by markings on thecase of the instrument. Sensors within the instrument resolve their measure-ments along the sensitive axes of the instruments. Ideally, the instrumentsensitive axes align with the instrument frame-of-reference; however, perfectalignment will not be possible under realistic conditions. In addition, thesensitive axes may not be orthogonal. Instrument manufacturers may putconsiderable effort into in-factory calibration and orthogonalization rou-tines in addition to temperature, linearity, and scale factor compensation.Such manufacturer defined compensation algorithms will be factory presetand programmed into the instrument. Depending on the desired level ofperformance, the navigation system designed may have to consider addi-tional instrument calibration either at system initialization or during opera-tion. Methods to accomplish this are a major item of discussion throughoutthe subsequent chapters of this book.

Even though the transformation of sensor data from the instrumentframe to the platform frame is not necessarily a rotation, for consistency,we will use a similar notation. For example, the transformation of ac-celerometer data to platform frame will be denoted by Rp

a.

2.2.9 Summary

A natural question at the beginning of this section is why are the vari-ous coordinate systems required? The answer is that each sensor providesmeasurements with respect to a given reference frame. The fact that thesensor-relevant coordinate frames are typically distinct from the navigationframe can now be made more concrete.

The GPS system (described in Chapter 8) provides estimates of anantenna position in the ECEF coordinate system, vision and radar pro-vide distance measures in a local instrument-relative coordinate system,accelerometers and gyros provide inertial measurements expressed relative

Page 51: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

28 CHAPTER 2. REFERENCE FRAMES

to their instrument axes. Given that different sensors provide measure-ments relative to different frames, the measurements in different framesare only comparable if there are convenient means to transfer the measure-ments between the coordinate systems. For example, a strap-down GPSaided INS system performing navigation relative to a fixed tangent planeframe-of-reference will typically:

1. transform acceleration and angular rate measurements to platformcoordinates;

2. compensate the platform angular rate measurement for navigationframe rotation;

3. integrate the compensated platform frame angular rates to maintainan accurate vector transformation from platform to navigation coor-dinates;

4. transform platform frame accelerations to tangent plane using thetransformation from step 3;

5. integrate the (compensated) tangent plane accelerations to calculatetangent plane velocity and position;

6. use the position estimate to predict the GPS observables;

7. make GPS measurements, compute the residual error between thepredicted and measured GPS observables, and use these measurementresiduals to estimate and correct errors in the sensed and calculatedINS quantities;

8. transform the vehicle inertial measurements and state variables thatare estimated above to frames-of-reference (e.g., body) that might bedesired by other vehicle systems (e.g., control or mission planning).

A similar procedure is followed for other aided navigation systems. Thenecessary coordinate system transformations and the algorithms for theiron-line calculation are derived in the following sections.

2.3 ECEF Coordinate Systems

Two different coordinate systems are common for describing the locationof a point in the ECEF frame. These rectangular and geodetic coordi-nate systems are defined in the following two subsections. Subsection 2.3.3discusses the transformation between the two types of coordinates.

Page 52: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.3. ECEF COORDINATE SYSTEMS 29

��� ������

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

���$��� � ���������#�����% ��&���

�����

��

Figure 2.6: ECEF rectangular coordinate system.

2.3.1 ECEF Rectangular Coordinates

The usual rectangular coordinate system [x, y, z]e, herein referred to as theECEF coordinate system, has its origin at the Earth’s center of mass withits x-axis extend through the intersection of the prime meridian (0 deglongitude) and the equator (0 deg latitude). The z-axis extends throughthe true north pole (i.e., coincident with the Earth spin axis). The y-axiscompletes the right-handed coordinate system, passing through the equatorand 90 deg longitude, as shown in Figure 2.6.

2.3.2 The Earth Geoid and Gravity Model

The following sections briefly discuss the need for and definition of theEarth geoid and the gravity model relative to this geoid.

The gravity vector is the vector sum of the gravitational force of theEarth mass and the centrifugal force due to Earth rotation. The relative sizeand orientation of these two forces is dependent on the point of evaluation.For example, the centrifugal force is maximum at the equator and zero alongthe Earth axis of rotation. The geodetic surface of the Earth is defined tobe everywhere normal to the gravity vector (i.e., an equipotential surfacerelative to the force of gravity). The geodetic surface is distinct from theactual irregular shape of the surface, but may be imagined as the meanshape that the Earth would take if the solid surface of the Earth werecompletely covered with sea water.

2.3.2.1 Earth Geoid

Figure 2.7 illustrates various surfaces useful for understanding the actualshape of the Earth and analytic representations of that shape. The geoid is

Page 53: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

30 CHAPTER 2. REFERENCE FRAMES

��

� ���� �!��������

"���!���# �

�����

"������

Figure 2.7: Definitions of Earth surfaces related to geodetic frame.

the mean sea level of the Earth. The actual Earth surface fluctuates relativeto the geoid. For analytical convenience the geoid is approximated by anellipsoid created by rotation of an ellipse around its minor axis as shown inFigure 2.8. The center of the ellipsoid is coincident with the center of massof the Earth. The minor axis of the ellipse is coincident with the meanrotational axis of the Earth.

Most charts and navigation tools are expressed in the (φ, λ, h) geodeticcoordinates, as depicted in Figure 2.8, where φ denotes latitude, λ denoteslongitude, and h denotes altitude above the reference ellipsoid. Latitude isthe angle in the meridian plane from the equatorial plane to the ellipsoidalnormal N . Note that the extension of the normal towards the interior ofthe ellipsoid will not intersect the center of the Earth except in specialcases such as φ = 0 or ±90◦. See Exercise 2.1. Longitude is the anglein the equatorial plane from the prime meridian to the projection of thepoint of interest onto the equatorial plane. Altitude is the distance alongthe ellipsoidal normal, away from the interior of the ellipsoid, between thesurface of the ellipsoid and the point of interest.

A geodetic model is defined by specification of four constants. Theeccentricity of the ellipsoid that approximates the geoid is determined bythe gravitational attraction and angular rotation rate of the Earth. There-fore, the defining parameters for a geodetic system must be defined consis-tently to determine the ellipsoid and the gravity model. The parametersof a geodetic model are determined by least squares fitting to experimentaldata. Various geodetic parameter sets have been defined by different usersat different times. The model accuracy has increased along with the associ-ated instrumentation accuracy. In particular,improved accuracy was madepossible by the analysis of the trajectories of artificial satellites. This bookwill use the WGS84 geodetic system. The WGS84 defining constants are

Page 54: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.3. ECEF COORDINATE SYSTEMS 31

���$�

���������

��

��������������������������������������������������$� ���� ���������������������������������������������

�����" ���

������������ ��$�

����'

��

���$�%������

Figure 2.8: Geodetic reference coordinate system. Left - Cross section ofthe ellipsoid containing the rotational axis and the projection of the point Ponto the equatorial plane. Right - Cross section of the ellipsoid containing theequatorial plane.

Name Sysmbol Value UnitsEquatorial radius a 6378137 mReciprocal flattening 1

f 298.257223563Angular rate ωie 7.292115 × 10−5 rad

s

Gravitational constant GM 3.986004418 × 1014 m3

s2

Table 2.1: WGS84 defining parameters.

contained in Table 2.1 [12].Two constants define the reference ellipse. The ellipse defining parame-

ters are typically the length of the semimajor axis a and one of the following:

semiminor axis: b

eccentricity: e =√

a2−b2

a2 =√

f(2 − f)flatness: f = a−b

a .

Based on the defining constants in Table 2.1, the following ellipse parametervalues can be derived:

f = 0.00335281, (2.3)b = a(1 − f) = 6356752.314m, (2.4)

e =√

f(2 − f) = 0.08181919. (2.5)

Replication of the above computations should be completed using machineprecision, not the precision displayed in the above results.

Page 55: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

32 CHAPTER 2. REFERENCE FRAMES

For any specific vehicle location, various heights can be defined, as illus-trated in Figures 2.7 and 2.8. The geoid height N is the distance along theellipsoid normal from the ellipsoid to the geoid. The orthometric height Hdenotes the height of the vehicle above the geoid. It is also referred to aselevation. The altitude or geodetic height can be expressed as h = H + N .

Great circles of a sphere pass through the center of the sphere and dividethe sphere into two equal parts. For a point P on Earth’s surface, verticalcircles are great circles on the celestial sphere that are perpendicular tothe horizon for point P . As such, vertical circles pass through the nadirand zenith for point P . There is a vertical circle for every azimuth angle.Two vertical circles are of particular interest. The vertical circle passingthrough the north and south horizon points defines the meridian plane of P .The intersection of that plane with the Earth ellipsoid defines the meridian,which is an ellipse of constant longitude (modulo 180 degrees). Let φ denotethe latitude of P . At P the meridian ellipse has radius of curvature RM (φ)referred to as the meridian radius or the radius of the ellipse

RM (φ) =a(1 − e2)(

1 − e2 sin2(φ)) 3

2. (2.6)

The vertical circle through the east and west horizon points is the primevertical. The prime vertical also defines a plane. The radius of curvatureat P of the ellipse defined by the intersection of this prime-vertical planewith the Earth ellipsoid is the normal radius

RN (φ) =a(

1 − e2 sin2(φ)) 1

2. (2.7)

It is also referred to as the prime vertical radius of curvature or the greatnormal. For φ �= ±π

2 , the normal radius is the length of the normal tothe ellipsoid, from its intersection with the ECEF z-axis to the surface ofthe ellipsoid. On the reference ellipsoid, parallels are closed curves withconstant latitude. Such curves are circles with radius RN cos(φ).

Exercise 2.2 steps through the derivation of eqns. (2.6) and (2.7). Ex-ercise 2.6 asks the user to derive formulas related to eqns. (2.6) and (2.7)that are useful in subsequent derivations.

2.3.2.2 Earth Gravity Model

The gravity vector varies as a function of position due to the gravitationalattraction being a function of geocentric radius, the centripetal accelerationbeing a function of latitude and radius, and the non-uniform Earth massdistribution.

The WGS84 geodetic and gravity model parameters are defined in Ta-ble 2.1. In the geographic reference frame, a local gravity vector model

Page 56: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.3. ECEF COORDINATE SYSTEMS 33

developed by the Defense Mapping Agency that is accurate on the surfaceof the WGS84 ellipsoid is

gg =

⎡⎣ 0

0γ(φ)

⎤⎦ +

⎡⎣ ζg

−ηg

δg

⎤⎦ (2.8)

where φ is the latitude, γe = 9.7803267715 ms2 is the equatorial effective

gravity and

γ(φ) = γe1 + 0.001931851353 sin2(φ)√1 − 0.0066943800229 sin2(φ)

.

The vector [ζg,−ηg, δg]� represents local perturbations in the gravity vec-tor relative to the ellipsoidal normal vector. Both gg and [ζg,−ηg, δg]�

are functions of position, but the argument is not shown to simplify thenotation.

2.3.3 ECEF Transformations

This section presents algorithms to transform between the geodetic (i.e.,(φ, λ, h)e) and rectangular (i.e., (x, y, z)e) ECEF coordinates. The WGS-84 ellipsoid parameters are used throughout the discussion.

When the geodetic coordinates are known, the coordinates in the ECEFframe is calculated as

x = (RN + h) cos(φ) cos(λ) (2.9)y = (RN + h) cos(φ) sin(λ) (2.10)z = [RN (1 − e2) + h] sin(φ). (2.11)

Example 2.1 The geodetic position of a point in the vicinity of Los An-geles, CA is φ = 34 degrees, 0 minutes, 0.00174 seconds North, λ = 117degrees, 20 minutes, 0.84965 seconds West, and h = 251.702 m. Thesecoordinates convert to φ = 0.5934119541 rad and λ = −2.0478571082rad. The signs and precision are critical, see Exercise 2.3. Then RN =6.384823214 × 106 m and

[x, y, z]e = [−2430601.828,−4702442.703, 3546587.358] m. (2.12)

Readers unfamiliar with the degrees, minutes, seconds notation should seeExercises 2.3 and 2.4. �

The transformation from [x, y, z]e to geodetic coordinates is more in-volved, but is important in GPS applications where the ECEF rectangu-lar coordinates are directly determined from range measurements and the

Page 57: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

34 CHAPTER 2. REFERENCE FRAMES

geodetic coordinates are often desired. Longitude can be found explicitlyfrom eqns. (2.9-2.10) as λ = arctan2(y, x). Solution for h and φ can becomputed by iteration as follows [92]:

1. Initialization: Let

h = 0RN = a

p =√

x2 + y2.

2. Perform the following iteration until convergence:

sin(φ) =z

(1 − e2)RN + h

φ = atan((z + e2RN sin(φ))/p)

RN (φ) =a√

1 − e2 sin2(φ)

h =p

cos(φ)− RN

where the eccentricity e is a defining constant of the geodetic system asdiscussed in Section 2.3.2.1. Although it is conceptually simpler to take theinverse sine in the second step, the presented algorithm has much fasterconvergence, as shown in the following example.

Example 2.2 Consider the inversion of the previous example in which

[x, y, z]e = [−2430601.828,−4702442.703, 3546587.358] m.

Starting with an initial estimate of h = 0.0 m, the algorithm as writtenconverges to centimeter accuracy (1 × 10−9 rads.) in four iterations:

iteration 1 2 3 4 5

lat: deg 34 34 34 34 34lat: min 0 0 0 0 0lat: sec 0.027145 0.003159 0.001738 0.001740 0.001740

h 237.6519 251.7325 251.7020 251.7020 251.7020

The same algorithm with the same initial estimate for h, but using an in-verse sine instead of an arctan function in the second calculation of theiteration has still not converged to meter level accuracy after eight itera-tions:

iteration 1 2 3 4 5 6 7 8

lat:deg 34 33 34 33 34 33 34 33lat: min 2 58 0 59 0 59 0 59lat: sec 31.41 50.62 31.77 45.45 6.67 56.95 1.40 59.36

h 3401 -1189 912 -50 390 188 280 238

Page 58: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.4. REFERENCE FRAME TRANSFORMATIONS 35

Convergence to centimeter accuracy requires 25 iterations. Generally, thearctan-based iterative technique converges quickly, especially when a goodinitial guess at the solution (e.g., from a previous measurement) is available.�

Various alternative approximate and closed form solutions exist in theliterature [24, 66, 68, 76, 117].

2.4 Reference Frame Transformations

This section presents methods for transforming points and vectors betweenrectangular coordinate systems. The axes of each coordinate system areassumed to be right-handed and orthogonal. Three dimensions are usedthroughout the discussion; however, the discussion is equally valid for R

n.

2.4.1 The Direction Cosine Matrix

Let φ1 represent a right-handed orthogonal coordinate system. Let v1 be avector from the origin O1 of the φ1 frame to the point P . The representationof the vector v1 with respect to frame φ1 is

v1 = x1I1 + y1J1 + z1K1 (2.13)

where I1,J1,K1 are unit vectors along the φ1 axes and

x1 = (P − O1) · I1

y1 = (P − O1) · J1

z1 = (P − O1) · K1.

The vector [v1]1 = [x1, y1, z1]� contains the coordinates of the point Pwith respect to the axes of φ1 and is the representation of the vector v1

with respect to φ1. The physical interpretations of the coordinates is thatthey are the projections of the vector v1 onto the φ1 axes. For the two-dimensional x − y plane, the discussion of this paragraph is depicted inFigure 2.9.

A vector v can be defined without reference to a specific reference frame.When convenient, as discussed above, the representation of v ∈ R

3 withrespect to the axes of frame φ1 is

[v]1 =

⎡⎣ I1 · v

J1 · vK1 · v

⎤⎦ =

⎡⎣ I�1

J�1

K�1

⎤⎦v. (2.14)

Eqn. (2.14) is used in derivations later in this subsection.

Page 59: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

36 CHAPTER 2. REFERENCE FRAMES

�&!!!!!!!!!!!!!!!�&!!!!!!!!!!!!!!!!!!!!!!!!!�&

�&

�&

� &'�(� &

Figure 2.9: Two dimensional representation of the determination of thecoordinates of a point P relative to the origin O1 of reference frame φ1.

With two distinct reference frames φ1 and φ2, the same point can berepresented by a different sets of coordinates in each reference frame. Fortwo dimensions with both reference frames defined within the plane of thepage, the situation is depicted in Figure 2.10 where the projections andcoordinate definitions of the previous paragraph are performed with respectto each frame-of-reference. The remainder of this section discusses theimportant question of how to use the coordinates of a point in one frame-of-reference to compute the coordinates of the same point with respect to adifferent frame-of-reference. The transformation of point coordinates fromone frame-of-reference to another will require two operations: translationand rotation.

From the above discussion, v1 = P −O1 is the vector from O1 to P andv2 = P − O2 is the vector from O2 to P . Define O12 = O2 − O1 as thevector from O1 to O2. Therefore, we have that

v1 = O12 + v2.

This equation must hold whether the vectors are represented in the coor-dinates of the φ1 frame or the φ2 frame.

Denote the components of vector v1 relative to the φ1 frame as [v1]1 =[x1, y1, z1]1, the components of v2 relative to the φ2 frame as [v2]2 =[x2, y2, z2]2 and the components of O12 relative to the φ1 frame as [O12]1 =[xO, yO, zO]1. Assume that [v2]2, [O12]1 and the relative orientation of thetwo reference frames are known. Then, the position of P with respect tothe φ1 frame can be computed as⎡

⎣ x1

y1

z1

⎤⎦1

=

⎡⎣ xO

yO

zO

⎤⎦1

+ [v2]1. (2.15)

Because it is the only unknown term in the right hand side, the present

Page 60: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.4. REFERENCE FRAME TRANSFORMATIONS 37

�&!!!!!!!!!!!!!!!�&!!!!!!!!!!!!!!!!!!!!!!!!�&

�&

�&

� &'�(� &

�) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!�

) !!!!!!!!!!!!�)

�)

�)

�) '�(�)

�&)

Figure 2.10: Definition of the coordinates of a point P with respect to twoframes-of-reference φ1 and φ2.

question of interest is how to calculate [v2]1 based on the available infor-mation.

Let I2,J2,K2 represent the unit vectors along the φ2 axes. As discussedrelative to eqn. (2.14), vectors vI , vJ , and vK defined as

vI =

⎡⎣ I1 · I2

J1 · I2

K1 · I2

⎤⎦ , vJ =

⎡⎣ I1 · J2

J1 · J2

K1 · J2

⎤⎦ , and vK =

⎡⎣ I1 · K2

J1 · K2

K1 · K2

⎤⎦

represent the unit vectors in the direction of the φ2 coordinate axes thatare resolved in the φ1 reference frame. Since I2,J2,K2 are orthonormal, soare vI ,vJ ,vK . Therefore, the matrix

R12 = [vI ,vJ ,vK ]

is an orthonormal matrix (i.e.,(R1

2

)�R1

2 = R12

(R1

2

)� = I).Each element of R1

2 is the cosine of the angle between one of I1,J1,K1

and one of I2,J2,K2. To see this, consider the element in the third rowsecond column: [

R12

]3,2

= K1 · J2

= ‖K1‖2‖J2‖2 cos(β3)= cos(β3)

where β3 is the angle between K1 and J2 and we have used the fact that‖K1‖2 = ‖J2‖2 = 1.

Page 61: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

38 CHAPTER 2. REFERENCE FRAMES

�(

)(

*(

�+

�(

�+

�,

Figure 2.11: Definition of αi for i = 1, 2, 3 in eqn. (2.16).

Because each element of R12 is the cosine of the angle between one of

the coordinate axes of φ1 and one of the coordinate axes of φ2, the matrixR1

2 is referred to as a direction cosine matrix:

R12 =

⎡⎣ cos(α1) cos(β1) cos(γ1)

cos(α2) cos(β2) cos(γ2)cos(α3) cos(β3) cos(γ3)

⎤⎦ . (2.16)

Figure 2.11 depicts the angles αi for i = 1, 2, 3 that define the first columnof R1

2. The βi and γi angles are defined similarly. When the relativeorientation of two reference frames is known, the direction cosine matrixR1

2 is unique and known.Although the direction cosine matrix has nine elements, due to the three

orthogonality constraints and the three normality constraints, there areonly three degrees of freedom. Alternative parameterizations are discussedin Section 2.5 and Appendix D.

Analogous to eqn. (2.13)

v2 = I2x2 + J2y2 + K2z2

where [v2]2 = [x2, y2, z2]� and by eqn. (2.14)

[v2]1 =

⎡⎣ I�1

J�1

K�1

⎤⎦v2.

Therefore,

[v2]1 =

⎡⎣ I�1

J�1

K�1

⎤⎦ (I2x2 + J2y2 + K2z2)

=

⎡⎣ I1 · I2

J1 · I2

K1 · I2

⎤⎦x2 +

⎡⎣ I1 · J2

J1 · J2

K1 · J2

⎤⎦ y2 +

⎡⎣ I1 · K2

J1 · K2

K1 · K2

⎤⎦ z2

Page 62: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.4. REFERENCE FRAME TRANSFORMATIONS 39

= R12 [v2]

2. (2.17)

2.4.2 Point Transformation

When eqn. (2.17) is substituted into eqn. (2.15) it yields the desiredequation for the transformation of the coordinates of P with respect toframe 2, as represented by [v2]2, to the coordinates of P with respect toframe 1, as represented by [v1]1:⎡

⎣ x1

y1

z1

⎤⎦1

=

⎡⎣ xO

yO

zO

⎤⎦1

+ R12 [v2]

2

[v1]1 = [O12]1 + R12 [v2]

2. (2.18)

The reverse transformation is easily shown from eqn. (2.18) to be

⎡⎣ x2

y2

z2

⎤⎦2

= R21

⎛⎜⎝⎡⎣ x1

y1

z1

⎤⎦1

−⎡⎣ xO

yO

zO

⎤⎦1

⎞⎟⎠

[v2]2 = R2

1

([v1]1 − [O12]1

)(2.19)

where we have used the fact that R21 =

(R1

2

)−1 =(R1

2

)�, where the lastequality is true due to the orthonormality of R1

2. Note that the pointtransformation between reference systems involves two operations: trans-lation to account for separation of the origins, and rotation to account fornon-alignment of the axis.

2.4.3 Vector Transformation

Consider two points P1 and P2. Let the vector v denote the directed linesegment from P1 to P2. Relative to φ1, v can be described as

v =

⎡⎣ x2 − x1

y2 − y1

z2 − z1

⎤⎦1

=

⎡⎣ x2

y2

z2

⎤⎦1

−⎡⎣ x1

y1

z1

⎤⎦1

=

⎛⎜⎝⎡⎣ xO

yO

zO

⎤⎦1

+ R12

⎡⎣ x2

y2

z2

⎤⎦2

⎞⎟⎠

⎛⎜⎝⎡⎣ xO

yO

zO

⎤⎦1

+ R12

⎡⎣ x1

y1

z1

⎤⎦2

⎞⎟⎠

Page 63: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

40 CHAPTER 2. REFERENCE FRAMES

= R12

⎛⎜⎝⎡⎣ x2

y2

z2

⎤⎦2

−⎡⎣ x1

y1

z1

⎤⎦2

⎞⎟⎠

v1 = R12v

2. (2.20)

Eqn. (2.20) is the vector transformation between coordinate systems. Thisrelation is valid for any vector quantity. As discussed in detail in [95],it is important to realized that vectors, vector operations, and relationsbetween vectors are invariant relative to any two particular coordinate rep-resentations as long as the coordinate systems are related through eqn.(2.20). This is important, as it corresponds to the intuitive notion that thephysical properties of a system are invariant no matter how we orient thecoordinate system in which our analysis is performed.

In the discussion of this section, the two frames have been considered tohave no relative motion. Issues related to relative motion will be criticallyimportant in navigation systems and are discussed in subsequent sections.

Throughout the text, the notation Rba will denote the rotation matrix

transforming vectors from frame a to frame b. Therefore,

vb = Rbav

a (2.21)va = Ra

bvb (2.22)

where Rab =

(Rb

a

)�.

2.4.4 Matrix Transformation

In some instances, a matrix will be defined with respect to a specific frameof reference. Eqns. (2.21–2.22) can be used to derive the transformation ofsuch matrices between frames-of-reference.

Let Ωa ∈ R3×3 be a matrix defined with respect to frame a and va

1 , va2 ∈

R3 be two vectors defined in frame a. Let b be a second frame of reference.

If va1 and va

2 are related by

va1 = Ωava

2 ,

then eqns. (2.21–2.22) show that

Rabv

b1 = ΩaRa

bvb2

orvb

1 = Ωbvb2

whereΩb = Rb

aΩaRa

b (2.23)

is the representation of the matrix Ω with respect to frame b.

Page 64: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.5. SPECIFIC VECTOR TRANSFORMATIONS 41

2.5 Specific Vector Transformations

In Section 2.4, the transformation of vectors from frame a to frame b isshown to involve an orthonormal matrix denoted by Rb

a. The elements ofthis matrix, called the direction cosine matrix, are the cosines of the anglesbetween the coordinate axes of the two frames-of-reference. Although thisappears to allow nine independent variables to define Rb

a, orthonormalityrestrictions result in only three independent quantities. Section 2.5.1 intro-duces the concept of a plane rotation. Sections 2.5.2–2.5.5 will use planerotations to define the transformations between specific pairs of referencesystems.

In addition to the direction cosine and Euler angle representations ofthe relative orientations of two reference frames, various other represen-tations exist [120]. Advantages of alternative representations may includeefficient computation, lack of singularities, or compact representation. Onepopular representation of relative attitude is the quaternion. Quaternionsoffer accurate and efficient computation methods without singularities. Of-ten quaternions are preferred over both direction cosine and Euler anglemethods. Nonetheless, their discussion is a topic in and of itself. To main-tain the flow of the book, the discussion of quaternions has been placed inAppendix D. It is recommended that designers read the main body of thetext first, to understand the role and issues related to attitude represen-tation; however, they should understand and consider quaternions prior toimplementation of their first system.

2.5.1 Plane Rotations

A plane rotation is a convenient means for mathematically expressing therotational transformation of vectors between two coordinate systems wherethe second coordinate system is related to the first by a rotation of the firstcoordinate system by an angle x around a vector v. In the special casewhere the vector v is one of the original coordinate axes, the plane rotationmatrix takes on an especially simple form. In the following, a rotationof the first coordinate system by x radians1 around the i-th axis will beexpressed as [x]i. Using this notation,

[x]1 =

⎡⎣ 1 0 0

0 cos(x) sin(x)0 − sin(x) cos(x)

⎤⎦ (2.24)

[x]2 =

⎡⎣ cos(x) 0 − sin(x)

0 1 0sin(x) 0 cos(x)

⎤⎦ (2.25)

1In all of the above equations, as will be true through out this book, the radianrotation x represents a positive rotation as defined by the right-hand rule.

Page 65: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

42 CHAPTER 2. REFERENCE FRAMES

[x]3 =

⎡⎣ cos(x) sin(x) 0

− sin(x) cos(x) 00 0 1

⎤⎦ . (2.26)

Each of these plane rotation matrices is an orthonormal matrix. For arotation of x radians about the i-th axis of the first coordinate system, thecomponents of vector z in each coordinate system are related by

z2 = [x]iz1. (2.27)

When two coordinate systems are related by a sequence of rotations, thenthe corresponding rotation matrices are multiplied in the correspondingorder. For example, continuing from the last equation, if a third frame isdefined by a rotation of y radians about the j-th axis of the second frame,then the representation of the vector z in this frame is

z3 = [y]jz2

= [y]j [x]iz1.

The order of the matrix multiplication is critical. Since matrix multiplica-tion is not commutative, neither is the order of rotation. For example, a 90degree rotation about the first axis followed by a 90 degree rotation aboutthe resultant second axis results in a distinct orientation from a 90 degreerotation about the second axis followed by a 90 degree rotation about theresultant first axis. The following two sections use plane rotations to deter-mine the Euler angle representations of a few useful vector transformations.

2.5.2 Transformation: ECEF to Tangent Plane

LetΔxe = [x, y, z]e − [xo, yo, zo]e (2.28)

where [xo, yo, zo]e are the ECEF coordinates of the origin of the local tan-gent plane. Then Δxe is a vector from the local tangent plane origin toan arbitrary location P e = [x, y, z]e, with the vector and point coordinateseach expressed relative to the ECEF axis.

The transformation of vectors from ECEF to tangent plane (TP) canbe constructed by two plane rotations, as depicted in Figure 2.12. First, aplane rotation about the ECEF z-axis to align the rotated y-axis (denotedy′) with the tangent plane east axis; second, a plane rotation about thenew y′-axis to align the new z-axis (denoted z′′) with tangent plane inwardpointing normal vector. The first plane rotation is defined by

R1e = [λ]3 =

⎡⎣ cos(λ) sin(λ) 0

− sin(λ) cos(λ) 00 0 1

⎤⎦ (2.29)

Page 66: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.5. SPECIFIC VECTOR TRANSFORMATIONS 43

��

��

����

���

������

Figure 2.12: Variables for derivation of Rte.

where λ is the longitude of the point [xo, yo, zo]e. The second plane rotationis defined by

Rt1 =

[−(φ +

π

2

)]2

=

⎡⎣ cos

(φ + π

2

)0 sin

(φ + π

2

)0 1 0

− sin(φ + π

2

)0 cos

(φ + π

2

)⎤⎦ (2.30)

=

⎡⎣ − sin(φ) 0 cos(φ)

0 1 0− cos(φ) 0 − sin(φ)

⎤⎦ , (2.31)

where φ is the latitude of the point [xo, yo, zo]e.The overall transformation for vectors from ECEF to tangent plane

representation is then vt = Rtev

e where

Rte = Rt

1R1e =

⎡⎣ − sin(φ) cos(λ) − sin(φ)sin(λ) cos(φ)

− sin(λ) cos(λ) 0− cos(φ) cos(λ) − cos(φ)sin(λ) − sin(φ)

⎤⎦ . (2.32)

The inverse transformation for vectors from tangent plane to ECEF is ve =Re

tvt where Re

t = (Rte)

�.

Example 2.3 The angular rate of the ECEF frame with respect to theinertial frame represented in the ECEF frame is ωe

ie = [0, 0, 1]�ωie. There-fore, the angular rate of the ECEF frame with respect to the inertial framerepresented in the tangent frame is

ωtie = Rt

eωeie =

⎡⎣ ωie cos(φ)

0−ωie sin(φ)

⎤⎦ .

Page 67: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

44 CHAPTER 2. REFERENCE FRAMES

Let P t = [n, e, d]� denote the coordinates of the point P represented inthe tangent plane reference system, then

Δxe = Ret

⎡⎣ n

ed

⎤⎦t

.

Using eqn. (2.28), the transformation of the coordinates of a point fromthe tangent plane system to the ECEF system is⎡

⎣ xyz

⎤⎦e

=

⎡⎣ xo

yo

zo

⎤⎦e

+ Ret

⎡⎣ n

ed

⎤⎦t

. (2.33)

Example 2.4 For the ECEF position given in the Example 2.1 on page33, the matrix

Rte =

⎡⎣ 0.2569 0.4967 0.8290

0.8882 −0.4594 0.00000.3808 0.7364 −0.5592

⎤⎦

transforms vectors from the ECEF coordinate system to tangent plane co-ordinates. The point transform is defined as⎡

⎣ xyz

⎤⎦t

= Rte

⎛⎝⎡⎣ x

yz

⎤⎦e

−⎡⎣ −2.430601

−4.7024423.546587

⎤⎦× 106

⎞⎠

where the origin location [xo, yo, zo]e is defined in eqn. (2.12).

The inverse transformations are easily derived from the preceding text.For example, the local unit gravity vector which is assumed to be (0, 0, 1)� intangent plane coordinates, transforms to (0.3808, 0.7364,−0.5592) in ECEFcoordinates. �

2.5.3 Transformation: ECEF to Geographic

The geographic frame has a few points that distinguish it from the otherframes. First, because the origin of the geographic frame moves with thevehicle and is the projection of vehicle frame origin onto the reference ellip-soid, the position of the vehicle in the geographic frame is xg = [0, 0,−h]�.The latitude φ and longitude λ define the position of the geographic frameorigin (vehicle frame projection) on the reference ellipsoid. Second, d

dtxg =

[0, 0,−h]�; which is not the velocity vector for the vehicle. The Earth rel-ative velocity vector represented in the ECEF frame is ve

e = ddtx

e. Thisvector can be represented in the geographic frame as

vge = Rg

evee. (2.34)

Page 68: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.5. SPECIFIC VECTOR TRANSFORMATIONS 45

The vector vge is not the derivative of the geographic frame position vector

xg. The components of the Earth relative velocity vector represented inthe geographic frame are named as vg

e = [vn, ve, vd]� which are the north,east, and down components of the velocity vector along the instantaneousgeographic frame axes.

The rotation matrix Rge has the exact same form as Rt

e. The distinctionis that Rg

e is computed using the latitude φ and longitude λ defined by theposition of the vehicle at the time of interest whereas Rt

e is a constantmatrix defined by the fixed latitude and longitude of the tangent planeorigin. It should be clear that ωet = 0, while ωeg = ωig − ωie, where ωeg

and ωig are discussed in eqns. (2.56) and (2.57), respectively.Eqns. (2.9–2.11) provide the relationship between xe = [x, y, z]� and

(φ, λ, h) which is repeated below

x = (RN + h) cos(φ) cos(λ) (2.35)y = (RN + h) cos(φ) sin(λ) (2.36)z = [RN (1 − e2) + h] sin(φ) (2.37)

and will be used to relate vge to (φ, λ, h). First, we note that

vee =

∂xe

∂φφ +

∂xe

∂λλ +

∂xe

∂hh =

[∂xe

∂φ,∂xe

∂λ,∂xe

∂h

]⎡⎣ φ

λ

h

⎤⎦ .

Next, using eqns. (2.78–2.78) it is straightforward to show that

∂xe

∂φ= (RM + h)

⎡⎣ − sin(φ) cos(λ)

− sin(φ) sin(λ)cos(φ)

⎤⎦ ,

∂xe

∂λ= (RN + h)

⎡⎣ − cos(φ) sin(λ)

cos(φ) cos(λ)0

⎤⎦ , and

∂xe

∂h=

⎡⎣ cos(φ) cos(λ)

cos(φ) sin(λ)sin(φ)

⎤⎦ .

Therefore,

[∂xe

∂φ,∂xe

∂λ,∂xe

∂h

]= Re

g

⎡⎣ (RM + h) 0 0

0 (RN + h) cos(φ) 00 0 −1

⎤⎦ .

With this expression and eqn. (2.34) it is straightforward to show that

vge =

⎡⎣ vn

ve

vd

⎤⎦ =

⎡⎣ (RM + h)φ

cos(φ)(RN + h)λ−h

⎤⎦ (2.38)

Page 69: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

46 CHAPTER 2. REFERENCE FRAMES

and ⎡⎣ φ

λ

h

⎤⎦ =

⎡⎣ vn

RM+hve

cos(φ)(RN+h)

−vd

⎤⎦ . (2.39)

2.5.4 Transformation: Vehicle to Navigation Frame

Consider the situation shown in Figure 2.13, which depicts two coordinatesystems. The first coordinate system, denoted by (n, e, d), is the geographicframe. The second coordinate system, denoted by (u, v, w) is the vehiclebody frame which is at an arbitrary orientation relative to the geographicframe2.

The relationship between vectors in the body and geographic referenceframes can be completely described by the rotation matrix Rg

b . This ro-tation matrix can be defined by a series of three plane rotations involvingthe Euler angles3 (φ, θ, ψ) where φ represents roll, θ represents pitch, andψ represents yaw angle4.

In Figures 2.14–2.16, the axes of the geographic frame are indicated bythe I, J, and K unit vectors.

The first rotation, as shown in Figure 2.14, rotates the geographic co-ordinate system by ψ radians about the geographic frame d-axis (i.e., Kunit vector). This rotation aligns the new I′-axis with the projection of thevehicle u-axis onto the tangent plane to the ellipsoid. The plane rotationfor this operation is described as⎡

⎣ x′

y′

z′

⎤⎦ = R1

g

⎡⎣ x

yz

⎤⎦t

(2.40)

where R1g =

⎡⎣ cos(ψ) sin(ψ) 0

− sin(ψ) cos(ψ) 00 0 1

⎤⎦ = [ψ]3. The resultant I′ and J′-axes

still lie in the north-east tangent plane.The second rotation, as shown in Figure 2.15, rotates the coordinate

system that resulted from the previous yaw rotation by θ radians about the2In applications where navigation is performed in the local tangent frame, the method

of this section could be used to define the rotation matrix between the body and localtangent plane frames-of-reference.

3Although represented as a three-tuple, (φ, θ, ψ) is not a true vector. For example,addition of Euler angles is not commutative.

4While the angles φ and θ are referred to almost universally as the roll and pitchangles, various authors use different terms for the angle ψ (e.g., heading, yaw, azimuth).In addition, different terms are used for the angle of the velocity vector with respectto north in the local tangent plane (e.g., heading angle or course angle). This majorityof this text will follow the practice recommended for aircraft from Section 1.3.3.1 in [5]where ψ is referred to as the yaw or azimuth angle.

Page 70: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.5. SPECIFIC VECTOR TRANSFORMATIONS 47

!

!!!!�

���

Figure 2.13: Relation between vehicle and navigation frame coordinate sys-tems. For navigation in the geographic frame, the origin of the ned coordinateaxes would be at the projection of the vehicle frame origin onto the ellipsoid.For navigation in a local tangent frame, the origin of the ned coordinate axeswould be at some convenient point near the area of operation.

���

!!!! �*

&�)�)�

���

*�

*�

Figure 2.14: Result of yaw rotation. The initial I, J, K unit vectors alignwith the tangent frame (n, e, d) directions.

Page 71: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

48 CHAPTER 2. REFERENCE FRAMES

)�

��

*��*��

*�

�����

)��

Figure 2.15: Result of pitch rotation. The resultant I′′ unit vector alignswith the vehicle u-axis.

*�

����������

)��

*��

)����!*����

��

Figure 2.16: Result of roll rotation. The final I′′′, J′′′, K′′′ unit vectors alignwith the vehicle u, v, w directions.

J′-axis. This rotation aligns the new I′′-axis with the vehicle u-axis. Theplane rotation for this operation is described as

⎡⎣ x′′

y′′

z′′

⎤⎦ = R2

1

⎡⎣ x′

y′

z′

⎤⎦ (2.41)

where R21 =

⎡⎣ cos(θ) 0 − sin(θ)

0 1 0sin(θ) 0 cos(θ)

⎤⎦ = [θ]2.

The third rotation, as shown in Figure 2.16, rotates the coordinatesystem that resulted from the previous pitch rotation by φ radians aboutthe I′′-axis. This rotation aligns the new J′′′ and K′′′ axes with the vehicle vand w axes, respectively. The plane rotation for this operation is described

Page 72: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.5. SPECIFIC VECTOR TRANSFORMATIONS 49

as ⎡⎣ u

vw

⎤⎦

b

= Rb2

⎡⎣ x′′

y′′

z′′

⎤⎦ (2.42)

where Rb2 =

⎡⎣ 1 0 0

0 cos(φ) sin(φ)0 − sin(φ) cos(φ)

⎤⎦ = [φ]1.

Therefore, vectors represented in geographic frame (or in the local tan-gent plane) can be transformed into a vehicle frame representation by theseries of three rotations: [φ]1[θ]2[ψ]3.

vb =

⎡⎣ 1 0 0

0 cφ sφ0 −sφ cφ

⎤⎦⎡⎣ cθ 0 −sθ

0 1 0sθ 0 cθ

⎤⎦⎡⎣ cψ sψ 0

−sψ cψ 00 0 1

⎤⎦vg

vb =

⎡⎣ cψcθ sψcθ −sθ

−sψcφ + cψsθsφ cψcφ + sψsθsφ cθsφsψsφ + cψsθcφ −cψsφ + sψsθcφ cθcφ

⎤⎦vg

vb = Rbgv

g (2.43)

where the notation cx = cos(x) and sx = sin(x). The inverse vector trans-formation is

vg = Rgbv

b

=(Rb

g

)�vb. (2.44)

Example 2.5 The velocity of a vehicle in the body frame is measured to bevb = [50, 0, 0]� m

s . The attitude of the vehicle is (φ, θ, ψ) = (0, 45, 90) deg.What is the instantaneous rate of change of the vehicle position in the local(geographic) tangent plane reference frame?

In this case,

Rgb =

⎡⎣ 0 −1 0

.707 0 .707−.707 0 .707

⎤⎦ .

Therefore, the vehicle velocity relative to the tangent plane reference systemis vg = [vn, ve, vd]� = [0, 35.35,−35.35]� m

s . �

Once a sequence of rotations (in this case zyx) is specified, the rotationangle sequence to represent a given relative rotational orientation is uniqueexcept at points of singularity. Note for example that for the zyx sequenceof rotations, the rotational sequence [x]1

[π2

]2[x]3 yields the same orienta-

tion for any |x| ≤ π. This demonstrates that the zyx sequence of rotationsis singular points at θ = ±π

2 . These are the only points of singularity ofthe zyx sequence of rotations.

Page 73: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

50 CHAPTER 2. REFERENCE FRAMES

The above zyx rotation sequence is not the only possibility. Otherrotation sequences are in use due to the fact that the singularities willoccur at different locations. The zyx sequence is used predominantly inthis book. In land or sea surface-vehicle applications the singular point(hopefully) does not occur. In other applications, alternative Euler anglesequences may be used. Also, singularity free parameterizations, such asthe quaternion, offer attractive alternatives.

When the matrix Rgb is known, the Euler angles can be determined, for

control or planning purposes, by the following equations

θ = −atan

(Rg

b [3, 1]√1 − (Rt

b[3, 1])2

)(2.45)

φ = atan2 (Rgb [3, 2],Rg

b [3, 3]) (2.46)ψ = atan2 (Rg

b [2, 1],Rgb [1, 1])) (2.47)

where atan2(y, x) is a four quadrant inverse tangent function and the num-bers in square brackets refer to a specific element of the matrix. For exam-ple, A[i, j] = aij is the element in the i-th row and j-th column of matrixA.

This section has alluded to the fact that the rotation matrices Rgb and Rt

b

would have the same form. This should not be interpreted as meaning thatthe matrices or the Euler angles are the same. The Euler angles relative toa fixed tangent plane will be distinct from the Euler angles defined relativeto the geographic frame. Also, the angular rates ωbt and ωbg are distinct.We have that

ωbt = ωit − ωib

ωbg = ωig − ωib.

The vector ωit = 0, while ωig can be non-zero as discussed in Example 2.6.

2.5.5 Transformation: Orthogonal Small Angle

Subsequent discussions will frequently consider small angle transformations.A small angle transformations, is the transformation between two coordi-nate systems differing infinitesimally in relative orientation. For example,in discussing the time derivative of a direction cosine matrix, it will be con-venient to consider the small angle transformation between the directioncosine matrices valid at two infinitesimally different instants of time. Also,in analyzing INS error dynamics it will be necessary to consider transforma-tions between physical and computed frames-of-reference, where the error(at least initially) is small. In contrast, Euler angles define finite anglerotational transformations.

Page 74: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.6. ROTATING REFERENCE FRAMES 51

Consider coordinate systems a and b where frame b is obtained fromframe a by the infinitesimal rotations δθ3 about the third axis of the aframe, δθ2 about the second axis of the resultant frame of the first ro-tation, and δθ1 about the first axis of the resultant frame of the secondrotation. Denote this infinitesimal rotation by δθ = [δθ1, δθ2, δθ3]�. Thevector transformation from frame a to frame b is defined by the series ofthree rotations: [δθ1]1[δθ2]2[δθ3]3. Due to the fact that each angle is in-finitesimal (which implies that cos(δθi) ≈ 1, sin(δθi) ≈ δθi, and δθiδθj ≈ 0for i, j = 1, 2, 3) the order in which the rotations occur will not be impor-tant. The matrix representation of the vector transformation is

vb =

⎡⎣ 1 0 0

0 1 δθ1

0 −δθ1 1

⎤⎦⎡⎣ 1 0 −δθ2

0 1 0δθ2 0 1

⎤⎦⎡⎣ 1 δθ3 0

−δθ3 1 00 0 1

⎤⎦va

vb =

⎡⎣ 1 δθ3 −δθ2

−δθ3 1 δθ1

δθ2 −δθ1 1

⎤⎦va

vb = (I − δΘ)va (2.48)

where δΘ = [δθ×] is the skew symmetric representation of δθ as defined ineqn. (B.15) of Appendix B. To first order, the inverse rotation is

va = (I + δΘ)vb. (2.49)

2.6 Rotating Reference Frames

As discussed relative to Figure 2.1, reference frames may be free to rotatearbitrarily with respect to one another. Consider for example the bodyframe moving with respect to the ECEF frame. The following subsectionsare concerned with frames-of-reference rotating with respect to one another.

2.6.1 Direction Cosine Kinematics

Section 2.5 showed that the transformation of vectors between two coor-dinate systems could be represented by an appropriately defined directioncosine matrix. In subsequent sections, it is necessary to calculate derivativesof direction cosine matrices for coordinate systems experiencing relative ro-tation. Such derivatives are the subject of this present section.

The definition of the derivative of the rotation matrix from frame a toframe b is

Rba(t) = lim

δt→0

Rba(t + δt) − Rb

a(t)δt

. (2.50)

Page 75: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

52 CHAPTER 2. REFERENCE FRAMES

For small δt the rotation Rba(t + δt) can be considered as the rotation from

frame a to frame b at time t followed by the rotation from frame b at timet to frame b at time t + δt:

Rba(t + δt) = Rb(t+δt)

b(t) Rba(t). (2.51)

Because the instantaneous angular velocity ωbab of frame b with respect

frame a represented in frame b is finite and δt will be approaching zero,the rotation matrix Rb(t+δt)

b(t) represents the small angle rotation δθ = ωbabδt

which by eqn. (2.48) is

Rb(t+δt)b(t) = I − Ωb

abδt (2.52)

where Ωbab =

[ωb

ab×]. Substituting eqns. (2.51) and (2.52) into eqn. (2.50)

yields

Rba(t) = lim

δt→0

(I − Ωb

abδt)Rb

a(t) − Rba(t)

δt

= −ΩbabR

ba(t). (2.53)

Using the facts that Ωbab = Rb

aΩaabR

ab and that Ωa

ab = −Ωaba, eqn. (2.53)

can also be expressed as

Rba = Rb

a Ωaba. (2.54)

Example 2.6 Let a represent the geographic frame and b represent theECEF frame. Using the fact the Re

g = RegΩ

geg, we can compute ωg

eg as thevector form of Ωg

eg = RgeR

eg.

For Reg as defined in Section 2.5.3, we can compute Re

g as

Reg =

∂φRe

gφ +∂

∂λRe

gλ.

After algebra to simplify the result, this product yields

Ωgeg =

⎡⎣ 0 λ sin(φ) −φ

−λ sin(φ) 0 − ˙λ cos(φ)φ λ cos(φ) 0

⎤⎦ (2.55)

which givesωg

eg = [λ cos(φ),−φ,−λ sin(φ)]�. (2.56)

This, combined with ωgie = [ωie cos(φ), 0,−ωie sin(φ)]� and ωg

ig = ωgie+ωg

eg,gives

ωgig =

⎡⎣ (λ + ωie) cos(φ)

−φ

−(λ + ωie) sin(φ)

⎤⎦ . (2.57)

Page 76: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.6. ROTATING REFERENCE FRAMES 53

��'

�����*'

����� ������

� �����

����������������������)'

��������*�

���

��������

����� ������

� ����� �����)�

Figure 2.17: Rotating coordinate frames.

2.6.2 Derivative Calculations in Rotation Frames

As shown in Figure 2.17, let p be the vector from the b frame origin to pointP , ρ be the vector from the b frame origin to the a frame origin, and r bethe vector from the a frame origin to point P . These vectors are related by

p = ρ + r.

If ρb, Rba, and ra are known, then from Section 2.4, the representation of

p in frame b can be computed:

pb = ρb + Rbar

a. (2.58)

If the a frame is rotating with respect to the b frame, the rate of changeof pb can be expressed as in eqn. (2.59):

dpb

dt=

dρb

dt+(

d

dtRb

a

)ra + Rb

a

dra

dt

dpb

dt=

dρb

dt+ Rb

aΩabar

a + Rbav

a

dpb

dt=

dρb

dt+ Rb

a (Ωabar

a + va) . (2.59)

The first term on the right accounts for the relative instantaneous linearvelocity of the two reference frames. The second term is the instantaneous

Page 77: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

54 CHAPTER 2. REFERENCE FRAMES

velocity of point P relative to the b frame due to the relative rotation ofthe a frame. The last term is the transformation to the b frame of theinstantaneous velocity of point P relative to the origin of the a frame.

This equation can be considered as a special case of the following theo-rem, which is a statement of the Law of Coriolis.

Theorem 2.1 If two frames-of-reference experience relative angular rota-tion Ωa

ba with vb = Rbav

a and Rba = Rb

aΩaba, then the time rate of change

of the vector in the two coordinate systems are related by

Rab v

b = [Ωabav

a + va] . (2.60)

Taking a second derivative of eqn. (2.59) gives

d2pb

dt2=

d2ρb

dt2+(

d

dtRb

a

)[Ωa

bara + va] + Rb

a

[Ωa

bava + Ω

a

bara +

d2ra

dt2

]d2pb

dt2=

d2ρb

dt2+ Rb

a

[2Ωa

bava + Ωa

baΩabar

a + Ωa

bara +

d2ra

dt2

]. (2.61)

Note the following points regarding the derivation of eqn. (2.61): the equa-tion is exact; the equation is applicable between any two coordinate sys-tems; and, the equation is linear in the position and velocity vectors. Thisequation is the foundation on which a variety of navigation systems arebuilt.

2.7 Calculation of the Direction Cosine

The previous sections have motivated the necessity of maintaining accuratedirection cosine matrices. The following two subsections will consider twomethods for maintaining the direction cosine matrix as the two referenceframes experience arbitrary relative angular motion. Each technique re-lies on measuring the relative angular rate and integrating it (via differentmethods). Initial conditions for the resulting differential equations are dis-cussed in Sections 10.3 and 11.7. Prior to integration, the angular ratesshould be properly compensated for biases and navigation frame rotationas discussed in Section 11.3.

The measurement of angular rates followed by integration to determineangle has the disadvantage that measurement errors will accumulate dur-ing the integration process. However, the approach has several distinctadvantages. The angular rates are measurable via inertial measurements.Inertial measurements do not rely on the reception of any signal exteriorto the sensor itself. Therefore, the accuracy of the measurement and in-tegration processes will only be limited by the accuracy inherent to theinstrument and of the integration process. Both of these quantities can be

Page 78: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.7. CALCULATION OF THE DIRECTION COSINE 55

accurately calibrated so that the system accuracy can be reliably predicted.Also, the error accumulation through the integration of inertial quantitiesis a slow process that can be corrected via aiding sensors. Alternatively,level sensors and compass type instruments could be used to directly mea-sure the Euler angles. However, level (gravity vector) sensors are sensitiveto acceleration as well as attitude changes; and, yaw/heading sensors aresensitive to local magnetic fields. The resulting measurement errors aredifficult to quantify accurately and reliably at the design stage.

2.7.1 Direction Cosine Derivatives

Eqn. (2.53) provides a differential equation which can be integrated tomaintain the direction cosine matrix. Such an approach could numericallyintegrate each of the direction cosine elements separately; however, sincethe equation is linear, a closed form solution should be obtainable. Directnumeric integration of eqn. (2.53) does not enforce the orthogonality nornormality constraints on the direction cosine matrix; hence, additional nor-malization calculations would be required (see Chapter 2 in [27] or SectionB.9 of Appendix B).

Let tk = kT and select T sufficiently small that ωaba can be considered

constant ∀t ∈ [tk−1, tk]. To derive a closed form solution to eqn. (2.53) withinitial condition Ra

b (tk−1) for t ∈ [tk−1, tk), define the integrating factor

Ξ(t) = ettk−1

Ωdτ(2.62)

where Ω = [ω×] has been used as a shorthand notation for Ωaba to decrease

the complexity of the notation. The [ω×] notation is defined in eqn. (B.15).Multiplying the integrating factor into eqn. (2.53) and simplifying,

yields

Rab (t) = −ΩRa

b (t)

ettk−1

ΩdτRa

b (t) + ettk−1

ΩdτΩRa

b (t) = 0d

dt

(e

ttk−1

ΩdtRa

b (t))

= 0

where the last step is valid given the assumption that T is sufficiently smallso that ω is constant over the period of integration. Integrating both sides,over the period of integration yields

ettk−1

ΩdτRa

b (t) − Rab (tk−1) = 0

Rab (t) = e

− ttk−1

ΩdτRa

b (tk−1) (2.63)

for t ∈ [tk−1, tk).

Page 79: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

56 CHAPTER 2. REFERENCE FRAMES

To simplify this expression, let

Υ(t) =∫ t

tk−1

Ωdτ (2.64)

where υi(t) =∫ t

tk−1ωi(τ)dτ and Υ = [υ×]. Powers of the matrix Υ reduce

as follows:

Υ2 =

⎡⎣ −(υ2

2 + υ23) υ1υ2 υ1υ3

υ1υ2 −(υ21 + υ2

3) υ2υ3

υ1υ3 υ2υ3 −(υ21 + υ2

2)

⎤⎦ (2.65)

Υ3 = −‖υ‖2Υ (2.66)Υ4 = −‖υ‖2Υ2 (2.67)Υ5 = +‖υ‖4Υ (2.68)

which are verified in Exercise 2.10. Therefore, using eqn. (B.42),

e− t

tk−1Ωdτ

= I − Υ +12Υ2 − 1

3!Υ3 + . . .

= I − Υ +12Υ2 +

13!‖υ‖2Υ − 1

4!‖υ‖2Υ2 − 1

5!‖υ‖4Υ + . . .

= I −(

1 − 13!‖υ‖2 +

15!‖υ‖4 + . . .

+(

12− 1

4!‖υ‖2 + . . .

)Υ2

= I − sin(‖υ‖)‖υ‖ Υ +

1 − cos(‖υ‖)‖υ‖2

Υ2. (2.69)

Substituting eqn. (2.69) into eqn. (2.63) yields

Rab (tk) =

(I − sin(‖υ‖)

‖υ‖ Υ +1 − cos(‖υ‖)

‖υ‖2Υ2

)Ra

b (tk−1). (2.70)

where Υ = Υ(tk) = [υ(tk)×] and υi(tk) =∫ tk

tk−1ωi(τ)dτ . Eqn. (2.70) is

properly defined theoretically, even as ‖υ‖ → 0, but must be implementednumerically with care.

The designer must ensure that the interval [tk, tk−1] is sufficiently small(i.e., the sample frequency is sufficiently fast) to satisfy the assumptionabove eqn. (2.62) that each ωi can be considered constant over each periodof integration.

2.7.2 Euler Angle Derivatives

Section 2.5 defined the Euler angles (φ, θ, ψ) and described their use todetermine the direction cosine matrix Rg

b . This method of determining

Page 80: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.7. CALCULATION OF THE DIRECTION COSINE 57

the direction cosine matrix requires the navigation system to measure orcompute the Euler angles. This section presents the method for comput-ing the Euler angle derivatives (φ, θ, ψ) from the angular rate vector ωb

gb.The navigation system could then integrate the Euler angle derivatives, todetermine the Euler angles from which the direction cosine matrix can becomputed.

Note that the three-tuple (φ, θ, ψ) is not related to ωbgb by a rotational

transform because each of the components of (φ, θ, ψ) is defined in a differ-ent reference frame. Instead, we have that

ωbgb = ωb

g1 + ωb12 + ωb

2b. (2.71)

Figures 2.14–2.16 define the yaw, pitch, and roll rotations. In addition, thefigures show that ψ is the rate of rotation about the K or K′ axes, whichare coincident; that θ is the rate of rotation about the J′ or J′′ axes, whichare coincident; and, that φ is the rate of rotation about the I′′ or I′′′ axes,which are coincident. From the facts in the previous sentence we have that

ω1g1 =

⎡⎣ 0

01

⎤⎦ ψ, ω2

12 =

⎡⎣ 0

10

⎤⎦ θ, ωb

2b =

⎡⎣ 1

00

⎤⎦ φ.

From eqn. (2.71) we have

ωbgb = Rb

1ω1g1 + Rb

2ω212 + ωb

2b. (2.72)

From eqn. (2.42),

Rb2ω

212 =

⎡⎣ 0

cos(φ)− sin(φ)

⎤⎦ θ;

and from eqns. (2.41–2.42),

Rb1ω

1g1 = Rb

2R21ω

1g1 =

⎡⎣ − sin(θ)

sin(φ) cos(θ)cos(φ) cos(θ)

⎤⎦ ψ.

Therefore, eqn. (2.72) yields

ωbgb =

⎡⎣ 1 0 − sin(θ)

0 cos(φ) sin(φ) cos(θ)0 − sin(φ) cos(φ) cos(θ)

⎤⎦⎡⎣ φ

θ

ψ

⎤⎦ . (2.73)

The inverse transformation is⎡⎣ φ

θ

ψ

⎤⎦ =

⎡⎣ 1 sin(φ) tan(θ) cos(φ) tan(θ)

0 cos(φ) − sin(φ)0 sin(φ)

cos(θ)cos(φ)cos(θ)

⎤⎦ωb

gb

= Ω−1E ωb

gb (2.74)

Page 81: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

58 CHAPTER 2. REFERENCE FRAMES

where ΩE =

⎡⎣ 1 0 − sin(θ)

0 cos(φ) sin(φ) cos(θ)0 − sin(φ) cos(φ) cos(θ)

⎤⎦

and Ω−1E =

⎡⎣ 1 sin(φ) tan(θ) cos(φ) tan(θ)

0 cos(φ) − sin(φ)0 sin(φ)

cos(θ)cos(φ)cos(θ)

⎤⎦.

Neither ΩE nor its inverse is a rotation matrix. Eqns. (2.73) and (2.74)do not represent vector transformations between frames-of-reference. Thematrix ΩE is singular when θ = π

2 .Eqn. (2.74) is a nonlinear ordinary differential equation for the Euler

angles. Numeric integration of eqn. (2.74) provides estimates of the Eulerangles from which the direction cosine matrix can by computed using eqn.(2.43). This approach requires numerous trigonometric operations at thehigh rate of the attitude portion of the INS system. The vector ωb

gb is notdirectly measured; instead it is computed as ωb

gb = ωbib − ωb

ig where ωbib is

measured by the body mounted gyros and ωbig = Rb

gωgig with ωg

ig expressedin eqn. (2.57).

2.8 References and Further Reading

The main references for this chapter are [27, 37, 50, 73]. The referenceframes are presented very precisely in [99]. The main sources for the mate-rial related to gravity models and definition of geodetic reference systemsare [27, 37, 67, 73, 102, 127].

Alternative attitude representations are reviewed in for example [120].An introduction and review of the quaternion representation is presentedin Appendix D.

2.9 Exercises

Exercise 2.1 The purpose of this exercise is for the reader to demonstratethat the extension of the normal to an ellipse does not in general intersectthe center of the ellipse.

Consider the ellipse(

xa

)2 +(

yb

)2 = 1 which is centered at the origin.

1. Show that the outward pointing normal to the ellipse is N =[2xa2 , 2y

b2

].

2. Select a point on the ellipse for which neither coordinate is zero, forexample

[√3

2 a, 12b]. Determine the equation for the line through the

selected point in the direction of the normal vector.

3. Find the intersection of this line with both the x axis. Then find theintersection of this line with the y axis.

Page 82: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.9. EXERCISES 59

4. Show that these intersections coincide with the origin only if a = b.

This problem can be easily implemented in a MATLAB program to illus-trate the solution.

Exercise 2.2 This exercise guides the reader through the derivation ofeqns. (2.7) and (2.6) using the notation defined in Figure 2.18 and themethod from Chapter 4 in [113].

��

��

��� �

Figure 2.18: Ellipse with notation for Exercise 2.2.

The equation for the ellipse in Figure 2.18 is

p2

a2+

z2

b2= 1

where (p, z) is a point on the ellipse.

1. Show that for a point on the ellipse,

dz

dp= −p

z

b2

a2

dz2

dp2= − b4

a2

1z3

.

2. Show that the line tangent to the ellipse at (p, z) has slope

dz

dp= tan

(φ +

π

2

)= − 1

tanφ.

3. Using the results from Steps 1 and 2 show that

z

p=(1 − e2

)tanφ (2.75)

Page 83: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

60 CHAPTER 2. REFERENCE FRAMES

where e is the eccentricity of the ellipse. Combine this result with thefact that p2 = a2

(1 − z2

b2

)to derive

p =a cos φ√

1 − e2 sin2 φ. (2.76)

Substitute eqn. (2.76) into eqn. (2.75) to obtain

z =a(1 − e2

)sin φ√

1 − e2 sin2 φ. (2.77)

Use the fact that p = RN cos φ to derive eqn. (2.7).

4. Use the expression for radius of curvature(1 +

(dzdp

)2) 3

2

±d2zdp2

and the fact that b2 = −(e2 − 1)a2 to derive

RM =

(z2 + p2(1 − e2)

) 32

b2(1 − e2).

Finally, use eqns. (2.76–2.77) to derive eqn. (2.6).

Exercise 2.3 This exercise discusses alternative representations of latitudeand longitude angles. For simplicity, consider a spherical Earth model withradius R = 6.4 × 106 m.

1. Let φ represent the radian latitude of a point on a sphere of radius R.The relation between angular and rectangular error is approximatelydx = Rdφ. What precision of representation should be used for φ ifthe loss of precision in computing x is desired to be less than 1.0×10−3

m?

2. If instead φ was represented in degrees, what precision of representa-tion should be used for φ?

3. If the representation of φ is deg:min where deg represents the inte-ger number of degrees and min is the real number of minutes, whatprecision of representation should be used for min.

4. If the representation of φ is deg:min:sec where deg represents theinteger number of degrees, min is the integer number of minutes andsec is the real number of seconds, what precision of representationshould be used for sec.

Page 84: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

2.9. EXERCISES 61

Note that when using the deg:min:sec notation, the user must be care-ful with respect to which hemisphere contains the point of interest. Forlatitude, S and N represent the northern and southern hemispheres, re-spectively. For longitude, E and W represent the eastern and westernhemispheres, respectively.

Exercise 2.4 Write a program to compute the ECEF rectangular coordi-nates for a given set of ECEF geodetic coordinates. Test the program withthe following input data.

City Country Latitude, d:m:s Longitude, d:m:s height, mPretoria S. Africa 26:08:42.20 S 28:03:00.92 E 1660.86Sydney Australia 33:53:28.15 S 151:14:57.07 E 86.26Minsk Belarus 53:53:58.61 N 27:34:21.10 E 197.21Apia Samoa 13:49:53.05 S 171:45:06.71 W 8.53

The d:m:s notation in this table is defined in Exercise 2.3.

Exercise 2.5 Write a program to compute the ECEF geodetic coordinatesfor a given set of ECEF rectangular coordinates. Test the program withthe following input data.

City x ×106 m y ×106 m z ×106 mPretoria 5.057 590 377 2.694 861 463 -2.794 229 000Sydney -4.646 678 571 2.549 341 033 -3.536 478 881Minsk 3.338 602 399 1.743 341 362 5.130 327 709Apia -6.130 311 688 -0.888 649 276 -1.514 877 991

Present your final results in the degree:minute:second notation and cor-rectly indicate the hemisphere of the location.

Exercise 2.6 For RM (φ) and RN (φ) as defined in eqns. (2.6) and (2.7)show the validity of the following:

d

dφ[(RN + h) cos(φ)] = − (RM + h) sin(φ) (2.78)

d

[(RN

(1 − e2

)+ h

)sin(φ)

]= (RM + h) cos(φ). (2.79)

Exercise 2.7 As was done in Example 2.4, find the vector and point trans-formation from ECEF to tangent plane for each of the locations listed inProblem 2.4.

Exercise 2.8 In body frame, the four corners of a vehicle are given in thefollowing table.

Page 85: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

62 CHAPTER 2. REFERENCE FRAMES

Name x m y m z mFL 0.50 -0.25 0.00FR 0.50 0.25 0.00RR -0.75 0.25 0.00RL -0.75 -0.25 0.00

Assuming that the offset from the tangent frame origin to the vehicle frameorigin is [100, 50,−7]�m, for each of the following attitudes, compute thetangent plane location for each corner of the vehicle.

Attitude, degφ θ ψ

45.00 0.00 0.000.00 45.00 -30.00

45.00 45.00 0.0045.00 -45.00 0.00

Exercise 2.9 Use direct multiplication to show that to first order, theproduct of (I − δΘa

ba) and (I + δΘaba) is the identity matrix.

Exercise 2.10 Use eqn. (B.15) to form the skew symmetric matrix Υ. Bydirect matrix multiplication, confirm eqns. (2.65–2.68).

Exercise 2.11 Section 2.7.2 derived the relationship between the Eulerattitude rates θ = (φ, θ, ψ)� and the body-frame inertial angular rate vectorωb

ib.

1. Use a similar approach to show that the relationship between theEuler attitude rates and the angular rate of the body-frame relativeto the inertial-frame represented in geodetic frame is ωg

ib = ΩT θwhere

ΩT =

⎡⎣ cos(ψ) cos(θ) − sin(ψ) 0

sin(ψ) cos(θ) cos(ψ) 0− sin(θ) 0 1

⎤⎦ . (2.80)

2. Check the above result by confirming that Rgb = ΩT Ω−1

E .

This matrix ΩT is useful for relating the attitude error ρ represented ingeodetic frame (defined in Section 10.5) to the Euler angle errors δθ =(δφ, δθ, δψ)�. The relation δρ = ΩT δθ is used in Sections 10.5.5 and12.5.1.

Exercise 2.12 Figure 9.1 shows the axle of a vehicle. Denote the length ofthe axle by L. The body frame velocity and angular rate are v = [u, v, 0]�

and ω = [0, 0, 1]�. Use the law of Coriolis to find the tangent plane velocityof each wheel.

Page 86: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 3

Deterministic Systems

The quantitative analysis of navigation systems will require analytic systemmodels. Models can take a variety of forms. For finite dimensional linearsystems with zero initial conditions that evolve in continuous-time, for ex-ample, the ordinary differential equation, transfer function, and state spacemodels are equivalent. The dynamics of the physical systems of interest innavigation applications typically evolve in continuous-time, while the equa-tions of the navigation system itself are often most efficiently implementedin discrete-time. Therefore, both difference and differential equations areof interest. This chapter present several essential concepts from linear andnonlinear systems theory.

3.1 Continuous-Time Systems Models

Three equivalent model structures for continuous-time systems are dis-cussed in this section. The models are equivalent in the sense that eachcontains the same basic information about the system. However, someforms of analysis are more convenient in one model format than in another.Models for physical systems derived from basic principles often result inordinary differential equation or state space models. Frequency responseanalysis and frequency domain system identification techniques utilize thetransfer function representation. Optimal state estimation techniques aremost conveniently presented and implemented using the state space ap-proach. A major objective of this section is to provide the means to trans-late efficiently and accurately between these three model representations.

63

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 87: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

64 CHAPTER 3. DETERMINISTIC SYSTEMS

3.1.1 Ordinary Differential Equations

Many systems that evolve dynamically as a function of a continuous-timevariable can be modeled effectively by a set of n-th order ordinary differen-tial equations (ODE). When the applicable equations are linear, each n-thorder differential equation is represented as

y(n)(t) + d1(t)y(n−1)(t) + . . . + dn(t)y(t)= n1(t)u(n−1)(t) + . . . + nn(t)u(t) (3.1)

where the notation ()(j) denotes the j-th time derivative of the term inparenthesis. In this general form, the coefficients of the differential equa-tion are time-varying. In applications involving time-invariant systems, thecoefficients are constants.

Eqn. (3.1) represents a single-input single-output dynamical system.The input signal is represented by u(t). The output signal is representedby y(t). Eqn. (3.1) is referred to as the input-output ordinary differentialequation.

When the applicable equations are nonlinear, the n-th order differentialequation is represented in general as

y(n)(t) = f(y(n−1)(t), . . . , y(t), u(n−1)(t), . . . , u(t)). (3.2)

Taylor series analysis of eqn. (3.2) about a nominal trajectory can be usedto provide a linear model described as in eqn. (3.1) for local analysis. SeeSection 3.3.

To solve an n-th order differential equation for t ≥ t0 requires n pieces ofinformation (e.g., initial conditions) which describe the state of the systemat time t0. This concept of system state will be made concrete in Section3.5.

Example 3.1 Consider a one dimensional frictionless system correspond-ing to an object with a known external force applied at the center of gravity.The corresponding differential equation is

mp(t) = f(t) (3.3)

where m is the mass, p(t) is the acceleration, and f(t) is the external appliedforce. If the object is also subject to linear friction and restoring forces,then this is the classic forced mass-spring-damper example, The resultingdifferential equation is

mp(t) + bp(t) + kp(t) = f(t) (3.4)

where b represents the linear coefficient of friction and k is the coefficientof the linear restoring force. �

Page 88: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.1. CONTINUOUS-TIME SYSTEMS MODELS 65

Example 3.2 The differential equation for a single channel of the INShorizontal position error due to gyro measurement error is

p(3)(t) +g

Rep(1)(t) = g εg(t) (3.5)

where p is position in meters, p(i) is the i-th derivative of position, g isgravitational acceleration, Re is the Earth radius, and εg represents gyromeasurement error. �

3.1.2 Transfer Functions

If a system described by eqn. (3.1) has constant coefficients, then frequencydomain or Laplace analysis can aid the analyst’s understanding of the sys-tem performance. If the initial conditions in eqn. (3.1) are assumed to bezero, then the transfer function representing the linear system is found asfollows:

L{y(n)(t) + d1y(n−1)(t) + . . . dny(t)} = L{n1u

(n−1)(t) + . . . + nnu(t)}Y (s)sn + d1Y (s)sn−1 + . . . + dnY (s) = n1U(s)sn−1 + . . . + nnU(s)

G(s) =Y (s)U(s)

=n1s

n−1 + . . . + nn

sn + d1sn−1 + . . . + dn(3.6)

where X(s) = L{x(t)} denotes the Laplace transform of x(t) and s de-notes the Laplace variable. The transfer function for a linear time-invariant(LTI) system is the Laplace transform of the output divided by the Laplacetransform of the input. When there is no pure delay in the LTI system,the transfer function can be represented as the ratio of two polynomialsin s with constant coefficients. Note that the coefficients of the transferfunction polynomials are identical to the input-output differential equationcoefficients. The order of the transfer function is n. The system has n poleswhich are the roots of the denominator polynomial

sn + d1sn−1 + . . . + dn = 0.

The transfer function (finite) zeros are the roots of the numerator polyno-mial

n1sn−1 + . . . + nn = 0.

Example 3.3 For the system described by eqn. (3.3), the transfer functionfrom the forcing function to the position is

G(s) =P (s)F (s)

=1/m

s2. (3.7)

Page 89: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

66 CHAPTER 3. DETERMINISTIC SYSTEMS

For the system described by eqn. (3.4), the transfer function from the forc-ing function to the position is

G(s) =P (s)F (s)

=1/m

s2 + bms + k

m

. (3.8)

A transfer function is always defined in reference to a stated input andoutput. The transfer functions between different inputs and outputs aredistinct, but (before pole zero cancellations) the denominators are alwaysthe same for all transfer functions related to a given system. For the systemdescribed by eqn. (3.4), the transfer function from the forcing function tothe velocity is

G(s) =V (s)F (s)

=s/m

s2 + bms + k

m

. (3.9)

Example 3.4 The transfer function corresponding to eqn. (3.5) is

G(s) =P (s)Eg(s)

=g

s(s2 + gRe

). (3.10)

The response of the systems depends on the form of the gyro error εg.The system includes a pure integrator, represented by the 1

s factor in the

transfer function, and an undamped oscillator with frequency ωs =√

gRe

.This particular value of the natural frequency is referred to as the Schulerfrequency. The transfer function from gyro error to velocity error is

G(s) =V (s)Eg(s)

=g

s2 + gRe

. (3.11)

Note that a constant gyro error would result in an oscillatory velocity errorat the Schuler frequency. �

3.1.3 State Space

The state space representation converts each n-th order differential equa-tion into n coupled first order differential equations. Such a representationis often desirable for ease of implementation and analysis, as the state spacerepresentation allows the use of vector and matrix techniques. State spacetechniques relevant to both continuous and discrete-time systems are dis-cussed in Section 3.2–3.5.

Page 90: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.1. CONTINUOUS-TIME SYSTEMS MODELS 67

�+�,-+�,

.+�,!!!!!!!!!!/+�,

!!&-+�,

.+�,!!!!!!!!!!�+�,!!!!!!!!!!!/+�,�+�,

Figure 3.1: Decomposition of a transfer function in eqns. (3.12–3.13).

For analysis only, let the transfer function of eqn. (3.6) be decomposedinto two separate filtering operations:

V (s) =1

sn + d1sn−1 + . . . + dnU(s) (3.12)

Y (s) = (n1sn−1 + . . . + nn)V (s) (3.13)

as depicted in Figure 3.1 where N(s) = n1sn−1 + . . . + nn and D(s) =

sn+d1sn−1+. . .+dn. For the n-th order differential equation corresponding

to eqn. (3.12), define a state vector x such that x = [v, v(1), . . . , v(n−1)]�.Then,

x =

⎡⎢⎢⎢⎣

x1

...xn−1

xn

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣

v(1)

...v(n−1)

v(n)

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣

x2(t)...xn(t)u(t) −∑n

i=1 dixn−i+1

⎤⎥⎥⎥⎦ , (3.14)

where the details are provided in Exercise 3.1. Taking the inverse Laplacetransform of eqn. (3.13) and using the state vector definition, the systemoutput is represented as

y(t) =n∑

i=1

niv(n−i)(t)

=n∑

i=1

nixn−i+1(t).

In matrix notation, the system can be described as

x(t) = Fx(t) + Gu(t)y(t) = Hx(t),

}(3.15)

Page 91: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

68 CHAPTER 3. DETERMINISTIC SYSTEMS

where

F =

⎡⎢⎢⎢⎢⎢⎣

0 1 0 . . . 00 0 1 . . . 0

......

0 0 0 . . . 1−dn −dn−1 −dn−2 . . . −d1

⎤⎥⎥⎥⎥⎥⎦ ,

G =

⎡⎢⎢⎢⎢⎢⎣

00...01

⎤⎥⎥⎥⎥⎥⎦ , and H = [nn, nn−1, . . . , n1].

In such state space representations, F is referred to as the system matrix, Gis referred to as the input matrix, and H is referred to as the output matrix.This particular state space implementation is referred to as the controllablecanonical form. For any system, there exist an infinite number of equivalentstate space representations. The transformation between equivalent statespace representations is discussed in Section 3.5.1.

Example 3.5 A state space representation corresponding to the system de-scribe by eqn. (3.3) is

v(t) =[

0 10 0

]v(t) +

[01

]f(t) (3.16)

p(t) =[

1/m 0]v(t) (3.17)

where in this and the subsequent equations of this example

v = m[p(t), p(t)]�.

A state space representation corresponding to the system describe by eqn.(3.4) is

x(t) =[

0 1−k/m −b/m

]x(t) +

[01

]f(t) (3.18)

p(t) =[

1/m 0]x(t). (3.19)

If in addition to position being an output, velocity was also an output, onlythe output matrix would change to

y(t) =[

p(t)p(t)

]=[

1/m 00 1/m

]x(t). (3.20)

Page 92: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.2. STATE AUGMENTATION 69

Example 3.6 Corresponding to the transfer function in eqn. (3.10) ofExample 3.4, the controllable canonical form state space representation is⎡

⎣ x1

x2

x3

⎤⎦ =

⎡⎣ 0 1 0

0 0 10 − g

R 0

⎤⎦⎡⎣ x1

x2

x3

⎤⎦ +

⎡⎣ 0

0g

⎤⎦ εg (3.21)

with state vector x = [p, p, p]� and y(t) = [1, 0, 0]x. Note that this statespace representation is slightly different from the control canonical form.It has been modified, by shifting the gain g from the output to the inputmatrix, to cause each element of the state vector to have a clear physicalmeaning. Exercise 3.2 confirms that the input-output relationship is correct.Alternative state vector definitions are considered further in Section 3.5.1.�

3.2 State Augmentation

In navigation applications, it will often be the case that we have multipleinterconnected systems, each of which is modeled by a set of state spaceequations. For design and analysis, we want to develop a single state spacemodel for the overall interconnected system. This is achieved by the processof state augmentation. This section first describes the state augmentationprocess for two systems interconnected in the series configuration of Fig-ure 3.2. From that discussion, the process should become clear and thereader should be able to extend the method to a larger number of systemsinterconnected in more general ways (e.g., parallel, feedback).

In Figure 3.2, the first system is represented as M1 and the secondsystem as M2. Let the first system have the state space model

x = F1x + G1u1

y1 = H1x

}(3.22)

and the second system have the state space model

v = F2v + G2u2

y2 = H2v.

}(3.23)

�&!!!!!!!!!!�&'�)!!!!!!!!!!�)%&!!!!!!!!!!!!!!!%)

Figure 3.2: Series interconnection of two state space systems.

Page 93: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

70 CHAPTER 3. DETERMINISTIC SYSTEMS

By their interconnection, u2 = y1. Therefore, if we define the augmentedstate vector z = [x�,v�]�, then the state space model for z is

z =[

F1 0G2H1 F2

]z +

[G1

0

]u1 (3.24)

y2 = [ 0 H2 ] z. (3.25)

Other interconnections, such as parallel or feedback, yield different resultingstate space formulae.

Example 3.7 Let the dynamics for v be defined by eqns. (3.16-3.17) inExample 3.5 on page 68. Let the applied force be defined by

x = p

f = K1x + K2v1 + K3v2.

Note that this is a feedback interconnection. Define the augmented state asz = [x,mp, mp]� and the output as p. Then the augmented state model is

z(t) =

⎡⎣ 0 1/m 0

0 0 1K1 K2 K3

⎤⎦ z(t) (3.26)

p(t) =[

0 1/m 0]z(t). (3.27)

The state space augmentation technique will be frequently used in nav-igation system error analysis. The linearized navigation system error dy-namics will first be derived. Then error models for the navigation instru-ments will be obtained either from the manufacturer or through experimen-tation. Finally, these state space equations will be combined through statespace augmentation.

When using the state space augmentation procedure, it is critical thatthe analyst ensure that neither of the systems being combined loads theother system. One system loading another means that the interconnectedsystem behaves significantly different after the interconnection than before.Typically, in navigation systems the augmented state corresponds to instru-mentation error variables such as biases and scale factors. By the design ofthe navigation system and the instruments, the interconnection of the in-struments to the navigation system does not change the performance of theinstruments; therefore, the state augmentation process works successfully.

Example 3.8 The left portion of Figure 3.3 shows an example physicalsystem where state augmentation does not lead to a valid system model.

Page 94: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.2. STATE AUGMENTATION 71

01�&!!!!!!!!!!!�!!!!!!!�&!!!�)!!!!2

�0

(

0

( �2'�)

01�&!!!!!!!!!!!�!!!!!!!!!!!!�!!!�)!!!!2

�0

(

0

( �2'�)

� 0

(� �

����

Figure 3.3: Figure for Example 3.8. The sub-circuits are being connected atthe nodes as indicated by the adjacent the black dots. Left - Example physicalsystem where the state augmentation process would result in an incorrect modeldue to loading effects. Right - Example where state augmentation would yielda correct physical model due to the isolation of the loading inductor from thevoltage supply by the isolation amplifier depicted by the triangle at the outputy1.

The state space models for the two disconnected systems are

y1 = x1, x1 = − 1RC

x1 +1

RCu1

y2 = x2, x2 =1L

u2

where x1 = vC = y1 and x2 = iL = y2. Direct application of eqns. (3.24–3.25) results in the system model

[x1

x2

]=[ − 1

RC 01L 0

] [x1

x2

]+[

1RC0

]u (3.28)

which does not apply to the circuit on the left, but does apply to the circuiton the right. In the circuit on the right, an isolation amplifier is insertedat the output of the first circuit. The isolation amplifier has unity gain(vc = y1) with high input resistance (iR = iC) and low output impedancewhich prevents the inductive load from affecting the performance of thecapacitive supply.

The correct model for the circuit on the left is[x1

x2

]=[ − 1

RC − 1C

1L 0

] [x1

x2

]+[

1RC0

]u (3.29)

due to the constraint that iR = iC + iL. The system with the isolationamplifier described in eqn. (3.28) has two real poles. The system withoutthe isolation amplifier described in eqn. (3.29) has two complex poles. �

Page 95: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

72 CHAPTER 3. DETERMINISTIC SYSTEMS

3.3 State Space Linearization

Navigation system analysis, and portions of the implementation, involvelinearization of a system about a nominal trajectory. This section explainsthe linearization process.

Let the state space model for a system with input u and output y bedescribed by

x = f(x,u) (3.30)y = h(x). (3.31)

Assume that for a nominal input uo(t) a nominal state trajectory xo(t) isknown which satisfies

xo = f(xo,uo)yo = h(xo).

Define the error state vector as δx(t) = x(t) − xo(t). Then,

δx = x − xo = f(x,u) − f(xo,uo).

We can approximate f(x,u) using a Taylor series expansion to yield

δx = f(xo,uo) +∂f(x,u)

∂x

∣∣∣∣xo,uo

δx

+∂f(x,u)

∂u

∣∣∣∣xo,uo

δu + h.o.t.′s − f(xo,uo)

δx = F(t)δx + G(t)δu + h.o.t.′s (3.32)

where δu = u − uo, F(t) = ∂f∂x

∣∣xo(t),uo(t)

, and G(t) = ∂f∂u

∣∣xo(t),uo(t)

. Theresultant perturbation to the system output δy = y − yo is

δy(t) = h(x(t)) − h(xo(t))

=∂h(x)

∂x

∣∣∣∣xo(t),uo(t)

δx(t) + h.o.t.′s

δy(t) = H(t)δx(t) + h.o.t.′s (3.33)

where H(t) = ∂h∂x

∣∣xo(t),uo(t)

. By dropping the higher-order terms (h.o.t’s),eqns. (3.32) and (3.33) provide the time-varying linearization of the non-linear system:

δx(t) = F(t)δx(t) + G(t)δu(t) (3.34)δy(t) = H(t)δx(t) (3.35)

Page 96: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.3. STATE SPACE LINEARIZATION 73

which is accurate near the nominal trajectory (i.e., for small ‖δx‖ and‖δu‖).

Applications of eqns. (3.34) and (3.35) are common in navigation appli-cations. For example, the GPS range equations include the distance fromthe satellite broadcast antenna effective position to the receiver antennaeffective position. When the satellite position is known and the objective isto estimate the receiver location, the GPS measurement is nonlinear withthe generic form of eqn. (3.31), but frequently solved via linearization. SeeSection 8.2.2. Also, the navigation system kinematic equations, discussedin Chapters 9–12, are nonlinear and have the generic form of eqn. (3.30).The following example illustrates the basic state space linearization process.

Example 3.9 Assume that there is a true system that follows the kine-matic equation x = f(x,u) where x = [n, e, ψ]� ∈ R

3, u = [u, ω]� ∈ R2,

and

f(x,u) =

⎡⎣ u cos(ψ)

u sin(ψ)ω

⎤⎦ . (3.36)

For this system, the variables [n, e] defined the position vector, ψ is the yawangle of the vehicle relative to north, u is the body frame forward velocity,and ω is the yaw rate. Also, assume that two sensors are available thatprovide measurements modeled as

y =[

u + eu

ω + eω

].

A very simple dead-reckoning navigation system can be designed by inte-gration of xo = f(xo,y) for t ≥ to from some initial xo(to) where xo =[no, eo, ψo]�. The resulting dead-reckoning system state, xo(t) for t ≥ 0,will be used as the reference trajectory for the linearization process.

The navigation system equation can be simplified as follows:

xo = f(xo,y)

=

⎡⎣ (u + eu) cos(ψo)

(u + eu) sin(ψo)(ω + eω)

⎤⎦ =

⎡⎣ u cos(ψo)

u sin(ψo)ω

⎤⎦ +

⎡⎣ eu cos(ψo)

eu sin(ψo)eω

⎤⎦

= f(xo,u) +

⎡⎣ eu cos(ψo)

eu sin(ψo)eω

⎤⎦ . (3.37)

The first order (i.e., linearized) dynamics of the error between the actualand navigation states are

v =

⎡⎣ 0 0 −u sin(ψo)

0 0 u cos(ψo)0 0 0

⎤⎦v −

⎡⎣ cos(ψo) 0

sin(ψo) 00 1

⎤⎦[

eu

](3.38)

Page 97: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

74 CHAPTER 3. DETERMINISTIC SYSTEMS

where u = y1 and v = [δn, δe, δψ]� = x − xo. To derive this linearizedmodel, the function f in eqn. (3.36) is expanded using Taylor series. Theneqn. (3.37) is subtracted from the Taylor series expansion of eqn. (3.36)to yield eqn. (3.38). For additional discussion related to this example, seeChapter 9. �

Error state dynamic equations enable quantitative analysis of the errorstate itself. Later, the linearized error state equations will be used in thedesign of Kalman filters to estimate the error state. Prior to that, we mustdiscuss such issues as stochastic modeling of sensor errors which is done inChapter 4.

3.4 Discrete-Time State Space Notation

It is often advantageous to work with discrete-time equivalent models ofcontinuous-time systems, particularly with the advent of the digital com-puter. This section discusses only notation definition for state space modelsof discrete-time systems. The calculation of discrete-time models equivalentto continuous-time systems is discussed in Section 3.5.5.

The standard form for a time-invariant, discrete-time, state space modelis

xk+1 = Φxk + Γuk (3.39)yk = Hxk. (3.40)

The above notation is equivalent to

x(k + 1) = Φx(k) + Γu(k) (3.41)y(k) = Hx(k). (3.42)

Whenever possible, this book will use the notation of eqns. (3.39-3.40)because it is more compact. If, however, the state space variable nameshave subscripts, it may be necessary to use the notation of eqns. (3.42-3.42). In either model format, it is understood that xk = x(k) = x(kT )where T is the time increment of the discrete-time system.

3.5 State Space Analysis

The previous sections have casually referred to the state of a system. Thefollowing definition formalizes this concept.

Definition 3.1 The state of a dynamic system is a set of real variablessuch that knowledge of these variables at time t0 together with knowledge ofthe system input for t ≥ t0 is sufficient to determine the system responsefor all t > t0.

Page 98: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.5. STATE SPACE ANALYSIS 75

The definition of state for a discrete-time system is exactly the same witht replaced by k.

If the state variables are independent and organized as a vector, i.e.,x = [x1, . . . , xn]� ∈ R

n, then x is the state vector and n is the order of thestate space model.

The concept of state can be thought of as an extension of the idea ofinitial conditions. It is well understood that the complete solution of an n-th order differential equation requires specification on n initial conditions.Also, as demonstrated in Section 3.1.3, the state space representation foran n-th order ordinary differential equation entails n state variables withone first-order differential equation for each state variable.

Sections 3.1.3 and 3.4 present the continuous and discrete-time statespace models for time-invariant linear systems. In general, the coefficientmatrices in these models can be time-varying. The general time-varyinglinear models are

x(t) = F(t)x(t) + G(t)u(t) y(t) = H(t)x(t) (3.43)

andxk+1 = Φkxk + Γkuk yk = Hkxk. (3.44)

The solution to eqn. (3.43) is involved and important in its own right, soit is discussed in Section 3.5.3. By direct iteration, it is straightforward toshow that the solution to eqn. (3.44) is

xk0+n =n−1∏i=0

Φk0+ixk0 +n−1∑j=0

n−1∏i=j+1

Φk+iΓk+juk+j (3.45)

yk0+n = Hk+nxk0+n, (3.46)

which shows that knowledge of xk0 and uk for k ≥ k0 completely specifiesthe system state and output for all k ≥ k0. In eqn. (3.45), the orderof the matrix product is important and is interpreted as

∏n−1i=0 Φk0+i =

Φk0+n−1 · · ·Φk0+1Φk0 .

3.5.1 Similarity Transformation

Note that Definition 3.1 defines an equivalent class of state vectors of thesame dimension. If the set of variables in x ∈ R

n satisfies the definitionof state, then so does v = Px for any non-singular matrix P. This istrue, since knowledge of v allows determination of x according to x =P−1v; therefore, v also satisfies the definition of the system state. Thedifferent representations of the state correspond to different scalings of thestate variables or different selection of the (not necessarily orthogonal) basisvectors for the state space.

Page 99: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

76 CHAPTER 3. DETERMINISTIC SYSTEMS

If the state space model corresponding to x is described by eqn. (3.43)and P is a constant matrix, then the state space representation for the statevector v is given in eqns. (3.47–3.48):

x(t) = F(t)x(t) + G(t)u(t)P−1v(t) = F(t)P−1v(t) + G(t)u(t)

v(t) = PF(t)P−1v(t) + PG(t)u(t) (3.47)y(t) = H(t)P−1v(t). (3.48)

For specific types of analysis or for unit conversion, it may be convenient tofind a nonsingular linear transformation of the original system state whichsimplifies the subsequent analysis. The use of similarity transformationsfor discrete-time systems is identical.

Example 3.10 Example 3.6 on page 69 presented a state space model fora single channel of the error dynamics of the INS with state vector x =[p, p, p]�. An alternative state vector definition is v = [p, p, θ]� where θrepresents error in the computed orientation of the platform frame withrespect to the navigation frame. Using the similarity transform v = Pxwith

P =

⎡⎣ 1 0 0

0 1 00 0 − 1

g

⎤⎦ ,

Exercise 3.4 asks the reader to confirm that an equivalent state space modelis ⎡

⎣ pv

φ

⎤⎦ =

⎡⎣ 0 1 0

0 0 −g0 1

R 0

⎤⎦⎡⎣ p

⎤⎦ +

⎡⎣ 0

0−1

⎤⎦ εg (3.49)

with y = [1, 0, 0]v.The state space model of eqn. (3.49) is derived from first principles in

Exercise 3.12. �

For important applications of the similarity transform, e.g., see Sections3.6.2–3.6.3.

3.5.2 State Space to Transfer Function

Sections 3.1.3 and 3.4 presented a specific state space representation re-ferred to as the controllable canonical form. This state space format hasthe advantage that it is easy to compute the associated transfer functionand that it is straightforward to determine a state feedback control law,but may not be the model format that results from derivation of a sys-tem model based on physical principles. The previous section showed that

Page 100: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.5. STATE SPACE ANALYSIS 77

there are an infinite number of equivalent state space model representa-tions. This section describes how to find the associated transfer functionwhen the available state space model is not in controllable canonical form.Only continuous-time systems are discussed. The analysis is similar fordiscrete-time systems.

If a time-invariant system is described as

x(t) = Fx(t) + Gu(t) (3.50)

then, assuming that all initial conditions are zero, Laplace transformingboth sides results in

sX(s) = FX(s) + GU(s)(Is − F)X(s) = GU(s)

X(s) = (Is − F)−1 GU(s).

When y(t) = Hx(t), then by Laplace transform Y(s) = HX(s) and

Y(s) = H (Is − F)−1 GU(s). (3.51)

To show that all equivalent state space representations have the sameinput output response, consider the transfer function corresponding to eqns.(3.47) and (3.48):

Y(s) = HP−1V(s)

V(s) =(Is − PFP−1

)−1PGU(s)

Y(s) = HP−1(Is − PFP−1

)−1PGU(s)

Y(s) = HP−1P (Is − F)−1 P−1PGU(s)

Y(s) = H (Is − F)−1 GU(s) (3.52)

where we have used the fact that(Is − PFP−1

)−1 = P (Is − F)−1 P−1,which can be demonstrated by direct multiplication.

In relation to the previous analysis of this section it is useful to notethe following facts. The quantity (sI − F)−1 represents a matrix of trans-fer functions. Before any pole-zero cancelations, the denominator of eachtransfer function is the polynomial d(s) = |sI − F| , which is the deter-minant of (sI − F). The system poles are the solutions to the equationd(s) = |sI − F| = 0. The eigenvalues of F are the solutions of |sI − F| = 0.Therefore, before pole-zero cancelations, the eigenvalues of F and the polesof the transfer function from U(s) to Y(s) are identical.

Example 3.11 Consider the state space system

x =[

0 1−6 −5

]x +

[01

]u

y =[

1 1]x.

Page 101: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

78 CHAPTER 3. DETERMINISTIC SYSTEMS

The eigenvalues of F are the roots of |sI − F| = 0 where

(sI − F) =[

s −16 s + 5

].

Therefore,

|sI − F| = s2 + 5s + 6 = (s + 3)(s + 2)

which shows that the eigenvalues are -2 and -3.The transfer function from u to y is computed as

Y (s)U(s)

= H (sI − F)−1 G =[

1 1] [ s −1

6 s + 5

]−1 [ 01

]

=[

1 1][

s + 5 1−6 s

](s + 3)(s + 2)

[01

]

=(s + 1)

(s + 3)(s + 2)

which has a zero at s = −1 and poles at s = −2, − 3. �

Example 3.12 Consider the state space system

v =

⎡⎣ 0 1 0

0 0 10 −2 −2

⎤⎦v +

⎡⎣ 0

01

⎤⎦u

y =[

0 1 0]v.

The eigenvalues are 0, 1 ± j, because

(sI − F) =

⎡⎣ s −1 0

0 s −10 2 (s + 2)

⎤⎦

which yields the following equation for the eigenvalues

|sI − F| = s3 + 2s2 + 2s = s(s + 1 + 1j)(s + 1 − 1j).

The transfer function from u to y is computed as follows:

Y (s)U(s)

= H (sI − F)−1 G

=[

0 1 0] ⎡⎣ s −1 0

0 s −10 2 (s + 2)

⎤⎦−1 ⎡⎣ 0

01

⎤⎦

Page 102: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.5. STATE SPACE ANALYSIS 79

=[

0 1 0]⎡⎣ (s2 + 2s + 2) (s + 2) 1

0 s(s + 2) s0 −2s s2

⎤⎦

s(s + 1 + 1j)(s + 1 − 1j)

⎡⎣ 0

01

⎤⎦

=s

s(s + 1 + 1j)(s + 1 − 1j)

which has a finite zero at s = 0 and n = 3 poles at s = 0, 1 + j, 1− j. �

Engineers and analysts should be extremely careful with pole-zero cancela-tions. In particular, a pole should never be canceled if it is in the right-halfcomplex-plane and only with extreme caution if it is on the jω-axis of thecomplex plane. When a pole-zero cancelation occurs it only cancels for aspecific transfer function. The order of that transfer function decreases,but the order of the state space representation remains n. The affect ofthe ‘canceled’ pole will still appear in other transfer functions and in thetransient response.

3.5.3 State Transition Matrix Properties

The homogeneous part of eqn. (3.43) is

x(t) = F(t)x(t). (3.53)

Definition 3.2 A continuous and differentiable matrix function Φ(t) :R

1 → Rn×n is the fundamental solution of eqn. (3.53) on t ∈ [0, T ] if

and only if Φ(0) = I and Φ(t) = F(t)Φ(t) for all t ∈ [0, T ].

The fundamental solution Φ is important since it will serve as the basis forfinding the solution to both eqns. (3.43) and (3.53).

If x(t) = Φ(t)x(0) then x(t) satisfies the initial value problem corre-sponding to eqn. (3.53) with initial condition x(0):

x(t) =d

dt

(Φ(t)x(0)

)= Φ(t)x(0)= F(t)Φ(t)x(0)= F(t)x(t).

If Φ(t) is nonsingular, then Φ−1(t)x(t) = x(0) and

x(τ) = Φ(τ)x(0)= Φ(τ)Φ−1(t)x(t)= Φ(τ, t)x(t) (3.54)

Page 103: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

80 CHAPTER 3. DETERMINISTIC SYSTEMS

where Φ(τ, t) = Φ(τ)Φ−1(t) is called the state transition matrix from timet to time τ . The state transition matrix transforms the solution of theinitial value problem corresponding to eqn. (3.53) at time t to the solutionat time τ . The state transition matrix has the following properties:

Φ(t, t) = I (3.55)Φ(τ, t) = Φ−1(t, τ) (3.56)

Φ(τ, λ)Φ(λ, t) = Φ(τ, t) (3.57)d

dτΦ(τ, t) = F(τ)Φ(τ, t) (3.58)

d

dtΦ(τ, t) = −Φ(τ, t)F(t). (3.59)

The general solution to eqn. (3.43) is

x(t) = Φ(t, t0)x(t0) +∫ t

t0

Φ(t, λ)G(λ)u(λ)dλ (3.60)

which can be verified as follows:

d

dtx(t) =

d

dt

(Φ(t, t0)x(t0)

)+

d

dt

(∫ t

t0

Φ(t, λ)G(λ)u(λ)dλ

)x(t) = F(t)Φ(t, t0)x(t0)

+∫ t

t0

F(t)Φ(t, λ)G(λ)u(λ)dλ + Φ(t, t)G(t)u(t)

x(t) = F(t)(Φ(t, t0)x(t0) +

∫ t

t0

Φ(t, λ)G(λ)u(λ)dλ

)+ G(t)u(t)

x(t) = F(t)x(t) + G(t)u(t),

where Leibnitz rule

d

dt

∫ b(t)

a(t)

f(t, τ)dτ =∫ b(t)

a(t)

∂tf(t, τ)dτ + f(b(t), τ)

db

dt− f(a(t), τ)

da

dt

has been used to move derive the second equation from the first.

3.5.4 Linear Time-Invariant Systems

In the case that F is a constant matrix, it can be shown by direct differen-tiation that

Φ(t) = eFt, and (3.61)Φ(τ, t) = eF(τ−t).

Page 104: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.5. STATE SPACE ANALYSIS 81

The matrix exponential, its properties, and its computation are discussedin Section B.12. Given this special case of Φ(τ, t) we have that eqn. (3.60)becomes

x(t) = eF(t−t0)x(t0) +∫ t

t0

eF(t−τ)G(τ)u(τ)dτ. (3.62)

Assuming that G is time-invariant, the output is determined by multiplyingeqn. (3.62) on the left by the measurement matrix H

y(t) = HeF(t−t0)x(t0) +∫ t

t0

HeF(t−τ)Gu(τ)dτ. (3.63)

Defining m(t) = HeFtG, which is the impulse response of the linear system,we see that eqn. (3.63) is the linear combination of the response due toinitial conditions and the response due to the input. The response to theinput u(t) is determined as the convolution of the impulse response m(t)with u(t). The Laplace transform of the impulse response is the transferfunction M(s) = H (sI − F)−1 G derived in eqn. (3.51).

An approximate method to compute Φ(t + τ, t) for small τ when F(t)is slowly time-varying is discussed in Section 7.2.5.2.

3.5.5 Discrete-Time Equivalent Models

It is often the case that a system of interest is naturally described bycontinuous-time differential equations, but that the system implementationis more convenient in discrete-time. In these circumstances, it is of interestto determine a discrete-time model that is equivalent to the continuous-timemodel at the discrete-time instants tk = kT for some fixed value T > 0 andk = 0, 1, 2, . . .. Equivalence meaning that the discrete and continuous-timemodels predict the same system state at the specified discrete-time instants.

If F is a constant matrix, then from eqn. (3.62)

xk+1 = eF((k+1)T−kT

)xk +

∫ (k+1)T

kT

eF((k+1)T−τ

)G(τ)u(τ)dτ

xk+1 = Φxk +∫ (k+1)T

kT

eF((k+1)T−τ

)G(τ)u(τ)dτ (3.64)

where xk = x(kT ) and Φ = eFT . Simplification of the second term on theright hand side is possible under various assumptions. The most commonassumption is that G(t) is a constant vector and that u(t) has the constantvalue uk for t ∈ (kT, (k + 1)T ]. With this assumption, eqn. (3.64) reducesto

xk+1 = Φxk + Γuk (3.65)

where Γ =∫ T

0eF(T−τ)Gdτ.

Page 105: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

82 CHAPTER 3. DETERMINISTIC SYSTEMS

Example 3.13 For the continuous-time system described in eqn. (3.16)

on page 68, F =[

0 10 0

]. Denoting the sampling time by T , Φ can be

found in closed form via the Taylor series approach described in Section

B.12.1. Since Fn =[

0 00 0

]for n ≥ 2, the Taylor series terminates after

the second term

Φ = eFT = I + FT + 0.5F2T 2 + . . .

=[

1 T0 1

].

If, in addition, the applied force is held constant at f(t) = fk for t ∈[kT, (k + 1)T ) for all k = 0, 1, 2, . . ., then using the change of variablesλ = τ − kT we obtain

Gd =∫ (k+1)T

kT

eF((k+1)T−τ)Gu(τ)dτ =∫ T

0

[1 (T − λ)0 1

] [01

]fkdλ

=[

T T 2/20 T

] [01

]fk

=[

T 2/2T

]fk.

Thus the discrete-time equivalent model to eqn. (3.16) is

xk+1 =[

1 T0 1

]xk +

[T 2/2

T

]fk

pk =[

1m 0

]xk.

3.6 State Estimation

The state space model format clearly shows that a system may have manyinternal variables (e.g., states) and fewer outputs (e.g., y). This is true fora variety of reasons including cost, power, or lack of appropriate sensors. Ifknowledge of the state vector is desired, but is not directly measured, thenwe have the problem referred to as state estimation. State estimation isuseful in control applications, when a few outputs are available, but knowl-edge of the system state would allow higher performance control. It is alsotrue in navigation systems, where several error variables are of interest, butfew external measurements (e.g., ranges or velocities) are available. When

Page 106: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.6. STATE ESTIMATION 83

-!!!!!!!!!!!�.&�

3

0

0

�!!!!!!!!!!!�.&�

�20

0

0

0

�4 �+�,*

�+�, �+�,

5

��4�4

�46�40&

6 �46

����� �

$����/���0��� �

Figure 3.4: State estimator implementation for the continuous-time physicalsystem of eqn. (3.15) with the output sampled every T seconds and the inputu(t) constant over each sampling interval. The state estimate is described byeqns. (3.66).

it is advantageous to know the internal state, the question arises of howto estimate the state from the available outputs. This section presents theproblem of state estimation for deterministic systems from a stability pointof view. Chapter 4 will consider the issue of state estimation performancein applications with stochastic inputs. Chapter 5 will consider the problemof state estimation for stochastic systems from an optimization point ofview.

For a discrete-time system described via eqn. (3.39-3.40), consider thefollowing approach:

xk+1 = Φxk + Γuk + L(yk − yk)yk = Hxk

}(3.66)

where xk is an estimate of the state xk at the k-th instant of time andL is a design parameter referred to as the estimator gain vector. Figure3.4 depicts the actual system and the state estimator where the symbol zrepresents a time-advance and 1

z represents a time-delay. The figure showsthat the state of the physical system evolves in continuous time and isnot directly measurable. Instead, output y is measured at discrete-timeinstants tk = kT . From the discrete-time measurements of the output,eqn. (3.66) is implemented on the application computer to estimate thestate vector. Because the state estimator is implemented computationally,the state estimates are conveniently available on the computer for use bycontrol, planning, or other tasks as deemed appropriate by the designer.

For analysis, we form the difference equation for the state estimation

Page 107: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

84 CHAPTER 3. DETERMINISTIC SYSTEMS

error δx = x − x by subtracting eqn. (3.66) from eqn. (3.39) to obtain

δxk+1 = Φδxk − LHδxk

δxk+1 = (Φ − LH) δxk. (3.67)

If the state estimation error is to converge to zero, then eqn. (3.67) mustbe asymptotically stable. Eqn. (3.67) will be asymptotically (actuallyexponentially) stable if the eigenvalues of (Φ − LH) have magnitude lessthan one.

The above analysis is meant to motivate the idea of state estimation(also called state observation). Several questions remain unanswered. Theabove analysis has tacitly assumed that it is possible to choose the matrixL so that the eigenvalues of (Φ − LH) have magnitude less than one. Thismay not always be possible. This issue is related to the question of when thesystem state can be estimated from a given set of measurements. This issueis discussed in Section 3.6.1. Once it is determined that state estimation ispossible for a given system, it is natural to consider whether it is possibleto derive an optimal state estimator relative to a given optimality criteria.The above analysis also only discusses time-invariant systems. The time-varying case is more complex and will only be discussed in the context ofoptimal estimation.

Note that the resulting state estimation algorithm is recursive in na-ture and can be split into two parts: a measurement update and a timeupdate. At k-th time step prior to using yk, we have x−

k , yk, and y−k . The

computation for the k-th time step proceeds as follows:

Residual: δyk = yk − y−k (3.68)

Posterior state estimate: x+k = x−

k + Lδyk (3.69)A priori state estimate: x−

k+1 = Φx+k + Γuk (3.70)

A priori output estimate: y−k+1 = Hx−

k+1 (3.71)

where L = Φ−1L. This ordering of the operations is depicted in Figure3.5. Eqn. (3.68) computes the measurement residual. Eqn. (3.69) can bethought of as a blending of all past measurement information propagated tothe present time (as represented by x−

k ) with the new information availablefrom the current measurement (as represented by the residual δyk). Whilex−

k represents the estimate of xk using all measurements up to but notincluding yk, the vector x+

k represents the estimate of xk after incorporatingall measurements including yk. Performing the operations in this orderminimizes the computation (i.e., delay) between the arrival of yk and theavailability of x+

k for use in control (e.g., calculation of uk), navigation, andplanning computations. After those computations are complete, but priorto the arrival of the next measurement, eqns. (3.70-3.71) perform the time

Page 108: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.6. STATE ESTIMATION 85

��$����!�����!����7!�40&6

3��$!������7!��4

��$����!�����!������7!�40&6 ��$����!���������!����7!�4

60

�8��!����$�����$���9

Figure 3.5: State estimator implementation organized to minimize delaybetween arrival of yk and computation of xk.

propagation necessary to prepare the data for the (k + 1)-th measurement.

A critical question is proper definition of the state of the system contain-ing the plant and the state estimator. The following variables are open forconsideration: x, x, and δx. A first thought might be to combine all threeinto a vector of length 3n; however, this is not a minimal state definitionbecause the three vectors are linearly dependent according to the equationδx = x− x. Knowledge of any two of the three vectors allows calculation ofthe third. The dimension of system containing both the plant and the stateestimator is 2n. Three valid state vectors are: [x, x], [x, δx], and [x, δx].

The question of whether the plant state can be estimated is addressedin Subsection 3.6.1. The question of how to select the gain L to achievea stable estimator design is addressed in Subsection 3.6.2. For a lineardeterministic system, the state estimator design and analysis work witheqn. (3.67) and performance is independent of the actual state and controlsignal. Stochastic dynamic systems are introduced in Chapter 4. Stateestimation for stochastic dynamic systems is discussed in Chapter 5.

3.6.1 Observability

The previous section introduced the idea of estimation of the system statefrom the available outputs. Prior to trying to design a state estimator, it isimportant to consider the question of whether the state can be estimatedfrom the available outputs.

This section analyzes the state estimation problem using the inversion-based solution method discussed in Section B.4. It is important for thereader to note that this approach to examining when the state estimationproblem is solvable is distinct from the actual method of designing the stateestimator. In particular, the vector Z defined below will never actually becomputed directly.

Consider the problem of estimating the state xk of the system described

Page 109: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

86 CHAPTER 3. DETERMINISTIC SYSTEMS

by eqn. (3.44) from the sequence of outputs {yi}N+ki=k . For this system,

using eqns. (3.45–3.46),

yk = Hkxk

yk+1 − Hk+1Γkuk = Hk+1Φkxk

......

yk+N − Hk+N

n−1∑j=0

n−1∏i=j+1

Φk+iΓk+juk+j = Hk+NΦk+N−1 · · ·Φkxk

where all quantities in the left-hand side of the equation are known. Thevector in the left-hand side will be denoted as Z. This set of equations canbe written conveniently in matrix notation as

Z =

⎡⎢⎢⎢⎣

Hk

Hk+1Φk

...Hk+NΦk+N−1 · · ·Φk

⎤⎥⎥⎥⎦xk. (3.72)

Therefore, xk can be estimated from {yi}N+ki=k if the matrix on the right-

hand side of eqn. (3.72) has rank equal to n (i.e., full column rank) forsome N . For time-invariant systems this condition reduces to checking therank of the matrix

O� =[H�,Φ�H�, . . . ,

(Φ�)n−1

H�]. (3.73)

Example 3.14 Given the state space system

x =

⎡⎣ 0 1 0

0 0 10 0 0

⎤⎦x(t) (3.74)

y(t) =[

0 0 1]x(t) (3.75)

where x = [p, p, p]� and only acceleration is being sensed. By the methodsof Section 3.5.5, the equivalent discrete-time plant model is

xk+1 =

⎡⎣ 1 T T 2/2

0 1 T0 0 1

⎤⎦xk (3.76)

yk =[

0 0 1]xk. (3.77)

The observability matrix for this system is

O =

⎡⎢⎢⎢⎣

HHΦ...HΦ · · ·Φ

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣

0 0 10 0 1

...0 0 1

⎤⎥⎥⎥⎦ .

Page 110: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.6. STATE ESTIMATION 87

which has rank one. This should match the reader’s intuition regarding thisproblem, since two constants of integration would be involved in determin-ing position and velocity from acceleration. An accelerometer alone cannotdetermine these unknown constants. Even if the initial conditions were ex-actly known, errors in the acceleration measurement could not be detectedor removed. �

Example 3.15 Consider the same dynamic system as described by eqn.(3.74), but with position being measured instead of acceleration. In thesystem model, eqns. (3.74) and (3.76) would not change, but the outputmatrix would become H = [1, 0, 0]. In this case, the observability matrix is

O =

⎡⎣ H

HΦHΦ2

⎤⎦ =

⎡⎣ 1 0 0

1 T T 2/21 2T 2T 2

⎤⎦

which has full column rank (for T �= 0). Again, the mathematics verifiesthe intuition behind the problem, since at least three samples of position arerequired to estimate acceleration. �

The above analysis shows that when the system state is observable itis possible to estimate the state in a minimum of N discrete-time steps;however, this is not usually done. Instead, computational issues, stability,and noise considerations usually motivate estimators which have guaranteedasymptotic convergence, as was discussed earlier in this section.

3.6.2 Estimator Design by Pole Placement

Chapter 5 will discuss optimal state estimation. This section discusses esti-mator design by pole placement (i.e., Ackerman’s method) for two reasons.First, it gives the reader a method for selecting the state estimation gainvector for exercises prior to reading Chapter 5. Second, understanding ofthe concepts of this section will aid the understand of the results derivedin Section 3.6.3.

Section 3.1.3 derived the controllable canonical form state space rep-resentation for the strictly proper transfer function in eqn. (3.6). Forobserver design by pole placement, it is also useful to define the observablecanonical form. In discrete-time, the observable canonical form, state spacerepresentation is

vk+1 = Φovk + Γouk + Lo (yk − yk) yk = Hovk. (3.78)

Page 111: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

88 CHAPTER 3. DETERMINISTIC SYSTEMS

where

Φo =

⎡⎢⎢⎢⎢⎢⎣

−a1 1 0 . . . 0−a2 0 1 . . . 0

......

.... . .

...−an−1 0 0 . . . 1−an 0 0 . . . 0

⎤⎥⎥⎥⎥⎥⎦ , Γo =

⎡⎢⎢⎢⎢⎢⎣

b1

b2

...bn−1

bn

⎤⎥⎥⎥⎥⎥⎦ ,

and Ho = [1, 0, . . . , 0]. The observable canonical form will be convenientfor selection of the observer gain matrix, assuming that we have method fortransforming an arbitrary state space representation to observable canonicalform.

The observer gain matrix design process has three steps. First, we finda similarity transform v = Ux from the original state space representation

xk+1 = Φxk + Γuk + L (yk − yk) yk = Hxk (3.79)

to observable canonical form where Φo = UΦU−1, Γo = UΓ, Ho = HU−1,and Lo = UL. Second, we select an observer gain vector Lo using poleplacement for the system in observable canonical form. Third, we use theequation L = U−1Lo to transform the observer gain Lo back to the originalstate space representation. Throughout this section, we assume that thesystem is observable. If the system was not observable, then there wouldin general be no solution to the full state estimation problem.

The first step is to derive the similarity transform v = Ux to trans-form the original state space representation of eqn. (3.79) to observablecanonical form of eqn. (3.78). To achieve this, we begin by computing theobservability matrix O as defined in eqn. (3.73). Because the system isobservable, O is nonsingular; therefore, O−1 exists. Let the last column ofO−1 be denoted as p so that

O−1 = [. . . ,p].

Using the fact that OO−1 = I and focusing only on the last column yields

Hp = 0HΦp = 0

...HΦn−2p = 0HΦn−1p = 1.

Defining U−1 = [Φn−1p,Φn−2p, . . . ,Φp,p], we have HU−1 = [1, 0, . . . , 0]which shows that the output matrix transforms correctly. Next, consider

Page 112: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.6. STATE ESTIMATION 89

the rows of

U =

⎡⎢⎣ u1

...un

⎤⎥⎦ .

Using the fact that

I = UU−1 =

⎡⎢⎢⎢⎣

u1Φn−1p u1Φn−2p . . . u1pu2Φn−1p u2Φn−2p . . . u2p

......

. . ....

unΦn−1p unΦn−2p . . . unp

⎤⎥⎥⎥⎦

we have that for j ∈ [1, n]

uiΦn−jp ={

1 if j = i0 if j �= i.

Defining ai = uiΦnp, we are ready to consider the product

UΦU−1 =

⎡⎢⎣ u1

...un

⎤⎥⎦Φ[Φn−1p,Φn−2p, . . . ,Φp,p]

=

⎡⎢⎣ u1

...un

⎤⎥⎦ [Φnp,Φn−1p, . . . ,Φ2p,Φp]

=

⎡⎢⎢⎢⎣

u1Φnp u1Φn−1p . . . u1Φpu2Φnp u2Φn−1p . . . u2Φp

......

. . ....

unΦnp unΦn−1p . . . unΦp

⎤⎥⎥⎥⎦

=

⎡⎢⎢⎢⎣

−a1 1 0 . . . 0−a2 0 1 . . . 0

......

.... . .

...−an 0 0 . . . 1

⎤⎥⎥⎥⎦

which has the desired form for the observable canonical form. Therefore,the similarity transform defined by U transforms the original observablesystem to observable canonical form.

In the observable canonical form, it is straightforward to design the

Page 113: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

90 CHAPTER 3. DETERMINISTIC SYSTEMS

observer gain Lo, because

(Φo − LoHo) =

⎡⎢⎢⎢⎢⎢⎣

−(a1 + Lo1) 1 0 . . . 0−(a2 + Lo2) 0 1 . . . 0

......

.... . .

...−(an−1 + Lon−1) 0 0 . . . 1−(an + Lon

) 0 0 . . . 0

⎤⎥⎥⎥⎥⎥⎦ (3.80)

which has the characteristic equation

|sI − (Φo − LoHo)| = sn + (a1 + Lo1)sn−1 + . . . + (an + Lon

) = 0.

Therefore, if a set of desired discrete-time pole locations {pi}ni=1 are se-

lected, then the desired characteristic equation can be computed. Thevector Lo to cause eqn. (3.80) to match the desired characteristic equationcan be computed and L = U−1Lo.

Example 3.16 Consider the system described in eqn. (3.4) with m = 1,b = 2 and k = 0. Defining the state vector as x = [p, p]�, a continuous-timestate space model for the system is

x(t) =[ −2 0

1 0

]x(t) +

[10

]f(t) (3.81)

y(t) =[

0 1]x(t). (3.82)

For a sample period of T = 0.1 seconds, the equivalent discrete-time statespace model given by eqn. (3.65) is

xk+1 =[

0.8187 0.00000.0906 1.0000

]xk +

[0.09060.0047

]fk (3.83)

pk =[

0.0000 1.0000]xk. (3.84)

The observability matrix is

O =[

0.0000 1.00000.0906 1.0000

]

so that p = [11.0375, 0.0000]�. The resulting similarity transform uses

U =[

0.0000 1.00000.0906 −0.8187

].

With the closed loop estimator poles (i.e. the eigenvalues of (Φ−LH) andof (Φo − LoHo)) specified to be at 0.9 ± 0.1j. The observer gain matricesare Lo = [0.0187, 0.0013]� and L = [0.1832, 0.0187]�.

Page 114: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.6. STATE ESTIMATION 91

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−4

−2

0

2

4

6

8

10

Time, t, sec

Sta

te e

rror

, δ x

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−2

0

2

4

6

8

10

Time, t, sec

Sta

te, x

Figure 3.6: State estimator simulation for Example 3.16. Top – State es-timation error versus time. The solid line is δx1 and the dashed line is δx2.Bottom – State and state estimates versus time. The solid lines are the statesand the dashed lines are the estimates.

The convergence of the resulting state estimator is shown in Figure 3.6for the initial conditions x = [10.0, 1.0]� and x = [0.0, 0.0]�. The top plotshows the estimation error with x1 as a solid line and x2 as a dashed line.The bottom plot shows state (solid) and the estimated state (dashed). Bothplots clearly show the convergence of the estimation error to zero. Theplots are shown as continuous lines, but the state estimates are actuallyonly defined at the sampling instants. �

There are clearly a variety of tradeoffs in the selection of the state es-timation gain vector. If L is small then the convergence will be slow, butmeasurement noise will have a small effect on the state estimates. Al-ternatively, when L is large convergence of the error will be rapid, butmeasurement noise will have a relatively large effect on the state estimates.When it is possible to propagate estimates of the accuracy of the state es-timates and of the measurement accuracy, then it is interesting to consider

Page 115: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

92 CHAPTER 3. DETERMINISTIC SYSTEMS

the time-varying gain vector that provides an optimal tradeoff between theaccuracy of the state and measurements, which is done in Chapter 5.

3.6.3 Observable Subspace

Let X denote the state space of a system. When the system is not ob-servable (for a given set of sensors), it is possible to define a similaritytransform, v = Px for x ∈ X , such that the vector v can be partitionedinto a set of states v1 ∈ R

n−ro which are observable and a set of statesv2 ∈ R

ro which are unobservable:[v1(k + 1)v2(k + 1)

]=

[A11 0A21 A22

] [v1(k)v2(k)

]

y(k) =[

H1 0] [ v1(k)

v2(k)

]⎫⎪⎪⎬⎪⎪⎭ (3.85)

where H1,A11,A21, and A22 are partitioning matrices of the appropriatedimensions to conform with v1(k) and v2(k). If W = P−1 = [W1,W2]where W1 ∈ R

n×(n−ro) and W2 ∈ Rn×ro , then the columns of W1 and

W2 provide bases for the observable and unobservable subspaces of X ,respectively. These facts are useful when a system is unobservable. Forexample, if x represents physical variables, the designer should be interestedin identifying the subspace of X which is unobservable.

The matrix P is not unique. One method to determine P is as follows.Let ro = rank(O) for the observability matrix O defined in eqn. (3.73).Select ro linearly independent rows from O. Call these row vectors qi for i =1, . . . , ro. Define the remaining (n− ro) row vectors qi for i = ro + 1, . . . , narbitrarily as long as they are linearly independent with each other andwith each qi for i = 1, . . . , ro. Then the matrix

P =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

q1

...qro

qro+1

...qn

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

is nonsingular and transforms the state space representation for x into theform of eqns. (3.85).

Example 3.17 Consider the system described by eqns (3.74–3.75). Thesimilarity transform defined by

P =

⎡⎣ 0 0 1

0 1 01 0 0

⎤⎦

Page 116: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.6. STATE ESTIMATION 93

transforms the state space system representation to the form of eqn. (3.85).An observability check shows that only the first component of v is observ-able. Therefore, the second and third columns of

W = P−1 =

⎡⎣ 0 0 1

0 1 01 0 0

⎤⎦

form a basis for the unobservable subspace of X . The unobservable subspaceis

Xun = a

⎡⎣ 0

10

⎤⎦ + b

⎡⎣ 1

00

⎤⎦

which further clarifies the results previously obtained by showing that anylinear combination of position and velocity are unobservable from accelera-tion measurements. �

Example 3.18 Consider the system of eqn. (3.105) with the accelerometerand gyro errors represented as constant biases:⎡

⎢⎢⎢⎢⎣φvn

θ

ba

bg

⎤⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎢⎣

0 1

R0 0 0

0 0 fd 1 00 1

R0 0 1

0 0 0 0 00 0 0 0 0

⎤⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎣

φvn

θ

ba

bg

⎤⎥⎥⎥⎥⎦ .

If this system is position aided with H = [1, 0, 0, 0, 0], is the state observable.If it is not observable, define the observable subspace.

The observability matrix

O =

⎡⎢⎢⎢⎢⎢⎢⎣

1 0 0 0 00 1

R0 0 0

0 0 fd

R

1R 0

0 fd

R20 0 fd

R

0 0 f2d

R2

fd

R20

⎤⎥⎥⎥⎥⎥⎥⎦

has rank 4, so the state is not observable.The first four rows of O are linearly independent, while the fifth row is

a multiple of the third row. An orthogonal basis for the first four rows of Ois defined by

q1 = [1 0 0 0 0],q2 = [0 1 0 0 0],q3 = [0 0 fd 1 0],q4 = [0 0 0 0 1].

Page 117: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

94 CHAPTER 3. DETERMINISTIC SYSTEMS

The vector q5 = [0 0 − 1 fd 0] completes the orthogonal basis for R5.

These five vectors define the rows of the matrix P. The inverse matrix is

W = P−1 =

⎡⎢⎢⎢⎢⎢⎣

1 0 0 0 00 1 0 0 00 0 fd

1+f2d

0 −1

1+f2d

0 0 1

1+f2d

0 fd

1+f2d

0 0 0 1 0

⎤⎥⎥⎥⎥⎥⎦ .

Therefore, the fifth column defines the unobservable subspace. As long as fd

is constant, a position measurement based state estimation scheme cannotdiscriminate tilt error the error θ = ba = 0 from the error θ = fd, ba = 1or from any other error such that θ = fdba. �

Example 3.19 Let the system of interest be defined by[x1(k + 1)x2(k + 1)

]=

[0 00 0

] [x1(k)x2(k)

](3.86)

y(k) = x1(k) + x2(k) =[

1 1] [ x1(k)

x2(k)

]. (3.87)

Define the similarity transform P =[

1 11 −1

]. Then,

[v1(k + 1)v2(k + 1)

]=

[0 00 0

] [v1(k)v2(k)

](3.88)

y(k) =[

1 0] [ v1(k)

v2(k)

]. (3.89)

By observability analysis, it is straightforward to show that the state v2

is unobservable. Since W = 12

[1 11 −1

], a basis for the unobservable

portion of X is[

1−1

]. In this example it was straightforward to see that

while x1 + x2 was measured, nothing could be concluded about the value ofx1 − x2. In more complicated examples it is useful to have a well-definedmethod for determining a basis for the unobservable portion of X . �

In the previous example, the subspace of X spanned by x1 − x2 wasunobservable. This unobservable space is defined by the system dynamicsand sensor suite. Once the system and sensor suite are fixed, the designercannot ‘select’ the unobservable subspace. If the designer drops eithervariable in an attempt to estimate the other, the reduced order estimationproblem may appear to ‘become observable’, but the resulting estimate ofthe retained variable will be biased from the true value of the variable.

Page 118: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.7. REFERENCES AND FURTHER READING 95

Example 3.20 Continuing from the previous example, assume that thetrue value of the state vector is x = [1, 1]. Also, assume that the designeruses the state estimation model

x1(k + 1) = 0, y(k) = x1(k)

which a simple observability analysis shows to be observable. Based on themeasurement y = 2, the estimator would produce x1 = 2, which is incorrectand biased from its correct value by the amount H2x2. �

In subsequent chapters it will be suggested that unobservable variablesbe combined or dropped in the quest to produce a near optimal estimationscheme with a reasonable amount of computation. When this is done, thenew combined variable should be used with caution. In no case shouldthis be interpreted as selection of the unobservable states (subspace). Theunobservable subspace can only be affected by changing either the actualsystem dynamics or the sensor suite.

One method to compute numerically a basis for the observable andunobservable subspaces is to use the singular value decomposition (SVD).Let the SVD of O� be represented as O� = VΣU�. The matrix Σ isdiagonal with ro non-zero elements. Let V be decomposed as V = [V1,V2]where V1 ∈ R

n×ro and V2 ∈ Rn×(n−ro). The columns of V1 form an

orthogonal basis for the range space of O� which is also an orthogonalbasis for the rows of O. Therefore, the columns of V1 serve as a basis forthe observable subspace. The columns of V2 are orthogonal to each otherand to the columns of V1. Therefore, the columns of V2 serve as a basisfor the unobservable subspace.

For exercises related to this topic, see Exercises 3.11 and 4.15. Moredetailed examples of the definition of unobservable spaces are contained onpages 350, 427, and 449.

3.7 References and Further Reading

There are several good sources for the material from this chapter. At theundergraduate level, two good references are [94, 105]. At the graduatelevel, two good references are [38, 87]. The main sources for Sections 3.6.2and 3.6.3 of this chapter were [28] and Sections 8.2.4, 8.3, and 10.1 in [19].Observability, and its dual concept, controllability are discussed in relationto model reduction in [101].

3.8 Exercises

Exercise 3.1 The purpose of this exercise is to supply the details of thederivation of the transfer function to state space transformation on p. 67.

Page 119: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

96 CHAPTER 3. DETERMINISTIC SYSTEMS

1. Manipulate eqn. (3.12) to have the form

V (s)sn + d1V (s)sn−1 + . . . + dnV (s) = U(s).

2. Use inverse Laplace transforms to show that the differential equationrelating u(t) to v(t) is

v(n) + d1v(n−1) + . . . + dnv = u. (3.90)

3. Show that eqn. (3.14) with the state vector defined immediatelybefore eqn. (3.14) is a valid state space representation of eqn. (3.90).To do this, rewrite the derivative of each state variable in terms ofonly the state and the control. For example, x1 = v = x2 which yieldsthe first equation x1 = x2.

Exercise 3.2 Use eqn. (3.51) to show that the transfer function corre-sponding to the state space model of Example 3.6 on page 69 does in factmatch eqn. (3.10) on page 66. To find the inverse matrix required for thecomputation, use eqn. (B.29).

Exercise 3.3 For the two state space systems represented by eqns. (3.22)and (3.23).

1. Find the state space representation for the parallel connection shownin the left portion of Figure 3.7.

2. Find the state space representation for the feedback connection shownin the right portion of Figure 3.7.

�%&

%)

�&

�)

�&%&

%)

�&

�)

�)

00

0

Figure 3.7: Interconnected systems for Exercise 3.3. Left – Parallel intercon-nection of two state space systems. Right – Feedback interconnection of twostate space systems.

Exercise 3.4 Verify the similarity transform in Example 3.10 on page 76.Also use eqn. (3.51) to verify that the input-output transfer function cor-responding to eqn. (3.49) still matches eqn. (3.10).

Page 120: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.8. EXERCISES 97

Exercise 3.5 In Example 3.7 on page 70, if the applied force is insteaddefined by

v = p − r

f = K1v + K2 (p − r) + K3p.

where r(t) is an independent input:

1. Find the state space representation for the augmented state vectorz = [mp, mp, v]� with the output y = p.

2. Find the transfer function from r to y.

Exercise 3.6 Use the definition of the fundamental solution and the defi-nition of the state transition matrix to verify the properties in eqns. (3.55–3.59).

Exercise 3.7 A state space representation of the single channel horizontalerror dynamics of an INS (see Exercise 3.12) is⎡

⎣ xv

φ

⎤⎦ =

⎡⎣ 0 1 0

0 0 −g0 1

R 0

⎤⎦⎡⎣ x

⎤⎦ +

⎡⎣ 0 0

1 00 1

⎤⎦[

εa

εg

], (3.91)

where εa and εg represent the accelerometer and gyro measurement errorsin the navigation frame. Let g = 9.8 m

s2 and Re = 6 × 106m.

1. Treating εa and εg as inputs:

(a) Find the transfer functions from εa to x.

(b) Find the transfer functions from εg to x.

Discuss the pole locations and the expected characteristics of theresponse.

2. Find the discrete-time equivalent model assuming that the position xis measured at 0.1 Hz.

3. Is the entire state observable?

4. Find the estimator gain vector that yields discrete-time estimatorpoles at p = [0.85 ± j0.15, 0.75].

5. Let εa = εg = 0. A series of noise corrupted measurements and theMATLAB file to produce them is posted on the book’s web site. Im-plement the state estimator and generate plots of the state estimatesand the residual measurements.

Page 121: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

98 CHAPTER 3. DETERMINISTIC SYSTEMS

6. Let εg = 0. If εa with dynamic model εa = 0 is augmented to the statevector, defined the new state space model and determine whetherthe new state vector is observable. If not, define the unobservablesubspace.

Exercise 3.8 Consider the state space system

v =[ −2 0

0 −3

]v +

[ −11

]u

y =[

1 2]v.

1. Show that the eigenvalues of the F matrix are -2 and -3.

2. Show that the transfer function from u to y is

Y (s)U(s)

=(s + 1)

(s + 3)(s + 2).

Note that the system poles and eigenvalues are identical.

3. A single transfer function has an infinite number of equivalent statespace representations. If x is a valid state vector and P is a nonsingu-lar matrix, then v = Px is also a valid state vector. This is referredto as a similarity transformation.

Show that the state space representation for v of this problem andthe state representation for x of Example 3.11 on p. 77 are similar

with P =[ −3 −1

2 1

].

4. Find the equivalent discrete-time system assuming that the input u(t)is constant over the time step T .

Exercise 3.9 Show that, for the system described by eqns. (3.74–3.75),the equivalent discrete-time plant is represented by eqns. (3.76–3.77).

Exercise 3.10 Repeat example 3.16 if the desired eigenvalues are 0.85 and0.90.

Exercise 3.11 Consider the system

x = Fx + Gu (3.92)y = Hx (3.93)

where F =

⎡⎢⎢⎢⎢⎣

1 1 0 0 00 1 0 0 00 0 1 0 00 0 0 1 10 0 0 0 1

⎤⎥⎥⎥⎥⎦ and H = [0 1 1 1 0].

Page 122: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.8. EXERCISES 99

1. Is the system observable?

2. If not, determine a basis for the unobservable subspace.

Exercise 3.12 This is a rather long exercise directly related to navigation.It has a few objectives and touches on many of the concepts discussed inChapter 3. The primary objectives are

1. to step the reader through the navigation system linearization process

2. to derive the error model in eqn. (3.49); and,

3. to introduce the Schuler frequency.

Figure 3.8 depicts a simplified two dimensional navigation system wherethe Earth is assumed to be spherical and non-rotating, with radius R, anduniform density. The point P is constrained to move in the (p, z) plane.The point P represents the effective location of an inertial measurement unit

8

Figure 3.8: Figure for Exercise 3.12.

(IMU) with sensitive axes in the directions indicated by the unit vectorsu and w, which define the platform reference frame. The projection ofthe point P onto the Earth surface defines the origin of the geographicreference frame. The instantaneous Earth tangent plane at the origin ofthe geographic frame defines the unit vectors n and d. The height of thepoint P above the tangent plane is the altitude h. The gravity vector isg = GM

(R+h)2d which points along the d-axis of the geographic frame. The

angles φ and θ are defined as positive in the directions indicated in thefigure. The z and p vectors defined the ECEF reference frame, which forthis exercise is identical with the inertial frame of reference.

Page 123: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

100 CHAPTER 3. DETERMINISTIC SYSTEMS

The kinematics of the IMU at point P are defined by[φ

h

]=

[1

R+h 00 −1

] [vn

vd

](3.94)

[vn

vd

]= �fg + gg(h) +

[vnvd

R+h−v2

n

R+h

](3.95)

θ = ωpgp (3.96)

where �fg = Rgp�fp and �fp is the specific force vector1 represented in platform

frame, ωpgp = ωp

ip − ωpig with ωp

ip measured by the gyro and ωpig = −φ =

− vn

R+h . The gravity vector in navigation frame is

gg(h) =

[0

GM

(R+h)2

].

The vector [vn, vd] is the Earth relative velocity of point P represented inthe instantaneous tangent plane. The third term in eqn. (3.95) is due tothe rotation rate of the geographic frame with respect to the inertial frameand can be derived using the law of Coriolis. The rotation matrix Rg

p fromplatform to geographic frame is defined as

Rgp = [−θ]2 =

[cos(θ) sin(θ)

− sin(θ) cos(θ)

]where the second row and column of [−θ]2 have been removed as they arenot relevant to the exercise and Rp

g =(Rg

p

)�.

The IMU consists of an accelerometer y1 and a gyro y2 with outputsmodeled as

y1 = ap − gp − εpa = �fp − εp

a (3.97)y2 = ωp

ip − εg (3.98)

where �fp = ap − gp is the specific force vector in platform frame, and εpa

and εg represent accelerometer and gyro errors, respectively.A navigation system calculates the navigation state by integration of

the following equations[ ˙φ˙h

]=

[1

R+h0

0 −1

] [vn

vd

](3.99)

[ ˙vn

˙vd

]= Rg

p (y1 + εpa) + gg(h) +

⎡⎣ vnvd

R+h

−v2n

R+h

⎤⎦ (3.100)

1The fact that accelerometers measure specific force is discussed in Section 11.1.3.

Page 124: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.8. EXERCISES 101

˙θ =

vn

R + h+ y2 + εg (3.101)

where εa is an estimate of the accelerometer error vector and εg is anestimate of the gyro error. Let the state vector for the vehicle kine-matics be x = [φ, h, vn, vd, θ]�, the navigation system state vector be

x = [φ, h, vn, vd, θ]�, u1 =[(fp)� , ωp

ip

]�, and up

2 =[δε�

a , δεg

]� whereδεa = εa − εa and δεg = εg − εg. Finally, define the navigation error stateas δx = x − x.

1. List the four frames-of-reference used in this problem and the role ofeach.

2. Use the Taylor series approximation to Rpg to show that

Rgp = Rg

p +[ − sin θ cos θ

− cos θ − sin θ

]δθ.

3. Show that, to first order,

RgpR

pg =

[1 −δθδθ 1

].

4. Show that for

f(x,u1) =

⎡⎢⎢⎢⎢⎣

x3R+x2−x4

Rgpf

p + gg(x2) + x3R+x2

[x4

−x3

]x3

R+x2+ ωp

ip

⎤⎥⎥⎥⎥⎦

eqns. (3.94–3.96) can be written in the form x = f(x,u1).

5. Use the fact that δx = x − ˙x, the fact that

f(x,u1) ≈ f(x,u1) +∂f∂x

∣∣∣∣x=x

δx,

and the result of Part 3, to show that to first order,

δx =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 − vn

(R+h)21

R+h0 0

0 0 0 −1 00 − vnvd

(R+h)2vd

R+h

vn

R+h�fd

0(

v2n

(R+h)2− 2GM

(R+h)3

)−2vn

R+h0 −�fn

0 − vn

(R+h)21

R+h0 0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

δx

Page 125: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

102 CHAPTER 3. DETERMINISTIC SYSTEMS

+

⎡⎢⎢⎢⎢⎣

0 0 00 0 0

cos(θ) sin(θ) 0− sin(θ) cos(θ) 0

0 0 1

⎤⎥⎥⎥⎥⎦up

2 (3.102)

where �fn = an and �fd = ad − GM(R+h)2 are the north and down compo-

nents of the specific force vector in the geographic frame, respectively.

6. Let q = Sδx where q = [δφ, δvn, δθ, δh, δvd]�. Show that the matrixproducing this reordering of the state vector is

S =

⎡⎢⎢⎢⎢⎣

1 0 0 0 00 0 1 0 00 0 0 0 10 1 0 0 00 0 0 1 0

⎤⎥⎥⎥⎥⎦ and that S−1 = S�.

7. Use the similarity transformation matrix S to show that the dynamicmodel for q is

q =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 1

R+h0 − vn

(R+h)20

0 vd

R+h�fd − vnvd

(R+h)2vn

R+h

0 1

R+h0 − vn

(R+h)20

0 0 0 0 −1

0 −2vn

R+h−�fn

(v2

n

(R+h)2− 2GM

(R+h)3

)0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

q

+

⎡⎢⎢⎢⎢⎣

0 0 0cos(θ) sin(θ) 00 0 10 0 0

− sin(θ) cos(θ) 0

⎤⎥⎥⎥⎥⎦up

2 (3.103)

where the lines are added to separate the vertical state errors δh andδvd form the horizontal and tilt errors δφ, δvn, and δθ.

8. Consider the unforced (i.e., up2 = 0), decoupled vertical error dynam-

ics [δhδvd

]=

[0 −1(

v2n

(R+h)2− 2GM

(R+h)3

)0

] [δhδvd

]. (3.104)

Assume that h small relative to R so that (R + h) can be approxi-mated by R. Assume that vn is constant so that the stability of the

Page 126: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

3.8. EXERCISES 103

decoupled vertical error dynamics can be checked by eigenvalue anal-ysis. Show that for v2

n < 2GM

Rthe system is unstable. If vn is small

enough that the term containing vn can be neglected, show that theunstable eigenvalue is at

√2ge

Rwhere ge = GM

R2is the magnitude of

the gravitational acceleration at the Earth surface. Modeling of thegravity error is discussed in greater depth in Section 11.1.4.

9. Assume that the altitude dynamics are stabilized by external meansso that δh and δvd are near zero. Assume also that h � R andvd � R so that (R + h) ≈ R and vd

R+h≈ 0, then the lateral error

dynamics reduce to

⎡⎣ δφ

δvn

δθ

⎤⎦ =

⎡⎢⎣

0 1

R0

0 0 �fd

0 1

R0

⎤⎥⎦⎡⎣ δφ

δvn

δθ

⎤⎦

+

⎡⎣ 0 0

1 00 1

⎤⎦[

δεga

δεg

](3.105)

where δεga =

[cos(θ) sin(θ) 1

]up

2. Show that for �fd = −ge thissystem has eigenvalues at 0 and ±jωs where ωs =

√ge

R which isreferred to as the Schuler frequency. The Schuler period is Ts = 2π

ωs≈

84 minutes.

If a similarity transform is used to transform the first state from an angularerror in radians to a position error (i.e., δn = Rδφ), then the transformedversion of eqn. (3.105) is the state space model of eqn. (3.49).

This problem has derived the vertical and horizontal error dynamicsunder various assumptions. However, the conclusions generalize to moregeneral circumstances (See Section 11.4.). In particular, in the vicinity ofthe ellipsoidal Earth with its associated gravitational field, the horizon-tal dynamics are neutrally stable with natural frequency near ωs and thevertical dynamics are unstable.

Page 127: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 128: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 4

Stochastic Processes

Navigation systems combine uncertain information related to a vehicle toconstruct an accurate estimate of the vehicle state. The previous chapterdiscussed deterministic models of dynamic systems that are appropriate formodeling the vehicle dynamics or kinematics. In navigation applications,the information uncertainty does not typically arise from the vehicle dy-namics; instead, it arises from noise and imperfections in the sensors. Tooptimally combine the information from sensed quantities, we will use thevehicle model, quantitative descriptions of uncertainty in the sensed quan-tities, and models of the relation between the sensed quantities and thevehicle states. Development of the required models and quantitative de-scriptions is the realm of stochastic process. The objective of this chapteris to introduce the relevant concepts from the field of stochastic processes.This field is quite large; therefore, the chapter must be selective in the in-formation that it presents and will focus on the material required for theimplementation of aided navigation systems. It is assumed that the readeralready has some background knowledge of statistics and probability theory.

4.1 Basic Stochastic Process Concepts

Knowledge of stochastic processes is required for navigation system designand analysis, yet many students find the topic difficult. This is in part dueto the lack of familiarity with the role and utility of stochastic processes indaily life. After introducing a few basic concepts, this section presents afew motivational examples that should be understandable to readers withan engineering background.

Random variables are functions that map random experimental out-comes to real numbers. The idea of a random variable can be more clearlymotivated after a few key terms are defined. A random experiment in-

105

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 129: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

106 CHAPTER 4. STOCHASTIC PROCESSES

volves a procedure and an observation of an experimental outcome. Thereis some degree of uncertainty in either the procedure or the observation,which necessitates the experiment. The uncertainty often arises from theextreme complexity of modeling all aspects of the experiments procedureand observation with sufficient detail to determine the output. Considerthe example of a coin toss. The procedure involves balancing the coin onthe thumbnail, flicking the thumb, allowing the coin to land and settle toa stationary position on a flat surface. The observation involves determin-ing which surface of the coin is on top. Most people have performed thisexperiment numerous times. Almost nobody would seriously consider try-ing to determine the initial forces and torques applied by the thumb to thecoin, the aerodynamics during flight, or the impact forces and torques uponlanding that would be required to predict the result of any given toss. Thecomplexity of such a deterministic prediction motivates the use of a (fair)coin toss as an unbiased tool in many decision making situations.

The utility of probability theory and stochastic processes is that it pro-vides the analyst with the ability to make quantitative statements aboutevents or processes that are too complicated to allow either exact replicationof experiments or sufficiently detailed deterministic analysis. For example,even though an analyst might be incapable of predicting the outcome ofa single coin toss, by analyzing a sufficiently large number of experiments,the analyst might be able to predict which surface of an unfair coin hasa higher likelihood of landing upwards. To be useful, the theory for thisanalysis should allow quantitative statements concerning the number ofobservations required to achieve any desired level of confidence in such aprediction. In fact, such analysis is quite commonplace.

The efficacy of random analysis has motivated a mathematically sophis-ticated theory for probability and probabilistic reasoning. This theory isbased on measure theory. Using probability theory, we analyze models ofexperiments instead of the experiments themselves. Therefore, the analystmust be careful to consider whether the probabilistic model is a sufficientlyaccurate model of the experiment.

4.1.1 Examples

The topic of stochastic processes is very important to the study of naviga-tion system design as it is the foundation on which we build our ability toquantitatively analyze the propagation of uncertainty through the naviga-tion system as a function of time. A thorough presentation of the relatedtopics of statistics, probability theory, random variables, and stochasticprocesses is well beyond the scope of this text. Several excellent texts arementioned at the conclusion of this chapter. Instead, this chapter focuseson topics selected for their relevance to the design and analysis of naviga-tion systems. The following examples are intended to motivate the topics

Page 130: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.1. BASIC STOCHASTIC PROCESS CONCEPTS 107

(:*:;

(:*:<

(:*:)

:

:*:)

:*:<

:*:;

Figure 4.1: Oscilloscope image of a sinusoidal input.

discussed in the balance of this chapter.

Example 4.1 Most engineers have used an oscilloscope at some point intheir careers. An example image from an oscilloscope screen is shown inFigure 4.1. This image is created by directly connecting the output of asinusoidal source to the oscilloscope input. The image clearly shows a noisyversion of a sinusoidal signal. This figure is included to clearly exemplify theconcept of measurement noise. The noise is the result of several complexphysical processes, e.g., thermal noise in the probes and electronic parts.Quite often it is accurate to describe a measurement in the form

y(t) = Sx(t) + ν(t),

where y represents the measurement, x represents the actual value of somephysical property, S is a scale factor, and ν represents measurement noise.Typically, the manufacturer of the instrument is careful to design the in-strument such that the scale factor S is constant and accurately known andthat the measurement noise ν is not related to the signal x. In addition,the manufacturer will often provide the purchaser with the quantitative de-scription of ν suitable for further analysis. To be able to communicatewith sensor manufacturers and other navigation engineers and to be able toperform quantitative analysis, the analyst must be familiar with stochasticprocess definitions and methods. �

Page 131: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

108 CHAPTER 4. STOCHASTIC PROCESSES

0 1 2 3 4 5 6

−50

0

50

Ang

. rat

e, d

eg/s

0 1 2 3 4 5 6

−80

−60

−40

−20

0

Ang

le, d

eg

time, t, seconds

Figure 4.2: Angular rate (top) and integrated angle (bottom) for Example4.2.

Example 4.2 This example illustrates the types of processes and signalsthat occur in navigation systems and some possible questions that are ofinterest via stochastic analysis methods.

An angular rate measurement r(t) from a gyro is shown as the top graphof Figure 4.2. The gyro is mounted in such a way that it can only rotateabout a single axis that corresponds to the gyro sensitive axis. The analystwould like to understand the nature of the error between the true angle andthe angle estimate computed by integration of the gyro output.

To begin, we determine a model for the sensor signal. The model caneither be determined by laboratory experiments performed by the analyst or,more typically, provided by the sensor manufacturer. The methodology forestimating the error model is discussed in Section 4.9.2. For this example,assume that the angular rate sensor is accurately modeled as

r(t) = r(t) + bg(t) + ν(t), (4.1)

where r represents the real rotation rate around the sensitive axis of thegyro, bg represents a very slowly changing component often referred to as abias, and ν corresponds to measurement error that has a distinct value ateach measurement instance. Although we would prefer to integrate r(t) tocompute θ, we only have available the signal r. Our integration of r yields

Page 132: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.1. BASIC STOCHASTIC PROCESS CONCEPTS 109

the angle estimate θ. We will assume that θ(0) = 0. A model for the errorbetween θ and θ can be developed as

θ(t) =∫ t

0

r(τ)dτ (4.2)

=∫ t

0

(r(τ) + bg(τ) + ν(τ)

)dτ (4.3)

= θ(t) +∫ t

0

(bg(τ) + ν(τ)) dτ (4.4)

θ(t) − θ(t) =∫ t

0

(bg(τ) + ν(τ)) dτ. (4.5)

In this set of equations, eqn. (4.2) shows the actual computation of θ asthe integral of the sensor output r:

˙θ(t) = r(t).

Eqns. (4.3–4.5) show analysis. The conclusion from eqn. (4.5) is that theerror between the computed estimate θ(t) and the actual angle θ(t) is theintegral of the unknown quantity bg(τ) + ν(τ) for τ ∈ [0, t]:

δθ(t) = bg(t) + ν(t) (4.6)

where δθ(t) = θ(t) − θ(t).For a well designed instrument, the bias and noise terms should be de-

termined completely by events within the instrument (i.e., unaffected byexternal fields or by the motion of the device). In addition, although thevalues of bg and ν may change with time in a nondeterministic manner,the characteristics of the change should be in a form that enables accuratequantitative characterization of the growth of the angle error. The desireto make accurate quantitative statements about characteristics of nonde-terministic signals motivates the introduction to and study of stochasticprocesses.

Returning to Figure 4.2, the integrated gyro signal θ(t) =∫ t

0r(τ)dτ is

shown as the bottom graph of Figure 4.2. We have returned to this figure tostate an important point. During this experiment, the gyro was rotated by−90 deg, left stationary, rotated by 90 deg, and left stationary again. Thismotion is performed by a human. The erratic nature of the angular rater is due to the human experimenter and is not the object of the stochasticanalysis. The objects of the stochastic analysis are the sensor imperfectionsbg and ν, and the error δθ that they cause. Although we do not knowthe true values of θ or θ, based on stochastic analysis we will be able toquantitatively predict the expected magnitude of δθ as a function of time,see Exercises 4.19. This example is further discussed in Exercise 5.7. �

Page 133: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

110 CHAPTER 4. STOCHASTIC PROCESSES

4.1.2 Plan of Study

The previous discussion and examples have been provided to motivate thematerial presented in this chapter.

The primary objective for this chapter is to present methods to modeland analyze the behavior of the navigation error state as a function of time.The state space error models of such stochastic processes will be generalizedversions of eqn. (4.6):

x(t) = F(t)x(t) + G(t)w(t) y(t) = H(t)x(t) + v(t) (4.7)

where the vector x represents the error in the navigation state. The vec-tors w and v are random variables determined in part by the navigationinstruments. The matrices F(t) and H(t) are determined by the design ofthe navigation system. Such models are discussed in considerable detail inSections 4.6–4.10. To understand and analyze such models requires knowl-edge of several additional concepts. Therefore, the chapter first definesseveral concepts and quantities that have proven to be useful for analysis ofstochastic processes. The main topics to be discussed include: definitionsof important statistics, definitions of theoretical concepts (e.g., indepen-dence, random variables, stationarity), definition of white and colored noiseprocesses, and properties of linear systems with random inputs. Readersalready familiar with these topics should skip directly to Section 4.6, whileonly using Sections 4.2–4.5 for reference.

4.2 Scalar Random Variables

This section presents various fundamental concepts related to probabilityand random variables that will be required to support subsequent discus-sions. The discussion will focus on continuous random variables.

4.2.1 Basic Properties

Let w represent a real, scalar random variable. In the following, the nota-tion

P{w < W}denotes the probability that the random variable w is less than the realnumber W .

The distribution function of the random variable w is defined as thefunction

Fw(W ) = P{w ≤ W}. (4.8)

The function Fw(W ) is monotonically increasing in W , is continuous fromthe right with Fw(−∞) = 0 and Fw(∞) = 1. The derivative of the distri-bution function is the density function of the random variable w and will

Page 134: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.2. SCALAR RANDOM VARIABLES 111

be denoted by

pw(W ) =dFw

dW(W ).

The density function has the interpretation that pw(W ) represents the prob-ability that the random variable w assumes a value in the differential range(W,W +dW ]. Because the density is the derivative of a monotone function,pw(W ) ≥ 0 for any W . Based on the above definitions, for a scalar randomvariable,

P{W1 < w ≤ W2} = Fw(W2) − Fw(W1) =∫ W2

W1

p(W )dW.

Let g(w) be a function of the random variable w. The expected value ofg(w) is defined by

E〈g(w)〉 =∫ ∞

−∞g(W )pw(W )dW. (4.9)

In particular, the expected value or mean of w is

μw = E〈w〉 =∫ ∞

−∞Wpw(W )dW. (4.10)

As a simplified notation, this book will typically use the notation μw toindicate the expected value of the random variable w. In cases where themeaning is clear or where double subscripting would otherwise occur, thesubscript indicating the random variable may be dropped.

The variance of a scalar valued random variable w is defined by

var(w) = E⟨(w − μw)2

⟩=∫ ∞

−∞(W − μw)2p(W )dW. (4.11)

The variance of a random variable quantifies the variation of the randomvariable relative to its expected value. If we define σ2

w = var(w), then σw

is called the standard deviation of w.The k-th moment of w is defined by

E⟨wk

⟩=∫ ∞

−∞W kp(W )dW. (4.12)

The first moment is the mean value. The variance and second moment arerelated by eqn. (4.13):

var(w) = E⟨w2 − 2wμw + μ2

w

⟩σ2

w = E⟨w2

⟩− μ2w. (4.13)

Page 135: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

112 CHAPTER 4. STOCHASTIC PROCESSES

Example 4.3 Compute the mean, second moment, variance, and standarddeviation of the random variable x with the exponential density

px(X) ={

α exp(−αX) for X > 00 otherwise

where α > 0.The mean is

μx = α

∫ ∞

0

v exp(−αv)dv =1α

.

The second moment is

E⟨x2⟩

= α

∫ ∞

0

v2 exp(−αv)dv =2α2

.

The variance is σ2x = α

∫∞0

(v − μx)2 exp(−αv)dv, but can also be easilycalculate from the information above using the eqn. (4.13) as

var(x) =2α2

− 1α2

=1α2

.

Therefore, the standard deviation is σx = 1α . �

4.2.2 Gaussian Distributions

The notation x ∼ N(μ, σ2) is used to indicate that the scalar (or univariate)random variable x has the Gaussian or Normal density function describedby

px(X) =1√2πσ

exp(− (X − μ)2

2σ2

); (4.14)

therefore, the density of a Normal random variable is completely describedby two parameters μ and σ. It can be shown that∫ ∞

−∞Xp(X)dX = μ and∫ ∞

−∞(X − μ)2p(X)dX = σ2;

therefore, the parameters μ and σ2 are the expected value and variance ofthe random variable x.

Page 136: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.2. SCALAR RANDOM VARIABLES 113

4.2.3 Transformations of Scalar Random Variables

This section presents the method to find the density for the random variablev under the conditions that v = g(w), the function g is invertible, and thedensity for the random variable w is known.

Due to the assumption that g is monotone, it has an inverse functionf = g−1. The derivation begins with the basic idea that the probability ofthe events causing v ∈ [V, V +dV ] and w ∈ [W, W +dW ] for V = g(W ) andV + dV = g(W + dW ) must be the same whether measured with respectto v or w. Mathematically this is expressed as

P{w ∈ [W,W + dW ]} = P{v ∈ [V, V + dV ]} (4.15)

where this formulation assumes that dW is positive. Therefore, dW = |dW |which will be used below. For positive, dW , the quantity dV can stillbe either positive or negative, depending on the sign of dV

dW = g′. Thecomputation of the probabilities in eqn. (4.15) must account for eitherpossible sign:∫ W+dW

W

pw(x)dx =

{ ∫ V +dV

Vpv(x)dx if dV > 0

− ∫ V +dV

Vpv(x)dx if dV < 0.

For the second integral, due to dV being negative, the original integralwould have been over [V + dV, V ] which is equivalent to the integral in theexpression above after interchanging the limits of integration and multi-plying the integral by −1. The above integral relationships are equivalentto

pw(W )dW = pv(V )|dV |which can be rewritten as

pv(V ) = pw(f(V ))∣∣∣∣dW

dV

∣∣∣∣pv(V ) = pw(f(V )) |f ′(V )| . (4.16)

Issues related to the transformation of random variables are clarified by thefollowing examples.

Example 4.4 Find the density for y where y = ax + b, a �= 0, and x ∼N(0, σ2).

In this case, f(y) = y−ba and f ′(y) = 1

a . Therefore,

py(Y ) =1|a|px

(Y − b

a

)

=1√

2π|a|σ exp(− (Y − b)2

2(aσ)2

).

Page 137: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

114 CHAPTER 4. STOCHASTIC PROCESSES

/:0�/

/:

=)0�=)!!!!=)!!!!!!!!!!!!!!!!!!!!=&!!!!=&0�=&

�'>�>

Figure 4.3: Graph of y = |x| with variables defined for Example 4.5.

Note that Py(Y ) has the form of a Gaussian distribution with mean b andvariance (aσ)2; therefore, y is a Gaussian random variable. In general, alllinear operations on Gaussian random variables result in Gaussian randomvariables. �

Example 4.5 Find the density for y where y = |x| and x ∼ N(0, σ2).Because the function g is not invertible, the result of eqn. (4.16) cannot

be used. Instead, we have to revert to the main idea of eqn. (4.15) which isthat the change of variable must preserve the probability of events. Considerthe variables defined in Figure 4.3. For this problem, we have

P{Y0 ≤ y ≤ Y0 +dY } = P{X2 +dX2 ≤ x ≤ X2}+P{X1 ≤ x ≤ X1 +dX1}

where dY represents a positive differential change from Y0 and

X1 = Y0 X1 + dX1 = Y0 + dYX2 = −Y0 X2 + dX2 = −Y0 − dY.

The above expression translates into the following integral∫ Y0+dY

Y0

py(v)dv =∫ X2

X2+dX2

px(w2)dw2 +∫ X1+dX1

X1

px(w1)dw1. (4.17)

Using the changes of variables y1 = w1 and y2 = −w2, this integral simpli-fies as follows∫ Y0+dY

Y0

py(v)dv = −∫ Y0

Y0+dY

px(−y2)dy2 +∫ Y0+dY

Y0

px(y1)dy1

=∫ Y0+dY

Y0

px(−y2)dy2 +∫ Y0+dY

Y0

px(y1)dy1∫ Y0+dY

Y0

py(v)dv =∫ Y0+dY

Y0

(px(−v) + px(v)) dv.

Page 138: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.3. MULTIPLE RANDOM VARIABLES 115

This integral relationship must hold for all nonnegative Y0 and arbitrarilysmall dY . In addition, for x ∼ N(0, σ2) we have px(v) = px(−v); therefore,

py(Y ) =

{1σ

√2π exp

(− Y 2

2σ2

)for y ≥ 0

0 for y < 0.

This density does not have the form of eqn. (4.14); therefore, y is not aGaussian random variable. In general, nonlinear transformations of Gaus-sian random variables do not result in Gaussian random variables. �

4.3 Multiple Random Variables

Navigation systems frequently involve multiple random variables. For ex-ample, a vector of simultaneous measurements y might be modeled as

y = y + ν

where y represents the signal portion of the measurement and ν representsa vector of random measurement errors.

In the case of multiple random variables, we are often concerned withhow the values of the elements of the random vector relate to each other.When the values are related, then one of the random variables may be use-ful for estimating the value of the other. Important questions include: howto quantify the interrelation between random variables, how to optimallyestimate the value of one random variable when the value of the other isknown, and how to quantify the accuracy of the estimate. In this typeof analysis, the multivariate density and distribution and the second or-der statistics referred to as correlation and covariance are important. Thediscussion of basic properties will focus on two random variables, but theconcepts extend directly to higher dimensional vectors.

4.3.1 Basic Properties

Let v and w be random variables. The joint probability distribution functionof v and w is

Fvw(V, W ) = P{v ≤ V and w ≤ W}.The joint distribution has the following properties:

Fvw(V, W ) ∈ [0, 1]Fvw(V,−∞) = Fvw(−∞,W ) = 0Fvw(∞,∞) = 1Fvw(V,∞) = Fv(V )

Page 139: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

116 CHAPTER 4. STOCHASTIC PROCESSES

Fvw(∞,W ) = Fw(W )Fvw(V1,W ) ≤ Fvw(V2, W ) for V1 < V2

Fvw(V, W1) ≤ Fvw(V,W2) for W1 < W2.

The last two properties state the the joint distribution is nondecreasing inboth arguments.

The joint probability density is defined as

pvw(V,W ) =∂2Fvw

∂V ∂W(V,W ). (4.18)

The joint density has the following properties:

pvw(V, W ) ≥ 0

Fvw(V, W ) =∫ V

−∞

∫ W

−∞pvw(x, y) dy dx

pv(V ) =∫ ∞

−∞pvw(V, y) dy

pw(W ) =∫ ∞

−∞pvw(x,W ) dx

P{(v, w) ∈ D ⊂ R

2}

=∫∫

Dpvw(x, y) dx dy.

In the above, pv(V ) and pw(W ) are referred to as the marginal density ofv and w, respectively. When the meaning is clear from the context, thesubscripts may be dropped on either the distribution or the density.

Example 4.6 Let u and v be random variables with the joint probabilitydensity

puv(U, V ) ={ 1

T 2(U, V ) ∈ [0, T ] × [0, T ]

0 otherwise.

Using the properties above, it is straightforward to show that

pu(U) ={ 1

T(U) ∈ [0, T ]

0 otherwise,

pv(V ) ={ 1

T(V ) ∈ [0, T ]

0 otherwise,puv(U, V ) = pu(U)pv(V ),Fuv(U, V ) = Fu(U)Fv(V ).

Page 140: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.3. MULTIPLE RANDOM VARIABLES 117

4.3.2 Statistics and Statistical Properties

Two random vector variables v and w are independent if

pvw(V,W) = pv(V)pw(W). (4.19)

When two random variables are independent and have the same marginaldensities, they are independent and identically distributed (i.i.d.).

Example 4.7 The random variables u and v in Example 4.6 are indepen-dent. �

There is a result called the central limit theorem [31, 107] that statesthat if

xN = AN∑

i=1

xi (4.20)

where the xi are independent random variables, then as N increases thedistribution for xN approaches a Gaussian distribution, independent of thedistributions for the individual xi. This rather remarkable result motivatesthe the importance of Gaussian random variables in applications. When-ever a random effect is the superposition of many small random affects,the superimposed effect can be accurately modeled as a Gaussian randomvariable.

When two random variables are not independent, it is useful to havemetrics to quantify the amount of interdependence. Two important metricsare correlation and covariance.

The correlation matrix between two random variables v and w is definedby

cor(v,w) = E⟨vw�⟩ =

∫∫VW�p(V,W) dV dW. (4.21)

The covariance matrix for two vector valued random variables v and w isdefined by

cov(v,w) = E⟨(v − μv)(w − μw)�

⟩=

∫∫(V − μv)(W − μw)�p(V,W) dV dW. (4.22)

The correlation coefficient ρvw is a normalized measure of the correlationbetween the two scalar random variables v and w that is defined as

ρvw =cov(v, w)

σvσw. (4.23)

The correlation coefficient always satisfies −1 ≤ ρvw ≤ 1. When the magni-tude of ρvw is near one, then knowledge of one of the random variables will

Page 141: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

118 CHAPTER 4. STOCHASTIC PROCESSES

allow accurate prediction of the other. When ρvw = 0, then v and w aresaid to be uncorrelated. Uncorrelated random variables have cov(v, w) = 0and cor(v, w) = μvμw. Independent random variables are uncorrelated,but uncorrelated random variables may or may not be independent. Twovector random variables v and w are uncorrelated if cov(v,w) = 0. Twovector random variables v and w are orthogonal if cor(v,w) = 0.

Example 4.8 Consider the random variables

u = cos(θ)v = sin(θ)

where θ ∈ [−π, π] is a uniform random variable. It is left to the reader toshow that

E〈u〉 = E〈v〉 = E〈uv〉 = 0.

These facts show that u and v are orthogonal and uncorrelated. However, itis also straightforward to show that u2 + v2 = 1. The fact that the variablesare algebraically related shows that u and v are not independent. �

Let the matrix P = cov(x,x) be the covariance matrix for the vector x.Then by eqn. (4.23), the element in the i-th row and j-th column of P is

Pij = cov(xi, xj) =

{ρxixj

σxiσxj

, i �= j

σ2xi

, i = j.(4.24)

Therefore, knowledge of the covariance matrix for a random vector allowscomputation of the variance of each component of the vector and of thecorrelation coefficients between elements of the vector. This fact is veryuseful in state estimation applications.

Example 4.9 An analyst is able to acquire a measurement y that is mod-eled as

y = a + b + n. (4.25)

The measurement is a function of two unknowns a and b and is corrupted byadditive measurement noise n ∼ N(0, σ2

n). The analyst has no knowledgeof the value of a, but based on prior experience the analyst considers areasonable model for b to be b ∼ N(0, σ2

b ). The random variables b and nare assumed to be independent. Both σb and σn are positive.

Based on this model and prior experience, the analyst chooses to esti-mate the values of a and b as

a = y (4.26)

b = 0. (4.27)

Page 142: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.3. MULTIPLE RANDOM VARIABLES 119

The parameter estimation errors are a = a− a and b = b− b. What are themean parameter estimation errors, the variance of the parameter estimationerrors, and the covariance between the parameter estimation errors?

1. The mean value of a is E〈a〉 = E〈−b − n〉 = 0.

2. The mean value of b is E〈b〉 = E〈b〉 − 0 = 0.

3. The covariance of a is

E〈a2〉 = E〈(b + n)2〉= E〈b2 + 2bn + n2〉 = σ2

b + σ2n.

4. The covariance of b is

E〈b2〉 = E〈(b − b)2〉= E〈b2〉 = σ2

b .

5. The covariance between a and b is

E〈ab〉 = E〈(a − a)(b − b)〉= E〈−(b + n)(b − b)〉= E〈−b2 − nb〉= −σ2

b .

Based on the results of Steps 3—5 and eqn. (4.23), the correlation coeffi-cient between a and b is ρab = −σb√

σ2b+σ2

n

.

If we define P = cov([a, b]�), then based on the above analysis

P =

[σ2

b + σ2n −σ2

b

−σ2b σ2

b

]

which checks with eqn. (4.24). �

Analysis similar to that of Example 4.9 will have utility in Part II for theinitialization of navigation systems. Related to this example, the case wherea is a vector and the case where y is a nonlinear function of a are consideredin Exercise 4.11.

Page 143: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

120 CHAPTER 4. STOCHASTIC PROCESSES

4.3.3 Vector Gaussian Random Variables

For the vector random variable x ∈ Rn, the notation x ∼ N(μ,P) is used

to indicate that x has the multivariate Gaussian or Normal density functiondescribed by

px(X) =1√

(2π)n det(P)exp

(−1

2(X − μ)�P−1(X − μ)

).

Again, the density of the vector Normal random variable is completelydescribed by its expected value μ ∈ R

n and its covariance matrix P ∈ Rn×n.

4.3.4 Transformations of Vector Random Variables

If v and w are vector random variables in Rn related by v = g(w) where

g is invertible and differentiable with unique inverse f = g−1, then theformula of eqn. (4.16) extends to

pv(V) =1

| det(G)|pw(f(V)) (4.28)

where G = ∂g∂W

∣∣∣W=f(V)

is the Jacobian matrix of g evaluated at W =

g−1(V).

Example 4.10 Find the density of the random variable y where y = Ax,x ∼ N(μ,P), and A is a nonsingular matrix. Examples such as this areimportant in state estimation and navigation applications.

By eqn. (4.28),

py(Y) =1

| det(A)|px(A−1Y)

which is equivalent to

1√(2π)n det (APA�)

exp(−1

2(Y − Aμ)�

(APA�

)−1

(Y − Aμ))

.

This shows that y ∼ N(Aμ,APA�

).

This result is considered further in Exercise 4.10. �

As demonstrated in Examples 4.4 and 4.10, affine operations on Gauss-ian random variables yield Gaussian random variables. Nonlinear functionsof Gaussian random variables do not yield Gaussian random variables.

Page 144: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.4. STOCHASTIC PROCESSES 121

4.4 Stochastic Processes

A stochastic process is a family of random variables indexed by a parametert ∈ R for continuous-time stochastic processes or k ∈ Z+ for discrete-timestochastic sequences.

For a deterministic signal such as x(t) = t2 the value of x is determinedby the value of t. Once t is known, the value of x(t) is known. There is noelement of chance. Alternatively, signals such as

• v(t) = At2 where A ∼ N(0, σ2) or

• v(t) = t2 + w(t) where w(t) has density pw(W, t),

are stochastic processes. In fact, in the above example, w(t) is also astochastic process. For a stochastic process v(t), the parameter t deter-mines the distribution and statistics of the random variable v, but t doesnot determine the value of v; instead, given two times t1 and t2 we havetwo distinct random variables v(t1) and v(t2). The distributions for v(t1)and v(t2) may be the same or distinct, depending on whether or not thestochastic process is stationary.

Example 4.11 Let v(t) = t2 +w(t) where w(t) ∼ N(0, σ2), the density forv is

pv(V, t) =1√2πσ

exp

(−(V − t2

)22σ2

).

At each time, w(t) is a new Gaussian random variable with zero mean andvariance σ2. At each time, v(t) is a new Gaussian random variable withmean t2 and variance σ2. �

4.4.1 Statistics and Statistical Properties

The statistical quantities defined previously for random variables becomeslightly more complicated when applied to stochastic processes, as theymay depend on the parameter t or k. For continuous-time processes, thedefinitions are listed below. Note that these definitions are equally validwhether the parameter t represents a continuous or a discrete-time variable.

The cross correlation function between two random processes is definedby

Rvw(t1, t2) = cor (v(t1),w(t2)) = E⟨v(t1)w(t2)�

⟩. (4.29)

The autocorrelation function of a random processes is defined by

Rv(t1, t2) = cor (v(t1),v(t2)) = E⟨v(t1)v(t2)�

⟩. (4.30)

Page 145: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

122 CHAPTER 4. STOCHASTIC PROCESSES

The autocorrelation function quantifies the similarity of the random processto itself at two different times.

The cross covariance function between two random processes is definedby

cov (v(t1),w(t2)) = E⟨v(t1)w(t2)�

⟩− E⟨v(t1)

⟩E⟨w(t2)�

⟩. (4.31)

The autocovariance function of a random processes is defined by

cov (v(t1),v(t2)) = E⟨v(t1)v(t2)�

⟩− E⟨v(t1)

⟩E⟨v(t2)�

⟩. (4.32)

The above definitions will be critically important in the analysis of sub-sequent chapters. For example, the Kalman filter will propagate certainerror covariance matrices through time as a means to quantify the relativeaccuracy of various pieces of information that are to be combined.

There are two forms of stationary random processes that will be usedin this text.

Definition 4.1 The random process w(t) is stationary if its distributionis independent of time (i.e., pw(W, t) = pw(W)).

If a random process is stationary, then its expected value will be time invari-ant and both its autocorrelation function and its autocovariance functionwill only depend on the time difference τ = t1−t2 (i.e., Rv(t1, t2) = Rv(τ)).

Often this strict sense of stationarity is too restrictive. A relaxed senseof stationarity is as follows.

Definition 4.2 The random process w(t) is wide sense stationary (WSS)if the mean and variance of the process are independent of time.

Since a Gaussian random process is completely defined by its first two mo-ments, a Gaussian process that is wide sense stationary is also stationary.A wide sense stationary process must have a constant mean, and its corre-lation and covariance can only depend on the time difference between theoccurrence of the two random variables, i.e.

cor (w(t1),w(t2)) = Rww(τ)

where τ = t1 − t2.The Power Spectral Density (PSD) of a WSS random process w(t) is

the Fourier transform of the autocorrelation function:

Sw(jω) =∫ ∞

−∞Rw(τ)e−jωτdτ. (4.33)

For real random variables, the power spectrum can be shown to be real andeven.

Page 146: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.4. STOCHASTIC PROCESSES 123

If the PSD of a WSS random signal is known, then the correlationfunction can be calculated as the inverse Fourier transform of the PSD,

Rw(τ) =12π

∫ ∞

−∞Sw(jω)ejωτdω. (4.34)

In particular, the average power of w(t) can be calculated as

E〈w(t)w(t)�〉 = cor(w(t),w(t)) = Rw(0) =12π

∫ ∞

−∞Sw(jω)dω. (4.35)

Ergodicity is concerned with the question of whether, for a given ran-dom process, the temporal averages and ensemble averages yield the sameresults. For example, given a stochastic process x(t), under what condi-tions is it reasonable to assume that 1

T

∫ T

0x(t)dt converges to E〈x(t)〉 as T

approaches infinity. This may seem to be an esoteric question, but is quiteimportant in applications. In application conditions, it is often quite easyto obtain a time sequence, but may be quite expensive to obtain an ensem-ble of time sequences. Ergodicity tries to answer the question of whether itis fair to describe the statistics of the ensemble of a stochastic process basedon the corresponding temporal statistics computed from the data sequencethat is available. Following are two examples of stochastic processes thatare not ergodic.

Example 4.12 Let x(t) = t + v(t) where v(t) ∼ N(0, σ2). The ensemblemean is μx(t) = E〈x(t)〉 = t; however, the limit of the temporal averagelimT→∞ 1

T

∫ T

0x(t)dt is not well-defined. �

Example 4.13 Let x(t) = b+v(t) where b ∼ N(0, σ2b ) and v(t) ∼ N(0, σ2

v).Note that b is a random variable that is constant with respect to time. Theensemble mean is μx(t) = 0; however, the limit of the temporal average islimT→∞ 1

T

∫ T

0x(t)dt = b. �

4.4.2 White and Colored Noise

One stochastic process that is particularly useful for modeling purposesis white noise. The adjective ‘white’ indicates that this particular type ofnoise has constant power at all frequencies. Any process that does not haveequal power per frequency interval will be referred to as colored. Becausepower distribution per frequency interval is the distinguishing factor, forboth continuous-time and discrete-time white noise, our discussion will startfrom the PSD.

Page 147: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

124 CHAPTER 4. STOCHASTIC PROCESSES

4.4.2.1 Continuous-time White Noise

A scalar continuous-time random process v(t) is referred to as a white noiseprocess if its PSD is constant:

Sv(jω) = σ2v .

Then by eqn. (4.34), the autocorrelation function is

Rv(t) = σ2vδ(τ) (4.36)

where δ(τ) is the Dirac delta function: δ(τ) = limε→0 δε(τ) and

δε(τ) ={

12ε if |τ | < ε0 otherwise

which has units of 1sec . An implication of eqn. (4.36) is that E〈v(t)〉 = 0.

Nevertheless, problem assumptions will often state the fact that v(t) is azero mean, continuous-time, white noise process with PSD σ2

v .The fact that the spectral density is a constant function highlights the

fact that continuous-time white noise processes are not realizable. Allcontinuous-time white noise processes have infinite power, as demonstratedby eqn. (4.35):∫ ∞

−∞v2(t)dt = Rv(0) =

12π

∫ ∞

−∞Sv(jω)dω

=12π

∫ ∞

−∞σ2

vdω = ∞.

Nonetheless, the white noise model is convenient for situations where thenoise spectral density is constant over a frequency range significantly largerthat the bandwidth of interest in a particular application.

A white noise process can have any probability distribution; however,the Gaussian distribution is often assumed. A key reason is the centrallimit theorem. If the analyst carefully constructs a model accounting forall known or predictable effects, then the remaining stochastic signals canoften be accurately modeled as the output of a linear system that is drivenby a Gaussian white noise input. This technique will be discussed in Section4.5. In this book, the notation ω ∼ N(0, σ2) will sometimes be used todescribe a continuous-time, Gaussion, white-noise process ω. In this case,σ2 is interpreted as the PSD, not the variance.

Reasoning through the units of the symbol σ2v often causes confusion.

This can be considered from two perspectives. First, from the PSD per-spective, σ2

v represents the power per unit frequency interval. Therefore,the units of σ2

v are the units of v squared divided by the unit of frequencyHz. Second, from the perspective of correlation, Rv has the units of v

Page 148: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.5. LINEAR SYSTEMS WITH RANDOM INPUTS 125

squared and the Dirac delta function δ(τ) has units of Hz = 1sec ; there-

fore, σ2v has dimensions corresponding to the square of the units of v times

sec. For example, if v is an angular rate in degsec , then σ2

v has dimensions(degsec

)2

sec = deg2

sec = deg2 / sec2

Hz . The units of σv are then either deg√sec

ordeg / sec√

Hz.

4.4.2.2 Discrete-time White Noise

A discrete-time random process vk is a white noise process if

Sv(jω) = σ2v for all ω ∈ [−π, π].

By the definition of the discrete Fourier transform, this implies that

cor (vk, vk+κ) = Rv(κ) = σ2vδκ (4.37)

where δκ is the Kronecker delta function

δκ ={

1 if κ = 00 otherwise.

The Kronecker delta function δκ is dimensionless. The dimensions of σv

are the same as the dimensions of v.Discrete-time white noise is physically realizable. The power is finite,

because the integral of the PSD is only over the discrete-frequency rangeω ∈ [−π, π].

4.5 Linear Systems with Random Inputs

As will be discussed in Section 4.9 and Chapter 7, navigation systems canoften be designed in such a way as to allow performance analysis basedon linear systems with stochastic inputs. Therefore, this section considersthe statistical properties of the output of a linear system when the systemmodel is known and the input is white.

The results of this section are often used to model error componentswith significant time correlation via the state augmentation approach. Insuch situations, linear stochastic systems forced by Gaussian white noiseare of special interest. Careful selection of the linear system and whitenoise statistics can often yield an output stochastic process with statisticsmatching those of the time correlated error process. Examples of suchprocesses are further discussed in Section 4.6.3.

The output y(t) of a (deterministic) time-invariant, causal, linear sys-tem with (stochastic) input w(t) is

y(t) =∫ t

−∞h(t − λ)w(λ)dλ (4.38)

Page 149: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

126 CHAPTER 4. STOCHASTIC PROCESSES

where h represents the impulse response matrix of the linear system. Be-cause w(t) is a random variable, so is y(t). The Fourier transform of theimpulse response yields the system transfer function

H(jω) =∫ ∞

−∞h(t)e−jωtdt. (4.39)

The Energy Spectrum of a time-invariant linear system is

|H(jω)|2 = H(jω)H(jω)∗ (4.40)

where H(jω)∗ represents the complex conjugate transpose of H(jω).If μw(t) denotes the mean of the system input, then the mean of the

system output is

μy(t) = E〈y(t)〉

= E

⟨∫ t

−∞h(t − λ)w(λ)dλ

=∫ t

−∞h(t − λ)E〈w(λ)〉dλ

=∫ t

−∞h(t − λ)μw(λ)dλ (4.41)

where the transition from the second to the third line uses the followingfacts: expectation and time-integration are linear operators and the impulseresponse h is deterministic. Eqn. (4.41) shows that the mean of the outputprocess is the convolution of the impulse response with the mean of theinput process. In the case where the system is causal and the mean of theinput process is constant, the mean of the output reduces to

μy(t) = H(0)μw.

The output autocorrelation function is slightly more complicated toderive. Its derivation is addressed in two steps. First, from eqn. (4.29), wefind an expression for the cross correlation between y and w,

Rwy(t1, t2) = E

⟨w(t1)

∫ t2

−∞w(λ)�h(t2 − λ)�dλ.

⟩.

Because the linear system is causal, this can be expressed as

Rwy(t1, t2) = E

⟨w(t1)

∫ ∞

−∞w(λ)�h(t2 − λ)�dλ

=∫ ∞

−∞E⟨w(t1)w(λ)�

⟩h(t2 − λ)�dλ

Page 150: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.5. LINEAR SYSTEMS WITH RANDOM INPUTS 127

=∫ ∞

−∞Rw(t1, λ)h(t2 − λ)�dλ

=∫ ∞

−∞Rw(t1, t2 − λ)h(λ)�dλ. (4.42)

Second, we derive the expression for the autocorrelation of y,

Ry(t1, t2) = E

⟨∫ ∞

−∞h(t1 − λ)w(λ)dλ

∫ ∞

−∞w(ζ)�h(t2 − ζ)�dζ

=∫ ∞

−∞h(t1 − λ)

∫ ∞

−∞E〈w(λ)w(ζ)�〉h(t2 − ζ)�dζdλ

=∫ ∞

−∞h(t1 − λ)Rwy(λ, t2)dλ

=∫ ∞

−∞h(λ)Rwy(t1 − λ, t2)dλ. (4.43)

If w is wide sense stationary, then eqns. (4.42-4.43) with t1− t2 = τ reduceto

Rwy(τ) =∫ ∞

−∞Rw(τ + λ)h(λ)�dλ (4.44)

Ry(τ) =∫ ∞

−∞h(λ)Rwy(τ − λ)dλ. (4.45)

The Fourier transforms of eqns. (4.44-4.45) provide the cross power spectraldensity of y and w and the power spectral density of y

Swy(jω) = Sw(jω)H(jω)∗ (4.46)Sy(jω) = H(jω)Swy(jω) (4.47)

= H(jω)Sw(jω)H(jω)∗. (4.48)

In the single-input, single-output case where y and w are both scalar ran-dom variables, eqn. (4.48) reduces to

Sy(jω) = |H(jω)|2Sw(jω). (4.49)

Eqns. (4.48) and (4.49) are useful for finding a linear system realizationH(jω) appropriate for producing a given colored noise process y from awhite noise input w.

Example 4.14 A linear system with transfer function

H(s) =√

β + s

Page 151: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

128 CHAPTER 4. STOCHASTIC PROCESSES

is excited by white noise w(t) with PSD defined by Sw(jω) = σ2w, where

σw, β > 0. The spectral density of the output y is calculated by eqn. (4.49)as

Sy(jω) = H(jω)∗H(jω)Sw(jω)

=√

β − jω

√2β

β + jωσ2

w

=2βσ2

w

β2 + w2. (4.50)

The inverse transform of eqn. (4.50) (which can be found using partialfractions) yields the autocorrelation function for the system output

Ry(τ) = σ2we−β|τ |.

The parameter 1β is the correlation time of the random variable y. �

The previous example discussed a natural use of stochastic process the-ory to calculate the PSD and correlation of the output of a linear systemoutput driven by white noise. In at least two cases, the reverse process isof interest:

1. When the output autocorrelation function for a linear system withwhite noise inputs is known, and it is desired to find the linear systemtransfer function.

2. When the actual noise driving a process is colored, it may be moreconvenient for analysis to treat the colored noise as the output of alinear system driven by white noise. Finding the appropriate linearsystem model is equivalent to solving Item 1.

In either case, an autocorrelation function is given for a WSS stochasticprocess and the objective is to determine a linear system (represented bya transfer function G(s)) and a white noise process (represented by a PSDσ2

w) such that the output of the linear system driven by the white noiseprocess yields the specified autocorrelation function.

Example 4.15 In the single channel error model of eqn. (3.49), assumethat the additive gyro measurement error εg is determined to have the au-tocorrelation function

Rεg (τ) = 10−4e−10|τ |(

rad

s

)2

. (4.51)

Find a causal linear system with a white noise input process so that theoutput of the linear system when driven by the white noise process has the

Page 152: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.5. LINEAR SYSTEMS WITH RANDOM INPUTS 129

correlation function specified in eqn. (4.51). Specify the augmented errorstate model for the system.

The spectral density of the output process v is

Sεg(jω) =

∫ ∞

−∞10−4e−10|τ |e−jωτdτ

=∫ ∞

0

10−4e−(10+jω)τdτ +∫ 0

−∞10−4e(10−jω)τdτ

=10−4

10 + jω+

10−4

10 − jω=

20 × 10−4

100 + ω2

= (.01)2√

20(10 + s)

√20

(10 − s)

∣∣∣∣∣s=jω

. (4.52)

Therefore, by comparison with eqn. (4.49), a suitable linear system gyroerror model is

G(s) =√

2010 + s

(4.53)

and the PSD of the corresponding white driving noise process wg is

Swg(jω) = 0.012

(rad/s2

)2Hz

(i.e., Rwg

(τ) = 0.012δ(τ)(

rad

s2

)2)

.

A state space realization of the gyro error transfer function G(s) is

bg = −10bg + wg

εg =√

20bg.

}(4.54)

Appending this state space realization of the gyro error model to the errormodel of eqn. (3.49) yields⎡

⎢⎢⎣xv

φ

bg

⎤⎥⎥⎦ =

⎡⎢⎢⎣

0 1 0 00 0 −g 00 1

R 0√

200 0 0 −10

⎤⎥⎥⎦⎡⎢⎢⎣

xvφbg

⎤⎥⎥⎦ +

⎡⎢⎢⎣

0001

⎤⎥⎥⎦wg. (4.55)

Note that the noise process and linear system must be specified jointly,since there are more degrees of freedom than design constraints. Also, theselection of G(s) from the two factors of eqn. (4.52) is not arbitrary. Thetransfer function G(s) is selected so that its poles and zeros lie in the strictleft half of the complex s-plane. This results in a causal, stable linearsystem model. Such a choice is always possible, when the spectral density

Page 153: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

130 CHAPTER 4. STOCHASTIC PROCESSES

is the ratio of polynomials containing only even powers of s. The interestedreader is referred to the subject of spectral factorization.

When the driving noise is white and Gaussian, the process specified ineqn. (4.54) is an example of a scalar Gauss-Markov process. Higher ordervector Gauss-Markov processes, such as the system of eqn. (4.55), resultwhen the correlation function is more complex. Additional examples ofsimple Gauss-Markov process that are often useful in navigation systemerror model are discussed in Section 4.6.3.

4.6 State Models for Stochastic Processes

As motivation for the study of stochastic systems, consider the error dy-namics for a single channel of a tangent plane INS, as depicted in Figure4.4 and the following equation⎡

⎣ xv

φ

⎤⎦ =

⎡⎣ 0 1 0

0 0 −g0 1

R 0

⎤⎦⎡⎣ x

⎤⎦ +

⎡⎣ 0 0

1 00 1

⎤⎦[

εa

εg

](4.56)

where [x, v, φ] represents error in the navigation state. The error modelis driven by two sources of error: accelerometer error εa and gyro errorεg. These errors originate in the sensors, but appear in the error modelas process noise. The error at each source may take several forms: whitenoise, correlated (colored) noise, bias error, scale factor error, etc. Afterany deterministic error sources have been compensated or modeled, theremaining instrument errors will be modeled as random inputs. The use ofrandom variables to model the error sources is reasonable, since althoughthe analyst may not be able to specify the value of the various error sourcesat some future time, it is usually possible to specify the dynamic nature andstatistics of the error sources as a function of time. It is also reasonable torestrict our attention to linear stochastic systems, since the primary focusof the stochastic analysis in navigation systems will be on linearized errordynamics.

&�

&�

&�

&�

��

�!!!!!!!!!!!�

Figure 4.4: Block diagram for single channel INS error model.

Page 154: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.6. STATE MODELS FOR STOCHASTIC PROCESSES 131

The primary objectives for this section are to present: (1) how to ac-count for stochastic sources of error in state space dynamic system model-ing; and, (2) how the mean and covariance of system errors propagate inlinear stochastic systems. This section presents various results for linear,state space systems with random inputs that will be used throughout theremainder of the book.

4.6.1 Standard Model

The model for a finite-dimensional linear continuous-time system withstochastic inputs can be represented as

x(t) = F(t)x(t) + G(t)w(t) y(t) = H(t)x(t) + v(t) (4.57)

where w(t) and v(t) are random variables. The random variable w is calledthe process noise. The random variable v is called the measurement noise.At each time, x(t) and y(t) are also random variables. The designationrandom variable implies that although the value of the random variable atany time is not completely predictable, the statistics of the random variablemay be known. Assuming that the model is constructed so that v(t) andw(t) are white, the mean and covariance of the random variables w(t) andv(t) will be denoted

μw(t) = E〈w(t)〉 = 0 and (4.58)cov (w(t),w(τ)) = Q(t)δ(t − τ), (4.59)

μv(t) = E〈v(t)〉 = 0 and (4.60)cov (v(t),v(τ)) = R(t)δ(t − τ). (4.61)

In the analysis that follows, it will often be accurate (and convenient) toassume that the process and measurement noise are independent of thecurrent and previous state

cov (w(t),x(τ)) = 0 for t ≥ τ (4.62)cov (v(t),x(τ)) = 0 for t ≥ τ (4.63)

and independent of each other

cov (w(t),v(τ)) = 0 for all t, τ ≥ 0. (4.64)

In most applications, the random processes w(t) and v(t) will be assumedto be Gaussian.

The linear discrete-time model is

xk+1 = Φkxk + wk yk = Hkxk + vk. (4.65)

Page 155: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

132 CHAPTER 4. STOCHASTIC PROCESSES

The mean and covariance of the random variables wk and vk will be denoted

μwk= E〈wk〉 = 0 and (4.66)

cov (wk,wl) = Qdkδ(k − l), (4.67)μvk

= E〈vk〉 = 0 and (4.68)cov (vk,vl) = Rkδ(k − l). (4.69)

Assumptions corresponding to eqns. (4.62–4.64) also apply to the discrete-time model.

In the analysis to follow, the time argument of the signals will typicallybe dropped, to simplify the notation.

4.6.2 Stochastic Systems and State Augmentation

Navigation system error analysis will often result in equations of the form

xn = Fn(t)xn + Gn(t)ε (4.70)y = Hn(t)xn + α (4.71)

where ε and α represent instrumentation error signals and xn representsthe error in the nominal navigation state. This and subsequent sectionsof this chapter will present a set of techniques which will allow the errorsignals ε and α to be modeled as the outputs of linear dynamic systems

xε = Fεxε + Gεωε (4.72)ε = Hεxε + νε (4.73)

and

xα = Fαxα + Gαωα (4.74)α = Hαxα + να (4.75)

with the noise processes ωε(t),νε(t),ωα(t) and να(t) being accurately mod-eled as white noise processes. By the process of state augmentation, equa-tions (4.70-4.75) can be combined into the state space error model

xa = Fa(t)xa(t) + Gaωa(t) (4.76)

=

⎡⎣ Fn(t) Gn(t)Hε 0

0 Fε 00 0 Fα

⎤⎦xa

+

⎡⎣ Gn(t) 0 0

0 Gε 00 0 Gα

⎤⎦⎡⎣ νε

ωε

ωα

⎤⎦

Page 156: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.6. STATE MODELS FOR STOCHASTIC PROCESSES 133

which is in the form of eqn. (4.57) and driven only by white noise processes.In these equations, the augmented state is defined as xa = [x�

n ,x�ε ,x�

α ]�.The measurements of the augmented system are modeled as

y = Ha(t)xa + να (4.77)=

[Hn(t) 0 Hα

]xa + να (4.78)

which are corrupted only by additive white noise.For the state augmented model to be an accurate characterization of the

actual system, the state space parameters (Fa,Ga,Ha) corresponding tothe appended error models and the statistics of the driving noise processesmust be accurately specified. Detailed examples of augmented state modelsare presented in Sections 4.6.3 and 4.9. Section 4.6.3 also discusses severalbasic building blocks of the state augmentation process.

4.6.3 Gauss-Markov Processes

For the finite dimensional state space system

x(t) = F(t)x(t) + G(t)w(t) y(t) = H(t)x(t) + v(t) (4.79)

where w(t) and v(t) are stochastic processes, if both w and v are Gaussianrandom processes, then the system is an example of a Gauss-Markov pro-cess. Since any linear operation performed on a Gaussian random variableresults in a Gaussian random variable, the state x(t) and system outputy(t) will be Gaussian random variables. This is a very beneficial propertyas the Normal distribution is completely described by two parameters (i.e.,the mean and covariance) which are straightforward to propagate throughtime, as is described in Section 4.6.4 and 4.6.5. The purpose of this sectionis to present several specific types of Gauss-Markov processes that are usefulfor error modeling.

4.6.3.1 Random Constants

Some portions of instrumentation error (e.g., scale factor) can be accuratelyrepresented as constant (but unknown) random variables. If some portionof the constant error is known, then it can be compensated for and theremaining error can be modeled as an unknown constant. An unknownconstant is modeled as

x = 0, with Px(0) = var(x(0), x(0)). (4.80)

This model states that the variable x is not changing and has a knowninitial variance Px(0).

Page 157: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

134 CHAPTER 4. STOCHASTIC PROCESSES

Example 4.16 An acceleration measurement a is assumed to be corruptedby an unknown constant bias ba:

a = a + ba.

The bias is specified to be zero mean with an initial error variance ofvar(ba) = σ2

b .

1. What is an appropriate state space model for the accelerometer outputerror εa(t)?

2. What is the appropriate state space model when this accelerometererror model is augmented to the tangent plane single channel errormodel of eqn. (3.91)? Assume that the constant bias is the only formof accelerometer error and that εg = 0.

Since the bias is assumed to be constant, an appropriate model is

ba(t) = 0 (4.81)

with initial condition ba(t) = 0 and Pba= σ2

b . Note that there is no processnoise in the bias dynamic equation. Since no other forms of error are beingmodeled, εa = ba. Therefore, the augmented single channel error modelbecomes ⎡

⎢⎢⎣xv

φ

ba

⎤⎥⎥⎦ =

⎡⎢⎢⎣

0 1 0 00 0 −g 10 1

R 0 00 0 0 0

⎤⎥⎥⎦⎡⎢⎢⎣

xvφba

⎤⎥⎥⎦ . (4.82)

Note that for eqn. (4.82), if either a position or velocity measurementwere available, an observability analysis will show that the system is notobservable. The tilt and accelerometer bias states cannot be distinguished.See Exercise 4.15. �

4.6.3.2 Brownian Motion (Random Walk) Processes

The Gauss-Markov process x(t) defined by

x(t) =∫ t

0

ω(q)dq (4.83)

with Px(0) = 0 and Rω(t) = σ2ωδ(t) is called a Brownian motion or random

walk process. The mean of x can be calculated as

μx(t) = E〈x(t)〉 = E

⟨∫ t

0

ω(q)dq

=∫ t

0

E〈w(q)〉dq = 0.

Page 158: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.6. STATE MODELS FOR STOCHASTIC PROCESSES 135

By the definition of variance in eqn. (4.22), the covariance function for xcan be calculated as

covx(t, τ) = E〈x(t)x(τ)〉 = E

⟨∫ t

0

ω(λ)dλ

∫ τ

0

ω(ζ)dζ

=∫ t

0

∫ τ

0

E〈ω(λ)ω(ζ)〉dλdζ =∫ τ

0

∫ t

0

σ2ωδ(λ − ζ)dζdλ

=∫ τ

0

σ2ωdλ, for λ < t

= σ2ω min(t, τ), (4.84)

which yieldsvarx(t) = σ2

ωt. (4.85)

In navigation modeling, it is common to integrate the output of a sensorto determine particular navigation quantities. Examples are integrating anaccelerometer output to determine velocity or integrating an angular rateto determine an angle, as in Example 4.2. If it is accurate to consider thesensor error as white random noise, then the resulting error equations willresult in a random walk model.

As with white noise, the units of the random walk process often causeconfusion. Note that if x is measured in degrees, then varx(t) has units ofdeg2. Therefore, the units of σω are deg√

s= deg /s√

Hzwhich makes sense given

that σω is the PSD of a white angular rate noise process.One often quoted measure of sensor accuracy is the random walk pa-

rameter. For example, a certain gyro might list its random walk parameterto be 4.0 deg /

√hr. By eqn. (4.84), the random walk parameter for a

sensor quantifies the rate of growth of the integrated (properly compen-sated) sensor output as a function of time. The

√hr in the denominator

of the specification reflects that the standard deviation and variance of therandom walk variable grow with the square root of time and linearly withtime, respectively. When the specification states that the angle randomwalk parameter is N deg√

hr, then σω = N

60deg /s√

Hz.

For a random walk process, the state space model is

x = ν (4.86)

where E〈x(0)〉 = 0, var(x(0)) = Px(0) = 0, and Sν(jω) = σ2ν . The transfer

function corresponding to eqns. (4.83) and (4.86) is H(s) = 1s , so by eqn.

(4.49), the PSD of x is

Sx(jω) =σ2

ν

ω2.

Example 4.17 An accelerometer output is known to be in error by anunknown slowly time-varying bias ba. Assume that the ‘turn-on’ bias is

Page 159: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

136 CHAPTER 4. STOCHASTIC PROCESSES

accurately known and accounted for in the accelerometer calibration; and,that it is accurate to model the residual time-varying bias error as a randomwalk:

δba(t) =∫ t

0

ωb(τ)dτ (4.87)

var(b(0)) = Pb(0) = 0 (4.88)var(ωb(t), ωb(τ)) = Qωδ(t − τ) (4.89)

where ωb represents Gaussian white noise and Qω is the PSD of ωb. Theparameter Qω is specified by the manufacturer.

Appending the random walk bias model to a single channel of the inertialframe INS error model:[

δpδv

]=

[0 10 0

] [δpδv

]+[

01

]δba

yields the following augmented state model⎡⎣ δp

δv

δba

⎤⎦ =

⎡⎣ 0 1 0

0 0 10 0 0

⎤⎦⎡⎣ δp

δvδba

⎤⎦ +

⎡⎣ 0

01

⎤⎦ωb(t)

Px(0) =

⎡⎢⎢⎣

σ2pp σ2

pv 0

σ2vp σ2

vv 0

0 0 Pb(0)

⎤⎥⎥⎦ .

This example has made the unrealistic assumption that the turn-on biasis exactly known so that a proper random walk model could be used. In arealistic situation where the initial bias is not perfectly known, a constantplus random walk error model would be identical to the equations shownabove with Pb(0) specified to account for the variance in the initial biasestimate. �

4.6.3.3 Scalar Gauss-Markov Process

The scalar Gauss-Markov process refers to the special case of eqn. (4.79)where the state, input, and output are each scalar variables:

x = − 1τ x + Gw

y = Hx.

}(4.90)

where w is Gaussian white noise with PSD denoted by σ2. In eqn. (4.90),the parameter τ is the correlation time. This process has already been usedin Examples 4.14 and 4.15.

Page 160: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.6. STATE MODELS FOR STOCHASTIC PROCESSES 137

Eqn. (4.90) is written in its most general form. The PSD of y is

Sy(jω) =HGσ2

ω2 +(

)2which shows that once the correlation time τ is determined, the value ofSy(jω)|ω=0 determines the product of the parameters H, G, and σ. Often,one or two of these three parameters is arbitrarily set to one with theremaining parameter values selected to achieve the desired value at ω = 0.

4.6.3.4 Compound Augmented States

The examples of the previous sections each contained a single type of error.In more realistic situations, several forms of error may be present. Thissection presents an example involving compound error models augmentedto simplified INS error equations.

Example 4.18 The ideal dynamics of a one dimensional INS implementedin inertial space are

p = v (4.91)v = a. (4.92)

Two sensors are available. The first sensor measures position. The secondsensor measures acceleration.

The position measurement model is

y(t) = p(t) + ζ(t) + μ(t) (4.93)

where μ(t) represents Gaussian white noise and ζ(t) is the scalar Gauss-Markov process

ζ = −βζ + ωζ .

The implemented INS is described as

˙p = v (4.94)˙v = a, (4.95)

where the accelerometer model is

a(t) = (1 − δk)a(t) − δba(t) − νa(t)

where δk is a Gaussian random-constant scale-factor error, δba is a con-stant plus random walk Gaussian bias error, and νa is Gaussian white noise.The predicted output at any time is calculated as

y(t) = p(t). (4.96)

Page 161: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

138 CHAPTER 4. STOCHASTIC PROCESSES

The differential equations for the error variables are found by subtractingeqns. (4.94-4.95) from eqns. (4.91-4.92)

δp = δv

δv = a(t)δk + δba(t) + νa(t)

with each error term defined as δx = x − x. The model for the residualmeasurement δy = y − y is defined by subtracting eqn. (4.96) from eqn.(4.93)

δy(t) = δp(t) + ζ(t) + μ(t).

The augmented error state equations are then defined to be⎡⎢⎢⎢⎢⎣

δpδv

δba

δk

ζ

⎤⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎣

0 1 0 0 00 0 1 a 00 0 0 0 00 0 0 0 00 0 0 0 −β

⎤⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎣

δpδvδba

δkζ

⎤⎥⎥⎥⎥⎦ +

⎡⎢⎢⎢⎢⎣

0νa

ωb

0ωζ

⎤⎥⎥⎥⎥⎦

δy =[

1 0 0 0 1]δx + μ.

These error equations have the form of eqn. (4.79) with Gaussian whitenoise inputs. This model structure is important for the optimal state esti-mation methods of Chapter 5.

This example has considered a hypothetical one dimensional INS withonly two sensors. The state of the original INS was two and three errorstates were appended. In realistic navigation systems in a three dimen-sional world with many more sensed quantities, it should be clear that thedimension of the state of the error model can become quite large. �

When designing a system that will be implemented in a real-time ap-plication, there is usually a tradeoff required between reasonable cost andcomputation time and the desire for accurate modeling. Even in the abovesingle axis example, the dimension of the augmented error state vector δxis large (i.e., 5) relative to the dimension of the original state x = [p, v]�

of the INS (i.e., 2), and several more error states could be included in thequest for modeling accuracy. In realistic applications, the dimension of theaugmented state vector is potentially quite large, often too large for a real-time system. Therefore, the design may result in two models. The mostcomplex model that accounts for all error states considered to be signifi-cant is referred to as the truth model. A simplified Design model may beconstructed from the truth model by eliminating or combining certain statevariables. The art is to develop a design model small enough to allow itsuse in practical realtime implementations without paying a significant per-formance penalty in terms of state estimation accuracy. The methodologyfor analyzing the performance tradeoffs is discussed in Chapter 6.

Page 162: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.6. STATE MODELS FOR STOCHASTIC PROCESSES 139

4.6.4 Time-propagation of the Mean

From eqn. (4.65), if the mean of the state vector is known at some time k0

and E〈wk〉 = 0, then the mean can be propagated forward according to

E〈xk+1〉 = E〈Φkxk〉 + E〈wk〉= ΦkE〈xk〉 + E〈wk〉

E〈xk+1〉 = ΦkE〈xk〉. (4.97)

Intuitively, this formula states that since nothing is known a priori aboutthe specific realization of the process noise for a given experiment, the meanof the state is propagated according to the state model:

μxk+1= Φkμxk

μyk= Hkμxk

. (4.98)

The equation for μy is found by analysis similar to that for μxk.

4.6.5 Time-propagation of the Variance

The discrete-time error state covariance matrix is defined as

Pk = E〈(xk − μk)(xk − μk)�〉,where μk = E〈xk〉. The state covariance at time k + 1

Pk+1 = E⟨(xk+1 − μk+1)(xk+1 − μk+1)

�⟩can be simplified using eqns. (4.65) and (4.98) to determine eqn. (4.99) forpropagating the state error covariance through time:

Pk+1 = E⟨(Φk(xk − μk) + wk)

((xk − μk)�Φ�

k + w�k

)⟩= E

⟨Φk(xk − μk)(xk − μk)�Φ�

k + wkw�k

+wk(xk − μk)�Φ�k + Φk(xk − μk)w�

k

⟩= ΦkE

⟨(xk − μk)(xk − μk)�

⟩Φ�

k + E⟨wkw�

k

⟩Pk+1 = ΦkPkΦ�

k + Qdk. (4.99)

Note that eqns. (4.97) and (4.99) are valid for any zero mean noise processsatisfying the assumption of eqn. (4.62). No other assumptions were used inthe derivations. If wk and vk happen to be zero mean Gaussian processes,then xk is also a Gaussian stochastic process with mean and variance givenby eqns. (4.97) and (4.99).

By limiting arguments (see Chapter 4 in [58]), the covariance propaga-tion for the continuous-time system

x = Fx + Gω

is described byP = FP + PF� + GQG�. (4.100)

Page 163: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

140 CHAPTER 4. STOCHASTIC PROCESSES

Example 4.19 Consider the scalar Gauss-Markov process with

x(t) = −βx(t) + ω(t)

with β > 0 where the PSD of the white noise process ω is Q > 0. Lettingvar(x) = P ,

P = −βP − Pβ + Q

= −2βP + Q. (4.101)

Eqn. (4.101) has the solution

P (t) =Q

2β+(

P (0) − Q

)e−2βt (4.102)

which can be verified by direct substitution. In steady state, P (∞) = Q2β ,

which is useful in applications involving scalar Gauss-Markov processeswhen the steady-state covariance P (∞) and the correlation time 1

β areknown and Q is to be determined. �

4.7 Discrete-time Equivalent Models

When the dynamics of the system of interest evolve in continuous time,but analysis and implementation are more convenient in discrete-time, wewill require a means for determining a discrete-time model in the form ofeqn. (4.65) which is equivalent to eqn. (4.57) at the discrete-time instantstk = kT . Specification of the equivalent discrete-time model requires com-putation of the discrete-time state transition matrix Φk for eqn. (4.65)and the process noise covariance matrix Qd for eqn. (4.67). These com-putations are discussed in the following two subsections for time invariantsystems. A method to compute Φ and Qd over longer periods of time forwhich F or Q may not be constant is discussed in Section 7.2.5.2.

4.7.1 Calculation of Φk from F(t)

For equivalence at the sampling instants when F is a constant matrix, Φcan be determined as in eqn. (3.61):

Φ(t) = Φ(t, 0) = eF t,

Φ(τ, t) = eF(τ−t), and (4.103)Φk = eFT

where T = tk − tk−1 is the sample period. Methods for computing thematrix exponential are discussed in Section B.12.

Page 164: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.7. DISCRETE-TIME EQUIVALENT MODELS 141

Example 4.20 Assume that for a system of interest,

F =

⎡⎣ 0 F12 0

0 0 F23

0 0 F33

⎤⎦ (4.104)

and the submatrices denoted by F12,F23, and F33 are constant over theinterval t ∈ [t1, t2]. Then, Φ(t2, t1) = eFT where T = t2 − t1. Expandingthe Taylor series of

eFt = I + Ft +12(Ft)2 . . .

is straightforward, but tedious. The result is

Φ(t2, t1) =

⎡⎢⎣ I F12T2 F12F23

∫ t2t1

∫ t

t1eF33sdsdt

0 I F23

∫ t2t1

eF33sds

0 0 eF33T2

⎤⎥⎦ (4.105)

which is the closed form solution. When F33 can be approximated as zero,the following reduction results

Φ(t2, t1) =

⎡⎣ I F12T2

12F12F23T

22

0 I F23T2

0 0 I

⎤⎦ . (4.106)

Eqn. (4.104) corresponds to the F matrix for certain INS error models aftersimplification. �

If the state transition matrix is required for a time interval [Tm−1, Tm]of duration long enough that the F matrix cannot be considered constant,then it may be possible to proceed by subdividing the interval. When theinterval can be decomposed into subintervals Tm−1 < t1 < t2 < . . . < Tm,where τ = max(tn−tn−1) and the F matrix can be considered constant overintervals of duration less than τ , then by the properties of state transitionmatrices,

Φ(tn, Tm−1) = Φ(tn, tn−1)Φ(tn−1, Tm−1) (4.107)

where Φ(tn, tn−1) is defined as in eqn. (4.103) with F considered as constantfor t ∈ [tn, tn−1). The transition matrix Φ(tn−1, Tm−1) is defined fromprevious iterations of eqn. (4.107) where the iteration is initialized at t =Tm−1 with Φ(Tm−1, Tm−1) = I. The iteration continues for the interval oftime propagation to yield Φ(Tm, Tm−1).

4.7.2 Calculation of Qdk from Q(t)

For equivalence at the sampling instants, the matrix Qdk must account forthe integrated effect of w(t) by the system dynamics over each sampling

Page 165: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

142 CHAPTER 4. STOCHASTIC PROCESSES

period. Therefore, by integration of eqn. (4.57) and comparison with eqn.(4.65), wk must satisfy

x(tk+1) = eF(tk+1−tk)x(tk) +∫ tk+1

tk

eF(tk+1−λ)G(λ)w(λ)dλ. (4.108)

Comparison with eqn. (4.65) leads to the definition:

wk =∫ tk+1

tk

eF(tk+1−λ)G(λ)w(λ)dλ. (4.109)

Then, with the assumption that w(t) is a white noise process, we cancompute Qdk = cov(wk) as follows:

E⟨∫ tk+1

tk

∫ tk+1

tkΦ(tk+1, s)G(s)w(s)w�(τ)G�(τ)Φ(tk+1, τ)�dτds

⟩=∫ tk+1

tk

∫ tk+1

tkΦ(tk+1, s)G(s)E

⟨w(s)w�(τ)

⟩G�(τ)Φ(tk+1, τ)�dτds

=∫ tk+1

tk

∫ tk+1

tkΦ(tk+1, s)G(s)Q(s)δ(s − τ)G�(τ)Φ(tk+1, τ)�dτds.

Therefore, the solution is

Qdk =∫ tk+1

tk

Φ(tk+1, s)G(s)Q(s)G�(s)Φ(tk+1, s)�ds. (4.110)

If F and Q are both time invariant, then Qd is also time invariant.A common approximate solution to eqn. (4.110) is

Qd ≈ GQG�T (4.111)

which is accurate only when the eigenvalues of F are very small relativeto the sampling period T (i.e., ‖FT‖ � 1). This approximation does notaccount for any of the correlations between the components of the drivingnoise wk that develop over the course of a sampling period due to theintegration of the continuous-time driving noise through the state dynamics.The reader should compare the results from Examples 4.21, 4.22, and 4.23.

Example 4.21 For the double integrator system with

F =[

0 10 0

]and GQG� =

[0.00 0.000.00 0.01

],

compute Φ and Qd using eqns. (4.103) and (4.111) for T = 1.

Using the Matlab function ‘expm’ we obtain Φ =[

1 10 1

]. Using eqs.

(4.111) we obtain

Qd ≈[

0 00 1

]× 10−2. (4.112)

Page 166: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.7. DISCRETE-TIME EQUIVALENT MODELS 143

Given the state of computing power available, there is no reason whymore accurate approximations for Qd are not used. A few methods forcalculating the solution to eqn. (4.110) are described in the following sub-sections. Each of the following methods assumes that F and Q are bothtime invariant. If F and Q are slowly time varying, then these methodscould be used to determine approximate solutions by recalculating Qd overeach sampling interval.

4.7.2.1 Solution by Matrix Exponentials

It is shown in [133] that the exponential of the 2n × 2n matrix

Ξ =[ −F GQG�

0 F�

]T (4.113)

is

Υ = eΞ =[ −D Φ−1Qdw

0 Φ�

](4.114)

where D is a dummy variable representing a portion of the answer thatwill not be used. Based on the expressions in the second column of eqn.(4.114), Φ and Qdw are calculated as

Φ = Υ[(n + 1 : 2n), (n + 1) : 2n]� (4.115)Qd = ΦΥ[(1 : n), (n + 1) : 2n] (4.116)

where Υ[(i : j), (k : l)] denotes the the sub-matrix of Υ composed of the ithrough j-th rows and k through l-th columns of matrix Υ.

Example 4.22 For the simple system defined in Example 4.21, after con-structing Ξ and computing its matrix exponential, we have

Υ =

⎡⎢⎢⎢⎣

1 −1 −16 × 10−2 − 1

2 × 10−2

0 1 12 × 10−2 1.0 × 10−2

0 0 1 00 0 1 1

⎤⎥⎥⎥⎦ . (4.117)

Therefore, using the lower right 2 × 2 block, we have that Φ =[

1 10 1

].

Using the upper right 2 × 2 block we have that

Qd =[

1 10 1

] [ − 16 − 1

212 1

]× 10−2 =

[13

12

12 1

]× 10−2

which is significantly different from the result in eqn. (4.112) that wasobtained from the approximate solution in eqn. (4.111). �

Page 167: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

144 CHAPTER 4. STOCHASTIC PROCESSES

4.7.2.2 Solution by Taylor Series

If the Taylor series approximation for Φ

Φ = eFT = I + FT +12(FT )2 +

13!

(FT )3 + . . . (4.118)

is substituted into eqn. (4.110), using k = 0 to simplify the notation, theresult accurate to third order in F and 4th order in T is

Qd ≈ QT +(FQ + QF�

) T 2

2+(F2Q + 2FQF� + Q

(F�)2) T 3

6

+(F3Q + 3F2QF� + 3FQ

(F�)2 + Q

(F�)3) T 4

24. (4.119)

Although the Taylor series approach is approximate for some implementa-tions, eqn. (4.119) is sometimes a convenient means to identify a closedform solution for either Φ or Qd. Even an approximate solution in closedform such as eqn. (4.119) is useful in situations where F is time-dependentand eqns. (4.114–4.116) cannot be solved on-line.

Example 4.23 For the simple system defined in Example 4.21, Fn = 0for n ≥ 2; therefore, using eqn. (4.118)

Φ = I + FT =[

1 10 1

].

Simplifying eqn. (4.119) for this specific example gives

Qd = QT +(FQ + QF�

) T 2

2+ 2FQF�T 3

6

which provides the same result as in Example 4.22. �

4.8 Linear State Estimation

For deterministic systems, Section 3.6 discussed the problem of state es-timation. This section considers state estimation for stochastic, linear,discrete-time state space systems

xk+1 = Φkxk + Γkuk + ωk

yk = Hkxk + νk

where uk is a known signal. The standard notation and assumptions statedin Section 4.6.1 apply.

Page 168: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.8. LINEAR STATE ESTIMATION 145

The state estimate is computed according to

x−k+1 = Φkx+

k + Γkuk

y−k = Hkx−

k

x+k = x−

k + Lkδy−k

where δy−k = yk − y−

k is called the measurement residual and Lk is adesigner specified gain vector. The notation x−

k indicates the estimate ofx at time t = kT before correcting the estimate for the information inthe measurement yk and x+

k denotes the estimate of x after correcting theestimate for the information in the measurement yk. Similar interpretationsapply to P−

x , P+x , y−

k , and P−y .

Defining the state estimation error vector at time k, prior and posteriorto the measurement correction, as

δx−k = xk − x−

k (4.120)δx+

k = xk − x+k , (4.121)

the state estimation error time propagation, output error, and measurementupdate equations are

δx−k+1 = Φkδx+

k + ωk (4.122)

δy−k = Hkδx−

k + νk (4.123)δx+

k = (I − LkHk) δx−k − Lkνk. (4.124)

To determine conditions for stability in the time invariant case, substitutingeqn. (4.124) into eqn. (4.122), taking the expected value, and simplifyingyields

μδk+1= Φ (I − LH) μδk

where the notation μδkhas been used for E〈δx−

k 〉. Therefore, the stabilityof the system requires that the eigenvalues of the matrix Φ (I − LH) bestrictly less that one in magnitude.

From eqn. (4.122), the covariance of the state estimation error prior tothe measurement update is given by eqn. (4.99):

P−x (k + 1) = ΦkP+

x (k)Φ�k + Qdk. (4.125)

From eqn. (4.123), the covariance matrix for the predicted output error is

P−y (k) = HkP−

x (k)H�k + Rk. (4.126)

From eqn. (4.124), the covariance matrix for the state estimation errorposterior to the measurement correction is

P+x (k) = (I − LkHk)P−

x (k) (I − LkHk)� + LkRkL�k . (4.127)

Page 169: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

146 CHAPTER 4. STOCHASTIC PROCESSES

If the gain sequence Lk is known, then eqns. (4.125–4.127) can be iteratedto quantify the expected accuracy of the state estimation design for thegiven Lk.

Eqn. (4.127) is true for any state feedback gain Lk; therefore, thisequation allows the performance (as measured by state error covariance)of alternative gain sequences to be quantitatively compared. In fact, eqn.(4.127) expresses the covariance of the state estimate immediately afterthe measurement correction as a function of the estimation gain vectorLk; therefore, a new gain vector could be selected at each time instant tominimize the state estimation error variance. This is the topic of optimalstochastic state estimation which is discussed in Chapter 5.

4.9 Detailed Examples

This section presents a few detailed examples intended to demonstrate theutility of random variables and stochastic processes in relation to navi-gation applications. Sections 4.9.1 and 4.9.2 focus on frequently askedquestions. Sections 4.9.3 and 4.9.4 discuss navigation examples that arerelatively simple compared to those in Part II of the book, but follow thesame methodology.

4.9.1 System Performance Metrics

Various terms are used to characterize navigation system performance. Thissection uses results from linear algebra, properties of Gaussian randomvariables, and the change of variable concepts from Section 4.3.4, to derivethe relationships between these alternative performance characterizations.

The discussion makes two basic assumptions:

1. The position error vector w = [n, e, d]� is a Gaussian random vari-able.

2. The components of the position error are unbiased.

The validity of the assumptions must be considered in the use of the sub-sequent results.

The Normal (Gaussian) assumption is motivated by the Central LimitTheorem. Although the assumption may not be absolutely valid, the largenumber of small, independent error sources in a navigation system resultsin error distributions which can be accurately approximated as Gaussian.This assumption is not typically a major source of difficulty.

The unbiased assumption must be considered more carefully. The unbi-ased assumption can be considered as a distinction between precision andaccuracy. Ideally, an analyst would calculate errors as δx = x − x where

Page 170: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.9. DETAILED EXAMPLES 147

x denotes the true value of the variable. When x is unknown, the analystmight instead calculate the error as δxc = x−x where x denotes the averageof the x values1. If there is a bias between x and x, then the second orderstatistics of δxc (standard deviation or variance) will indicate the precisionof x without indicating its accuracy.

4.9.1.1 Analysis in Three Dimensions

Let w = [n, e, d]� denote the position error variables. Denote the covariancematrix for w by the symmetric positive definite matrix P = E〈ww�〉.Given the above assumptions that w ∼ N(0,P), the probability density is

pw(n, e, d) =1

(2π)3/2 |P|1/2exp

(−1

2(w�P−1w

)). (4.128)

Because P is symmetric positive definite, there exists orthonormal matrixU and positive definite diagonal matrix Σ such that P = UΣ2U�. Theunits of the diagonal elements of Σ = diag([σ1, σ2, σ3]) are meters.

To simplify the analysis, we introduce a new random variable v = Swwhere S = Σ−1U�. The covariance matrix for v is the identity matrixwhich is shown as follows:

E⟨vv�⟩ = E

⟨Sww�S�⟩

= SPS�

=(Σ−1U�

)(UΣ2U�

)(UΣ−1

)= I.

Therefore, v ∼ N(0, I). The probability density function for v is

pv =1

(2π)32

exp(−v�v

2

).

The components of the vector v are independent and identically distributedwith variance equal to one. The components of v are dimensionless.

Given the previous definitions and a positive scalar c, we have the fol-lowing relationships

Prob{‖v‖ ≤ c} = Prob{w�S�Sw ≤ c2} = Prob{w�P−1w ≤ c2}.

We will find the value of c such that the sphere in the v coordinateswith radius c contains 50% of the v samples. In the w coordinates theregion expected to contain 50% of the w samples will be the ellipsoid

1Alternatively, x could be the measurement of x by a more accurate ‘ground truth’system.

Page 171: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

148 CHAPTER 4. STOCHASTIC PROCESSES

{w ∈ R

3∣∣w�P−1w ≤ c2

}. Because w = UΣv and U is an orthonormal

matrix, the columns of U define the principle axes of the ellipsoid and thediagonal elements of Σ define the elongation of the ellipsoidal axes. Forexample, if U = [u1,u2,u3] where ui is the i-th column of U, then a unitvector along the i-th coordinate axis of the v reference frame transforms tothe vector (σiui) in the w reference frame.

The probability that v falls in the region ‖v‖ ≤ c can be derived as

Prob{‖v‖ ≤ c} =∫‖v‖≤c

pv(v)dv

=1

(2π)32

∫‖v‖≤c

exp(−‖v‖

2

)dv

=1

(2π)32

∫ 2π

0

∫ π

0

∫ c

0

r2 exp(−r2

2

)sin φ1drdφ1dφ2

=

√2π

∫ c

0

r2 exp(−r2

2

)dr

=∫ c

0

pρ(r)dr = Prob{ρ ≤ c}.

The random variable ρ = ‖v‖ is called a Maxwell random variable. Thedensity for a Maxwell random variable is

pρ(r) =

√2π

r2 exp(−r2

2

).

The value of c such that Prob{‖v‖ ≤ c} = 0.5 is c = 1.54. A closed-form,but transcendental, solution to this equation exists [39], but this values wasfound by table look-up for the cumulative distribution of a Maxwell randomvariable.

We can introduce an intermediate variable x such that v = Σ−1x andx = U�w. The dimensions of the variable x are meters. The componentsof the vector x are jointly distributed, independent, and Gaussian. In the xreference frame, for a given value of c, the uncertainty ellipsoid x�Σ−2x ≤ chas axes coincident with the x coordinate axes and

Prob{w�P−1w ≤ c2} = Prob{x�Σ−2x ≤ c2}.In the x coordinate frame the lengths of the ellipsoid principal axes aredefined by the diagonal elements of Σ with the ellipsoid defined by

x21

σ21

+x2

2

σ22

+x2

3

σ23

≤ c2. (4.129)

The ellipsoid in w coordinates is simply a rotation of ellipsoid specified ineqn. (4.129).

Page 172: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.9. DETAILED EXAMPLES 149

Spherical Error Probable (SEP) specifies the radius of the sphere cen-tered on correct location that is expected to contain 50% of the realizationsvariable w. In the special case where σ = σ1 = σ2 = σ3, then eqn. (4.129)simplifies to the equation for the sphere

‖w‖ = ‖x‖ ≤ 1.54σ.

In all other cases, the probability ellipsoid expected to contain 50% of therealizations is defined by eqn. (4.129) with c = 1.54. Various approxima-tions exist for estimating the radius of the SEP sphere [39].

4.9.1.2 Analysis in Two Dimensions

The analysis of this section is similar to that of Section 4.9.1.1, but per-formed in two dimensions. The two dimensions that are of interest aretypically the horizontal (e.g., north and east) components. In this section,we will use the vectors �w, �v, �x which have interpretations parallel to w, v,x from Section 4.9.1.1. The vector symbol over the symbols indicates thatthe corresponding variable is an element of R

2.The joint horizontal position error density in the �w coordinates is

p�w =1

√|�P|

exp

(−1

2�w��P−1�w

). (4.130)

The transformation from the three dimensional distribution of eqn. (4.128)to the two dimensional distribution of eqn. (4.130) is discussed in Exercise4.10. The joint horizontal position error density in the �x coordinates is

p�x =1

2πσ1σ2exp

(−(

x21

2σ21

+x2

2

2σ22

)). (4.131)

The joint horizontal position error density in the �v coordinates is

p�v =12π

exp

(−‖�v‖2

2

). (4.132)

Circular Error Probable (CEP) is the radius of the circle centered onthe correct location that contains 50% of the expected horizontal positionerrors. The R95 statistic is the radius of the circle expected to contain95% of the horizontal position errors. The analysis to define both of thesestatistics is the same. Therefore, we will perform the analysis for probabilityβ ∈ [0, 1]. At the conclusion of the analysis, we can compute the results forβ = 0.5 or 0.95.

Letβ = Prob{‖�v‖ ≤ c},

Page 173: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

150 CHAPTER 4. STOCHASTIC PROCESSES

then for �S, �U, �Σ, defined as in the previous section,

β = Prob{‖�v‖ ≤ c} = Prob{�w��P−1�w ≤ c2} = Prob{�x��Σ−2

�x ≤ c2}.The probability that �v falls in the circle with radius c can be found, inpolar coordinates, as

β = Prob{‖�v‖ ≤ c} =12π

∫ c

0

∫ 2π

0

exp(−r2

2

)rdθdr

=∫ c

0

r exp(−r2

2

)dr

= 1 − exp(−c2

2

). (4.133)

The random variable �ρ = ‖�v‖ is a Rayleigh random variable with distribu-tion

P�ρ(r) = 1 − exp(−r2

2

)and density

p�ρ(r) = r exp(−r2

2

).

From eqn. (4.133), the radius such that P�ρ(RCEP ) = 0.5 is computed as

0.5 = 1 − exp(−R2

CEP

2

)RCEP =

√2√

ln(2)≈ 1.1774.

Similarly, the radius such that P�ρ(R95) = 0.95 is calculated as

0.95 = 1 − exp

(−R2

95

2

)R95 =

√2√

ln(20)≈ 2.4477.

For a given value of c, the ellipse in �x coordinates is

x21

σ21

+x2

2

σ22

≤ c2. (4.134)

The ellipse in �w coordinates is

�w��P−1�w ≤ c2. (4.135)

Page 174: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.9. DETAILED EXAMPLES 151

(&: : &:(&:

(?

:

?

&:

�&

�)

(&:

: &:(&:

(?

:

?

&:

�&

�)

(&:

: &:(&:

(?

:

?

&:

8&

8)

Figure 4.5: Distributions of the �v, �x, �w variables from Example 4.24 withthe 50% and 95% ellipses indicated.

The ellipses defined by eqns. (4.134) and (4.135) each contain the same areaπσ1σ2c

2 which is distinct from the area enclosed by the circle of radius c inthe �v coordinates. The ellipse in �w coordinates can be drawn numericallyby selecting vectors �v on the circle of radius c and transforming thosevectors according to �w = �U�Σ�v. The locus of points around the circle ofradius c in the �v coordinates will transform to the ellipse of eqn. (4.135).This procedure is demonstrated in the following example.

Example 4.24 Consider the situation where

cov(�w) = �P =[

1 33 16

]which has σn = 1m, σe = 4m, and the correlation coefficient between �w1

and �w2 is 0.75. The decomposition of �P, computed by use of the singularvalue decomposition, is

�U =[ −0.1891 −0.9820

−0.9820 0.1891

]and �Σ =

[4.0716 0.00000.0000 0.6498

].

The left graph of Figure 4.5 displays a scatter plot distribution for 200samples of �v where the components of are i.i.d Gaussian (pseudo) randomvariables with unit variance. The density of �v is shown in eqn. (4.132).Thegraph also shows the circles expected to contain 50% and 95% of the samples.In the experiment shown 97 of the 200 samples (i.e., 48.5%) are within theCEP circle and 191 of 200 (i.e., 95.5%) of the samples are within the R95circle. Lastly, the figure indicates vectors along the �v frame axes.

The center and right graphes of Figure 4.5 displays a scatter plot dis-tribution for the resulting 200 samples of �x and �w, respectively. In each

Page 175: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

152 CHAPTER 4. STOCHASTIC PROCESSES

graph, the 50% and 95% ellipses are indicated as are the transformationsof the �v frame axes. �

The previous analysis of this section has discussed the computation ofthe 50% and 95% uncertainty ellipses. When the variances σ2

1 = σ22 = σ2

are equal then

RCEP = 1.1774σ and R95 = 2.4477σ

Computation of the radius of the circle expected to contain a given per-centage of the points is not straightforward. Various approximate formulaeexist. A few examples follow. Let σ = max(σn, σe) and σ = min(σn, σe).Define ρ = σ/σ. The first formula is

RCEP = 0.589(σn + σe)

which is accurate to 3% for ρ ∈ [0.2, 1.0]. The second formula is

RCEP = 0.615σ + 0.562σ

which is much more accurate than the previous formula for ρ ∈ [0.3, 1.0].For ρ ∈ [0.0, 0.1], RCEP ≈ 0.675σ.

In addition to the statistics previously discussed, two additional mea-sures are sometimes of interest: drms and 2drms. The distance root-mean-square (drms) is the root-mean-square (RMS) value of the norm of thehorizontal errors. The formula for the drms measure is

drms =√

σ2n + σ2

e .

The 2drms error measure is twice the drms value:

2drms = 2(drms).

The reason for mentioning the 2drms is that the name is subject to mis-interpretation. Note in particular that 2drms is not the two-dimensionalRMS position error. If the horizontal error distribution is circular (i.e.,σn = σe = σ), then

drms =√

2drms = 2√

2σ.

4.9.1.3 Scalar Analysis

Let x represent one component of the position error, the component-wiseerror density is:

p(x) =1√

2πσ2exp

(− x2

2σ2

). (4.136)

Page 176: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.9. DETAILED EXAMPLES 153

Statistic RMS drms 2drms CEP R95

Radius σ√

2σ 2√

2σ√

2√

ln(2)σ√

2√

ln(20)σ

Probability .393 .632 .982 .500 .950

Table 4.1: Summary of various horizontal error statistics in �w coordinates andtheir relationships to the error standard deviation σ assuming a circular errordistribution (i.e., �Σ = σI).

Given a set of samples {xi}Ni=1 of the random variable x, the RMS error is

rmsx = σx =

√√√√ 1N

N∑i=1

x2i . (4.137)

For large values of N , the RMS value is expected to converge to σ.From distribution tables for Gaussian random variables (see p. 48 in

[107]),

Prob{|x| < 0.674σ} = 50.0% Prob{|x| < σ} = 68.3%Prob{|x| < 2σ} = 95.5% Prob{|x| < 3σ} = 99.7%.

Therefore, if the altitude h is estimated to be 100m with σ = 5m, then theprobability that h ∈ [95, 105]m is 68%, that h ∈ [90, 110]m is 95%, etc.

4.9.1.4 Summary Comparison

Table 4.1 summarizes the various horizontal error statistics defined abovein relation to the one dimensional error standard deviation σ. The table isuseful for converting between error statistics.

Example 4.25 If an analyst is interested in finding the R95 error statisticthat is equivalent to a stated drms error statistic of 10.0 m, then from Table4.1:

drms = 10 → σ =10√

2

→ R95 =√

2ln(20)10√

2.

Therefore, the equivalent R95 statistic is 17.3 m. �

Repeating the process of Example 4.25 for each of the other possiblecombinations of accuracy statistics in two dimensions results in Table 4.2.

Page 177: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

154 CHAPTER 4. STOCHASTIC PROCESSES

σ drms 2drms CEP R95

σ 1.0 1.4 2.8 1.2 2.4

drms 0.7 1.0 2.0 0.8 1.7

2drms 0.4 0.5 1.0 0.4 0.9

CEP 0.8 1.2 2.4 1.0 2.1

R95 0.4 0.6 1.2 0.5 1.0

Table 4.2: Summary of conversion factors from the statistic listed in the in theleftmost column to the statistic indicated in the top row, assuming a circularerror distribution (i.e., �Σ = σI).

To use this table, find the row corresponding to the given statistic. Multi-ply this row by the numeric value of that statistic to obtain all the otherstatistics as indicated in the (top) header row. For example, if the R95statistic is 1.0 m, them the other statistics are

σ = 0.4m, drms = 0.6m, 2drms = 1.2m, and RCEP = 0.5m.

4.9.2 Instrument Specifications

Inertial instrument specifications quantify various aspects of sensor perfor-mance: range, bandwidth, linearity, random walk, rate random walk, etc.A subset of these parameters specify the expected behavioral character-istics of the stochastic sensor errors. The purpose of this example is toillustrate the relationship between these parameters, the sensor data, andthe stochastic error model. The section has two goals:

• to illustrate how the parameters of the instrument error models aredetermined from a set of instrument data; and

• to clarify how the data from an instrument specification data sheetrelates to the type of Gauss-Markov model discussed in Section 4.6.

The example will focus on a gyro error model using a simplified versionof the error model described in [9, 10] after setting all the flicker noisecomponents to zero. The methodology is similar for accelerometers [11].This section contains a very basic description of the error model and modelparameter estimation method. Many details of the technical procedureshave been excluded.

Page 178: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.9. DETAILED EXAMPLES 155

Assume that the output y of a gyro attached to a non-rotating platformis modeled as [

x1

x2

]=

[0 10 0

] [x1

x2

]+[

10

]κ (4.138)

y = x1 + η. (4.139)

The initial conditions are x1(0) ∼ N(0, B20) and x2(0) ∼ N(0, R2

0). Thestochastic process noise κ(t) and measurement noise η are independent,white, and Gaussian with Rη(τ) = N2δ(τ) and Rκ(τ) = K2δ(τ). Thenomenclature and units related to the various symbols are shown in Table4.3.

Symbol Interpretation SY (jω) Units

B0 Random bias, bias, fixed drift – deghr

K Rate random walk K2

ω2deg /hr√

hr

N Angular random walk N2 deg√hr

R0 Rate ramp, Random ramp – deghr2

Table 4.3: Parameter definitions for the gyro error model of eqns. (4.138–4.139). The PSD SY (jω) is defined in eqn. (4.140).

Prior to estimating the model parameters K and N , the effect of theinitial conditions B0 and R0 must first be removed. For each sequence ofavailable data Y = {y(tk)}M

k=1, the first step is to remove the trend definedby

yk = b0 + r0tk.

This can be performed by least squares curve fitting as discussed in Section5.3.2. Representing the data in Y as a column vector, we have that Y = Aθwhere

A =

⎡⎢⎣ 1 t1

......

1 tM

⎤⎥⎦ and θ =

[b0

r0

].

Because the sampling times are unique, the matrix A has full row rank and(A�A

)is nonsingular. Therefore, the least squares estimate θ = [b0, r0]�

is computed as (see eqn. (5.26) on p. 176)

θ =(A�A

)−1A�Y.

Given a large set of instruments, with θ estimated for each, the distributionof b0 and r0 could be estimated and the variance parameters B2

0 and R20

can be determined.

Page 179: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

156 CHAPTER 4. STOCHASTIC PROCESSES

&:(<

&:(@

&:()

&:(&

&::

!!:*:&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:*&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&*:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&:*:

�/+�,

�)

A)

�)

Figure 4.6: Power spectral density of eqn. (4.140).

Given θ and the data set Y = {y(tk)}Mk=1, the sequence of residual

measurements Y = {y(tk) − (b0 + r0tk)}Mk=1 can be formed. This process

is referred to as detrending and Y is the detrended data. The covariancesequence RY (τ) is computed from Y under the ergodic assumption, andthe PSD of Y is computed as the Fourier transform of RY (τ). Using theresults of Section 4.5, for B0 = R0 = 0, the transfer function model for thesystem of eqns. (4.138–4.139) is

Y (s) =[1s

1] [

κ(s)ν(s)

].

Given that η(t) and κ(t) are independent, the PSD of y is

SY (jω) = N2 +K2

ω2. (4.140)

Therefore, a curve fit in the frequency domain, of the theoretical modelfor SY from eqn. (4.140) to the PSD data computed from Y provides theestimates of N and K.

Example 4.26 Figure 4.6 displays a graph of eqn. (4.140) along with itscomponent parts N2 and K2

ω2 . From the graph, N2 is the approximately0.0045and K2 is approximately 1.0 × 10−4.

The instrument specification parameters are sometimes referred to asAllan variance parameters. This name refers to the Allan variance method

Page 180: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.9. DETAILED EXAMPLES 157

that is an alternative approach from the PSD for processing the data setY to estimate the parameters of the stochastic error model. The Allanvariance method was originally defined as a means to quantify clock (oroscillator) stability.

4.9.3 One Dimensional INS

This example analyzes the growth of uncertainty as measured by error vari-ance in a simple unaided inertial navigation system. The example will illus-trate that the analysis methods of this chapter allow quantitative analysisof each contribution to the system error to be considered in isolation.

Consider a one dimensional single accelerometer inertial navigation sys-tem (INS) implemented in an inertial frame. The actual system equationsare

p(t) = v(t)v(t) = a(t).

}(4.141)

An accelerometer is available that provides the measurement

u(t) = a(t) − b(t) − va(t) (4.142)

where the manufacturer specifies that:

• va is Gaussian white noise with PSD equal to σ2va

= 2.5 × 10−3 m2

s3 ;

• b is the random walk process

b = ωb(t)

where ωb is Gaussian and white with PSD equal to σ2ωb

= 1.0 ×10−6 m2

s5 ;

• the distribution of the initial bias is b(0) ∼ N(0, Pb0).

The plant state vector is x = [p, v, b].The implemented navigation equations are

˙p(t) = v(t)˙v(t) = a(t)

}(4.143)

where a(t) = u(t) + b(t) and b(t) is the best estimate of the accelerometerbias b that is available at time t. These equations are integrated forwardin time starting from the expected initial conditions where we assume thatp(0) ∼ N(p0, Pp0) and v(0) ∼ N(v0, Pv0). The navigation system state

vector is x = [p, v, b] where the differential equation for b is ˙b = 0 because

the mean of ωb is zero.

Page 181: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

158 CHAPTER 4. STOCHASTIC PROCESSES

Therefore, the dynamic equations for the error states δp = p − p, δv =v − v, δb = b − b are

δx(t) =

⎡⎣ δp(t)

δv(t)δb(t)

⎤⎦ =

⎡⎣ 0 1 0

0 0 10 0 0

⎤⎦

︸ ︷︷ ︸F

δx(t) +

⎡⎣ 0 0

1 00 1

⎤⎦

︸ ︷︷ ︸Γ

[va(t)ωb(t)

]

and using the definition of Q in eqn. (4.59) in Section 4.6.1

ΓQΓ� =

⎡⎣ 0 0 0

0 σ2va

00 0 σ2

ωb

⎤⎦ =

⎡⎣ 0.0 0.0 0.0

0.0 2.5 × 10−3 0.00.0 0.0 1.0 × 10−6

⎤⎦ .

For any time t, due to the fact that in this example F and Γ are timeinvariant, the state error covariance can be found in closed form as

Px(t) = Φ(t)Px(0)Φ�(t) +∫ t

0

Φ(τ)ΓQΓ�Φ�(τ)dτ. (4.144)

Verification that eqn. (4.144) is the solution of eqn. (4.100) is consideredin Exercise 4.18. In this example,

Φ(τ) = exp (Fτ) =

⎡⎣ 1 τ τ2

20 1 τ0 0 1

⎤⎦ ,

and the two terms in eqn. (4.144) are

Φ(t)Px(0)Φ�(t) =

⎡⎢⎣ Pp0 + Pv0t

2 + Pb0t4

4 Pv0t + Pb0t3

2 Pbt2

2

Pv0t + Pb0t3

2 Pv0 + Pb0t2 Pb0t

Pb0t2

2 Pb0t Pb0

⎤⎥⎦

and

∫ t

0

Φ(τ)ΓQΓ�Φ�(τ)dτ =

⎡⎢⎢⎢⎣

σ2ωv

t3

3 +σ2

ωbt5

20

σ2ωv

t2

2 +σ2

ωbt4

8

σ2ωb

t3

6

σ2ωv

t2

2 +σ2

ωbt4

8 σ2ωv

t +σ2

ωbt3

3

σ2ωb

t2

2

σ2ωb

t3

6

σ2ωb

t2

2 σ2ωb

t

⎤⎥⎥⎥⎦

where we have used the fact that P(0) = diag(Pp0 , Pv0 , Pb0). Therefore,the error variance of each of the three states is described by

Pp(t) =(

Pp0 + Pv0t2 + Pb0

t4

4

)+(

σ2ωv

t3

3+

σ2ωb

t5

20

)

Pv(t) =(Pv0 + Pb0t

2)

+(

σ2ωv

t +σ2

ωbt3

3

)Pb(t) = Pb0 + σ2

ωbt.

Page 182: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.9. DETAILED EXAMPLES 159

The growth of the error variance has two components. The first componentis due to the initial uncertainty in each error state. This component dom-inates initially. The second component is due to the driving process noisecomponents va and ωb. The driving noise component dominates the growthfor large time intervals. The driving noise is determined by the quality ofthe inertial instruments. Better instruments will yield slower growth ofthe INS error. However, without some form of aiding measurement, thecovariance of the state will increase without bound.

Note that the expression for Px in eqn. (4.144) is linear in both Px(0)and Q. This fact is used in Chapter 6 to quantitatively compare designtradeoffs.

4.9.4 One Dimensional Position Aided INS

Next, consider the same system as in the previous example, but with aposition measurement

p(kT ) = p(kT ) + νp(kT )

available at T = 1 second intervals. The measurement noise νp(kT ) is whiteand Gaussian with variance var(νp(kT )) = Rp = 3.0m2.

During each interval t ∈ ((k−1)T, kT ], the INS integrates the INS mech-anization equations as described in eqn. (4.143). At time tk = kT , the INSposition estimate pk = p(tk) is subtracted from the position measurementpk = p(tk) to form a position measurement residual

δyk = pk − pk

which is equivalent to

δyk = δpk + νp(k) = Hδxk + νp(k)

where H = [1, 0, 0]. With this H and the F from the previous example, theobservability matrix is ⎡

⎣ 1 0 00 1 00 0 1

⎤⎦

which has rank 3; therefore, the error state should be observable from theposition measurement.

This residual error will be used as the measurement for an error stateestimator

δx−k+1 = Φδx+

k

δx+k = δx−

k − Lkδyk

}(4.145)

where

Φ =

⎡⎣ 1 1 .5

0 1 10 0 1

⎤⎦ .

Page 183: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

160 CHAPTER 4. STOCHASTIC PROCESSES

0 5 10 15 20 25 30 35−1

0

1

σ p(t),

m

0 5 10 15 20 25 30 35−0.2

0

0.2

σ v(t),

m/s

0 5 10 15 20 25 30 35−0.02

0

0.02

σ b(t),

m/s

2

Time, t, seconds

Figure 4.7: Error standard deviation of 1-d inertial frame INS with positionmeasurement aiding.

Either of the methods for determining Qd results in

Qd =

⎡⎣ 8.33 × 10−4 1.25 × 10−3 1.67 × 10−7

1.25 × 10−3 2.50 × 10−3 5.00 × 10−7

1.67 × 10−7 5.00 × 10−7 1.00 × 10−6

⎤⎦ .

Figure 4.7 displays plots of the error standard deviation for each stateas a function of time. In this example, L = [0.300, 0.039, 0.002]� whichproduces eigenvalues for the discrete-time system near 0.90 ± 0.07, and0.85. Due to the integration of the noise processes va(t) and ωb(t), thevariance grows between the time instants at which position measurementsare available. The position measurement occurs at one second intervals.Typically, the 1.0Hz position measurement decreases the error variance ofeach state estimate, but this is not always the case. Notice for example thatat t = 1.0s the standard deviation of all three states increase. Therefore,the gain vector L selected for this example is clearly not optimal. At leastat this time, the gain vector being zero would have been better. Eventually,by t = 35s, an equilibrium condition has been reached where the growth inthe error variance between measurements is equal to the decrease in error

Page 184: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.10. COMPLEMENTARY FILTERING 161

����� �

A���$�� �

"����!����"���$���

��60

0

��6������������

�60

�6

�B

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

�!!'!�!!��6

0

�B

Figure 4.8: Feed-forward complementary filter implementation diagram.

variance due to the measurement update. Although each measurementhas an error variance of 3.0m2, the filtering of the estimates results in asteady state position error variance less that 1.0m2. In comparison with theresults in the previous section, the position measurement results in boundedvariance for the velocity and accelerometer bias estimation errors.

Notice that there is a distinct difference in the state estimate errorvariance immediately prior and posterior to the measurement correction.Performance analysis should clearly indicate which value is being presented.

The simulation is for an ideal situation where the initial error varianceis identically zero. In a typical situation, the initial error variance may belarge, with the measurement updates decreasing the error variance untilequilibrium is attained.

4.10 Complementary Filtering

The approach described in Section 4.9.4 and depicted in Figure 4.8 is anexample of a feed-forward complementary filter implementation. For thisexample, the kinematics are given by eqn. (4.141), u represents the acceler-ation measurement in eqn. (4.142), the output prediction is y = p, and theerror estimator is defined in eqns. (4.145) and designed by the choice of L.No ‘+’ or ‘−’ superscript is indicated on the δx variable because the errorstate estimator can compute either variable at any time needed to form therightmost summation in the figure. The error estimator can also propagateeqns. (4.125) and (4.127) to maintain an estimate of the system accuracy.

The feed-forward complementary filter approach has the navigation sys-tem integrating the variable u through the system kinematics to produce x−

and the error state estimator integrating δx between aiding measurementsto produce the corrected state estimate denoted as x+ in Figure 4.8.

As an alternative approach, over the sampling interval t ∈ [tk−1, tk),starting from the initial condition x+(tk−1) the navigation system couldintegrate u(t) through the system kinematics to produce x−(tk). At time

Page 185: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

162 CHAPTER 4. STOCHASTIC PROCESSES

���� �A���$�� �

"����!����"���$���

0��6 ������������

�6

�B

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

�!!'!�!!��6�B

��60

Figure 4.9: Feedback complementary filter implementation diagram.

tk, the error state estimate

δx+k = δx−

k − Lkδyk

is added to the prior state estimate to produce the initial condition for thenext interval of integration

x+(tk) = x−(tk) + δx+k .

Because the navigation system state now accounts for the estimated error,the expected value of the error in x+(tk) is zero and it is therefore properto reset

δx+k = 0.

This makes the time update portion of eqn. (4.145) trivial, so that it neednot be implemented. This feedback approach is theoretically equivalent tothe feed-forward approach. It is depicted in Figure 4.9 where the feedbackof δx should be read as correcting the initial condition for each period ofintegration.

4.11 References and Further Reading

This chapter has presented a very brief tour of random variables, stochasticprocesses, and linear systems with white Gaussian driving noise. The mainreferences for the writing of this chapter are [31, 58, 93, 107]. Additionalrecent references on the topics of this chapter are [77, 84, 121].

Prerequisites for the chapter were a basic knowledge of probability andstatistics. A few good references for this material are [31, 107]. Examplesof various probability density functions are graphed on p. 78 in [107]. Themain reference for the approach of Section 4.7.2.1 is [133].

This chapter has modeled random processes by state space equationswith white noise processes as inputs. There are theoretical difficulties with

Page 186: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.12. EXERCISES 163

this approach, due to the fact that the white noise processes are not inte-grable in the conventional Riemann sense. Fixing these theoretical issuesrequires fundamental theoretical changes to the concept of integration thatare beyond the scope of this text. Interested readers can study the topic ofIto calculus in, for example, [71, 72, 106].

Section 4.9.2 presented a very brief discussion of instrumentation speci-fications and methods for their estimation. Additional information on thesetopics is available in the various specification documents, e.g., [9, 10, 11].The Allan variance method is discussed in [2].

4.12 Exercises

Exercise 4.1 This problem is a computational verification of the centrallimit theorem. Let the scalar random variables xi be i.i.d. with density

p(Xi) ={

1.0 |Xi| ≤ 0.50.0 otherwise.

This density is referred to as the uniform density over the range [−0.5, 0.5].

1. For N = 2, in MATLAB use the rand function to produce instancesof xi for i = 1, . . . , N . Then compute xN according to eqn. (4.20)with A = 1√

N. Repeat this experiment M = 10, 000 times to produce

M realizations of xN .

(a) Graph the histogram of the M realizations of xN with the axislimits set to ±1.0 using about 20 bins.

(b) Compute the mean μ and the standard deviation σ of the Mrealizations of xN .

(c) On the same axes as the histogram, graph the Gaussian densitywith μ and σ determined in the previous step.

2. Repeat the above process for N = 1, 3, and 10. Compare the resultswith the statement of the central limit theorem.

While this problem is not a proof of the central limit theorem, it visuallyshows that the density of the summed random variables rapidly convergestoward a Gaussian density as N increases. An analytic demonstration usingcircumstances related to this problem is contained in Section 1.13 in [31].

Exercise 4.2 Compute the mean, variance, and second moment of therandom variable x with the uniform density over the interval (0, 1):

px(X) ={

1, for X ∈ (0, 1)0, otherwise.

Page 187: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

164 CHAPTER 4. STOCHASTIC PROCESSES

Exercise 4.3 For the uniform density defined in Exercise 4.2, find

1. P{x < 0}2. P{x < 0.25}3. P{x < 0.25 or x > 0.50}4. P{x < 0.25 or x < 0.50}5. P{x < a} for a ∈ R.

Exercise 4.4 Find the density for y where y = x3 and x ∼ N(0, σ2).

Exercise 4.5 Find the density for y where y = x2 and

px(X) ={

X exp(−X), for x > 00, otherwise.

The density for x is a special case of the Gamma or Erlang density.

Exercise 4.6 If z = x2 where x ∼ N(0, σ2), use the method of Example4.5 to show that

pz(Z) =

{1√

2πZ σexp

(− Z2σ2

)Z ≥ 0,

0, Z < 0.

The random variable z in this exercise is a called a χ-squared randomvariable with one degree of freedom.

When z =∑k

i=1 x2i and each xi ∼ N(0, 1), then z is a χ-squared random

variable with k degrees of freedom. The density is

pz(Z) =

⎧⎨⎩

( 12 )

k2

Γ( k2 )

Zk2−1 exp

(−Z2

), Z ≥ 0

0, Z < 0

where Γ(x) =∫∞0

tx−1e−xdx is an extension of the factorial function to non-integer arguments. It does not have an algebraic closed form expression,but has the property that

Γ(x + 1) = xΓ(x) for x �= 0,−1,−2,−3, . . . .

Exercise 4.7 Prove that, for two independent variables, their covarianceis zero and their correlation is the product of their means.

Exercise 4.8 Consider the random variables x and y with joint density

pxy(X, Y ) ={

2, X ∈ [0, 1] and 0 ≤ Y ≤ X0, otherwise.

Page 188: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.12. EXERCISES 165

1. Find the correlation coefficient between x and y.

2. Are these random variables independent?

3. If the objective is to estimate y given knowledge of x, how does theknowledge of x affect the estimate of y? Consider for example thesituation where x = 1.

Exercise 4.9 Find the density of the random variable y = Hx+b, wherex ∼ N(μ,P), and H is a nonsingular matrix.

Exercise 4.10 Let y be a random variable with y = Ax, x ∼ N(μ,P),A ∈ R

m×n and APA� a nonsingular matrix.

1. Find the expected value μy of y.

2. Find the covariance matrix Py for y.

3. Use the fact the y is a linear function of a Gaussian random variableto show that the density py(Y) is the same as in Example 4.10:

1√(2π)n det (APA�)

exp(−1

2(Y − Aμ)�

(APA�

)−1

(Y − Aμ))

.

4. Let p = [n, e, d]� represent the position error vector which is assumedto be N(0,P). What is the density and covariance matrix for thevector �p = [n, e]�?

Exercise 4.11 Let y = f(a) where a is an unknown deterministic variable.Given a measurement of y that is modeled as

y = f(a) + b + n (4.146)

where y, y, a, b, n ∈ �3, and f is a continuous and invertible function,the analyst chooses to estimate the values of a and b as

a = g(y) (4.147)

b = 0 (4.148)

where g = f−1. Assume that b ∼ N(0,Pb) and that n ∼ N(0,Pn) and thatb and n are independent. The parameter estimation errors are δa = a− aand δb = b − b.

In the following, use the first-order Taylor series approximation

g(y) ≈ g(y) + G(y) (y − y)

where G = ∂g(y)∂y .

Page 189: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

166 CHAPTER 4. STOCHASTIC PROCESSES

1. Perform analysis similar to that of Example 4.9 to show that:

(a) The mean parameter estimation errors are

E〈δa〉 = 0 and E〈δb〉 = 0.

(b) The variance of the parameter estimation errors are

V ar〈δa〉 ≈ G(y)(Pb + Pn)G(y)� and V ar〈δb〉 = Pb.

(c) The covariance between the parameter estimation errors is

E〈δaδb�〉 ≈ −GPb.

(d) The covariance matrix for the vector is

P = cov〈[δa�, δb�]�〉≈

[G(Pb + Pn)G� −GPb

−PbG� Pb

].

2. If ρ = Aa and ρ = Aa:

(a) Show that the covariance of δρ is

V ar〈δρ〉 ≈ AG(Pb + Pn)G�A�.

(b) Show that the correlation between δρ and δb is

E〈δρδb�〉 ≈ −AGPb.

3. Show that the structure of the matrix Px = var(x) where x =[ρ�,b�]� is

Px ≈[

AG(Pb + Pn)G�A� −AGPb

−PbG�A� Pb

].

Exercise 4.12 If v(t) is a continuous-time, white noise process with unitsof m

s2 and PSD denoted by σ2v , what are the units of σv?

Exercise 4.13 Repeat the comparison of Examples 4.21, 4.22, and 4.23for the system having

F =[

0 10 −λ

]GQG� =

[0.00 0.000.00 σ2

],

with λ = 1, and σ2 = 0.01.

Page 190: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

4.12. EXERCISES 167

Exercise 4.14 Repeat the comparison of Examples 4.21, 4.22, and 4.23for the system having

F =

⎡⎣ 0 1 0

0 0 10 0 0

⎤⎦ , G =

⎡⎣ 0.00

0.001.00

⎤⎦ ,

and Q = σ2 = 0.01.

Exercise 4.15 For the system of eqn. (4.82) with a position measurementy = x:

1. Complete an observability analysis to show that the state of the sys-tem is not observable.

2. Analyze the observable and unobservable subspaces to determine thelinear combination of states that is not observable.

Exercise 4.16 Eqn. (4.125) is derived as in Section 4.6.5. Use similarmethods to derive eqns (4.126) and (4.127).

Exercise 4.17 Implement a covariance simulation to reproduce the resultsof Section 4.9.4.

1. Compute Φ and Qd for T = 0.1s.

2. Implement eqn. (4.125) at a 10 Hz update rate. This step will allowthe plot of the error standard deviation to show the error growthbetween measurement updates.

3. For the given value of L, implement eqn. (4.127) at a 1.0 Hz rate.At the measurement instant, store the two values for the covariance.First store the prior value from eqn. (4.125), then store the posteriorvalue from eqn. (4.127).

After duplicating the results from Section 4.9.4:

1. Try alternative initial values for the error covariance matrix P. Dothey converge to the same steady state conditions?

2. Experiment with different (stabilizing) gain vectors L to try to im-prove the state estimation accuracy.

Exercise 4.18 Verify that eqn. (4.144) is the solution of eqn. (4.100).

1. Differentiate P from eqn. (4.144), noting that Φ = FΦ.

2. Add and subtract the term ΓQΓ� to the result of Step 1, then or-ganize the terms that match eqn. (4.100) together. The remainingterms should sum to zero.

Page 191: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

168 CHAPTER 4. STOCHASTIC PROCESSES

Exercise 4.19 For the sensor model of eqn. (4.1) and the estimate of θformed in eqn. (4.2), let ν(t) be a Gaussian white noise process with PSDσ2

ν where σν = 0.05deg/s√Hz

and let bg be accurately modeled as

bg = λbg + w

where λ = 0.011s and w is a Gaussian white noise process with PSD σ2

w

where σw = 10−4 deg/s2√

Hz.

1. Repeat analysis similar to that of Section 4.9.3 to characterize therate of growth of the error in the estimate of θ.

2. Assume that a measurement of θ is available at a 1 Hz rate and thatthe measurement is corrupted by Gaussian white noise with stan-dard deviation of 1.0 deg. Design a stable error state estimator andperform analysis similar to that of Section 4.9.4 to characterize theperformance of the aided system.

Page 192: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 5

Optimal State Estimation

The main topic of this chapter is the derivation and study of the topic ofoptimal state estimation. Sections 3.6 and 4.8 have already introduced theconcept of state estimation. In those sections the state estimation gainwas represented by L. The gain L could, for example, be selected by poleplacement methods. Given a stochastic model and a stabilizing gain L,the system performance could be evaluated by the methods discussed inSection 4.9.

This chapter presents the state estimation problem from a different per-spective: given a stochastic model, can the state estimation gain be selectedas a time-varying sequence that optimizes some measure of the performanceof the system? The state estimation algorithm that uses this optimal time-varying gain sequence will be referred to as the Kalman filter. The stateestimation problem is reviewed in Section 5.1. Using the mean-squared-error of the state covariance sequence as the optimization criteria, we de-rive the Kalman filter by two distinct methods. Section 5.2 sets up anoptimization problem and selects the optimal state estimation gain Kk ateach time step. For an alternative perspective, Section 5.3 starts with theproblem of weighted least squares, progresses through recursive weightedleast squares, and finally uses time propagation of the state and covariancematrix to derive the Kalman filter gain sequence Kk. Section 5.4 summa-rizes the derivations of the Kalman filter algorithm and presents differentapproaches to computing the variance of the state estimation error aftera measurement correction. Section 5.5 discusses useful properties of theKalman filter. Section 5.6 discusses various issues that should be under-stood for efficient and successful Kalman filter implementations. Section5.9 discusses two numeric issues important for Kalman filter implementa-tions. Section 5.10 discusses various motivations for and approaches tosuboptimal filtering.

Chapter 6 will revisit the topic of state estimation performance analysis.

169

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 193: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

170 CHAPTER 5. OPTIMAL STATE ESTIMATION

&�

3

0

0�+�, �+�,*

�+�, �+�,

5

$����/���0��� �

�� .

Figure 5.1: Continuous-time system with input u = 0.

The topic of covariance analysis and its use in error budgeting is critical tomaking informed system level decisions at the design stage.

5.1 State Estimation: Review

This section summarizes the linear stochastic state estimation results fromthe previous chapters.

For a linear continuous-time system such as that shown in Figure 5.1, toenable state estimation in discrete-time, we find the discrete-time equivalentstate-space model of the actual process:

xk = Φxk−1 + Guk−1 + ωk−1 (5.1)yk = Hxk + νk (5.2)

where xk ∈ Rn, yk ∈ R

p, νk ∈ Rp, and ωk ∈ R

n are the stochasticsignals representing the state, output, measurement noise and driving noise,respectively; u ∈ R

m is a known input signal. Assuming that the state isobservable from the output signal, our objective is to provide an optimalestimate of the state vector. The resulting algorithm is referred to as theKalman filter. The basic state estimation block diagram is shown in Figure5.2.

For simplicity of notation, the system is assumed to be time-invariantand the subscript k’s on the system parameter matrices have been dropped(e.g., Φk = Φ). The assumption of a time-invariant system is not a restric-tion on the approach. The derivation does go through for and the Kalmanfilter is often applied to time-varying systems.

��/� � ���� ��#���� �����& �

��4�.

&�

20

�46�40&

6 �46

����� �

&�

0

0 �4�40& �4�4��.

0�

�4

Figure 5.2: Discrete-time state estimator.

Page 194: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.1. STATE ESTIMATION: REVIEW 171

In this model, νk and ωk are signals determined by the environment.The designer does not know the actual values of these signals, but formu-lates the problem so that the following assumptions hold:

E〈νk〉 = 0 var (νk, νl) = Rkδkl

E〈ωk〉 = 0 var (ωk,ωl) = Qdkδkl

and the cross-correlation between νk and ωl is zero. The symbol δkl rep-resents the Kronecker delta. In addition, for all k ≥ 0, xk is uncorrelatedwith νl for all l and xk is uncorrelated with ωl for l ≥ k. The matrices Rk

and Qdk are assumed to be positive definite and the state is assumed tobe controllable from ωk.

For k > 0, assuming that x+0 and positive definite P+

0 are known, thestate estimate is computed using the algorithm described below. The super-scripts − and + denote the estimates prior and posterior to incorporatingthe measurement, respectively. At time k, given x+

k−1, P+k−1 and uk−1, the

prior estimate of the state and output are computed as

x−k = Φx+

k−1 + Guk−1 (5.3)

y−k = Hx−

k . (5.4)

When the k-th measurement yk becomes available, the measurement resid-ual is computed as

δy−k = yk − y−

k . (5.5)

Given the state estimation gain vector Lk, the posterior state estimate iscomputed as

x+k = x−

k + Lkδy−k . (5.6)

Given the above state space models for the state and state estimate, withδx−

k = xk − x−k and δx+

k = xk − x+k , the previous chapters have derived the

following equations for the prior state estimation error, the measurementresidual, and the posterior state estimation error:

δx−k+1 = Φδx+

k + ωk (5.7)

δy−k = Hδx−

k + νk (5.8)δx+

k = (I − LkHk) δx−k − Lkνk. (5.9)

With reference to eqn. (4.125), based on eqns. (5.7–5.9), the covarianceof the state estimation error prior to the measurement update is given byequation:

P−k+1 = ΦkP+

k Φ�k + Qdk. (5.10)

As in eqn. (4.126), the covariance matrix for the predicted output error is

P−yk

= HkP−k H�

k + Rk. (5.11)

Page 195: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

172 CHAPTER 5. OPTIMAL STATE ESTIMATION

As in eqn. (4.127), the covariance matrix for the state estimation errorposterior to the measurement correction is

P+k = (I − LkHk)P−

k (I − LkHk)� + LkRkL�k . (5.12)

Given that the state is controllable from ωk, it can be shown that P−k and

P+k are positive definite matrices.

Note that eqns. (5.7–5.9) are not used in the state estimator implemen-tation. These equations are used for analysis to attain eqns. (5.10–5.12)which serve as the basis for the derivation of the optimal state estimationgain in Section 5.2. The optimal state estimator will be implemented us-ing eqns. (5.3–5.6), eqns. (5.10–5.12), and a formula for the optimal stateestimation gain.

5.2 Minimum Variance Gain Derivation

Eqn. (5.12) is useful for the selection of the estimator gain Lk, because itallows us to evaluate the covariance matrices P+

k that would result from al-ternative choices of Lk. In fact, the diagonal of P+

k contains the variance ofeach element of the state vector. The scalar function Tr(P+

k ) = trace(P+k )

is the sum of the variances of the individual states (i.e., the mean-squared-error); therefore, for the purposes of optimization it is reasonable to mini-mize the cost function

J(Lk) = Tr(P+k ).

5.2.1 Kalman Gain Derivation

Dropping the subscripts and multiplying out expression (5.12) yields

P+ = P− − LHP− − P−H�L� + L(HP−H� + R

)L�. (5.13)

This expression is a second order matrix polynomial equation in the variableL. Therefore, the mean-squared posterior state estimation error, which canbe computed conveniently as Tr(P+), is also a function of L. Using theproperties of the Tr function, which are reviewed in Section B.2, we canreduce the expression for Tr(P+) as follows:

Tr(P+) = Tr[P− − LHP− − P−H�L� + L

(HP−H� + R

)L�]

= Tr[P−] − 2Tr[LHP−] + Tr[L(HP−H� + R

)L�].

Selection of L to minimize Tr(P+) requires differentiation of the scalarfunction Tr(P+) with respect to L. Using eqns. (B.55–B.56) for the deriva-tive of Tr with respect to a matrix, results in

d

dLTr(P+) = −2

(HP−)� + 2L

(HP−H� + R

).

Page 196: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.2. MINIMUM VARIANCE GAIN DERIVATION 173

Setting this expression equal to the zero vector and solving for L yields theformula for the Kalman gain vector, which will be denoted by K instead ofL:

Kk = P−k H�

k

(HkP−

k H�k + Rk

)−1(5.14)

where we have used the fact that P− is symmetric. Since P− and R are pos-itive definite, the matrix

(HkP−

k H�k + Rk

)is also positive definite, which

ensures that the inverse in the above formula exist. Since(HkP−

k H�k + Rk

)is also the second derivative of Tr(P+) with respect to L, the Kalman gainKk yields a minimum value for the mean-squared cost.

5.2.2 Kalman Gain: Posterior Covariance

When the Kalman gain is used, a simplified equation can be derived for theposterior error covariance matrix P+. The derivation uses the fact that

Kk

(HkP−

k H�k + Rk

)= P−

k H�k (5.15)

which is easily derived from eqn. (5.14). The derivation proceeds from eqn.(5.13) as follows:

P+ = P− − KHP− + KRK� + KHP−H�K� − P−H�K�

= [I − KH]P− + K(R + HP−H�)K� − P−H�K�

= [I − KH]P− + P−H�K� − P−H�K�

P+ = [I − KH]P−. (5.16)

Note that the final expression in eqn. (5.16) is only valid for the Kalmangain K, while (5.12) is valid for any estimator gain vector L.

5.2.3 Summary

This section has presented a derivation of the Kalman gain formula shownin eqn. (5.14) and has derived a simplified formula for the posterior errorcovariance matrix that is shown in eqn. (5.16). The Kalman gain is thetime-varying gain sequence that minimizes the mean-square state estima-tion error at each measurement instant. Computation of the Kalman gainsequence requires computation of the prior and posterior error covariancematrices. The prior covariance P−

k is used directly in eqn. (5.14). Theposterior covariance P+

k is used to compute the P−k+1 for use with the next

measurement.The derivation of this section is short and clearly shows the mean-

squared optimality. The following section presents an alternative derivationthat obtains the same results. The alternative derivation is considerablylonger, but also provides additional insight into the operation of the Kalmanfilter.

Page 197: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

174 CHAPTER 5. OPTIMAL STATE ESTIMATION

5.3 From WLS to the Kalman Filter

This section considers an alternative derivation of the Kalman filter ina series of steps. Subsection 5.3.1 considers the weighted least squaresproblem. The batch and recursive solutions to the weighted least squaresproblem are considered in Subsections 5.3.2 and 5.3.3, respectively. Usingthe solution to the recursive least squares problem and the state spacemodel, the Kalman filter is derived in Subsection 5.3.4.

5.3.1 Weighted Least Squares (WLS)

In linear weighted least squares estimation, the problem setting is that a setof m noisy measurements (y1, . . . , ym) is available, where each measurementis modeled as

yi = Hix + νi for i = 1, . . . , m. (5.17)

The variable x ∈ Rn is assumed to be unknown and constant. For each i,

H�i ∈ R

n is assumed to be known, and νi is an unknown random variablerepresenting measurement noise. In this derivation, each measurement isassumed to be scalar, but the results do extend to vector measurements.Defining ν = [ν1, . . . , νm]�, the vector ν is assumed to have E〈ν〉 = 0 andE〈νν�〉 = R ∈ R

m×m, where R is positive definite and diagonal.The objective is to find an estimate x to minimize the JWLS(x) cost

function defined as

JWLS(x) =12(Y − Hx)�W(Y − Hx) (5.18)

where W ∈ Rm×m is a positive definite symmetric matrix,

Y = [y1, . . . , ym]� and H = [H�1 , . . . ,H�

m]�.

The cost function of eqn. (5.18) can be motivated in two contexts.First, in a deterministic sense, it is desirable to minimize some norm ofthe error between the measurements Y and the estimated measurementsY = Hx. The cost function is a weighted two norm. In a general approach,some measurements may be known to be more accurate than others. Themeasurement accuracy is characterized by R−1. Therefore, it is natural toselect

W = R−1 (5.19)

to give the least weighting to the most uncertain measurements. Second, ina probabilistic sense, given the assumption that the measurement noise isNormally distributed, the probability density for x given the measurementsY is

p(x : Y) = A exp{−1

2

(Y − Hx

)�R−1

(Y − Hx

)}. (5.20)

Page 198: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.3. FROM WLS TO THE KALMAN FILTER 175

The value of x that maximizes p(x : Y) is the maximum likelihood estimate(MLE) of x and coincides with the minimum of JWLS when W = R−1.

For m < n, the problem will be under-determined and an infinite num-ber of solutions will exist. If m > n then the problem may be over-determined, in which case no exact solution will exist. In the latter case,minimization of the objective function in eqn. (5.18) will result in the es-timate x that has the minimum weighted 2-norm of δy = [δy1, . . . , δym]�

where δyi = yi − Hix.The following text will build up to the Kalman Filter by discussing

sequentially the following set of questions:

1. What is the formula for the WLS estimate of x (i.e., the minimum ofeqn. (5.18))?

2. Given that the WLS estimate xm has been calculated for a set of mmeasurements, if an additional measurement ym+1 becomes available,can xm be adjusted to efficiently produce the new WLS estimatexm+1?

3. If x ∈ Rn is the state of a dynamic system, which is free to change

according to xk = Φkxk−1 + Gkuk−1 + ωk−1 where Φk ∈ Rn×n is

known and ωk ∈ Rn is a zero mean random vector, how can the

estimate of x at time k − 1 and the measurement yk be combined toprovide an optimal estimate of x at time k?

As the above discussion shows, each question is a natural extension ofthe one before it and as the following sections show, the solutions to theseproblems are intimately related. The Kalman Filter is the solution to thelast problem.

5.3.2 Weighted Least Squares Solution

The WLS estimate x will be found using differential calculus to minimizeeqn. (5.18). Eqns. (B.50–B.53) are used in the derivation.

Multiplying out eqn. (5.18) results in

JWLS =12

(Y�WY − 2Y�WHx + x�H�WHx

).

Therefore, the extreme points of the objective function are determined bythe solution of

∂JWLS

∂x= −H�WY + H�WHx = 0 (5.21)

which yields

x = (H�WH)−1H�WY. (5.22)

Page 199: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

176 CHAPTER 5. OPTIMAL STATE ESTIMATION

The solution of eqn. (5.22) is a unique minimum when ∂2JW LS

∂x2 = H�WHis positive definite. This is the case when W is positive definite and H hasn linearly independent rows (i.e, rank(H) = n).

For analysis, defineδx = x − x.

The following analysis shows that δx is independent of x:

δx = x − (H�WH)−1H�WY

= x − (H�WH)−1H�W(Hx + ν)= (I − (H�WH)−1H�WH)x − (H�WH)−1H�Wν

= −(H�WH)−1H�Wν.

Therefore, using the assumed properties of ν,

E{δx} = 0 and (5.23)var{δx} = P = (H�WH)−1H�WRWH(H�WH)−1. (5.24)

In the special case where W = I, the Least Squares (LS) estimate is

x = (H�H)−1H�Y with (5.25)P = (H�H)−1H�RH(H�H)−1. (5.26)

In the special case where W = R−1, the Maximum Likelihood Estimate(see eqn. (5.20)) is

x = PH�R−1Y (5.27)P = (H�R−1H)−1H�R−1RR−1H(H�R−1H)−1

= (H�R−1H)−1. (5.28)

The matrix P−1 = H�R−1H is referred to as the information matrix. Notethat quality of the estimate of x (i.e., P−1) increases as R decreases. Notealso that P does not depend on the actual data, but on the statistics of themeasurement noise and the matrix H that relates the vector x to the noisymeasurements.

Table 5.1 estimates the memory and computational requirements toimplement eqns. (5.27-5.28). Computational requirements are measuredby counting floating point operations (FLOP’s). The FLOP is a machineindependent unit of measurement corresponding to one floating point mul-tiplication and addition. Note that both the computation and memoryrequirements grow linearly with the number of measurements m.

Example 5.1 Consider the problem of estimating the value of a scalarconstant x from measurements corrupted with i.i.d. zero mean Gaussianwhite noise. In this problem, each measurement is modeled as

yk = x + νk

Page 200: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.3. FROM WLS TO THE KALMAN FILTER 177

Workspace PermanentComputation FLOP’s Memory Memory

d1 = H�R−1 m × n n × m

d2 = d1H 12m(n + 1)n use P

P = (d2)−1 n3 + 12n2 + 1

2n 12 (n + 1)n

d3 = d1Y n × m use d1

x = Pd3 n × n n

H m × nR−1 m

Y m

Total n3 + 32n2 + 1

2n nm 12n2 + n

(m + 3

2

)+ 2m

+ 12n2m + 5

2nm

Table 5.1: Computational and memory requirements for the weighted leastsquares algorithm of eqns. (5.27-5.28) assuming m ≥ n with x ∈ R

n, H ∈R

m×n, Y ∈ Rm, and diagonal R ∈ R

m×m.

where νk ∼ N(0, σ2). Therefore, after m measurements, Y = [y1, . . . , ym]�

∈ Rm, H = [1, . . . , 1]� ∈ R

m and R = σ2Im. According to eqn. (5.28),

Pm = (H�R−1H)−1 =σ2

m(5.29)

and according to eqn. (5.27)

xm = P(H�R−1Y

)=

σ2

m

(1σ2

m∑k=1

yk

)

xm =1m

m∑k=1

yk. (5.30)

The estimate is the average of the measurements.In the above formulation, computation of the estimate requires storing

all m measurements, m additions, and one division. It is straightforwardto manipulate eqn. (5.30) into the recursive form

xm = xm−1 +1m

(ym − xm−1) (5.31)

which only requires the last measurement ym, retention of the last estimatexm−1, two additions and one division. Derivation of such recursive algo-rithms is the purpose of the next subsection. �

Page 201: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

178 CHAPTER 5. OPTIMAL STATE ESTIMATION

Example 5.2 Consider the problem of estimating the deterministic vectorx based on observations Y related to x according to

Y = Hx + ν

where ν is zero mean Gaussian white noise with R = var{ν} = σ2Im withσ = 0.1. At least two criteria are available for judging the quality of theestimate. First, the diagonal of P contains that variance of the estimateof each component of x. The variance of the estimation error vector δx isquantified by trace(P). Second, the residual measurement can be computedas

δY = Y − Hx.

These two criteria have different properties. The matrix P depends onlyon H and R, but not the actual measurements nor the value of x. Alter-natively, δY is directly affected by the data. The variance of δY and thevariance of Y are distinct:

var(δY) = HPH� + R (5.32)

while var(Y) = HPH�.Consider the set of m = 3 measurements

Y = [−12.0529, − 3.0431, − 6.1943]�

with

H =

⎡⎣ −0.6964 −0.1228 −0.7071

0.6330 −0.7544 −0.17360.0885 0.2432 −0.9659

⎤⎦ .

According to eqns. (5.27-5.28),

P =

⎡⎣ 0.0160 0.0091 −0.0031

0.0091 0.0208 −0.0016−0.0031 −0.0016 0.0075

⎤⎦ and x =

⎡⎣ 6.8333

7.70148.9782

⎤⎦ .

The diagonal of the covariance matrix P indicates that the standard devia-tion of δx is [0.13, 0.14, 0.09]�. Since m = 3 = dim(x) and H is nonsingu-lar, δY = 0; however, this is only a result of the number of measurementsbeing equal to the number of unknowns. It does not imply that δx = 0 northat Y = Y. Evaluation of HPH� shows that the standard deviation inthe estimation of each component of Y is 0.1. With three measurementsand three unknowns, while an estimate of x is now available, there has beenabsolutely no reduction in the error in prediction of Y.

As the number of measurements m increases, δY will become nonzero,while the variance of both δx and δY will tend to decrease. Because δYis directly affected by the data, it can be useful in comparison with theprediction of eqn. (5.32), for detecting anomalies in the data. �

Page 202: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.3. FROM WLS TO THE KALMAN FILTER 179

5.3.3 Recursive Least Squares (RLS)

For the linear measurement model of eqn. (5.17) with the set of mea-surements Y = [y1, . . . , ym]�, using equations (5.27–5.28), it is possible tocalculate the estimate x that is the optimal in the WLS, maximum like-lihood, and mean-squared senses. The question of this section is how toefficiently produce the new optimal estimate of x if an additional measure-ment ym+1 becomes available. To be computationally efficient, the estimatexm+1 should not start from scratch (i.e., require all elements of Y), butfrom the best previously available estimate xm. Therefore, based on in-tuition, the objective is to develop a recursive estimation equation of theform

xm+1 = xm + K(ym+1 − ym+1) (5.33)

where ym+1 = Hm+1xm and K is a vector gain that is to be determined.To achieve this objective, we start from the prior information. The

vector xm is known with

E〈xm〉 = x

var(xm) = var(δxm) = Pm.

The new measurement is modeled as

ym+1 = Hm+1x + νm+1,

where var(νm+1, νj) = Rm+1,jδm+1,j for all j (Rm+1 will be used as a shorthand notation for Rm+1,m+1 in the following). Therefore, the informationavailable for estimating x after measurement m+1 is xm and ym+1 whichcan be organized as

xm = x − δxm, (5.34)ym+1 = Hm+1x + νm+1. (5.35)

Constructing a hypothetical set of m + 1 measurements yields[xm

ym+1

]=[

IHm+1

]x +

[ −δxm

νm+1

](5.36)

which has the form of eqn. (5.17). Therefore it can be solved usingeqns. (5.27-5.28) by defining the weighting matrix R−1 corresponding tocov([δx�

m, νm+1]).Eqn. (5.28) results in:

P−1m+1 =

[I H�

m+1

] [ Pm 00 Rm+1

]−1 [ IHm+1

]P−1

m+1 = P−1m + H�

m+1R−1m+1Hm+1. (5.37)

Page 203: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

180 CHAPTER 5. OPTIMAL STATE ESTIMATION

Recalling that P−1m is the information matrix for xm, eqn. (5.37) shows

the amount that each new measurement increases the information matrix.Note that if all measurements are noisy (i.e., Rj �= 0 for any j), thenH�

m+1R−1m+1Hm+1 is always finite and positive; the information matrix is

monotonically increasing; and, the variance of the estimate (i.e, Pm+1)monotonically decreases with each new measurement. Multiplying eqn.(5.37) on the right by xm, we obtain

P−1m+1xm = P−1

m xm + H�m+1R

−1m+1ym+1. (5.38)

Multiplying on the left by Pm+1 and rearranging yields

Pm+1P−1m xm = xm − Pm+1H�

m+1R−1m+1ym+1 (5.39)

which will be needed in the following derivation.The new estimate is calculated from (5.27) as

xm+1 = Pm+1

[I H�

m+1

] [ Pm 00 Rm+1

]−1 [ xm

ym+1

]= Pm+1

(P−1

m xm + H�m+1R

−1m+1ym+1

)= xm + Pm+1H�

m+1R−1m+1(ym+1 − ym+1)

xm+1 = xm + Km+1(ym+1 − ym+1) (5.40)

where Km+1 = Pm+1H�m+1R

−1m+1 and eqn. (5.39) was used to obtain the

second to the last line of the derivation. Although a linear estimator withthe form of eqn. (5.33) was initially stated as an objective, such a linearrelationship was never imposed as a constraint. The linear update relation-ship of eqn. (5.40) is a natural consequence of the problem formulation.

Eqns. (5.37) and (5.40) provide recursive formulas for the estimation ofthe vector x. With proper initialization, the estimate is exactly the sameas that attained by use of a batch approach for m+1 measurements usingeqns. (5.27) and (5.28). Table 5.1 shows that, for large m, the memoryand computational requirements of the batch algorithm are O(n2m) andO(nm), respectively. These requirements are necessary even if the estimateis known for (m − 1) measurements prior to the m-th measurement. Thecomputational and memory requirements for incorporating a single addi-tional scalar measurement using the recursive algorithm of eqns. (5.37) and(5.40) are evaluated in Table 5.2. For the recursive algorithm, the memoryand computational requirements for incorporating each measurement aredetermined only by the dimension of the estimated vector.

Eqn. (5.37) computes P−1m+1 where Pm+1 is required for the calculation

of K; therefore, the algorithm as written requires matrix inversion which isnot desirable. Table 5.2 shows that the matrix inversion plays a dominant

Page 204: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.3. FROM WLS TO THE KALMAN FILTER 181

Workspace PermanentComputation Flops Memory MemoryHm+1 nr = ym+1 − Hm+1xm n 1

d1 = H�m+1

Rm+1n n

Fm+1 = Fm + d1Hm+112 (n + 1)n 1

2 (n + 1)nPm+1 = F−1

m+1 n3 + 12n2 + 1

2n 12 (n + 1)n

K = Pm+1d1 n2 nxm+1 = xm + Kr n n

Total n3 + 2n2 + 4n 12n2 + 5

2n + 1 12n2 + 5

2n

Table 5.2: Computational and memory requirements for the recursive leastsquares algorithm of eqns. (5.37) and (5.40) with x ∈ R

n, Hm+1 ∈ R1×n,

y ∈ R, and Rm+1 ∈ R. The matrix Fm+1 ∈ Rn×n represents the information

matrix.

role in determining the amount of required computation. Section 5.4 willshow that eqns. (5.37) and (5.40) are equivalent to

Km+1 = PmH�m+1

(Rm+1 + Hm+1PmH�

m+1

)−1(5.41)

xm+1 = xm + Km+1(ym+1 − Hm+1xm) (5.42)Pm+1 = (I − Km+1Hm+1)Pm. (5.43)

The computational requirements for this set of equations are evaluated inTable 5.3. The workspace and computational requirements are significantlyreduced relative to the previous algorithms.

In addition to requiring smaller amounts of memory and computation,the recursive least squares algorithm provides iterative estimates immedi-ately following the measurement time. This has the potential to provideestimates with reduced delay over an approach which waits to accumulatea fixed sized batch of m samples before calculating an estimate.

Example 5.3 This example reconsiders the problem stated in Example 5.1using the algorithm of eqns. (5.41–5.43).

For this problem, n = 1, Hm+1 = 1 and Rm+1 = σ2. Using the firstmeasurement and eqns. (5.29–5.30) to initialize the state and covariance,we have x1 = y1 and P1 = σ2. The recursion then starts at m = 2:

Km+1 =Pm

σ2 + Pm

Pm+1 = (1 − Km+1)Pm

Page 205: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

182 CHAPTER 5. OPTIMAL STATE ESTIMATION

Workspace PermanentComputation Flops Memory MemoryHm+1 nr = ym+1 − Hm+1xm n 1d1 = Hm+1Pm n2 nd2 = Rm+1 + d1H�

m+1 n 1K = d�

1d2

n n

xm+1 = xm + Kr n nPm+1 = Pm − Kd1

12 (n + 1)n 1

2 (n + 1)n

Total 32n2 + 9

2n 2n + 2 12n2 + 5

2n

Table 5.3: Computational and memory requirements for the recursive leastsquares algorithm of eqns. (5.41–5.43) with x ∈ R

n, Hm+1 ∈ R1×n, y ∈ R,

and Rm+1 ∈ R.

=(

1 − Pm

σ2 + Pm

)Pm

=(

σ2

σ2 + Pm

)Pm = Km+1σ

2.

Table 5.4 evaluates Km and Pm versus m. The covariance of the m-thestimate is Pm = σ2

m which matches the result of the batch computation ineqn. (5.29). Also, eqn. (5.42) becomes

xm = xm−1 +1m

(ym − xm−1)

which matches eqn. (5.31). �

1 2 3 m

Km12

13

1m

Pm σ2 12σ2 1

3σ2 1mσ2

Table 5.4: Evaluation of Km and Pm versus m for Example 5.3.

The previous example demonstrates that with proper initialization ofthe state estimate and the error covariance, the recursive and batch solu-tions yield the same results.

The following subsection will extend the present analysis to the deriva-tion of the Kalman filter for applications where x is nonconstant and thedynamic model for x is given by eqn. (5.1).

Page 206: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.3. FROM WLS TO THE KALMAN FILTER 183

5.3.4 Kalman Filtering

The last extension to be considered in this section concerns the estimationof the state of a dynamic system described by a linear ordinary differenceequation,

xk = Φk−1xk−1 + Gk−1uk−1 + ωk−1 (5.44)

when only a noisy linear combination of the system states

yk = Hkxk + νk (5.45)

can be measured. All quantities in the above equations are defined inSection 5.1. For the problem formulation, we assume that

E〈ωkω�j 〉 = Qdkδjk and E〈νkν�

j 〉 = Rkδjk (5.46)

are known. At t = kT , the objective is to produce the optimal estimateof xk which is corrected for the measurement yk. We assume that, basedon the previous sequence of measurements {yi}k−1

i=0 , we have an unbiasedestimate x+

k−1 = E〈xk−1〉 with known variance

P+k−1 = var

{(x+

k−1

) (x+

k−1

)�}= var

{(δx+

k−1

) (δx+

k−1

)T}

.

This objective will be achieved in two steps.First, consider the objective of estimating xk if there were no mea-

surement available at time k. This estimate is denoted as x−k where the

superscript indicates that this is the estimate prior to using the new infor-mation available from the measurement. Taking the expectation of bothsides of eqn. (5.44) results in:

E〈xk〉 = Φk−1E〈xk−1〉 + Gk−1uk−1

= Φk−1x+k−1 + Gk−1uk−1.

Therefore, the unbiased state estimate at t = kT prior to incorporating themeasurement is

x−k = Φk−1x+

k−1 + Gk−1uk−1. (5.47)

To determine the error variance of this prior estimate, we first differenceeqns. (5.44) and (5.47) to produce the state space model for δx−

k = xk− x−k

δx−k = Φk−1δx+

k−1 + ωk−1, (5.48)

then proceed with the analysis similar to that described in Section 4.6.5:

P−k = E〈(δx−

k )(δx−k )T 〉

= Φk−1P+k−1Φ

�k−1 + Qdk−1. (5.49)

Page 207: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

184 CHAPTER 5. OPTIMAL STATE ESTIMATION

Second, at time t = kT (i.e., prior to incorporating the new measure-ment), treating x−

k as a measurement with measurement error δx−k , we have

two sets of information about the value of xk:

x−k = xk − δx−

k , where var(δx−k ) = P−

k , andyk = Hkxk + νk, where var(νk) = Rk

which is exactly the same form as eqns. (5.34–5.35) in the RLS derivation.Therefore, the optimal estimate x+

k of xk corrected for the measurementyk is given by eqns. (5.37) and (5.40). After changing the notation, thecovariance and state measurement update equations are(

P+k

)−1= (P−

k )−1 + H�k R−1

k Hk (5.50)

x+k = x−

k + Kk(yk − Hkx−k ) (5.51)

where Kk = P+k H�

k R−1k .

Therefore, the Kalman filter update is a two step process, the timeupdate by eqns. (5.47) and (5.49) and the measurement correction byeqns. (5.50) and (5.51). These equations propagate both the estimate andits error variance. The error variance is used to adjust the state estimationgain for each new measurement to optimally weight the new measurementinformation relative to all past information as represented by x and P.

5.4 Kalman Filter Derivation Summary

For the system described by

xk = Φk−1xk−1 + Gk−1uk−1 + ωk−1 (5.52)yk = Hkxk + νk. (5.53)

Section 5.3.4 derived the following version of the Kalman filter:

x−k = Φk−1x+

k−1 + Gk−1uk−1 (5.54)

yk = Hkx−k (5.55)

P−k = Φk−1P+

k−1Φ�k−1 + Qdk−1 (5.56)

(P+

k

)−1= (P−

k )−1 + H�k R−1

k Hk (5.57)

Kk = P+k H�

k R−1k (5.58)

rk = yk − yk (5.59)x+

k = x−k + Kkrk. (5.60)

Eqns. (5.54-5.56) are referred to as the Kalman filter time update equations.Eqns. (5.57-5.60) are referred to as the Kalman filter measurement update

Page 208: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.4. KALMAN FILTER DERIVATION SUMMARY 185

equations. Eqn. (5.59) defines the Kalman filter measurement residual.Analysis of the measurement residual can provide information about thevalidity of sensor information or the validity of the system and measurementmodels.

Section 5.2 also presented a derivation of the Kalman filter. The timeupdate equations were the same as eqns. (5.54–5.56); however, the mea-surement update equations for P+

k and Kk were

Kk = P−k H�

k

(HkP−

k H�k + Rk

)−1(5.61)

P+k = [I − KkHk]P−

k . (5.62)

The purpose of the next subsection is to show that the formulation of eqns.(5.57-5.58) is equivalent to the formulation of eqns. (5.61-5.62). ThenSubsection 5.4.2 will derive two additional forms of the covariance updateequation. The various implementations are summarized in Table 5.5. Addi-tional alternative implementations, including square-root implementations,are presented in [60].

It is important that the reader remember that although the Kalmanfilter can be implemented by a variety of techniques, the techniques areequivalent theoretically. However, some of the implementation techniquesrequire less computation while others have better numeric properties. It isup to the designer to select the most appropriate form for a given applica-tion.

For example, the form of the measurement update in eqns. (5.57-5.58)is often not convenient for real-time implementations due to the requiredmatrix inversion. The alternative formulation of eqns. (5.61-5.62) alsoinvolves a matrix inversion; however, the inverted matrix has dimensionscorresponding to the number of measurements instead of the number ofstates. Since the number of measurements is often significantly less thanthe number of states, the update of eqns. (5.61-5.62) is often preferred. Infact, when the problem can be formulated with only scalar measurements,as discussed in Section 5.6.1, then the matrix inversion in eqn. (5.61)reduces to scalar division. Such issues are discussed in Section 5.6.

Table 5.5 summarizes the discrete-time Kalman filter equations. TheKalman filter could be implemented by one of (at least) four techniques. Allthe approaches would use the same time update (eqns. (5.54-5.56)). Forthe measurement covariance update, four methods have been presented.The user must select one approach. In comparing the various covariancemeasurement update equations, eqn. (5.62) is the simplest formula andrequires the least computation. Although eqn. (5.57) results naturally fromthe derivation presented in Section 5.3.4, it is not as efficient to implementas the alternative, equivalent solutions. Eqns. (5.68) and (5.69) involveonly symmetric operations. Of the two, eqn. (5.69) is more numericallystable. Note that eqn. (5.69) is the same as eqn. (5.12) which is valid for

Page 209: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

186 CHAPTER 5. OPTIMAL STATE ESTIMATION

Initialization x−0 = E〈x0〉

P−0 = var(x−

0 )

Gain Calculation Kk = P−k H�

k

(Rk + HkP−

k H�k

)−1

Measurement Update x+k = x−

k + Kk (yk − yk)

Covariance Update P+k = [I − KkHk]P−

k

(choose one) P+k = [I − KkHk]P−

k [I − KkHk]� + KkRK�k

P+k = P−

k − Kk

(Rk + HkP−

k H�k

)K�

k

(P+k )−1 = (P−

k )−1 + H�k R−1

k Hk

Time Propagation x−k+1 = Φkx+

k + Gkuk

P−k+1 = ΦkP+

k Φ�k + Qdk

Table 5.5: Discrete-time Kalman filter equations. Computation of the matri-ces Φk and Qdk is discussed in Section 4.7.1.

any stabilizing state feedback gain vector L. The approaches described ineqns. (5.57), (5.62), and (5.68) apply only for the Kalman filter gain Kk.

5.4.1 Equivalent Measurement Updates

To show the equivalence of eqns. (5.57-5.58) to eqns. (5.61-5.62), we willapply the Matrix Inversion Lemma (see Appendix B) to eqn. (5.57) withA = P−, B = P−H�, C = − (

R + HP−H�)−1, and D = HP−. Theresult is

(P+

)−1 =[P− − P−H� (

R + HP−H�)−1HP−

]−1

P+ = P− − P−H� (R + HP−H�)−1

HP− (5.63)

P+ = P−[I − H� (

R + HP−H�)−1HP−

](5.64)

P+ =[I − P−H� (

R + HP−H�)−1H]P−. (5.65)

Substituting eqn. (5.64) into eqn. (5.58) yields

K = P+H�R−1

= P−H�[I − (

R + HP−H�)−1HP−H�

]R−1

= P−H� (R + HP−H�)−1 [

R + HP−H� − HP−H�]R−1

= P−H� (R + HP−H�)−1

. (5.66)

Page 210: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.4. KALMAN FILTER DERIVATION SUMMARY 187

Substituting eqn. (5.66) into eqn. (5.65), simplifies the latter to

P+ = [I − KH]P− (5.67)

where eqns. (5.66–5.67) correspond to eqns. (5.61-5.62).

5.4.2 Equivalent Covariance Measurement Updates

An alternative use of eqns. (5.66) and (5.63) is to show that

P+ = P− − K(R + HP−H�)K�. (5.68)

Lastly, eqn. (5.67) can be manipulated as shown below:

P+ = [I − KH]P− + P−H�K� − P−H�K�

= [I − KH]P− + K(R + HP−H�)K� − P−H�K�

= P− − KHP− + KRK� + KHP−H�K� − P−H�K�

= [I − KH]P− [I − KH]� + KRK�. (5.69)

where eqn. (5.66) was used in the transition from the first to second line.Eqn. (5.69) is referred to as the Joseph form of the covariance propagationequations [34].

5.4.3 Kalman Filter Examples

This section presents a few Kalman filter examples.The following example is useful in various applications including the

estimation of the GPS ionospheric error using data from a two frequencyreceiver as is discussed in Section 8.6 and carrier smoothing of code mea-surements as is discussed in Section 8.7.

Example 5.4 Consider the scenario where at each measurement epoch twomeasurements are available

yk = xk + nk (5.70)zk = xk + vk + B (5.71)

where nk ∼ N(0, σ2), vk ∼ N(0, (μσ)2) with μ � 1, B is a constant, and xk

can change arbitrarily from one epoch to another, and all the variables inthe righthand sides of the above equations are mutually uncorrelated. Theobjective is to estimate xk.

One solution using a complementary filter is illustrated in Figure 5.3.The residual measurement rk = zk − yk is equivalent to

rk = B + wk

Page 211: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

188 CHAPTER 5. OPTIMAL STATE ESTIMATION

�C084

0

0 �460

A$�3����

�4

�4

C460

Figure 5.3: Measurement bias complementary filter for Example 5.4.

where wk = vk − nk and wk ∼ N(0, (1 + μ2)σ2). Assuming that there isno prior information about B, this is the problem of estimating a constantfrom independent noise corrupted measurements of the constant that wasdiscussed in Example 5.3. The solution is

Bk = Bk−1 +1k

(rk − Bk−1)

starting at k = 1 with B0 = 0. Note that the value of B0 is immaterial.The estimation error variance for Bk is PB(k) = (1 + μ2)σ2

k . Given thisestimate of B, using eqn. (5.71), the value of xk can be computed as

xk = zk − Bk,

where the error variance for xk is Px(k) =((1 − μ2) 1

k + μ2)σ2. Initially,

the variance of x is σ2 as the number of measurements k increases, thevariance of x decreases toward μ2σ2.

This example has relevance to GPS applications for estimation of iono-spheric delay and for carrier smoothing of the pseudorange observable. �

This example is further investigated in Exercise 5.11. That exerciseconsiders the case where the measurement error process nk is not white.

Example 5.5 Section 4.9.4 presented a one dimension aided INS exam-ple using a state estimation gain vector designed via the pole placementapproach. That example is continued here using a Kalman filter. Thestate space description and noise covariance matrices are specified in Sec-tion 4.9.4. In the example, the initial error covariance matrix P−(0) isassumed to be a zero matrix.

The performance of the estimator is indicated by error standard devia-tion plots are shown in the left column of Figure 5.4 where var(p) = σ2

p,var(v) = σ2

v, and var(b) = σ2b . The portion of this curve that appears as

a wide band in the left column of figures is due to the covariance growthbetween position measurements followed by the covariance decrease at themeasurement instant. If the time axis was magnified, this growth and de-crease would be clearly evident as it was in Figure 4.7. The resulting time-varying Kalman filter gains are plotted in the right column. The Kalman

Page 212: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.5. KALMAN FILTER PROPERTIES 189

0 50 1000

0.5

1

σ p

0 50 1000

0.1

0.2

σ v

0 50 1000

0.005

0.01

σ b

Time, t, seconds

0 50 1000

0.2

0.4

Kp

0 50 1000

0.01

0.02

0.03

Kv

0 50 1000

2

4

6x 10

−4

Kb

Time, t, seconds

Figure 5.4: Kalman filter estimation performance for the simplified navigationsystem of Example 5.5. Left – Standard deviation of estimation error. Right –Kalman filter gain sequence.

gains are plotted as one dot at each sampling instant to clearly indicate thatthey are only defined at the sampling instants. Due to the assumption ofinitial perfect knowledge (i.e., P−(0) = 0), the Kalman filter gains are ini-tially small, but grow with time to optimally tradeoff the noisy measurementwith the increasingly noisy state estimates. In comparison with Figure 4.7,each of the Kalman filter state error variance terms is smaller than the cor-responding error variance terms of the pole placement observer, as expectedof the optimal design. �

5.5 Kalman Filter Properties

Section 5.2 derived the Kalman filter in the stochastic process framework asan unbiased, minimum variance, linear stochastic estimator. The results ofthat derivation approach can yield valuable insight into the Kalman filterand its performance.

Section 5.3 derived the Kalman filter as an extension of the weightedleast squares approach from linear sets of algebraic equations to linear sys-tems of ordinary difference equations in the presence of additive processdriving noise. In this context, the Kalman filter is derived as an optimalcombination (that turns out to be linear) of the time propagated estimate

Page 213: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

190 CHAPTER 5. OPTIMAL STATE ESTIMATION

from a previous time instant and the measurement at the present time in-stant. The optimal combination is dependent on the error variance of boththe prior state estimate and the current measurement. This presentationmethod was included to present the Kalman filter, as an optimal estimationalgorithm, in a context with which many readers are already familiar. Inparticular, the reader should understand that if the process noise varianceQd is identically zero and the discrete-time state transition matrix is anidentity matrix, then the Kalman filter reduces to recursive least squares.

A detailed stochastic analysis of the Kalman filter and its propertiesis beyond the scope of the present book. Several excellent texts alreadypresent such analysis, for example [31, 58, 60, 72, 93]. The presentationherein is meant to give the reader the theoretical understanding and prac-tical knowledge of the Kalman filter necessary for a successful implemen-tation. Hopefully, such implementation experience will motivate readers tofurther their understanding by learning more about stochastic processes.With such studies it is possible to show that, when the process noise andmeasurement noise are white and Gaussian, the initial state is Gaussian,and the system is linear, the Kalman filter has the following properties:

1. The Kalman filter estimate is unbiased.

2. The Kalman filter estimate is the maximum likelihood estimate. Itis also the minimum mean-squared error estimate. Under the givenassumptions, the filter state is Gaussian. By propagating the meanand error variance of the state, the Kalman filter is propagating thedistribution of the state conditioned on all available measurements.Since the conditional distribution is Gaussian, the mean, mode, andmedian are identical.

3. The conditional mean (hence, the Kalman filter estimate) is the min-imum of any positive definite quadratic cost function.

4. The conditional mean (hence, the Kalman filter estimate) is the min-imum of almost any reasonable non-decreasing function of the esti-mation error [31].

5. The Kalman filter, although a linear algorithm, is the optimal (linearor nonlinear) state estimation algorithm for a linear system.

6. The Kalman filter residual state error xk − xk at time step k is or-thogonal (stochastically) to all previous measurements yk:

E〈[xk − xk]yi〉 = 0, i = 1, . . . , k.

7. The measurement residual sequence rk = yk − yk is white with vari-ance

(Rk + HkP−

k H�k

)as given by eqn. (5.11).

Page 214: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.6. IMPLEMENTATION ISSUES 191

8. Given that the state is controllable from the driving noise and is ob-servable from the measurements, the Kalman filter estimation errordynamics are asymptotically stable. Therefore, for an observable sys-tem, the effects of the initial conditions (x−

0 and P−0 ) decay away and

do not affect the solution as k → ∞.

Since the above properties rely on three assumptions, it is natural to con-sider the reasonableness of these assumptions. Although most physical sys-tems are in fact non-linear, the linearity assumption can be locally appliedwhen the system non-linearities are linearizable and the distance from thelinearizing trajectory is small. These conditions are usually valid in naviga-tion problems, especially when aiding information such as GPS is available.The white noise assumption is also valid, since colored driving noise canbe modeled by augmenting a linear system with white driving noise to thesystem model. The Gaussian assumption is valid for most driving noisesources as expected based on the Central Limit Theorem [107]. Even whenan application involves non-Gaussian noise, it is typical to proceed as ifthe noise source were Gaussian with appropriately defined first and secondmoments. In such cases, although a better nonlinear estimator may exist,the Kalman filter will provide the minimum variance, linear, unbiased stateestimate.

5.6 Implementation Issues

This section discusses several issues related to the real-time implementationof Kalman filters.

5.6.1 Scalar Measurement Processing

The Kalman filter algorithm as presented in Table 5.5 is formulated toprocess a vector of m simultaneous measurements. The portion of themeasurement update that requires the most computing operations (i.e.,FLOP’s) is the covariance update and gain vector calculation. For example,the standard algorithm

K = P−H� (R + HP−H�)−1

(5.72)x+ = x− + K(y − Hx−) (5.73)P+ = (I − KH)P− (5.74)

can be programmed to require(

32n2m + 3

2nm2 + nm + m3 + 12m2 + 1

2m)

FLOP’s. Alternatively, when R is a diagonal matrix, the measurementscan be equivalently treated as m sequential measurements with a zero-widthtime-interval between measurements, which results in significant computa-tional savings.

Page 215: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

192 CHAPTER 5. OPTIMAL STATE ESTIMATION

At time t = kT , define

P1 = P−(k) x1 = x−(k)

H =

⎡⎢⎣ H1

...Hm

⎤⎥⎦ R =

⎡⎢⎣ R1 · · · 0

......

0 · · · Rm

⎤⎥⎦ .

⎫⎪⎪⎪⎬⎪⎪⎪⎭ (5.75)

Then, the equivalent scalar measurement processing algorithm is, for i = 1to m,

Ki =PiH�

i

Ri + HiPiH�i

(5.76)

xi+1 = xi + Ki(yi − Hixi) (5.77)Pi+1 = (I − KiHi)Pi, (5.78)

with the state and error covariance matrix posterior to the set of measure-ments defined by

x+(k) = xm+1 (5.79)P+(k) = Pm+1. (5.80)

The total number of computations for the m scalar measurement updatesis m

(32n2 + 5

2n)

plus m scalar divisions. Thus it can be seen that m scalarupdates are computationally cheaper for all m.

At the completion of the m scalar measurements x+(k) and P+(k) willbe identical to the values that would have been computed by the corre-sponding vector measurement update. The state Kalman gain vectors Ki

corresponding to the scalar updates are not equal to the columns of thestate feedback gain matrix that would result from the corresponding vec-tor update. This is due to the different ordering of the updates affectingthe error covariance matrix Pi at the intermediate steps during the scalarupdates.

Example 5.6 To illustrate the differences between the vector and scalarmeasurement updates, consider one measurement update for a second-ordersystem having

P−(k) =[

100 00 100

], x−(k) =

[00

],

H =

⎡⎢⎢⎣

1.0 0.00.0 1.00.7 0.30.5 0.5

⎤⎥⎥⎦ , y =

⎡⎢⎢⎣

10.2421.2013.9114.84

⎤⎥⎥⎦ , and R = I4.

Page 216: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.6. IMPLEMENTATION ISSUES 193

For the vector update, by eqn. (5.72), the Kalman gain is

K(k) =[

0.6276 −0.2139 0.3752 0.2069−0.2139 0.8136 0.0944 0.2999

]

which results by eqn. (5.73-5.74) in the state estimate

x+(k) =[

10.182320.8216

]with covariance P+(k) =

[0.6276 −0.2139

−0.2139 0.8136

].

For the set of m = 4 scalar updates, by eqn. (5.76) the gain sequence is

m 1 2 3 4

Ki0.99010.0000

0.00000.9901

0.44030.1887

0.20690.2999

The sequence of state estimates from eqn. (5.77) is

m 1 2 3 4 5

xi00

10.13860.0000

10.138620.9901

10.365821.0874

10.182320.8216

By eqn. (5.78) the second, fourth, and final error covariance matrices are

P2 =[

0.9901 0.00000.0000 100.0000

], P4 =

[0.6850 −0.1308

−0.1308 0.9341

], and

P+(k) = P5 =[

0.6276 −0.2139−0.2139 0.8136

].

Note that the final state estimate and covariance matrix from the sequenceof scalar updates is identical to the result from the vector update; however,the Kalman gains are distinct for the two implementations. �

5.6.2 Correlated Measurements

The scalar measurement processing algorithm is only valid in situationswhere the measurement noise corrupting the set of scalar measurementsis uncorrelated (i.e., R is a diagonal matrix). In situations where thisassumption is not satisfied, the actual measurements can be transformedinto an equivalent set of measurements z(k) with uncorrelated measurementnoise. The transformed set of measurements can then be used in the scalarprocessing algorithm.

With y = Hx + ν, let

E〈νν�〉 = R = UDU�,

Page 217: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

194 CHAPTER 5. OPTIMAL STATE ESTIMATION

where U is an orthonormal matrix (i.e., U�U = I). The UDU decomposi-tion is possible for any symmetric matrix, see Section B.11. If we choose zto be defined as

z = U�y.

Then the measurement z satisfies

z = U�y

= U�Hx + U�ν

= Hx + ν.

The equivalent additive noise ν has variance

E〈νν�〉 = E〈U�νν�U〉 = U�UDU�U = D.

Therefore, the scalar processing algorithm can be used with the measure-ment z having measurement noise with variance described by the diagonalmatrix D, and related to the state by the observation matrix H.

5.6.3 Bad or Missing Data

In many applications, a measurement expected at the k-th sample timemay occasionally be missing. Such instances have no effect on the Kalmanfilter algorithm, as long as the missing measurement is ‘ignored’ correctly.When a measurement is missing, the corresponding measurement update(both state and covariance) must not occur. Alternative, the missing mea-surement can be processed using an arbitrary value for yk as long as theKalman gain vector is set to zero, which corresponds to Rk being infinite.In addition, the state estimate and error covariance must be propagatedthrough time to the time of the next expected measurement.

Even when a measurement is available, it is sometimes desirable to rejectcertain measurements as faulty or erroneous. The Kalman filter providesa mechanism for detecting candidate measurements for exclusion. Let thestate error covariance be P− before the incorporation of the scalar mea-surement y = Hx+ ν. Then the measurement residual r = y− y is a scalarGaussian random variable with zero mean and variance

E〈rr〉 = HP−H� + R

where R = var(ν). The designer can select a threshold λ such that

Prob{r2 > λ

(HP−H� + R

)}= μ

where μ ∈ (0, 1) is usually quite small. This probability can be evaluatedusing the probability density for chi-squared random variables which isdefined on p. 164. When the condition

r2 > λ(HP−H� + R) (5.81)

Page 218: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.7. IMPLEMENTATION SEQUENCE 195

is satisfied, the measurement is declared invalid and the corresponding mea-surement update (state and covariance) is skipped. Repeated violations ofthe test condition can be used to declare the sensor invalid.

Use of such conditions to remove measurements deemed to be invalidcan be problematic. If the state error δx = x− x is for some reason largerthan that predicted by P−, then the above logic may remove all measure-ments. In realistic applications, the conditions for discarding measurementsis usually considerably more descriptive that indicated by eqn. (5.81).

In addition, when the condition r2 > λ(HP−H� +R) occurs, it is oftenuseful to log an assortment of descriptive data (e.g., yk, yk, x, Rk, Hk,and HkP−

k H�k ). The data logged at this condition may allow detection of

modeling errors or debugging of software errors.

5.7 Implementation Sequence

The discrete-time Kalman filter equations are summarized in Table 5.5.Because of the fact that the Kalman gain and covariance update equationsare not affected by the measurement data, the sequence of implementationof the equations can be manipulated to decrease the latency between arrivalof the measurement and computation of the corrected state.

After finishing with the k-th measurement, but prior to the arrival ofthe measurement (k + 1), the following quantities can be precomputed

x−k+1 = Φkx+

k + Gkuk (5.82)

P−k+1 = ΦkP+

k Φ�k + Qdk (5.83)

Kk+1 = P−k+1H

�k+1

(Rk+1 + Hk+1P−

k+1H�k+1

)−1

P+k+1 = P−

k+1 − Kk+1Hk+1P−k+1.

After the arrival of the measurement yk+1 at time tk+1, the state estimateis computed

x+k+1 = x−

k+1 + Kk+1 (yk+1 − yk+1) .

This reorganization of the KF equations requires that Φk, Gk, Qdk,Rk+1, and Hk+1 all be independent of the data so that they can be pre-computed. This is possible, for example, for time-invariant systems.

5.8 Asynchronous Measurements

Asynchronous do not occur at a periodic rate. It is straightforward to han-dle asynchronous measurements within the Kalman filter framework. Notethat the Kalman filter derivation did not assume the measurements to be

Page 219: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

196 CHAPTER 5. OPTIMAL STATE ESTIMATION

periodic. The Kalman filter does require propagation of the state estimateand its covariance from one measurement time instant to the next accord-ing to eqns. (5.82–5.83). Therefore, the Kalman filter can accommodateasynchronous measurements so long as the matrices Φk and Qdk can becomputed. Because the time period between measurements is not constant,for asynchronous measurements, the matrices Φk and Qdk are usually notconstant.

5.9 Numeric Issues

One of the implicit assumptions in the derivation of the Kalman filter al-gorithm was that the gains and the arithmetic necessary to calculate themwould take place using infinite precision real valued numbers. Computerimplementations of the Kalman filter use a finite accuracy subset of the ra-tional numbers. Although the precision of each computation may be quitehigh (especially in floating point applications), the number of calculationsinvolved in the Kalman filter algorithm can allow the cumulative effect ofthe machine arithmetic to affect the filter performance. This issue becomesincreasingly important in applications with either a long duration or a highstate dimension. Both factors result in a greater number of calculations.

If the filter state is observable from the measurements and controllablefrom the process driving noise, then the effects of finite machine precisionare usually minor. Therefore, it is common to add a small amount ofprocess driving noise even to states which are theoretically considered tobe constants.

Two common results of finite machine precision are loss of symmetry orloss of positive definiteness of the covariance matrix. These two topics arediscussed in the following subsections.

5.9.1 Covariance Matrix Symmetry

The error covariance matrix P = E〈δxδx�〉 is by its definition symmetric.However, numeric errors can result in the numeric representation of P be-coming non-symmetric. Four techniques are common for maintaining thesymmetry of P:

1. Use a form of the Kalman filter measurement update, such as theJoseph form, that is symmetric.

2. Resymmetrize the covariance matrices at regular intervals using theequation

P =12

(P + P�

).

Page 220: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.10. SUBOPTIMAL FILTERING 197

3. Because P should be symmetric, its upper and lower triangular por-tions are redundant. Instead of computing both, only calculate themain diagonal and upper triangular portion of P, then (if necessary)copy the upper portion appropriately into the lower triangular por-tion. This approach also substantially decreases the memory andcomputational requirements.

4. Use a UD factorized or square root implementation of the KalmanFilter as discussed in Subsection 5.9.2.

5.9.2 Covariance Matrix Positive Definiteness

The error covariance matrix P = E〈δxδx�〉 is by its definition positivesemi-definite. Computed values of P can lose the positive semi-definiteproperty. When this occurs, the Kalman filter gains for the correspondingstates have the wrong sign, and the state may temporarily diverge. Evenif the sign eventually corrects itself, subsequent performance will suffersince the covariance matrix is no longer accurate. In addition, the interimdivergence can be arbitrarily bad.

Any symmetric matrix, in particular P, can be factorized as

P = UDU�.

Special purpose algorithms have been derived which propagate the factorsU and D instead of P itself. The factors contain the same information as P,the factorized algorithms can be shown to be theoretically equivalent to theKalman filter, and the algorithms automatically maintain both the positivedefiniteness and symmetry of the covariance matrix. The main drawback ofsquare root algorithms are that they are more complex to program. Also,some formulations require more computation.

More general square root implementations of the Kalman filter havealso been derived. Various algorithms are presented and compared in forexample [60].

5.10 Suboptimal Filtering

When the “cost function” involves only the mean square estimation errorand the system is linear, the Kalman filter provides the optimal estimationalgorithm. In many applications, the actual system is nonlinear. Sub-optimal filtering methods for nonlinear systems are discussed in Section5.10.5. In addition, more factors may have to be considered in the overallfilter optimization than the mean squared error alone. For example, thecomplete Kalman filter may have memory or computational requirements

Page 221: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

198 CHAPTER 5. OPTIMAL STATE ESTIMATION

beyond those feasible for a particular project. In this case, the system engi-neer will attempt to find an implementable suboptimal filter that achievesperformance as close as possible to the benchmark optimal Kalman Filteralgorithm. Dual state covariance analysis, which is discussed in Chapter6, is the most common method used to analyze the relative performanceof suboptimal filters. A few techniques for generating sub-optimal filterswithin the Kalman filter framework are discussed in the following subsec-tions.

5.10.1 Deleting States

The best model available to represent the actual system, referred to as the‘truth’ model, will usually be high dimensional. In INS applications, thenumber of states can be near 100. GPS error states could add on the orderof 6 states per satellite. Since the number of FLOP’s required to implementa Kalman filter is on the order of n2m, where n is the state dimension andm is the measurement dimension, the question arises of whether some of thestates can be removed or combined in the implemented filter. For each hy-pothesized filter model, Monte Carlo or covariance studies can be performedto determine the performance of the designed filter relative to the ‘truth’model. Several rules have been developed through analysis and experienceto guide the designer in the choice of states to combine or eliminate.

5.10.1.1 Broadband Noise

Consider a driving noise that is modeled as a Gauss-Markov process. If theprocess PSD is flat at low frequencies and rolls off at frequencies sufficientlyhigher than the bandwidth of the process it excites, then the correspond-ing process model can be replaced with white driving noise with a PSDmatching that of the Gauss-Markov process at low frequencies.

Example 5.7 Consider the scalar Gauss-Markov process y(t) described by

x = −βx +√

2βGν (5.84)y = x (5.85)

where β and G are constants and ν is a Gaussian white noise process withPSD equal to σ2

ν . According to eqn. (4.49) the PSD of y is defined by

PSDy(ω) =2βG

β2 + ω2σ2

ν . (5.86)

If y is driving a low pass system with bandwidth much less than β rad/s,then the driving noise can be replaced by a Gaussian white noise process

Page 222: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.10. SUBOPTIMAL FILTERING 199

y = ξ with PSD equal to σ2ξ . To be equivalent at low frequencies, it is

necessary that

σ2ξ =

2G

βσ2

ν .

In general, if a wideband Gauss-Markov noise process is driving a narrowband process, it may be possible to find a lower state dimension drivingnoise process that closely matches the PSD of the actual driving noise onthe frequency range of interest.

5.10.1.2 Unobservable States

When two states have the same dynamics and affect the output and otherstates in identical manners, they can be combined.

Example 5.8 A sensor bias b is modeled as a random walk plus a randomconstant:

xk+1 =[

1 00 1

]xk +

[01

]ωk

bk =[

1 1]xk

with the initial variance of the random constant defined as

P0 =[

Pc(0) 00 0

].

Without any loss in performance, the sensor error model can be representedwith the following one-state model:

xk+1 = xk + ωk

bk = xk

with initial variance of the state defined as P0 = Pc(0). �

In Example 5.8, the two states were not separately observable. In general,unobservable (or weakly observable) states can be considered for removalor combination with other states.

5.10.2 Schmidt-Kalman Filtering

When states are removed from the full model to produce an implementablesub-optimal filter, the filter equations of the implemented filter must some-how account for the increased modeling error. This can be accomplished

Page 223: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

200 CHAPTER 5. OPTIMAL STATE ESTIMATION

by ad-hoc techniques such as increasing Q and R, but that approach canbe problematic, see Example 6.1. A rigorous approach is presented below.

Consider a system described by[x1

x2

]k+1

=[

Φ11 00 Φ22

] [x1

x2

]k

+[

ω1

ω2

]k

(5.87)

yk =[

H1 H2

] [ x1

x2

]k

+ νk (5.88)

where ν, ω1, and ω2 are mutually uncorrelated, Gaussian, white noiseprocesses. The full state vector x has been partitioned such that x2 containsthose state vector elements to be eliminated and x1 contains those statevector elements that the implemented filter will retain. The measurementupdate equations are[

x+1

x+2

]k

=[

x−1

x−2

]k

+[

K1

K2

]k

(yk − yk) . (5.89)

By the standard Kalman filter equations, the optimal filter gains can becomputed as[

K1

K2

]k

=[

P−11H

�1 + P−

12H�2

P−21H

�1 + P−

22H�2

] (H1P−

11H�1 + H2P−

21H�1

+ H1P−12H

�2 + H2P−

22H�2 + R

)−1.

The decision not to estimate x2 is equivalent to assuming that x2(0) = 0and defining K2(k) = 0. Therefore, the implemented filter should propa-gate the covariance matrices for the suboptimal gain vector

Lk =[

K1

0

]k

.

Due to the decoupling of the x1 and x2 states in the time propagationequations, the time propagation of the covariance is straightforward:

P−11 = Φ11P+

11Φ�11 + Q1

P−12 = Φ11P+

12Φ�22

P−22 = Φ22P+

22Φ�22 + Q2.

Substituting the suboptimal gain vector into the covariance measurementupdate of eqn. (5.12) yields:

P+11 = (I − K1H1)P−

11 (I − K1H1)� − K1H2P−

21 (I − K1H1)�

− (I − K1H1)P−12H

�2 K�

1 + K1H2P−22H

�2 K�

1 + K1RK�1

P+12 = (I − K1H1)P−

12 − K1H2P−22

P+22 = P−

22.

Page 224: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.10. SUBOPTIMAL FILTERING 201

0 200 400 6000

10

20

30

σ p, m

0 50 100 150 2000

0.5

1

1.5

σ v, m/s

0 200 400 6000

0.02

0.04

σ a, m/s

2

Time, t, seconds

0 50 100 150 2000

0.5

1

K1

0 50 100 150 2000

0.02

0.04

0.06

0.08

K2

0 50 100 150 2000

0.5

1

1.5x 10

−3

K3

Time, t, seconds

Figure 5.5: Performance of the Schmidt-Kalman Filter from Example 5.9.The left column of plots shows the error standard deviation of each estimate.The right column of plots shows the filter gains.

The Schmidt-Kalman filter eliminates the calculations that would be re-quired in an optimal implementation to propagate P22; however, the filtercorrectly accounts for the uncertainty of the x2 states in the calculation ofthe gain vector K1.

Example 5.9 Consider the one dimension inertial frame INS aided by abiased position measurement. The error equations for the INS are

⎡⎢⎢⎣

pva

b

⎤⎥⎥⎦ =

⎡⎢⎢⎣

0 1 0 00 0 1 00 0 0 00 0 0 −β

⎤⎥⎥⎦⎡⎢⎢⎣

pvab

⎤⎥⎥⎦ +

⎡⎢⎢⎣

0ωv

ωa

ωb

⎤⎥⎥⎦ (5.90)

Page 225: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

202 CHAPTER 5. OPTIMAL STATE ESTIMATION

y =[

1 0 0 1]⎡⎢⎢⎣

pvab

⎤⎥⎥⎦ + ν (5.91)

where var(ν) = R = 10 m2, PSDωv= 2.5 × 10−3 m2

s3 and PSDωa= 1.0 ×

10−6 m2

s5 . The measurement bias b is a scalar Gauss-Markov process withβ = 1

300 sec−1 and PSDωb= Qb = 4m2

s .The designer decides not to estimate the sensor bias and to use the

Schmidt-Kalman filter implementation approach. Figure 5.5 plots the filtergains in the right column and the predicted error standard deviations in theleft column. Even though the position sensor’s additive white noise ν hasstandard deviation equal to 3.2m, the accuracy predicted for the positionestimate is approximately 25m due to the unestimated sensor bias.

The approach of this example should be compared with that of Example6.1. �

5.10.3 Decoupling

Let the state vector x of dimension n be decomposable into two weakly-coupled (i.e., Φ12 and Φ21 approximately 0) subvectors x1 and x2 of di-mensions n1 and n2 such that n1 + n2 = n. Then the difference equationcan be approximated as

xk+1 =[

x1

x2

]k+1

=[

Φ11 00 Φ22

] [x1

x2

]k

+[

ω1

ω2

]k

where subscript k’s have been dropped in the right-hand side expressions.In this case, the error covariance can be time propagated according to[

P11 P12

P21 P22

]k+1

=[

Φ11P11Φ�11 Φ11P12Φ�

22

Φ22P21Φ�11 Φ22P22Φ�

22

]+[

Qd1 00 Qd2

].

The decoupled equations require 32n3

1 + 12n2

1 + 32n3

2 + 12n2

2 + n21n2 + n1n

22

FLOP’s. The full equation requires 32n3 + 1

2n2 FLOP’s. Therefore, thedecoupled equations require 7

2

(n2

1n2 + n1n22

)+n1n2 fewer FLOP’s per time

iteration than the full covariance propagation equations.Similar special purpose covariance equations can be derived for the case

where only one of the coupling terms is non-zero.

5.10.4 Off-line Gain Calculation

The covariance update and Kalman gain calculations do not depend onthe measurement data; therefore, they could be computed off-line. Since

Page 226: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.10. SUBOPTIMAL FILTERING 203

these calculations represent the greatest portion of the filter computations,this approach can greatly decrease the on-line computational requirements,possibly at the expense of greater memory requirements. The memoryrequirements depend on which of three approaches is used when storingthe Kalman gains. The Kalman gains can be stored for each measurementepoch, curve fit, or stored as steady-state values.

Pre-calculation of the Kalman gains will always involve at least the riskof RMS estimation error performance loss. In the case where only thesteady-state gains are stored, the initial transient response of the imple-mented system will deteriorate as will the settling time. Even in the casewhere the entire gain sequence is stored, the absence of expected measure-ments will result in discrepancies between the actual and expected errorcovariance matrices. The effect of such events should be thoroughly ana-lyzed prior to committing to a given approach.

Example 5.10 Consider using the steady-state Kalman filter gains to es-timate the state of the system defined as:[

x1

x2

]=

[0.0 1.0

−1.0 −0.2

] [x1

x2

]+[

0.01.0

yk =[

1.0 0.0] [ x1

x2

]k

+ νk, with P0 =[

16.0 0.00.0 1.0

],

PSDω = 1.0 and var(νk) = 10. The measurements are available at a 1.0Hz rate. The performance of the steady-state filter (dashed-dotted) relativeto the performance of the Kalman filter with time-varying gains (solid) isdisplayed in Figure 5.6. The two estimators have the same performanceuntil the instant of the first measurement at t = 1.0 s. The time-varyingKalman filter makes a much larger correction initially due to the large ini-tial error covariance. During the initial transient, the relative performancedifference is large with σ2

1 + σ22 always smaller for the Kalman filter than

for the steady state filter. Since both filters are stable and both filters usethe same gains in steady-state, the steady-state performance of the steadystate filter is identical to that of the full Kalman filter implementation. �

Note that the steady state filter approach will fail to apply directly if eitherthe Kalman gains are zero in steady state or do not approach constantvalues as t → ∞.

5.10.5 Nonlinear Filtering

The previous sections have concentrated on the design and analysis of op-timal (and suboptimal) estimation algorithms for linear systems. In many

Page 227: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

204 CHAPTER 5. OPTIMAL STATE ESTIMATION

0 1 2 3 4 5 6 7 8 9 101

2

3

4

σ 1

Time, t, secs.

0 1 2 3 4 5 6 7 8 9 101

2

3

4

σ 2

Time, t, secs.

Figure 5.6: Standard deviation of the estimation errors of steady state fil-ter (dashed-dotted) relative to time varying Kalman filter (solid). The errorvariance of x1 is σ2

1 . The error variance of x2 is σ22 .

navigation applications either the system dynamic equations or the mea-surement equations are not linear. For example, the GPS range measure-ment

r =√

(xs − xr)2 + (ys − yr)2 + (zs − zr)2 (5.92)

is nonlinear in the receiver antenna position (xr, yr, zr). It is therefore nec-essary to consider extensions of the linear optimal estimation equations tononlinear systems. This is the objective of the present section. The sectionmainly considers continuous-time systems with discrete measurements, asthey are most pertinent to navigation applications. The presentation hereinis limited to two of the traditionally most common nonlinear filtering tech-niques referred to as the Linearized Kalman filter and the Extended Kalmanfilter. Other nonlinear optimal estimation approaches such as particle fil-ters or unscented Kalman filters are discussed for example in [121]. Theresults of this section will be used extensively in the applications in Part IIof this text.

Consider the nonlinear system with dynamics and measurement de-scribed by

x(t) = f(x(t),u(t), t) + ω(t) (5.93)y(t) = h(x(t), t) + ν(t). (5.94)

Page 228: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.10. SUBOPTIMAL FILTERING 205

Although this model is restrictive in assuming additive uncorrelated whitenoise processes ω and ν, the model is typical of the systems found innavigation applications. The signal u(t) is a known signal and f and hare known smooth functions.

Define a reference trajectory x satisfying

˙x(t) = f(x(t),u(t), t) (5.95)y(t) = h(x(t), t) (5.96)

where x(0) ≈ x(0) and ‖x(t) − x(t)‖ is expected to be small for the rangeof t of interest. Two common methods for the specification of x will bediscussed in the sequel.

Letx = x + δx

then, dropping the time arguments of all signals to simplify notation, weobtain the following intermediate result:

x = ˙x + δx = f(x + δx,u, t) + ω

˙x + δx = f(x,u, t) +∂f∂x

∣∣∣∣x=x

δx + h.o.t′s + ω. (5.97)

Using eqn. (5.95) and eqn. (5.97), while dropping terms higher than firstorder, results in the linearized dynamic equation for the trajectory pertur-bation error state

δx = F(x,u, t)δx + ω where (5.98)

F(x,u, t) =∂f∂x

∣∣∣∣x=x

. (5.99)

The measurement equation can also be expanded as

y = h(x + δx, t) + ν

= h(x, t) +∂h∂x

∣∣∣∣x=x

δx + h.o.t.′s + ν. (5.100)

Using the definition of y in eqn. (5.96), the linearized residual output signalis defined by

z = y − y = H(x, t)δx + ν where (5.101)

H(x, t) =∂h∂x

∣∣∣∣x=x

. (5.102)

With the linearized error dynamics defined in eqns. (5.98) and (5.101), anapproximation to the optimal nonlinear estimator can be defined using thelinear Kalman Filter.

Page 229: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

206 CHAPTER 5. OPTIMAL STATE ESTIMATION

Initialization x−0 = x0

P−0 = var(δx−

0 )

Measurement Update Kk = P−k H�

k

(Rk + HkP−

k H�k

)−1

zk = yk − yk

δx+k = δx−

k + Kk

(zk − Hkδx−

k

)P+

k = [I − KkHk]P−k

Time Propagation δx−k+1 = Φkδx+

k

P−k+1 = ΦkP+

k Φ�k + Qdk

Definitions ˙x(t) = f(x(t), u(t), t)y(t) = h(x(t), t)δx = x − xx = x + δxF(x(t),u(t), t) = ∂f

∂x

∣∣x=x

Hk = H(x(tk), tk) = ∂h∂x

∣∣x(tk)=x(tk)

Table 5.6: Approximate nonlinear optimal estimation equations. Computationof the matrices Φk and Qdk is discussed in Section 4.7.1.

The implementation equations are accumulated for ease of reference inTable 5.6. With reference to Table 5.6, a few points are worth specificmention:

• The estimator in Table 5.6 is designed based entirely on the errorstate and the error state dynamics.

– The measurement update works with residual measurements, notmeasurements. Note that zk is the measurement minus the pre-diction of the measurement based on the reference trajectory.

– The estimator determines the error state, not the state. Becausethe reference trajectory is known and the error state is estimated,the best estimate of the state can be constructed (outside theestimator) as

x(t) = x(t) + δx(t).

– Due to the actual dynamics being nonlinear, the matrix P isonly an approximation to the actual error covariance matrix.Therefore, Monte Carlo simulations should be used in additionto covariance analysis to ensure that the results of the covarianceanalysis are accurate.

Page 230: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.10. SUBOPTIMAL FILTERING 207

This approach is analogous to the idea of a complementary filter andis further discussed in Sections 5.10.5.3 and 7.3.

• The linearized system is typically time-varying, see eqns. (5.99) and(5.102).

• The matrix Φk is the state transition matrix defined in eqn. (3.54)corresponding to F(x(t),u(t), t) for t ∈ [tk, tk+1). Both Φk and Qdk

will therefore be time varying. A method for computing Φk and Qdk

online is discussed in Section 7.2.5.2.

Several examples and applications are discussed in subsequent chapters.In navigation applications, the F matrix is typically not asymptoticallystable. Therefore, without aiding, the trajectory perturbation typicallydiverges with time. This is exemplified in Sections 4.9.3 and 4.9.4 wherethe divergence between aiding measurements is clearly shown. For thelinearized error dynamics to remain accurate, either the time interval ofinterest should be short or some aiding mechanism should be used to ensurethat ‖x(t) − x(t)‖ remains small.

5.10.5.1 Linearized Kalman Filter

In certain applications, orbiting satellites or interplanetary travel, the ve-hicle is expected to closely follow a predetermined trajectory x(t) that iscomputed in advance.

In such applications, where x(t) is a predetermined trajectory, the ap-proximate optimal estimation equations are referred to as a LinearizedKalman Filter. In this case, the on-line calculations can be significantlysimplified since the on-line measurements do not affect the calculation ofF, Φ,H,P, Qd, or K. Table 5.7 organizes the calculations of Table 5.6 intoon-line and off-line calculations. The estimate of the filter can be inter-preted as the error between the actual and prespecified nominal trajectory.A control law can be designed to attempt to drive this error toward zero.

5.10.5.2 Extended Kalman Filter

In many applications, human driven vehicles or autonomous vehicles withdata-reactive missions, the vehicle trajectory cannot be accurately pre-dicted during the design of the navigation system. See Part II for severalapplications of this approach.

In such applications, the nominal trajectory is defined to be equal tothe estimated trajectory, x(t) = x(t). In this case, the state estimationgain vector K (which is a function of x) will be a function of the stochasticprocess x(t). Therefore, the gain vector is a stochastic process. As long asthe state is observable from the measurements and the measurements are

Page 231: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

208 CHAPTER 5. OPTIMAL STATE ESTIMATION

Off-line Calculations ˙x(t) = f(x(t), u(t), t)yk = h(xk, k)F(x(t),u(t), t) = ∂f

∂x

∣∣x=x

Hk = H(x(tk), tk) = ∂h∂x

∣∣x(tk)=x(tk)

Kk = P−k H�

k

(Rk + HkP−

k H�k

)−1

P+k = [I − KkHk]P−

k

P−k+1 = ΦkP+

k Φ�k + Qdk

Initialization x−0 = x0

P−0 = var(δx−

0 )

Measurement Update zk = yk − yk

δx+k = δx−

k + Kk

(zk − Hkδx−

k

)Time Propagation δx−

k+1 = Φkδx+k

Table 5.7: Linearized Kalman filter equations. Computation of the matricesΦk and Qdk is discussed in Section 4.7.1.

sufficiently accurate, then 1) the state estimate should be near the actualstate; 2) the linearization should be accurate; and, 3) the performanceshould be good. If however, the estimate is far from the actual state, thelinearization will be inaccurate and the estimate may diverge rapidly. Thepossibility of using a poor state estimate in the filter gain calculations makesthe Extended Kalman Filter (EKF) riskier than the linearized Kalmanfilter. Alternatively, the fact that the estimated state is typically (undergood observability conditions) closer to the actual state than a predefinednominal trajectory usually allows the extended Kalman filter to producebetter performance than the linearized Kalman filter.

The implementation equations for the EKF are summarized in Table5.8. The algorithm can be manipulated to correctly work with either totalstates (i.e., x(t)) or error states (i.e., δx(t)), as discussed further in Section5.10.5.3.

5.10.5.3 Complementary Filtering and the EKF

In the implementation of the EKF, the solution to

˙x−(t) = f(x−(t),u(t), t), for t ∈ [tk, tk+1) with x−(tk) = x+k

is required between sampling instants. This book will primarily focus onnavigation systems implemented using a complementary filter structure,

Page 232: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.10. SUBOPTIMAL FILTERING 209

Initialization x−0 = x0

P−0 = var(δx−

0 )

Measurement Update Kk = P−k H�

k

(Rk + HkP−

k H�k

)−1

zk = yk − yk

x+k = x−

k + Kkzk

P+k = [I − KkHk]P−

k

Time Propagation ˙x−(t) = f(x−(t),u(t), t), for t ∈ [tk, tk+1)with x−(tk) = x+

k

P−k+1 = ΦkP+

k Φ�k + Qdk

Definitions F(x(t),u(t), t) = ∂f∂x

∣∣x=x

yk = y(tk) = h(x−(tk), tk)

Hk = H(x(tk), tk) = ∂h∂x

∣∣x(tk)=x(tk)

Table 5.8: Extended Kalman filter in feedback form. Computation of thematrices Φk and Qdk is discussed in Section 4.7.1.

see Chapter 7 and Part II. Feedforward and feedback complementary fil-ter block diagrams are shown in Figures 5.7 and 5.8, respectively. In thecomplementary filter approach, a set of high sample rate sensors providemeasurements of the signals u. The navigation system will integrate u us-ing the vehicle kinematic equations denoted by f(x−, u, t) to provide thenecessary reference trajectory. At appropriate sampling instants, the nav-igation system will provide an estimate of the value of the aiding sensorinformation y. The residual measurement, z = y − y, contains measure-ment noise and information about the state error δx. The purpose of theEKF is to remove the measurement noise and provide an accurate estimateof the state error vector.

The complementary filter structure is desirable because it manipulatesthe available data so that the Kalman filter design assumptions are satisfied(to first order). The measurements z = Hδx + ν that drive the EKF area linear combination of two random process: δx and ν. The state vectorof the EKF, δx, over short time intervals can be accurately modeled by alinear state space model driven by white noise. The issues stated in thissection will be further clarified in Chapter 7.

The reader should carefully compare the EKF algorithms summarizedin Tables 5.6 and 5.8. The feedforward approach of Table 5.6 clearly showsthat the EKF is designed using the linearized error dynamic equations andestimates the error state vector δx. Both the measurement update andtime propagation of the error state vector are accounted for explicitly. For

Page 233: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

210 CHAPTER 5. OPTIMAL STATE ESTIMATION

���� �A���$�� �

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

�2�8!���������

��

�0

��

0

0�1( �60

���!����������

A$�3����

�B

6B

1

Figure 5.7: Feedforward complementary filter implementation of the algo-rithm in Table 5.6.

the feedback algorithm summarized in Table 5.8, the error state is absent;however, the equations for Kk, P+

k and P−k+1 are exactly the same. These

issues often cause confusion and therefore deserve further comment.The algorithm in Table 5.6 is illustrated in Figure 5.7. Integration

of the vehicle kinematics provides the reference trajectory x which allowscalculation of the output y. The EKF estimates and propagates the errorstate which is added to the navigation system output to produce the totalnavigation state estimate.

The algorithm in Table 5.8 is illustrated in Figure 5.8. Again, integra-tion of the vehicle kinematics provides the EKF with the nominal trajec-tory and output. At initialization x0 = E〈x(0)〉; therefore, δx+(0) = 0and P+

0 = var(δx+(0)) = var(x(0)). Assuming that the first measurementoccurs for k = 1, the error state and its covariance at time t1 are computedas

δx−1 = Φ0δx+(0) = 0

P−1 = Φ0P+

0 Φ�0 + Qd0.

Because of the fact that δx−1 = 0, the measurement update

δx+1 = δx−

1 + K1

(z1 − H1δx−

1

)reduces to

δx+1 = K1z1 (5.103)

���� �A���$�� �

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

�2�8!���������

�6

��

0

�6 ���!����������

A$�3����

�B

�B

6

Figure 5.8: Complementary filter feedback implementation of the algorithmin Table 5.8.

Page 234: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.11. REFERENCES AND FURTHER READING 211

with K1 and P+1 computed as shown in Table 5.8. Given x−

1 and δx+1 , the

best estimate of the total state after the measurement is

x+1 = x−

1 + δx+1 = x−

1 + K1z1 (5.104)

which is equal to the expected value of x(t1) after accounting for the mea-surement information at time t1, which is denoted as x+

1 . Because the statecorrection of eqn. (5.104) results in x+(t1) = E〈x+

1 〉 then it is now truethat

δx+1 = x+

1 − E〈x+1 〉 = 0. (5.105)

The software implementation of the algorithm must make the assignmentδx+

1.= 0 immediately after implementing eqn. (5.104). Failure to reset

δx+1 to zero after correcting the total state estimate as in eqn. (5.104)

would result in double accounting for δx+1 in the subsequent measurement

correction. The result of eqn. (5.104) serves as the initial condition for thenext period of integration. Because δx+

1 = 0, we will have that δx−2 = 0

and the measurement correction at t2 will still reduce as in eqn. (5.103).The above procedure can be replicate at each measurement instant. Notethat it is not proper to state that “the error state is not propagated throughtime.” It is correct to state that the error state time propagation is trivialand is therefore not implemented.

A detailed example of the use of the error state to correct the total stateis presented in Section 12.6.

5.11 References and Further Reading

There are many excellent books on Kalman filter theory and design. Themain references for the presentation of this chapter were [31, 34, 58, 60, 93].The complementary filter and its relation to the Kalman filter is describedwell in [30, 31]. Alternative nonlinear estimation approaches, including theunscented and particle filters, are presented in a unified notation similar tothat used herein in [121].

5.12 Exercises

Exercise 5.1 In eqn. (5.22) on p. 175, let S = H(H�WH)−1H�W.

1. If W = R−1 = σ−2I show that S = H(H�H)−1H�.

2. For W symmetric and positive definite, use direct multiplication toshow that S is idempotent.

3. Show that (I − S) is idempotent.

Page 235: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

212 CHAPTER 5. OPTIMAL STATE ESTIMATION

Exercise 5.2 If Y ∈ RN×1, H ∈ R

N×n, and x ∈ Rn×1, the solution to the

least squares problem from eqn. (5.25) is

x = (H�H)−1H�Y. (5.106)

The solution to this equation can be problematic when H is poorly condi-tioned or nearly singular.

Let the singular value decomposition (see p. 469) of H be

H = [U1,U2][

Σ1 00 Σ2

] [V�

1

V�2

]

where U1 ∈ RN×r, Σ1 ∈ R

r×r is nonsingular and diagonal, and V1 ∈ Rr×n.

The parameter r is the rank of the matrix H and can be selected to excludesmall singular values (i.e., Σ2 ≈ 0).

Representing H asH = U1Σ1V�

1 ,

show that the solution to the least squares problem can be computed as

x = V1Σ−11 U�

1 Y. (5.107)

Exercise 5.3 Use eqns. (5.66) and (5.63) to derive eqn. (5.68).

Exercise 5.4 Assume that two Kalman filters provide two normally dis-tributed and unbiased estimates of x ∈ R

n. Denote the estimates as x1 andx2. The covariance of x1 is P1. The covariance of x2 is P2. The estimatesx1 and x2 are independent random variables.

Construct a hypothetical set of 2n measurements:[x1

x2

]=[

II

]x +

[n1

n2

](5.108)

where n1 ∼ N(0,P1) and n2 ∼ N(0,P2).

1. Use a method similar to that in Section 5.3.3 to show that the optimal(minimum mean squared error) combined estimate can be computedby either of the following equations:

xc = x1 +(P−1

1 + P−12

)−1P−1

2 (x2 − x1)

xc = x2 +(P−1

1 + P−12

)−1P−1

1 (x1 − x2) .

2. Show that either equation in part 1 can be reduced to

xc =(P−1

1 + P−12

)−1 (P−1

1 x1 + P−12 x2

).

Page 236: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.12. EXERCISES 213

3. In the special case that n = 1, show that either equation reduces to

xc =P2

P1 + P2x1 +

P1

P1 + P2x2.

4. Discuss the physical intuition that supports this result. Consider thelimiting cases where P1 is near 0 or ∞ and P2 is a finite nonzeroconstant.

Exercise 5.5 For the system described as

x =[

0 10 0

]x +

[01

]nx

y =[

1 0]x + ny

with Gaussian white noise processes nx ∼ N(0, 0.01) and ny ∼ N(0, 1),complete the following.

1. Calculate Φ and Qd for the discrete-time equivalent model for sampletime T .

2. Assume that x(0) ∼ N(0,0) and the measurement y is available at1.0 Hz.

(a) Implement the Kalman filter gain and covariance propagationequations.

(b) Plot the Kalman gains and the diagonal of the covariance matrixversus time.

3. Assume that x(0) ∼ N(0, 100I). Repeat the two steps of item 2.

4. Compare the results of the two simulations for t near zero and for larget. Discuss both the Kalman gain and the diagonal of the covariancematrix.

This problem is further discussed in Exercise 6.3.

Exercise 5.6 This problem returns to the application considered in Sec-tion 1.1.1. As derived in Section 1.1.1, the model for the error state vectoris

δp = δv,δv = δb + ω1,

δb = −λbδb + ωb.

⎫⎬⎭

Assume that λb = 1600s and that the PSD of ωb is 0.01

300

(m/s2)2

Hz . The vari-ance of acceleration measurement is

(0.05 m

s2

)2, The aiding sensor residualmeasurement model is

δy = δp + νp

Page 237: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

214 CHAPTER 5. OPTIMAL STATE ESTIMATION

where νp ∼ N(0, σ2p), σp = 1m, and the measurement is available at 1Hz.

Assuming that the system is initially (nominally) stationary at an un-known location, design a Kalman filter by specifying the stochastic modelparameters and initial conditions: x(0), P(0), F, Q, Γ, H, Φ, Qd, and R.

See also Exercise 7.5.

Exercise 5.7 In Example 4.2, the angle error model was

δθ(t) = bg(t) + ν(t). (5.109)

Assume that bg is a Gauss-Markov process with

Rb(τ) = σ2be−λb|τ |.

that ν ∼ N(0, σ2g) and that an angle measurement is available at 0.5Hz

that is modeled as θ = θ + νθ where νθ ∼ N(0, (1.0◦)2). Be careful withunits.

Design a Kalman filter by specifying the stochastic model parametersand initial conditions: x(0), P(0), F, Q, Γ, H, Φ, Qd, and R.

See also Exercise 7.1.

Exercise 5.8 Assume that

y(t) = x(t) + b(t) + n(t)

where n(t) ∼ N(0, σ2n) is white and x and b are stationary, independent

random processes with correlation functions

Rx(τ) = σ2xe−λx|τ |

Rb(τ) = σ2be−λb|τ |.

If the state vector is z = [x, b]� and measurements are available at 0.5 Hz,specify a set of state space model parameters (F, Q, Γ, H, Φ, Qd, and R)and initial conditions (x(0), P(0)) for the Kalman filter design.

Exercise 5.9 For the system described in Exercise 3.7 on p. 97, assumethat the variance of the 0.1 Hz position measurement is 10m, and that εa ∼N(0, σa) with σa = 0.01m/s2

√Hz

and εg ∼ N(0, σg) with σg = 2.0× 10−5 rad/s√Hz

.

1. Design a Kalman filter by specifying the discrete-time stochastic mod-el parameters and initial conditions: x(0), P(0), F, Q, Γ, H, Φ, Qd,and R.

2. Implement the Kalman filter (time and measurement) covariancepropagation equations. Plot the diagonal of the covariance matrixversus time.

Page 238: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

5.12. EXERCISES 215

3. Implement the covariance propagation equations for Exercise 3.7. Usethe observer gain from that exercise. Be careful to use the correctform of covariance propagation for the measurement update. Plotthe diagonal of the covariance matrix versus time.

4. Compare the performance of the two estimators.

Exercise 5.10 For the system described in Exercises 3.7 and 5.9, assumethat the variance of the 0.1 Hz position measurement is 10m and that εg ∼N(0, σg) with σg = 2.0×10−5 rad/s√

Hz. Also, assume that εa = ba+νa where ba

is a random constant with initial covariance(0.001 m

s2

)2

and νa ∼ N(0, σa)

with σa = 0.01 m/s√Hz

.

1. Design a Kalman filter by specifying the discrete-time stochastic mod-el parameters and initial conditions: x(0), P(0), F, Q, Γ, H, Φ, Qd,and R.

2. Implement the Kalman filter (time and measurement) covariancepropagation equations. Plot the diagonal of the covariance matrixversus time. Discuss this plot and why it has the form that it does.

Exercise 5.11 This exercise extends the analysis of Example 5.4 whichrelates to integer ambiguity resolution in carrier phase GPS processing.

Considered the scenario where at each measurement epoch (T = 1s)two measurements are available

yk = xk + nk (5.110)zk = xk + vk + Bλ (5.111)

where λ = 0.2; vk is a zero mean, white, Gaussian process with varianceσ2

z = (0.01)2; and xk can change arbitrarily from one epoch to another. Theconstant B is known to be an integer, but for this exercise we will treat itas a real number. We are interested in determining the time required forthe standard deviation of the estimate of B to be less 0.1 (i.e., the timeuntil we can round B to the nearest integer and expect it to have a highprobability of being correct). The variable nk is a scalar, Gauss-Markovprocess modeled by

nk+1 = ank + wk (5.112)

where wk is a zero mean, white Gaussian process with variance σ2w. The

parameter a = exp(−1/β) where β is the correlation time in seconds. Thepositive parameters σw and a are related by σ2

w = 1 − a2.

1. Denote the variance of nk as Pn(k) = var(nk). Confirm that propa-gation of the variance Pn, using the model given by eqn. (5.112), willresult in Pn = 1.0 in steady-state.

Page 239: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

216 CHAPTER 5. OPTIMAL STATE ESTIMATION

2. Design a (complementary form) Kalman filter for the system withstate xk = [B, nk]� and measurement rk = zk − yk.

• Show that the state transition model for the state has

Φ =[

1 00 a

], Qd =

[0 00 σ2

w

],

H = [1,−1] and R = σ2z .

• At k = 1, assume that xk = 0 and that

P−1 =

[σ2

0 00 1

]

with σ0 near infinity. Multiply out eqn. (5.61), then take thelimit as σ0 approaches infinity to show that K1 = [1, 0]�.

• Implement the Kalman filter to compute Kk, P+k , and P−

k . Forβ = 60s, run the simulation and answer the following questions.How many iterations are require for the standard deviation ofthe estimate of B to be less that 0.1. In steady-state, what isthe Kalman gain K?

3. Refer back to Example 5.4 where the correlation of nk was ignored.For that example, answer the following questions. How many itera-tions are require for the standard deviation of the estimate of B tobe less that 0.1. In steady-state, what is the Kalman gain K?

Exercise 5.12 For the system describe in Exercise 5.11, design a Schmidt-Kalman filter that estimates B, but not nk.

Page 240: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 6

Performance Analysis

This chapter presents methods to evaluate the performance of a state es-timator. The state estimator is assumed to produce an unbiased estimate(i.e. E〈x(t)〉 = E〈x(t)〉) and performance is quantified by the state esti-mate error covariance matrix.

Chapter 5 assumed that the estimator design model was an exact modelof the actual system. This assumption is optimistic. In the design process,as discussed in Section 5.10, a series of design tradeoffs may be consideredthat result in the design model being a reduced order approximation tothe truth model (i.e., best available linear model for the system). Dueto such tradeoffs and the fact that any mathematical model is only anapproximation to the actual physical system, the estimator design modelwill not exactly match the real system. Sections 6.1 and 6.2 are concernedwith methods to study estimator performance under these more realisticconditions. Section 6.3 presents methods that allow the designer to considereach source of system error separately to determine its contribution to theoverall error budget.

6.1 Covariance Analysis

Consider a system described by

x(t) = F(t)x(t) + G(t)ω(t)y(t) = H(t)x(t) + ν(t)

}(6.1)

which generates the discrete-time equivalent “truth model”:

xk+1 = Φkxk + ωd(k)yk = Hkxk + νk.

}(6.2)

The truth model is a high-fidelity model of the system. It may be toocomplex for use in actual applications. In such cases, a reduced-order design

217

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 241: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

218 CHAPTER 6. PERFORMANCE ANALYSIS

model may be used for the application. The continuous-time design modelis

˙x(t) = F(t)x(t) + G(t)ω(t)y(t) = H(t)x(t) + ν(t)

}(6.3)

which generates the discrete-time equivalent “design model:”

xk+1 = Φxk + ωd(k) (6.4)

yk = Hkxk + νk. (6.5)

From the design model, the Kalman filter design equations are

P−k+1 = ΦkPkΦ�

k + Qdk (6.6)

Kk = P−k H�

k

(Rk + HkP−

k H�k

)−1

(6.7)

P+k =

[I − KkHk

]P−

k . (6.8)

The objective of covariance analysis is to evaluate the performance of thestate estimated using the design model when using data obtained fromthe truth model. The state definitions for x and x are distinct with itusually being the case that dim(x) larger than dim(x). Therefore, wedefine a matrix V to select the appropriate linear combination of the actualsystem states to correspond with the estimator states. This section is thenconcerned with calculation of the error variance of

z = (Vx − x).

To analyze the performance of the coupled system, the joint state spacerepresentation for the system and the implemented estimator will be re-quired: [

x−k+1

x−k+1

]=

[Φ 00 Φ

]k

[x+

k

x+k

]+[

I0

]ωd(k) (6.9)

zk =[

V −I] [ xk

xk

](6.10)

y−k = [Hk,0]

[x−

k

x−k

](6.11)

y−k =

[0, Hk

] [ x−k

x−k

](6.12)

Kk =[

0k

Kk

](6.13)[

x+k

x+k

]=

[x−

k

x−k

]+ Kk

(y−

k − y−k

). (6.14)

Page 242: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6.1. COVARIANCE ANALYSIS 219

This expression represents the actual time propagation of the real systemand the estimate. Since the estimate is calculated exactly1, no processdriving noise is represented in the corresponding rows of eqn. (6.9). Also,the zeros concatenated into the estimation gain vector account for the factthat the estimator corrections do not affect the state of the actual system.

For this coupled system, the covariance propagates between samplingtimes according to

P−11(k + 1) = ΦP+

11Φ� + Qd� (6.15)

P−12(k + 1) = ΦP+

12Φ�

(6.16)

P−22(k + 1) = ΦP+

22Φ�

(6.17)

where P is partitioned as P11 = cov(x,x), P�21 = P12 = cov(x, x), P22 =

cov(x, x).The measurement update is computed by eqn. (6.14). Based on eqn.

(6.14), the covariance of the state after the measurement update is

P+(k) =(I + KkHk

)P−(k)

(I + KkHk

)� + KkRkK�k . (6.18)

Noting that H = [H,−H], eqn. (6.18) reduces to the following set ofequations,

P+11(k) = P−

11 (6.19)

P+12(k) = P−

12

(I − H�K�

)+ P−

11H�K� (6.20)

P+22(k) =

(I − KH

)P−

22

(I − H�K�

)+ KHP−

11H�K� + KRK�

+KHP−12

(I − H�K�

)+(I − KH

)P−

21H�K�. (6.21)

The error variance of the variable of interest, z, is defined at any instant by

cov(z) = VP11V� + P22 − VP12 − P21V�. (6.22)

Note that both the time and measurement covariance update equations aredependent on the characteristics of the measurement data (i.e. update rate,Qd, and Rk), but independent of the actual measurement data. Therefore,these equations can be precomputed off-line during the design phase. Thereare two reasons for being interested in such precomputation. First, the co-variance propagation accounts for the majority of filter computation. Incertain applications where the on-line computational capabilities are lim-ited, it may be necessary to determine and use either curves fit to the

1Quantization error can be modeled by a second additive noise source affecting theestimate, but is dropped in this analysis for convenience. In floating point processors,the effect is small.

Page 243: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

220 CHAPTER 6. PERFORMANCE ANALYSIS

Kalman gains or the steady-state Kalman gains. Although this will lightenthe on-line computational load, performance may suffer. For example, whensteady-state gains are used, performance will suffer during transient condi-tions such as start-up. Second, the covariance equations allow predictionof the state estimation accuracy. Therefore, it is often useful to performcovariance analysis in simulation prior to hardware construction to analyzeimplementation tradeoffs or ensure satisfaction of system specifications.

To summarize, assuming that P+(0) is known, starting with k = 0, thesteps of the covariance analysis are as follows for t ∈ [tk, tk+1) and k ≥ 0:

1. Specify the “truth model:” F, G, and Q.

2. Specify the “design model:” F, G, and Q.

3. Compute the discrete-time equivalent design model parameters: Φk

and Qdk.

4. Use eqn. (6.6) to propagate the error covariance of the design modelfrom tk to tk+1.

5. At time tk+1, increment k by one and compute H and H.

6. Compute and store the Kalman filter gain sequence Kk using eqn.(6.7) and compute the posterior design model error covariance usingeqn. (6.8).

7. Use the matrix parameters from the previous steps to process eqns.(6.15–6.22).

Iterate the above process over the time duration of interest or until steady-state is achieved.

Example 6.1 demonstrates the covariance analysis process.

Example 6.1 Consider the one dimension inertial frame INS aided by abiased position measurement. The error equations for the INS are⎡

⎢⎢⎣pva

b

⎤⎥⎥⎦ =

⎡⎢⎢⎣

0 1 0 00 0 1 00 0 0 00 0 0 −β

⎤⎥⎥⎦⎡⎢⎢⎣

pvab

⎤⎥⎥⎦ +

⎡⎢⎢⎣

0ωv

ωa

ωb

⎤⎥⎥⎦ (6.23)

y =[

1 0 0 1]⎡⎢⎢⎣

pvab

⎤⎥⎥⎦ + ν (6.24)

where var(ν) = R = 10 m2, PSDωv= 2.5 × 10−3 m2

s3 and PSDωa=

1.0 × 10−6 m2

s5 . The navigation mechanization equations are integrated in

Page 244: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6.1. COVARIANCE ANALYSIS 221

discrete-time using the small time step determined by the IMU to computethe navigation state. The error state dynamics are modeled in continuous-time. The position aiding measurement denoted by y is available at a 1.0Hzrate.

The measurement bias b is a scalar Gauss-Markov process with β =1

300 sec−1 and PSDωb= Qb = 4m2

s . For a scalar Gauss-Markov processwith these parameters,

Pb = −2βPb + Qb

Pb(t) = e−2βtPb(0) +(1 − e−2βt

) Qb

Pb(∞) =Qb

2β.

Therefore, the steady-state bias error covariance for b would be 600m2.Covariance analysis can be used to determine how a filter which ignores

the measurement bias would actually perform. In this case,

Φ =

⎡⎢⎢⎣

1 T T 2

2 00 1 T 00 0 1 00 0 0 ρ

⎤⎥⎥⎦ Φ =

⎡⎣ 1 T T 2

20 1 T0 0 1

⎤⎦ (6.25)

where ρ = e−βT . For both of the covariance analysis simulations describedbelow, T = 1.0 s and P(0) is a diagonal matrix with elements 100.0, 1.0,0.001, and 625.

Figure 6.1 displays the actual performance (bold dotted line) and inter-nal filter prediction (narrow solid line) of performance for the case whereR = 10 m2. Therefore, except for the neglected measurement bias, themodel of the implemented filter is correct. Based on the design model, thefilter expects an accurate, unbiased measurement of position. Therefore,the filter gains are relatively high. The design model covariance sequence ofeqn. (6.8) predicts that the position error standard deviation in steady-statewill be less than 1.5m, while the covariance analysis predicts a steady-stateposition error standard deviation great than 24m. The design neglecting thebias is overly optimistic.

Figure 6.2 displays the actual performance (bold dotted line) and inter-nal filter prediction (narrow solid line) of performance for the case whereR = 625m2. For this simulation, the implemented filter does not model thebias; instead, the design model increases R to a value meant to indicate thatthe error in each measurement has a standard deviation of 25m. Based onthis design model, the filter expects a measurement of position with a rel-atively large amount of white noise; however, if the noise was white, asmodeled, then suitable filtering of the measurement should produce an ac-curate estimate of position. Therefore, the filter gains are lower than the

Page 245: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

222 CHAPTER 6. PERFORMANCE ANALYSIS

50 100 1500

0.5

1

K1

50 100 1500

0.05

0.1

K2

50 100 1500

1

2x 10

−3

Time, t, sec

K3

50 100 1500

10

20

30

σ p, m

50 100 1500

0.5

1

1.5

σ v, m/s

50 100 1500

0.02

0.04

Time, t, sec

σ a, m/s

2

Figure 6.1: Results of the covariance analysis of Example 6.1 for R = 10 m2.The standard deviation of each component of the estimated state is plottedversus time in the left column. Actual performance is indicated by the bolddotted curve. The performance predicted by the implemented filter is thenarrow solid curve. The right column plots the Kalman filter gains versus time.

previous case. The filter trusts the filter state, which represents a time aver-age of all past measurements more than the measurement. The performanceprediction by the filter is still optimistic, σp = 7m predicted in steady-statewhile σp = 25m is achieved, because the model does not properly accountfor the time correlation of the position measurement error. The filter isnot averaging white noise corrupted measurements, but measurements witha highly correlated error. The actual (correlated error) will not average outover any reasonable time span.

A better method for addressing the sensor bias of this example withoutincluding it as an augmented state is discussed in Section 5.10.2. �

In the special case where the state definitions are the same and it isreasonable to assume that Φ = Φ and H = H with V = I, the error state

Page 246: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6.1. COVARIANCE ANALYSIS 223

50 100 1500

0.5

1

K1

50 100 1500

0.05

0.1

K2

50 100 1500

1

2x 10

−3

Time, t, sec

K3

50 100 1500

10

20

30

σ p, m

50 100 1500

0.5

1

1.5

σ v, m/s

50 100 1500

0.02

0.04

Time, t, sec

σ a, m/s

2

Figure 6.2: Results of the covariance analysis of Example 6.1 for R = 625 m2.The standard deviation of each component of the estimated state is plottedversus time in the left column. Actual performance is indicated by the bolddotted curve. The performance predicted by the implemented filter is the solidnarrow curve. The right column plots the Kalman filter gains versus time.

x = (x−x) can be defined and the covariance matrix propagation equationsfor the error state simplify considerably to

M−k+1 = ΦM+

k Φ� + Qdk (6.26)

M+k =

(I − KkHk

)M−

k

(I − H�

k K�k

)+ KkRkK�

k (6.27)

where M = cov(x, x). These equations will be used to support the discus-sion of Section 6.3. In that section, to simplify the notation, all subscriptk’s in eqn. (6.27) will be dropped.

To test the robustness of the filter design to model assumptions, thecovariance analysis may be repeated for various instances of the designmodel assumptions. For example, because the values of Qdk and Rk ineqns. (6.6-6.8) and Qdk and Rk in eqns. (6.26-6.27) can be distinct, the

Page 247: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

224 CHAPTER 6. PERFORMANCE ANALYSIS

latter set of equations can be used to study the state estimation accuracyversus the variance of a component of the process or measurement noise.This leads into the idea of Monte Carlo analysis that is briefly discussed inSection 6.2.

6.2 Monte Carlo Analysis

Monte Carlo analysis refers to the process of evaluating the actual navi-gation software in a simulation of the application. The simulation of theactual process starting from randomized input conditions is evaluated overexpected trajectories with additive stochastic process inputs. There aretwo main motivations for Monte Carlo analysis.

The first motivation is to test the navigation software in a controlledenvironment prior to field testing. To allow analysis of computation timeand latency related issues, the analysis may run the navigation code on theapplication computer with hardware connections to other computationalhardware that implements the application simulation. This is referred toas hardware-in-the-loop testing. This testing may detect sign errors, detectlatency or synchronization issues, or highlight the importance of previouslyunmodeled states or nonlinearities.

A second motivation is to perform statistical analysis of the navigationsystem actual performance in comparison with the filter estimate of itsstatistical performance (i.e., P). In addition, the analyst is interested indetermining whether the mean estimation error is unbiased. For statisti-cally valid results, numerous simulations calculating the filter estimationerror will be required. The error statistics will have to be calculated overthe ensemble of simulations. The accuracy of the statistical results deter-mined by either Monte Carlo or covariance analysis techniques is dependenton the accuracy of the “reality” or “truth” model that is assumed.

6.3 Error Budgeting

In the design of a state estimation system, there is usually a conflictingset of desires. Better performance may be achieved by either using moreor better sensors, or by appending more error states to the model; how-ever, either approach may increase the system cost. Covariance analysistechniques provide a systematic approach to evaluating alternative systemimplementations. When performing a covariance analysis as described inSection 6.1, the result is the covariance of the output error due to all errorsources. For an analysis of system design tradeoffs, it is usually more usefulto be able to calculate the output error variance due to each source inde-pendently. The output error variance due to each error source allows the

Page 248: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6.3. ERROR BUDGETING 225

designer to easily determine the dominant error sources and decide whetherit is feasible to reduce the error effects (through either better hardware ormore detailed modeling) to the point where the design specifications areachieved. This process is referred to as error budgeting.

Either eqns. (6.15-6.21) or eqns. (6.26-6.27) can be used for errorbudgeting analysis. Note that when K is fixed, both sets of equations arelinear in P0,Qd, and R (or M0,Qd, and R). For brevity, this discussiononly considers eqns. (6.26-6.27) with Q and R being time-invariant. Sincethis set of equations is linear in each of the driving noise terms, the principalof superposition can be applied.

Let M0 =∑lm

i=1 Mi(0), Q =∑lq

i=1 Qi, and R =∑lr

i=1 Ri. The symbolslm, lq, and lr denote the number of independent error or noise terms inthe matrices M0,Q, and R, respectively, and each of the matrices Mi(0),Qi, and Ri are symmetric and positive definite. For simplicity of notation,let each of these matrices be diagonal. The design eqns. (6.5-6.8) arefirst simulated once, with all noise sources turned on, to determine thegain sequence Kk. This gain sequence must be saved and used in each ofthe subsequent component simulations of the error budget analysis. Thecomponents of Pk that are of interest should be saved at the correspondingtimes of interest, for later analysis. For the subsequent l = lm + lq + lrsimulations of eqns. (6.26-6.27), the gain vector sequence is considered asgiven.

For each independent component of M0 (i.e., l = 1, . . . , lm), we calculate

M−l (k + 1) = ΦM+

l (k)Φ� (6.28)

M+l =

(I − KH

)M−

l

(I − H�K�

)(6.29)

with Ml(0) being the l-th independent component of M(0) as previouslydefined. This set of simulations produces the error covariance due to eachindependent source of initial condition uncertainty in the absence of processand measurement noise.

For each independent component of Qd (i.e., l = (lm +1), . . . , (lm + lq)),we calculate

M−l (k + 1) = ΦM+

l (k)Φ� + Qdi (6.30)

M+l =

(I − KH

)M−

l

(I − H�K�

)(6.31)

with Ml(0) being a zero matrix and Qdi being the discrete-time equivalentof Qi, where i = l−lm. This set of simulations produces the error covariancedue to each independent source of process driving noise in the absence ofinitial condition errors and measurement noise.

For each independent component of R (i.e., l = (lm + lq + 1), . . . , (lm +lq + lr), we calculate

M−l (k + 1) = ΦM+

l (k)Φ� (6.32)

Page 249: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

226 CHAPTER 6. PERFORMANCE ANALYSIS

M+l =

(I − KH

)M−

l

(I − H�K�

)+ KRiK� (6.33)

with Ml(0) being a zero matrix and i = l− lm − lq. This set of simulationsproduces the error covariance due to each independent source of measure-ment noise in the absence of initial condition errors and process drivingnoise.

At the completion of the (lm + lq + lr)-th covariance simulation, eachindependent source of system error has been accounted for exactly once.By the principle of superposition, for each k the total error covariance fromall sources Pk is computed as

Pk =(lm+lq+lr)∑

l=1

Ml(k).

Usually it is some subset of the diagonal elements of the Pk matrices thatare of interest. It is straightforward to tabulate the appropriate elementsof Pk versus the dominant error terms (i.e., M0,Qd,R) to determine theappropriate amount that each error source must be reduced to meet a givenspecification. This analysis also indicates states that are unobservable andtherefore candidates for either combination or deletion.

Example 6.2 Consider the one dimensional INS system described in Ex-ample 4.9.4 on page 159. Assume that a position measurement is availableat a 1 Hz rate for the first 100 seconds of a 200-second application and thatthe position measurement is corrupted by white measurement noise withvariance of 1.0 m2.

A 200 second simulation of eqns. (6.26-6.27) and the Kalman filtergain calculation equation results in the position error covariance illustratedin Figure 6.3. During the first 100 seconds when the position aiding isavailable, the position covariance converges to approximately 0.3m2 (σp =0.55m). For t ∈ [100, 200], while the aiding signal is unavailable, the posi-tion error covariance increases to approximately 3200 m2 (σp = 56.5m).

In this simple example, we will consider three independent error sourcesas performance limiting factors. If the present performance is not satisfac-tory, it is necessary to further analyze the contribution of each of the errorsources to the total error covariance so that educated decisions can be madeconcerning which of the system components should be improved to have thegreatest impact on the total system performance.

Figure 6.4 displays the results of performing separate covariance simu-lations for each of the following cases:

1. Total Error. This simulation produces the total error depicted in Fig-ure 6.3 and produces the Kalman gain sequence that will be used forthe following three simulations. For this simulation, R = 1.0m2, Q is

Page 250: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6.3. ERROR BUDGETING 227

0 20 40 60 80 100 120 140 160 180 20010

−1

100

101

102

103

104

Pos

ition

Err

or V

aria

nce,

m2

Time, t, sec

Figure 6.3: Position covariance for the position aided INS in Example 6.2.

a diagonal matrix of the following elements [0.0, 2.5×10−3, 1.0×10−6],and M0 is a diagonal matrix with elements [10.0, 1.0, 0.01]. The po-sition covariance sequence resulting from this simulation is shown inFigure 6.3 and Figure 6.4 as the solid line.

2. Uncertain Initial Conditions. This simulation uses the Kalman gainvector of simulation 1, with R and Q set equal to appropriately di-mensioned zero matrices. The M0 matrix assumes its original valueas defined in Simulation 1. Therefore, this simulation shows the effectof the uncertain initial conditions if both the INS and position sensorswere perfect. The results of the simulation are shown in Figure 6.4as the dashed-dotted line.

3. Position Measurement Noise. This simulation uses the Kalman gainvector of simulation 1. The M0 and Q matrices were set equal toappropriately dimensioned zero matrices. The R matrix assumes itsoriginal value as defined in Simulation 1. Therefore, this simulationshows the effect of the position measurement noise if there were nouncertainty in the initial conditions or INS sensors. The results of

Page 251: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

228 CHAPTER 6. PERFORMANCE ANALYSIS

0 20 40 60 80 100 120 140 160 180 20010

−6

10−5

10−4

10−3

10−2

10−1

100

101

102

103

104

Pos

ition

Err

or V

aria

nce,

m2

Time, t, sec

Figure 6.4: Total and component portions of the position covariance for theposition aided INS in Example 6.2.

the simulation are shown in Figure 6.4 as the dashed line.

4. INS Sensor Error. This simulation uses the Kalman gain vector ofsimulation 1. The M0 and R matrices were set equal to appropriatelydimensioned zero matrices. The Q matrix assumed its original valueas defined in Simulation 1. Therefore, this simulation shows the effectof the INS sensor noise and bias drift if there were no uncertainty inthe initial conditions or position sensor. The results of the simulationare shown in Figure 6.4 as the dotted line. The individual componentsof Q were not analyzed separately.

As in any correct application of the principle of superposition, each (error)source is accounted for exactly once and the results corresponding to eachsource individually sum to the total result with all sources forcing the systemat the same time. Figure 6.4 illustrates this fact.

Figure 6.4 shows that during the first 100 seconds, the system has essen-tially reached steady state. The error due to the initial condition M(0) isasymptotically approaching zero as expected in a stable system. The mainfactor limiting performance during the initial 100 seconds is the additivenoise on the position measurement.

For the time interval t ∈ (100, 200] seconds, no position measurements

Page 252: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6.3. ERROR BUDGETING 229

0 20 40 60 80 100 120 140 160 180 20010

−6

10−5

10−4

10−3

10−2

10−1

100

101

102

Pos

ition

Err

or V

aria

nce,

m2

Time, t, sec

Figure 6.5: Total and component portions of the position covariance for theposition aided (improved) INS in Example 6.2.

are available. On this interval, the position error covariance due to all threesources increases with time. Within 10 seconds of losing the position mea-surement, the INS errors (i.e., Q) dominate the error growth. Therefore,if better position accuracy is required for t ∈ (110, 200], the system perfor-mance can be improved considerably by investing in better inertial sensors.

If the series of four simulations is repeated assuming that the nominalvalue of the diagonal values of Q are [0.0, 5.0 × 10−6, 2.0 × 10−9], then theerror budget simulations change to those shown in Figure 6.5. The designvalues for Q were selected to make the INS and position sensor portions ofthe error covariance at t = 200s be approximately equal. In an actual anal-ysis, each component of Q could be analyzed separately to determine whichcharacteristic of the original system was driving the original performance.

Note that the Kalman gains used in these simulations to produce Figure6.5 are distinct from those used to produce Figure 6.4. The change in thesystem design results in different system characteristics in the first simu-lation of each figure, which yields the gains for the remaining simulations.�

Page 253: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

230 CHAPTER 6. PERFORMANCE ANALYSIS

6.4 Covariance Divergence

It is important to emphasize that the Kalman filter is the optimal filterfor the modeled process. If the model is an inaccurate representation of thephysical system, the optimal filter for the model cannot be expected to beoptimal for the actual system.

Covariance analysis provides a method for analyzing the performance ofa filter design relative to a ‘truth model’. Even when these analysis tech-niques predict that the system will achieve a desired level of performance,the actual implementation may not achieve that level of performance. As-suming that the algorithm is implemented correctly, the divergence of theactual performance from the predicted performance indicates that someimportant aspect of the system model has been neglected. Typical causesof divergence are neglecting unstable or marginally stable states, or theprocess noise being too small. Both of these effects result in the calculatederror variance being too small. Therefore, the calculated Kalman gain istoo small and the measurements are not weighted enough.

Analysis of the effects of and sensitivity to modeling errors is one of themain objectives of covariance analysis. Covariance analysis for which thesystem state and parameters {Φ,Qd,H,R,P(0)} are identical to those ofthe design model are useful only for demonstrating the optimal performancethat can be achieved under perfect modeling conditions. A good analystwill follow this optimal analysis with a study to determine a set of filterparameters that results in near optimal performance while being robust toexpected ranges of model uncertainty.

State estimators designed to be robust to model error and noise param-eter uncertainty in the system model are called robust state estimators.Such methods are reviewed in, for example, [121].

Example 6.3 To illustrate various ways that the actual and predicted filterperformance might not match, consider the example of estimating the stateof the random walk plus random constant system described by

x(t) = ω(t) (6.34)

with P (0) = var(x(0)) = 10 and Q(t) = var(ω(t)) = σ2 from discretemeasurements occurring at two second intervals:

y(tk) = x(tk) + ν(tk)

where tk = 2.0k seconds and R = var(ν) = 5.0. Therefore, the Kalmanfilter is designed using H = 1, Φ = 1, P (0) = 10 and R = 5. Assume forthe purpose of this example that the value of σ2 is not accurately known bythe analyst at the design stage. For the purposes of the example, the actualvalue will be taken as Q = 0.5.

Page 254: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6.4. COVARIANCE DIVERGENCE 231

0 5 10 15 200

5

10

P(t

) fo

r Q

=0.

0PredictedActual

0 5 10 15 200

0.5

1

Kk

0 5 10 15 200

5

10

P(t

) fo

r Q

=0.

2

0 5 10 15 200

0.5

1

Kk

0 5 10 15 200

5

10

P(t

) fo

r Q

=1.

0

Time, t, secs.0 5 10 15 20

0

0.5

1

Kk

Time, t, secs.

Figure 6.6: Various forms of performance mismatch. Top - Divergence. Mid-dle - Optimistic performance prediction. Bottom - ‘Pessimistic’ or conservativedesign.

Each row of plots in Figure 6.6 portrays the actual and predicted covari-ance, and the Kalman gain for an assumed value of Q. In the first row,the analyst incorrectly models the state as a random constant (i.e., Q = 0).Both the Kalman filter gain Kk and predicted covariance (dotted line) areapproaching zero. However, the actual error covariance (solid line) is di-verging and will grow without bound. This is due to the uncertainty in theactual state growing, while the (erroneously) computed variance of the esti-mated state approaches zero. The second row corresponds to an optimisticdesign. The design value of the driving noise spectral density is too small(i.e., Q = 0.2), resulting in the Kalman filter predicting better performancethan is actually achieved. The third row corresponds to a pessimistic de-sign in which the analyst has selected too large a value for the driving noisespectral density. The Kalman filter gain is larger than the optimal gain,and the filter achieves better performance than it predicts.

When the filter design is known to not perfectly match the plant, thepessimistic approach corresponds to the preferred situation. If the analystdesigns a pessimistic filter and achieves the design specification, then theactual system will also achieve the design specification.

Figure 6.7 shows data from a single trial run corresponding to the filterdesign shown in the top row of Figure 6.6 (i.e., Qh = 0.0). In this case, themeasurement residual sequence is clearly not a white noise sequence with

Page 255: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

232 CHAPTER 6. PERFORMANCE ANALYSIS

0 50 100 150 200

−10

−5

0

5

10

Time, t, s.

Res

idua

l

Figure 6.7: Residual sequence from a single trial for the filter designed withQh = 0.0. The solid line with x’s is the residual. The solid lines without x’s is

the filters predicted values for ±σr where σr =√

HP H� + R.

the variance predicted by P . Analysis of residual sequences is one of the bestmethods to detect model deficiencies. In doing so, the analyst should keep inmind that HkPkH�

k + Rk is predicting the variance of the residual rk overan ensemble of experiments. Therefore, for example, the residual sequenceof Figure 6.7 does indicate a model deficiency, but by itself does not indicatethat the residual is biased. If the experiment was repeated N times, withthe residual sequence from the i-th trial run denoted by rki , and all resid-ual sequences tended to drift in the same direction, then the analyst mightreconsider the system model to find the cause of and model the bias. Alter-natively, if the average of the residual sequences rk =

∑Ni=1 rki is essentially

zero mean, but the ensemble of residual sequences is not well-modeled by theP , then the analyst must consider possible alternative explanations.

To illustrate the nature of a residual sequence for a filter designed witha correct model, Figure 6.8 shows the residual for the filter designed withQh = 0.5. The residual is essentially zero mean, has no noticeable trends,and has steady-state variance that closely matches the P . �

6.5 References and Further Reading

The main references for the presentation of this chapter were [58, 93].

Page 256: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

6.6. EXERCISE 233

0 50 100 150 200

−6

−4

−2

0

2

4

6

Time, t, s.

Res

idua

l

Figure 6.8: Residual sequence from a single trial for the filter designed withQh = 0.5. The solid line with x’s is the residual. The solid lines without x’s is

the filters predicted values for ±σr where σr =√

HP H� + R.

6.6 Exercise

Exercise 6.1 This example is intended to motivate the importance of hav-ing an accurate design model.

Let the actual system dynamics (i.e., eqn. (6.1)) be

x =[

0 1−ω2

n 0

]x +

[01

]nx

y =[

1 0]x + ny

where nx ∼ N(0, σ2x), ny ∼ N(0, σ2

y), and x(0) ∼ N(0, I). Assume that theestimator design model is based on the assumption that ωn is zero, so thateqn. (6.3) is

˙x =[

0 10 0

]x +

[01

]nx

y =[

1 0]x + ny.

The aiding measurements y are available at 1.0 Hz.Perform a covariance analysis using σx = 0.01 and σy = 1.00.

1. For ωn = 0 (i.e., the design model is correct), note the approximatetime at which steady-state performance is achieved and the steady-state prior and posterior state estimation error standard deviation.

2. Repeat the simulation for values of ωn ∈ [0, 0.1]. Let the simulationrun for approximately 1000 s. Is a steady-state performance achieved?

Page 257: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

234 CHAPTER 6. PERFORMANCE ANALYSIS

Plot the state estimation error standard deviation at t = 1000s versusωn.

Exercise 6.2 Perform a covariance analysis where the implemented filter isdescribed as in Example 5.4 and the truth model is described as in Exercise5.11. Compare the time required for the covariance of B to be less than 0.1as predicted by the covariance of the implemented filter and as predictedby the covariance analysis.

Exercise 6.3 Perform an error budget analysis for items 2 and 3 of Exer-cise 5.5. Determine the separate contributions to the overall error from nx,ny, and var (x(0)).

Page 258: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 7

Navigation System Design

Chapter 1 used the rather simple example of point motion along a line tomotivate study of the various topics that have been presented in the previ-ous chapters. That chapter also raises various questions and topics of study,most of which could not be considered at that point without knowledge ofthe intervening material. This chapter revisits that simple example withdiscussion of how the material in Chapters 2–6 is useful in the analysis andstudy of aided navigation applications. The main objective of this chapteris to summarize the methodology outlined in Section 1.1.2 in the context ofthe theoretical tools discussed in Part I of this text. This methodology andset of theoretical tools forms the basis for the more realistic applicationsthat are considered in Part II.

7.1 Methodology Summary

The approach summary is as follows. We derive a kinematic model

x = f(x,u)y = h(x)

and have knowledge of E〈x(tk−1)〉 and var(x(tk−1)). We also have mea-surements

u = u + nu

y = y + ny,

where u is available at the rate f1 and y is available at the rate f2 withf1 � f2. The state estimate is produced by integrating

˙x = f(x, u)

235

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 259: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

236 CHAPTER 7. NAVIGATION SYSTEM DESIGN

over t ∈ (tk−1, tk] with the initial condition x(tk−1) = E〈x(tk−1)〉. Thisintegration is performed numerically with a time increment dt = 1

f1. The

symbol tk represents the next time at which the measurement of y is avail-able. We assume that Nf2 = f1 so that after N integration time stepst = t−k .

At time tk, the extended Kalman filter is used to estimate the error statevector using the information in the residual measurement zk = yk − yk

where yk = h(x(tk)). The EKF approach requires the initial error covari-ance var(δx(tk−1)) = Pk−1 = var(x(tk−1)) and the linearized dynamics ofthe error state

δxk = Φk−1δxk−1 + ωk−1 (7.1)zk = Hkδxk + νk. (7.2)

The EKF algorithm is summarized in Table 5.8 on p. 209.

As discussed in Section 5.10.5.3, the EKF is formulated using a com-plementary filter framework. The main assumptions of the Kalman filterderivation were that the system model was linear, driven by Gaussian whitenoise processes, with measurements corrupted by Gaussian white noise pro-cesses. The complementary filter approach ensures that these main assump-tions are satisfied because the Kalman filter is designed to estimate the er-ror state vector. The Kalman filter derivation, properties, implementationissues, and examples are presented in Chapter 5.

High performance navigation systems require accurate deterministic andstochastic modeling. Deterministic modeling requires careful analysis of therelationships between quantities represented in distinct reference frames todetermine the proper system model as represented by the functions f andh. There are a few issues that motivate the need for stochastic modeling.First, the initial conditions are not exactly known, but are convenientlyrepresented by a mean value and an error covariance matrix. Second, thesensors for u and y are not perfect, but are affected by various corruptingfactors. The imperfections in sensing u may be addressed by additive whiteprocess noise or by state augmentation. The imperfections in sensing y maybe modeled by white measurement noise or by state augmentation (withadditional process noise contributions). Through linearization and the stateaugmentation process, the designer is able to construct a dynamic errormodel that is linear with white Gaussian measurement and process noisevectors. Reference frames, deterministic modeling, and stochastic modelingare discussed in Chapters 2, 3, and 4, respectively.

The expected system performance and the performance under variousdesign configurations can be analyzed by the methods in Chapter 6.

Page 260: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.2. METHODOLOGY: DETAILED EXAMPLE 237

7.2 Methodology: Detailed Example

Sections 1.1.2 and 7.1 outlined the aided navigation system design and anal-ysis methodology. This section contains a short subsection that performseach step indicated in Sections 1.1.2 and 7.1 using the tools from Chapters2–6. The intent is to provide a rather complete presentation of the method-ology, subject to design assumptions, for a very simple application. This isthe same methodology and presentation format that will be used in each ofthe aided navigation applications considered in Part II.

The navigation problem that is of interest in this subsection is stated asfollows. A point is free to translate along a line with position p, velocity v,and acceleration a. Two navigation sensors are available: an accelerometerand a position sensor.

The accelerometer is sampled at the high rate of f1 = 100Hz and isaccurately modeled as

u = a − αa − bu − η1 (7.3)

where η1 is a Gaussian, white noise process with PSD equal to σ21 =(

10−3)2 (m/s2)2

Hz . The symbol α represents a constant scale factor errorwith α(0) ∼ N(0, (0.01)2). The accelerometer output signal u contains abias bu that is modeled as a constant plus random walk process

bu = ω1 (7.4)

where E〈bu(0)〉 = μbu, var(bu(0)) = Pbu

(0) = 0.012. The process noise ω1

is white, Gaussian, and uncorrelated with p, v, a, and η1. The PSD of ω1

is σ2bu

= (0.01)2 (m/s3)2

Hz .The aiding sensor provides information about the position. At discrete-

time instants, with a sampled rate of f2 = 1.0 Hz, the sensor output isaccurately modeled as

yk = pk + by(k) + η2(k). (7.5)

The discrete-time noise samples η2(k) are zero mean and Gaussian withvariance σ2

2 = (1.0m)2. The sensor y contains a bias by that is modeled as

by = −λyby + ω2 (7.6)

where λy ≈ 160 , E〈by(0)〉 = μby

, var(by(0)) = Pby(0) = 32 m2 and ω2 is

white, Gaussian and uncorrelated with p, v, a, η1, η2, and ω1. The PSD of

ω2 is σ2by

=(

3√30

)2(m/s)2

Hz .Assuming that the above information is accurate, the objective is to

design a system that accurately estimates p, v, and a at the frequency

Page 261: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

238 CHAPTER 7. NAVIGATION SYSTEM DESIGN

f1. The navigation system should maintain the position accuracy to betterthan 5.0 m while position aiding information is available and maintain anaccuracy of better than 10 m for at least 50 seconds after loss of the positionsensor information.

7.2.1 Augmented Kinematic Model

The system kinematics are described as

p = v (7.7)v = a. (7.8)

To these equations, we must augment the accelerometer and position sensorcalibration parameters. The augmented system kinematics have the form

x = f(x, a,ω) (7.9)

where x = [p, v, bu, by, α]�, ω = [ω1, ω2, η1]� and

f(x, a,ω) =

⎡⎢⎢⎢⎢⎣

vaω1

−λyby + ω2

0

⎤⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎣

x2

aω1

−λyx4 + ω2

0

⎤⎥⎥⎥⎥⎦ . (7.10)

The initial value of the augmented state is

x0 = [E〈p(0)〉, E〈v(0)〉, μbu , μby , 0]�

with covariance

Px(0) = diag ([Pp(0), Pv(0), (0.01)2, 32, (0.01)2]�) .

7.2.2 Navigation Mechanization Equations

The navigation mechanization equations are

˙x = f(x, a,0) (7.11)

where x = [p, v, bu, by, α]�, acceleration is estimated as a =(

u+bu

1−α

), and

f(x, a,0) =

⎡⎢⎢⎢⎢⎣

va0

−λy by

0

⎤⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎢⎣

x2(u+x31−x5

)0

−λyx4

0

⎤⎥⎥⎥⎥⎥⎦ . (7.12)

Page 262: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.2. METHODOLOGY: DETAILED EXAMPLE 239

4':!!!!!!!!!!!!!&!!!!!!!!!!!!!)!!!!!!!!!!!!!@!!!!!!!!!!!!!<

!D':!!!!!!!!!!!!!&!!!!!!!!!!!!!)!!!!!!!!!!!!!+#&(&,!!!!!!!!!:

Figure 7.1: Timeline illustration of the relationship between the fast time-index j used for state integration and the slow time-index k used for Kalmanfilter position aiding for the case that f2 = 1Hz.

In the general mathematical formulation given above, the mechanizationequations may not look quite as familiar as they do when written out inthe component-wise discrete-time equivalent form

pj+1 = pj + vjdt + 12 ajdt2

vj+1 = vj + ajdt

buj+1 = buj

byj+1 = βbyj

αj+1 = αj

⎫⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎭

(7.13)

where β = exp(−λydt) and dt = 1f1

. At least the first two equations shouldlook very familiar from elementary physics. These equations are iteratedat the f1 rate. The (fast) time index j = [0, f1 − 1] is used instead of the(slow) time index k = 0, 1, 2, . . . to make clear the distinction. The relationbetween the fast and slow time indices is illustrated in Figure 7.1. At thetime of each position measurement update: prior to the update j should be(f1 − 1), after the measurement update j is reset to zero, and the result ofthe measurement update serves as the initial condition (i.e., at j = 0) forthe next interval of integration.

7.2.3 Sensor Models

For this sample problem, all the sensor models are stated in the problemstatement. Given the estimated state x, the aiding sensor output is pre-dicted at discrete-time instants as

yk = pk + by(k) (7.14)

where T = 1.0 since the aiding measurements are obtained at a 1.0 Hzsample rate.

Page 263: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

240 CHAPTER 7. NAVIGATION SYSTEM DESIGN

7.2.4 Error Models

Defining the error state vector as δx = x − x, by linearizing the differencebetween eqns. (7.10) and (7.12), the dynamic equation for the state errorvector is

δx =

⎡⎢⎢⎢⎢⎣

0 1 0 0 00 0 1 0 u0 0 0 0 00 0 0 −λy 00 0 0 0 0

⎤⎥⎥⎥⎥⎦ δx +

⎡⎢⎢⎢⎢⎣

0 0 00 0 11 0 00 1 00 0 0

⎤⎥⎥⎥⎥⎦ω. (7.15)

In the derivation of this model, in the standard form of eqn. (4.57), theelements F23, F25, and G23 warrant additional discussion. These terms area linearization of

a −(

u + x3

1 − x5

)evaluated for x near x. Using the fact that for |δx| � 1, 1

1−δx≈ (1 + δx)

the linearization proceeds as follows

a −(

u + x3

1 − x5

)≈ a − (u + x5u + x3 + x3x5)

= a − (a − x5a − x3 − η1 + x5u + x3 + x3x5)≈ δx3 + uδx5 + η1 (7.16)

where uδx5 = x5a − x3x5 − x5u to first order. Eqn. (7.16) results in thesecond row of the F and G matrices.

The aiding output error model is the linearization of the difference be-tween eqns. (7.5) and (7.14). This linearization yields

δyk = δx1(k) + δx4(k) + η2(k)= Hδxk + η2(k) (7.17)

where H = [1, 0, 0, 1, 0].

7.2.5 State Estimator Design

Each subsection that follows describes one aspect of the estimator design.

7.2.5.1 Observability Analysis

To initiate the estimator design, we perform an analysis of eqns. (7.15) and(7.17) to determine the conditions under which the error state is observable.

Page 264: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.2. METHODOLOGY: DETAILED EXAMPLE 241

Using the results of Section 3.6.1, the observability matrix is

O =

⎡⎢⎢⎢⎢⎢⎢⎢⎣

1 0 0 1 0

0 1 0 −λy 0

0 0 1 λ2y u

0 0 0 −λ3y 0

0 0 0 λ4y 0

⎤⎥⎥⎥⎥⎥⎥⎥⎦

.

The first four states are observable because λy > 0. The accelerometer scalefactor error α is only observable over time intervals during which u(t) �= 0.Because the application is expected to satisfy this condition frequently,we expect to be able to estimate the error state vector. The accuracy ofthe estimate cannot be assessed without further analysis. Kalman filterdesign and subsequent performance analysis will require the discrete-timeequivalent model.

Note that formally this is an analysis of the observability of the errorstate δx, not the state x or the estimated state x. In fact, x is computed bythe navigation system and is known; however, the fact that x is known doesnot mean that it is an accurate representation of x. Because δx = x − x,the observability of δx implies that we can maintain the accuracy of x aswe can estimate δx and then correct x using the assignment x + δx. Whenδx is not observable it is possible for the unobservable portion of δx tobecome large, which implies that the corresponding ‘unobservable’ portionof x is not accurate.

7.2.5.2 Computation of Φ and Qd

Section 7.2.2 described the integration of the navigation state estimate withthe time increment dt = 1

f1determined by the instrument that measures

u. As the navigation state is integrated, error will develop between thecomputed state and the actual state, due for example to imperfections inthe measurement of u. It is the job of the Kalman filter to use the aidingmeasurements at the rate f2 to estimate and characterize the accuracy ofthe state estimation error.

The Kalman filter implementation will require the matrices Φk and Qdk

for the linear discrete-time model

δxk+1 = Φkδxk + wk (7.18)

that is equivalent to eqn. (7.15) at the sampling instants tk = kT whereT = 1

f2. The error model matrix parameters Φk and Qdk are used by

the Kalman filter to propagate the error covariance matrix from tk to tk+1.When the matrix F is not constant, as in this example, it may be necessaryto subdivide the time interval t ∈ [tk,tk+1] into smaller subintervals of

Page 265: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

242 CHAPTER 7. NAVIGATION SYSTEM DESIGN

length τ such that it is reasonable to consider F as constant on each intervalof length τ where Nτ = T . On each interval [tk, tk+1], define N > 1 andselect (N − 1) uniformly space time instants satisfying

tk−1 = τ0 < τ1 < . . . < τN = tk.

By the method of Section 4.7.2.2, the discrete-time state transition matrixfor an interval t ∈ [τi−1, τi] of length τ = (τi − τi−1) is

Φ(τi, τi−1) =

⎡⎢⎢⎢⎢⎢⎢⎣

1 τ 12τ2 0 u

2 τ2

0 1 τ 0 uτ

0 0 1 0 0

0 0 0 e−λyτ 0

0 0 0 0 1

⎤⎥⎥⎥⎥⎥⎥⎦ (7.19)

where τ should be selected small enough so that u(t) can be consideredconstant over each interval of length τ . Over each one second interval,using the results of Section 3.5.3, the Φ matrix is accumulated as

Φ(τi+1, τ0) = Φ(τi+1, τi)Φ(τi, τ0) (7.20)

with Φk−1 = Φ(τN , τ0) and Φ(τ0, τ0) = I.The Qd matrix can be computed by various methods, as discussed in

Section 4.7.2. Due to F being a function of the time varying signal u(t), wechoose to compute Qd by numeric integration of eqn. (4.110). Over eachone second interval, the Qdk−1 matrix is accumulated according to

Q(τi, τ0) = Φ(τi, τi−1)Q(τi−1, τ0)Φ�(τi, τi−1) + GQωG�τ (7.21)

for i = 1, . . . , N withQdk−1 = Q(τN , τ0)

and Q(τ0, τ0) = 0, where

Qω = diag([

σ2bu

, σ2by

, σ21

])is the PSD matrix for the continuous-time process noise vector ω.

Eqn. (7.21) is not obvious. It is derived as follows:

Q(τi, τ0) =∫ τi

τ0

Φ(τi, s)G(s)Q(s)G�(s)Φ�(τi, s)ds

=i−1∑j=0

∫ τj+1

τj

Φ(τi, s)GQG�Φ�(τi, s)ds.

Page 266: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.2. METHODOLOGY: DETAILED EXAMPLE 243

At this point, we note that Φ(τi, s) = Φ(τi, τj+1)Φ(τj+1, s) and to simplifynotation we define the matrix Aj =

∫ τj+1

τjΦ(τj+1, s)GQG�Φ�(τj+1, s)ds.

With this definition,

Q(τ1, τ0) = A0

Q(τ2, τ0) = Φ(τ2, τ1)A0Φ�(τ2, τ1) + A1

Q(τ3, τ0) = Φ(τ3, τ1)A0Φ�(τ3, τ1) + Φ(τ3, τ2)A1Φ�(τ3, τ2) + A2

= Φ(τ3, τ2)(Φ(τ2, τ1)A0Φ�(τ2, τ1) + A1

)Φ�(τ3, τ2) + A2

= Φ(τ3, τ2)Q(τ2, τ0)Φ�(τ3, τ2) + A2.

For the i-th iteration the corresponding formula is

Q(τi, τ0) = Φ(τi, τi−1)Q(τi−1, τ0)Φ�(τi, τi−1) + Ai−1.

Eqn. (7.21) results when Aj is approximated to first order in τ as

Aj = GjQjG�j τ

where Gj and Qj are the constant values of G(t) and Q(t) for t ∈ [τj , τj+1].The above discussion has presented one means of accumulating Φ and

Qd over a given time period to allow propagation of Pk at the f2 rate.In the above approach, N is a design parameter that allows a tradeoffbetween computational load and performance. The accumulation of Qd ineqn. (7.21) has the same structure as the time propagation of Pk. Onepossibility is to propagate the error covariance matrix Pk at the rate f1,which is equivalent to choosing N = f1, and replaces the accumulation ofQd with the high rate computation of Pk.

7.2.5.3 Time Propagation

This subsection formulates the equations for propagation of the state esti-mate and error covariance matrix between position corrections. The paren-thesis notation ‘x(t)’ is used to designate variables that are evolving incontinuous time. The subscript notation ‘xk’ is used to denote variables atdiscrete instants of time.

The EKF is implemented as follows, starting with x+0 = x0 and P+

0 =Px(0). Assuming that the first position measurement occurs at t = kT =1s, for k ≥ 1 the state estimate is updated by integration of eqn. (7.12) fort ∈ [(k− 1)T, kT ] from the initial condition x((k− 1)T ) = x+

k−1 to producex−

k = x(kT ). One implementation of the numeric integration is given ineqn. (7.13).

Given Φk−1 and Qdk−1, the covariance time propagation can be per-formed as derived in eqn. (5.49)

P−k = Φk−1P+

k−1Φ�k−1 + Qdk−1. (7.22)

Page 267: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

244 CHAPTER 7. NAVIGATION SYSTEM DESIGN

7.2.5.4 EKF Measurement Correction

This section is concerned with correcting the state estimate and error co-variance matrix P for any new information that may be available from theposition measurement at the discrete-time instants t = kT = tk. The cor-rected information serves as the initial conditions for the next period oftime integration.

At any time t = kT , for which a position measurement is available, assummarized in Table 5.5, the Kalman gain vector is defined as

Kk = P−k H� (

HP−k H� + R

)−1

where R = σ22 . Given the Kalman gain vector, the measurement correction

for the state and covariance are computed as

x+k = x−

k + Kk

(yk − y−

k

)P+

k = [I − KkHk]P−k .

where y−k = Hx−

k . At this point, both the state estimate and the errorcovariance matrix are appropriately defined to serve as the initial conditionsfor the next period of integration, as defined in Section 7.2.5.3.

At any time t = kT , if for some reason, no position measurement isavailable, then it is straightforward to define

x+k = x−

k

P+k = P−

k .

These equations correctly account for the fact that no new information isavailable. Neither the state estimate nor the error covariance matrix arechanged, but the initial conditions for the next period of integration, asdefined in Section 7.2.5.3, are appropriately defined.

7.2.6 Covariance Analysis

This section uses the covariance analysis methods of Chapter 6 to analyzethe performance of the system relative to the specification:

• |δp| < 5.0m with position aiding;

• |δp| < 10.0m for 50s following the loss of position aiding.

Prior to starting any numeric analysis, it is useful to have some physicalintuition into the required performance, to use as a reasonableness metricfor the analysis results. Based on the above specifications it is reasonableto expect that velocity accuracy on the order of 0.1m

s will be required tomeet the second portion of the spec.

Page 268: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.2. METHODOLOGY: DETAILED EXAMPLE 245

: ): <: ;: E: &:::

)

<

;

E

&:

7!$

: ): <: ;: E: &:::

:*)

:*<

:*;

:*E

&

5�$�7!�7!�

7!$F�

��

��

Figure 7.2: Covariance analysis results for the system of Section 7.1. Thetop set of graphs show results for the standard deviation of position σp. Thebottom set of graphs show results for the standard deviation of velocity σv.The wide solid line is the total error due to initial conditions, Q, and R. Thedotted line is the error due to the driving noise terms represented by Q. Thedashed line is the error due to the measurement noise represented by R. Thedashed-dotted line is the error due to initial conditions represented by P0.

A straightforward covariance analysis for the system described abovewith the variance and PSD parameters as summarized in Table 7.1 showsthat the first specification is safely achieved, but that the system fails tomeet the second specification. The result of that analysis is the wide solidcurve in each of the graphs of Figures 7.2 and 7.3. Position aiding is avail-able for t ∈ [0, 50]s, but not for t > 50s. At approximately 65 seconds, thesecond specification is violated.

The analysis requires definition of a specific acceleration profile becausethe system matrix F depends on the acceleration. For the analysis herein,it was assumed that the system accelerated forward at 3 m

s2 for t ∈ [30, 35]sand backward at 3 m

s2 for t ∈ [80, 85]s. Such analysis should be repeatedfor a variety of acceleration profiles to ensure that the level of performanceindicated is not particular to the assumed profile. The effect of the scalefactor error is slightly evident in the plot of the standard deviation of the

Page 269: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

246 CHAPTER 7. NAVIGATION SYSTEM DESIGN

velocity for t ∈ [30, 35]s.Due to the failure to meet the specification, an error budget analysis

(see Section 6.3) is performed to determine whether the problem is fixable.The result of the error budget analysis is shown by the three remainingcurves in Figures 7.2 and 7.3. If at any given time, the values of the threenarrow curves are added in a root-sum-squared sense, then the value onthe wide curve will result. The caption to the figure defines the meaningof each curve. For t > 50s we see that the position error grows approxi-mately parabolically due to the velocity error that appears to be growingalmost linearly with slope near 0.05m/s

s . From the error budget analysis,the dominant contributor to the growth of the velocity error is the the po-sition sensor noise variance R. Given the current aiding sensor suite, thevelocity and bias cannot be calibrated well enough to coast through a 50second period without position aiding. Our choice is therefore to considera better position sensor or to add additional aiding sensors. Investing in abetter quality accelerometer is not a high priority at this point as the errorbudget analysis shows that the driving noise Q makes a significantly lowercontribution to the overall error than does the measurement noise R.

Consider the addition of a velocity sensor with a 1.0 Hz sample rate anda measurement modeled as

yv = v + ν3

where ν3 is Gaussian white noise with standard deviation σ3 = 0.6ms . For

convenience, of presentation, the position and velocity measurements areassumed to both occur simultaneously. The velocity sensor is completelyindependent of the position sensor and will be available even when theposition measurement is unavailable. Therefore, for t ∈ [0, 50]s at 1.0 Hzwe can now make both position and velocity corrections. In this case,

H =[

1 0 0 1 00 1 0 0 0

]and R =

[1.00 0.000.00 0.36

].

For t > 50s at 1.0 Hz we will only make velocity corrections. In this case,

H =[

0 1 0 0 0]

and R = 0.36.

σ1 σ2 σbu σbu Pp Pv Pbu Pby Pα

0.001 1 0.01 3√30

100 25 0.012 32 0.012

Table 7.1: Summary of stochastic error model parameters and initial condi-tions.

Page 270: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.3. COMPLEMENTARY FILTERING 247

: ): <: ;: E: &:::

:*:?

:*&

: ): <: ;: E: &:::

)

<

: ): <: ;: E: &:::

:*::?

:*:&

:*:&?

5�$�7!�7!�

7!$F�F�

���

7!G

��

7!$

���

Figure 7.3: Covariance analysis results for the system of Section 7.1. The topset of graphs show results for the standard deviation of accelerometer bias, σbu

.The middle set of graphs show results for the standard deviation of positionsensor time correlated error, σby . The bottom set of graphs show results forthe standard deviation of scale factor, σα. The wide solid line is the total errordue to initial conditions, Q, and R. The dotted line is the error due only to thedriving noise terms represented by Q. The dashed line is the error due only tothe measurement noise represented by R. The dashed-dotted line is the errordue only to initial conditions represented by P0.

The covariance analysis results for this sensor suite are shown in Figures7.4 and 7.5. With the additional velocity sensor, the position and veloc-ity estimation accuracy is changed only slightly for t ∈ [0, 50]; however,for t > 50 the improvement is clear. The velocity is bounded at approxi-mately 30cm/s and position error is growing slow enough that the secondspecification is now safely achieved. Additional analysis of this example isconsidered in Exercise 7.3.

7.3 Complementary Filtering

The design approach of Section 7.1 is a form of complementary filtering.The basic idea of and motivation for complementary filtering is discussed

Page 271: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

248 CHAPTER 7. NAVIGATION SYSTEM DESIGN

: ): <: ;: E: &:::

)

<

;

E

&:

: ): <: ;: E: &:::

:*)

:*<

:*;

:*E

&

5�$�7!�7!�

7!$F�

��

7!$

��

Figure 7.4: Covariance analysis results for the system of Section 7.1 withan additional velocity sensor. The top graph shows results for the standarddeviation of position σp. The bottom graph shows results for the standarddeviation of velocity σv.

in this section.

7.3.1 Frequency Domain Approach

The designer has two sensors available

y1(t) = s(t) + n1(t)y2(t) = s(t) + n2(t)

where the measurement noise terms n1 and n2 are stationary random pro-cesses with known power spectral densities. The signal portion s(t) may bedeterministic or nonstationary; however, a model for s(t) is not available.

A general approach to the problem is illustrated in Figure 7.6. Theoutput of the filtering scheme of Figure 7.6 is 1

s(t) = G1(s)[y1(t)] + G2(s)[y2(t)]. (7.23)

The objective would be to design the filters G1(s) and G2(s) to optimallyestimate the signal s(t) from the noisy measurements y1(t) and y2(t). In

1The notation z(t) = G1(s)[y1(t)] should be read as z(t) is the signal output by thefilter with transfer function G1(s) given the input y1(t).

Page 272: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.3. COMPLEMENTARY FILTERING 249

: ): <: ;: E: &:::

:*:)

:*:<

: ): <: ;: E: &::)*;

)*E

@

: ): <: ;: E: &::E

H

&:

&&�!&:

(@

7!$F�F�

���

7!G

��

7!$

���

5�$�7!�7!�

Figure 7.5: Covariance analysis results for the system of Section 7.1 withan additional velocity sensor. The top graph shows results for the standarddeviation of accelerometer bias, σbu

. The middle graph shows results for thestandard deviation of position sensor time correlated error, σby . The bottomgraph shows results for the standard deviation of scale factor, σα.

the frequency domain, if the spectral characteristics of s(t) were known andstationary, this would correspond to the Wiener filter problem [31].

In the frequency domain, eqn. (7.23) is equivalent to

S(s) = (G1(s) + G2(s))S(s) + G1(s)N1(s) + G2(s)N2(s). (7.24)

Therefore, to pass the signal s(t) without distortion, we may wish to imposethe constraint that

G1(s) + G2(s) = 1, for all s. (7.25)

This results in the complementary filter approach to the problem as illus-trated in Figure 7.7. The system in the left portion of Figure 7.7 is the

�&

�)

0

�&

�)

�6

Figure 7.6: Two degree of freedom filtering application.

Page 273: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

250 CHAPTER 7. NAVIGATION SYSTEM DESIGN

&(�)

�)

0

�&

�)

�60

0�)!(!�&

0

(

0

0(�&6

�&

�) �)

�6

Figure 7.7: Single degree of freedom complementary filters.

same as Figure 7.6 after accounting for the constraint of eqn. (7.25). Thesystem in the right portion of Figure 7.7 is a reorganization of the blockdiagram. In the reorganized implementation, the input to the filter G2(s) isthe signal n2 −n1 which is a stationary random signal with known spectralcontent. Therefore, we have the tools available (e.g., the Wiener filter) todesign the optimal estimate of n1 based on the input signal n2 − n1. Theoutput of the filter n1 can be subtracted from y1 to produce the estimates(t). Note that this s(t) is suboptimal. It is the optimal estimate of s(t)subject to the complementary filter constraint, but there may be filterswith better performance that operate on y1(t) and y2(t). We have used thecomplementary filter constraint to convert the original problem into a newproblem for which our available design and analysis methods are appropri-ate. The Wiener filter design approach was not applicable to the originalproblem because no stochastic model was available for the signal s.

The complementary filter approach is especially useful in applicationswhere the sensors have complementary spectral characteristics. For exam-ple, if n1 has its spectral content predominantly in the low frequency rangewhile n2 has its spectral content predominantly in the high frequency range,then the filter G2(s) would be some form of low pass filter.

7.3.2 Kalman Filter Approach

The previous section presented the complementary filter from a frequencydomain perspective. Because the Kalman filter is a time varying filter, thetransfer function perspective is not directly applicable; however, the com-plementary filter idea does extend to Kalman filter applications as discussedin Section 5.10.5.3 and the ideas related to frequency separation betweenthe various error and noise sources is still important.

The direct application of the Kalman filter to the navigation problemof Section 7.1 is considered in Section 7.4. The problematic issue in Section7.4 will be the signal a(t) for which a time invariant stochastic model doesnot exist.

Alternatively, the approach of Section 7.1 addresses this issue by usingthe Kalman filter in a complementary filter format that eliminates a(t)from the estimation problem. Note that the Kalman filter is designed for

Page 274: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.4. AN ALTERNATIVE APPROACH 251

the error dynamics of eqn. (7.15) aided by the residual measurement

δyk = yk − yk

= δpk + δby(k) + η2

= Hδx + η2

as shown in eqn. (7.17). Therefore, for the linearized system, the assump-tions of the Kalman filter derivation are satisfied: the state space model isknown; it is driven by mutually uncorrelated, white, random noise processeswith known power spectral densities; and, the measurement noise satisfiessimilar assumptions. The approach of Section 7.1 is represented in blockdiagram form in Figure 5.8.

Note that the output y in eqn. (7.14) is the results of an integrativeprocess. It can be represented as

yk = (pk + by(k)) − (δpk + δby(k))

where the first term is the signal and the second term is the noise. Asthe output of an integrative process, the error term (δpk + δby(k)) is pre-dominantly low frequency and a state space model for its time variationis available. The model is given by eqn. (7.15) which is linear with whitenoise inputs. The output y of eqn. (7.5) can be expressed as

yk = (pk + by(k)) + η2(k)

where η2 is a white noise process. Due to the spectral separation providedby these two measurements, the complementary filter approach works well.

7.4 An Alternative Approach

The previous sections of this chapter have presented and discussed theapproach that is the primary focus of this text. This section presents an al-ternative total state approach that is often pursued instead of the approachdescribed above. This section is included, not because it is a better ap-proach, but because it describes the approach that students often try first.The approaches have many similarities and some important distinctions.The two approaches will be compared in Section 7.5.

Define the navigation system state vector as x = [p, v, a, bu, by, α]� withthe same initial conditions as stated in Section 7.1. Note that this statedefinition includes an estimate of the acceleration. In this approach theKalman filter measurement equations are propagated for each accelerationmeasurement.

Page 275: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

252 CHAPTER 7. NAVIGATION SYSTEM DESIGN

7.4.1 Total State: Kinematic Model

In this formulation, the system augmented kinematics are described as

x = f(x, ω) (7.26)

where ω = [ω1, ω2, ω3]

f(x, ω) =

⎡⎢⎢⎢⎢⎢⎢⎣

0 1 0 0 0 00 0 1 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 −λy 00 0 0 0 0 0

⎤⎥⎥⎥⎥⎥⎥⎦x +

⎡⎢⎢⎢⎢⎢⎢⎣

0 0 00 0 00 0 11 0 00 1 00 0 0

⎤⎥⎥⎥⎥⎥⎥⎦ω. (7.27)

In this model, ω3 is a fictitious driving noise.For the acceleration state, the above model has assumed that

a = ω3.

For simplicity of the description, this discussion will assume that ω3 is aGaussian white noise process with PSD of σ2

3 . Many other possible acceler-ation models could be hypothesized. In fact, this is one of the drawbacks ofthis approach. The model is attempting to force a time invariant Markovmodel on the acceleration signal when in fact the acceleration process isnot even a stationary random signal. Typically, the parameter σ3 of theacceleration model will be selected so that the [P]33 element is large, tocause the Kalman filter to use the acceleration measurement to correct theacceleration ‘state.’ Note that the selection of the acceleration model is ahypothesis. It does not have the same rigorous support as does the model-ing of the stationary sensor error processes that were discussed in Section4.9.2 and used in the approach of Section 7.1. As a result, the accelerationmodel may require significant tuning to achieve satisfactory performance.

7.4.2 Total State: Time Update

The navigation mechanization equations are

˙x = f(x,0) (7.28)

where x = [p, v, a, bu, by, α]� and

f(x, ω) =

⎡⎢⎢⎢⎢⎢⎢⎣

0 1 0 0 0 00 0 1 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 −λy 00 0 0 0 0 0

⎤⎥⎥⎥⎥⎥⎥⎦ x. (7.29)

Page 276: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.4. AN ALTERNATIVE APPROACH 253

The navigation system state vector is propagated between measure-ments using the following equations

p−k+1 = p+k + v+

k dt + 12 a+

k dt2

v−k+1 = v+

k + a+k dt

a−k+1 = a+

k

b−uk+1= b+

uk

b−yk+1= βb+

yk

α−k+1 = α+

k .

⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

(7.30)

The superscript + and − notations are incorporated at this point becausea measurement update will be performed following each acceleration mea-surement. These equations are iterated at the rate f1 (i.e., dt = 1

f1).

Because the Kalman updates will occur at the f1 rate, the covariancematrix P must also be updated at the rate f1, which is a major disadvan-tage. The P matrix is propagated between measurement as

P−k+1 = ΦP+

k Φ� + Qd (7.31)

where Φ ∈ R6×6 and Qd ∈ R

6×6 are constant matrices found by the methodin Section 4.7.2.1 with T = 1

f1, with F and G as defined in eqn. (7.27),

and Q = diag([σ2

bu, σ2

by, σ2

3 ])

. Alternatively, Φ can be extracted from eqn.(7.30).

7.4.3 Total State: Measurement Update

At the time of a (vector) measurement, the Kalman gain is computed as

Kk = P−k H� (

HP−k H� + R

)−1.

Given the Kalman gain vector, the measurement correction for the stateand P matrix are computed as

x+k = x−

k + Kk

(yk − y−

k

)P+

k = [I − KkHk]P−k .

The total state approach would include f1 = 100 acceleration and f2 = 1position measurement updates per second. The acceleration update occursalone (f1 − f2) = 99 times per second. For these instances, the Kalmangain and update are computed using

H =[

0 0 1 −1 0 −a]

and R = R =[

σ21

].

Page 277: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

254 CHAPTER 7. NAVIGATION SYSTEM DESIGN

The accelerometer and position measurements occur simultaneously f2 = 1times per second. For these instances, the Kalman gain and update arecomputed using

H =[

1 0 0 0 1 00 0 1 −1 0 −a

]and R =

[σ2

2 00 σ2

1

].

7.5 Approach Comparison

Even for this simple application, both approaches implement an EKF dueto the nonlinearity imposed by the scale factor error. In the approach ofSection 7.1 the nonlinearity is induced by the accelerometer scale factorcompensation in the time update. In the approach of Section 7.4 the non-linearity appears in the accelerometer portion of the measurement update.In more realistic applications, the kinematics typically involve nonlineari-ties, so an EKF will be required in either approach.

In the approach of Section 7.1, there are no free ‘tuning’ parameters.All the parameter values are determined from the characteristics of theinstruments. Based on the results of observability, covariance, or simulationanalysis, the designer may choose to combine or remove states or to tunethe parameters determined from the sensor characteristics; however, thereis a rigorous basis for the initial settings and subsequent tuning. The basicdesign model is a Markov process driven by stationary white noise processesand therefore satisfies the derivation assumptions for the Kalman filter. Theapproach of Section 7.4 starts with a model hypothesis for the accelerationstate. In most applications, there is no time invariant Markov model forthis state because the signal characteristics are determined by the end userand usually cannot be reliably predicted during the system design phase.The design does involve free tuning parameters and does not satisfy thebasic modeling assumptions of the Kalman filter.

Because both approaches implement EKF’s the P matrix is not, strictlyspeaking, the error covariance matrix in either case. However, as long as δxis kept small, in the approach of Section 7.1 the linearization error is small,and P is typically a reasonable representation of the accuracy of δx. Inthe case of the approach of Section 7.4 the matrix P cannot be expected tobe a reasonable characterization of the accuracy of δx unless the assumedmodel for the acceleration turns out to be accurate.

Similarly, the EKF measurement update in Section 7.1 is the optimallinear correction. The EKF measurement update in Section 7.4 is onlyoptimal if the assumed model for the acceleration turns out to be accurate.

The computational load of aided navigation systems is typically dom-inated by the time update of the P matrix. For the two algorithms, thecomputational load for the P matrix time and measurement propagationover each second of operation are compared in the Table 7.2. Eqn. (7.21)

Page 278: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.6. A CAUTION 255

Section 7.1 Section 7.4

State dimension ne nt

Time Update O(n3e)(

1τ + f2

) O(n3t )f1

Measurement Update O(n3e)f2 O(n3

t )f1

Table 7.2: General comparison of computational load for the navigation sys-tems of Sections 7.1 and 7.4. Typically, ne < nt and f2 << f1.

Section 7.1 Section 7.4

State dimension 5 6

Time Update O(125)(

1τ + 1

) O(21, 600)

Measurement Update O(125) O(21, 600)

Table 7.3: Specific comparison of computational load for the navigation sys-tems of Sections 7.1 and 7.4 f2 = 1 and f1 = 100.

is updated at the rate 1τ . In cases where the systems F and G matrices are

constant, τ can be set equal to 1f2

.Using the numerical values from the specific example discussed in this

chapter, the computational loading is displayed in Table 7.3. Assuming thatthe vehicle control bandwidth is approximately 1.0 Hz, then a reasonablevalue of τ would be 10 Hz. For τ = 0.1s, the approach of Section 7.1 requireson the order of 1500 FLOPS per second while the approach of Section 7.4requires on the order of 43000 FLOPS per second. Many examples showsimilar significant differences in computational loading.

7.6 A Caution

Specification of the initial error covariance matrix P is often a cause ofdifficulties. Being careless in the definition of P, especially the portionsof P related to the attitude errors, can have serious detrimental effects onthe performance of the system. It is often best to use the sensor readingsduring a short period at the start of operation to initialize the state vector.Based on the statistics of the sensor measurements and the initializationperiod duration, the error covariance matrix P can be specified reasonably.See for example Section 10.5.5.

In particular, the initial error covariance should not be initialized as

Page 279: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

256 CHAPTER 7. NAVIGATION SYSTEM DESIGN

P = σ2I with σ being a large positive number. Although this setting isoften suggested in linear estimation problems, it can be problematic innonlinear estimation problems. Such a setting provides no guidance to theestimation algorithm as too which components of the state are erroneous.Poor initialization of the portion of P relating to the attitude variables,which have strong nonlinearities, is particularly problematic. An initialvalue of the error covariance on the order of (π/2)2 for an attitude errormeans that the direction of motion is completely unknown. Therefore arelatively small position error could result in large changes to the attitude.

7.7 References and Further Reading

The main references for the discussion of the complementary filter are [30,31]. According to [31], the principle of the complementary filter originatesin [141] even though the term complementary filter appears first in [3].Exercise 7.4 considers an simplified aircraft instrumented landing system(ILS). The ILS was the topic of [3, 141] and was considered in Example 4.6in [31]. The ILS model and parameters have been altered to fit the contextof this text. The Wiener filter problem is discussed in [31, 139].

7.8 Exercises

Exercise 7.1 Consider the following two sensed quantities:

u = ω + b + n1

y = θ + n2

are available at 100Hz, where n1 ∼ N(0, σ21), n2 ∼ N(0, σ2

2), and b is ascalar Gauss-Markov process with Rb(τ) = σ2

3e−λ|τ |:

b = −λb +√

2λn3

with n3 ∼ N(0, σ23), and λ > 0. The symbol θ represents an angle and ω

represents the angular rate. The kinematic relationship between θ and ω isθ = ω, as in Example 4.2.

1. Define the mechanization equations by which u would be used tocompute θ.

2. Define the error state to be δx = [δθ, δb]�. Using the complemen-tary filter approach, define the error state dynamic and measurementequations.

3. Assume that σ1 = 0.005 rads , σ2 = 1.0◦, σ3 = 0.0005 rad/s2

√Hz

, λ =1

300sec−1, and that the angle sensor is sampled at 0.5Hz.

Page 280: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

7.8. EXERCISES 257

(a) Design a Kalman filter by specifying the stochastic model pa-rameters and initial conditions: x(0), P(0), F, Q, Γ, H, Φ, Qd,and R.

(b) Angular rate and angle measurement data are posted on thewebsite for the book.

i. Implement the equations that integrate u to compute θ.ii. Implement the Kalman filter that uses y to estimate δθ. Use

this δθ estimate to correct θ.

Plot the residual measurements and the standard deviation ofthe residual measurements at the measurement time instants.

(c) Compare the actual and predicted performance of the systembased on the analysis of the residuals.

Exercise 7.2 For the system defined in Exercise 7.1, the error dynamicequations are time invariant. The error state is observable from the residualmeasurement and controllable from the process noise. A stable steady-state filter exists. The steady-state gain K can be found by a variety ofmethods, one of which is running the covariance simulation until steady-state is approximately achieved.

1. Find the steady-state gain K of the Kalman filter.

2. Perform covariance analysis for the time-varying filter of Exercise 7.1and for the steady-state filter. Discuss the performance (transientand steady-state) and computational tradeoffs.

Exercise 7.3 For the system of Section 7.2.6:

1. Complete an observability analysis of the error state δx for the sensorsuite being used for t > 50s. Relate the results of this observabilityanalysis to the results shown in Figures 7.4–7.5.

2. For t ∈ [0, 100], complete an error budget analysis similar to that inFigures 7.2 and 7.3 for the case of the additional velocity sensor.

Exercise 7.4 This exercise discusses a simplified aircraft instrument land-ing system (ILS). The objective of this exercise is to estimate the lateraldeviation d and its rate of change d. The aircraft is assumed to be flyingat a known constant speed v = 200km/hr.

The ILS is assumed to supply to the aircraft a signal

dk = dk + ηk + nk (7.32)

at 1.0 Hz where n is Gaussian white noise with variance σ2n = (10m)2 and

η(t) = −λη(t) +√

2λσ1w1(t) (7.33)

Page 281: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

258 CHAPTER 7. NAVIGATION SYSTEM DESIGN

where w1 is Gaussian white noise with PSD σ21 = 10 (m/s)2

Hz, and λ = 1

2

rads .

The rate of change of d(t) is d = vψ where ψ is the difference betweenthe aircraft and runway heading. Because the heading of the runway isconstant and known, ψ can be estimated from the yaw rate gyro as

˙ψ(t) = r(t) (7.34)

where r(t) = r(t) + w2(t) and r represents the yaw rate, w2 is Gaussianwhite noise with PSD σ2

2 = 9 × 10−8 (rad/s)2

Hz .Define x = [d, η, ψ]� and ω = [w1, w2]�.

1. Define the kinematic equations for the state vector.

2. Define the state model for the system with the output d.

3. Show that the state space model for the error state vector is

δx =

⎡⎣ 0 0 v

0 −λ 00 0 0

⎤⎦ δx +

⎡⎣ 0 0√

2λσ1 00 −1

⎤⎦ω

δdk =[

1 1 0]δxk + nk

and that the PSD matrix for ω is

Q =[

1 00 σ2

2

].

4. Analyze the observability of the system.

5. Predict the estimation accuracy for both d and ˙d.

6. The system model is time invariant. Find the steady state Kalmangain K from the previous step. Analyze the performance and com-putational savings that could be achieved by using the K instead ofKk in the filter implementation.

Exercise 7.5 This problem returns to the application considered in Sec-tion 1.1.1. Exercise 5.6 derived the parameters of the Kalman filter design.Accelerometer and position aiding measurements are posted on the websitefor the book.

1. Implement the equations to integrate the (corrected) accelerometermeasurements to produce an estimate of the navigation state vector.

2. Implement the Kalman filter error estimator and use the estimatederror state to correct the navigation state vector.

3. Check the system design by analyzing the behavior of the residualaiding measurements relative to their expected behavior.

Page 282: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Part II

Application

259

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 283: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 284: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Part II Overview

This portion of the book applies the theory from Part I in a few naviga-tion applications. A detailed discussion of the GPS system is presentedin Chapter 8. GPS is a very commonly used aiding system in navigationapplications such as encoder-based dead-reckoning (see Chapter 9) or in-ertial navigation (see Chapter 11). There are several other aiding sensorsavailable (e.g., alternative GNSS, pseudolites, radar, lidar, imagery, andacoustic rangers). In fact, there are too many to present them all herein.Instead, the objective herein is to present the methodology in sufficient de-tail, using GPS as an example aiding system, that the readers will be ableto adapt the approach to the specific aiding sensors appropriate for theirapplications.

Chapters 9 discusses GPS aided encoder-based dead-reckoning. Thissensor combination is used in a variety of commercial applications and stu-dent projects involving land vehicles. This aided navigation application ispresented first as students often consider its model and mathematical anal-ysis to be easier than the inertial applications in the subsequent chapters.

Each of the aided navigation chapters (i.e., Chapters 9–12) will follow asimilar method of presentation: basic discussion of the sensor technology,derivation of kinematic equations, presentation of the corresponding navi-gation mechanization equations, derivation of the navigation error state dy-namic equations, discussion of state augmentation, derivation of the modelof the residual aiding signal measurement model, and discussion of perfor-mance related issues. The similar method of presentation in each chapteris intended to highlight the methodology so that readers can easily extendthe necessarily frugal analysis herein to their own circumstances and appli-cations.

Chapter 10 considers the estimation of the attitude and heading of a ve-hicle. This is the only chapter in the book to discuss and utilize quaternions.The application can be easily built and tested in a laboratory environmentand makes a very good first design and implementation project. Comple-tion of the project ensures that the quaternion algorithms are implementedcorrectly and those algorithms are then available for other applications.

261

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 285: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

262

Chapters 11 and 12 consider strapdown inertial navigation systems.Chapter 11 discusses standard material on the topic of inertial navigation.GPS aided inertial navigation is one of the most common aided navigationapplications. Chapter 12 considers an inertial navigation system aided byDoppler velocity and acoustic ranging measurements for an underwater ve-hicle. This application is included as it allows discussion of the modelingof measurements involving delayed states (i.e., the measurement y(t) is afunction of x(t) and x(t − τ) for some τ > 0).

Page 286: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 8

Global Positioning System

The purpose of this chapter is to introduce the Global Positioning System(GPS), model equations, and system characteristics in the notation thatwill be utilized in the following chapters. The chapter presents the essentialtechnical information necessary for the interested reader to understand andutilize GPS in real-time navigation systems.

This chapter discusses three GPS positioning methods: standard GPS,differential GPS (DGPS), and carrier phase DGPS. For each method, theexpected accuracy is discussed. Throughout this chapter, GPS solutiontechniques are presented in the context of realtime point positioning. Eachtime sample is considered independently (i.e., no filtering). This presenta-tion approach enables straightforward discussion of GPS position accuracyand solution methods. Clear benefits are obtainable by filtering the GPSdata. Use of GPS as an aiding signal is discussed in Chapters 9 and 11.This chapter assumes that certain necessary quantities (e.g., satellite po-sitions) can be calculated. These calculations are described in AppendixC.

The outline of this chapter is as follows. Section 8.1 provides a high-level view of the GPS system and an overview of the signal characteristics.Section 8.2 discusses the GPS pseudorange observable, related notation,and a method for determining the receiver antenna location from a set ofsimultaneous pseudorange measurements. Section 8.3 discusses the basicmeasurements of a receiver and the formation of the pseudorange, carrierphase, and Doppler observables from the basic measurements. Sections8.2–8.3 will have introduced and used notation to describe the various GPSmeasurement errors. The various error sources are characterized in Section8.4. The effect of GPS measurement errors on position estimation accuracyis analyzed in Section 8.5. The utility of two frequency receivers is discussedin Section 8.6. Carrier-smoothing of pseudorange observables is discussed inSection 8.7. Various methods for differential GPS processing are discussed

263

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 287: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

264 CHAPTER 8. GLOBAL POSITIONING SYSTEM

in Section 8.8. Approaches to integer ambiguity resolution are discussed inSection 8.9.

8.1 GPS Overview

GPS is an all weather, worldwide, continuous coverage, satellite-based radionavigation system. GPS provides nearly uniform, worldwide accuracy. Inaddition, GPS receivers are available at very reasonable cost.

8.1.1 GPS System

GPS consists of three major segments: space, control, and user.The space segment consists of the GPS satellites. The satellite vehicles

(SVs) orbit Earth in six 12-hour (11 hr 58 minute) orbital planes with(nominally) four satellites in each plane. The orbits are nearly circularwith inclination angles of 55 degrees and altitude above the Earth surfaceof approximately 20,200 km. The six orbit planes are equally spaced aroundthe equator resulting in 60 degree separation. This constellation ensuresthat (barring obstructions) a user located anywhere on Earth has a directline-of-sight to at least four satellites at any time. Since satellites are notin geosynchronous orbits, the geometric relation between the satellites isconstantly changing with respect to a stationary receiver on Earth. Thischanging geometry results in changing, but predictable, position estimationaccuracy for positions determined from a fixed set of satellites (see Section8.5). The SVs emit coded radio signals which a GPS receiver will decodeto determine important system parameters.

The control segment is responsible for monitoring the health and statusof the space segment. The control segment consists of a system of trackingstations located around the world including six monitor stations, and a mas-ter control station. The ground monitoring stations measure signals fromthe SVs which are transmitted to the master control station. The mastercontrol station determines the orbital model and clock correction parame-ters for each satellite. These parameters (and other data) are transmittedto the satellites which then broadcast them to the user segment.

The user segment consists of antennas and receivers. Traditionally, re-ceivers consist of three major stages. The radio frequency (RF) front-endperforms three basic tasks on the input signal from the GPS antenna: am-plification, filtering, and shifting of the GPS signal portion of the frequencyspectrum to a lower frequency range. The baseband portion of the receiverhas several channels that operate in parallel on the signal output by the RFfront-end. Each channel tracks a signal from one satellite to determine cer-tain basic channel variables and to determine the data bits carried by thatsignal. The basic channel variables determine the transit time and carrier

Page 288: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.1. GPS OVERVIEW 265

phase. These are further described in Section 8.3. The data bits describeinformation needed to compute such items as SV position and velocity, SVclock error, and SV health. The navigation portion of the receiver usesthe SV positions and the measured signal transit times from satellite toreceiver to estimate position, velocity, and time for the user. The threestages described for a traditional receiver may be less clearly identifiable assuch in advanced receivers. For example, an advanced receiver might usethe navigation solution to aid in finding or tracking weaker signals fromother satellites.

GPS provides two levels of service: a Standard Positioning Service (SPS)and a Precise Positioning Service (PPS). SPS is a positioning and timingservice which is available to all GPS users on a continuous, worldwide basiswith no direct charge. This level of service is (currently) provided by the L1frequency through the course acquisition (C/A) code and a navigation datamessage. Full SPS operational capability was achieved in late 1993. Typicalaccuracy of GPS estimated position using SPS is discussed in Section 8.4.10.Precise positioning service PPS is a more accurate positioning, velocity,and timing service which is available only to users authorized by the U.S.government. Access to this service is controlled by a technique known asanti-spoofing (AS). Certain advanced GPS receivers are able to track theL2 signals without PPS authorization, with a mild performance penalty,thus allowing two frequency operation to civilian users.

GPS receivers operate passively (i.e., they do not transmit any signals);therefore, the GPS space segment can provide service to an unlimited num-ber of users. The GPS system is a line-of-sight system. If the path betweenthe receiver and a satellite is obstructed, then the satellite signal may notbe received. For example, a typical GPS receiver will not function indoors,on underwater vehicles, or under significant foliage.

8.1.2 Original GPS Signal

Each GPS satellite continuously transmits using two carrier frequencies,L1 (1575.42 MHz) and L2 (1227.60 MHz). The carrier frequencies aremodulated by data and spread spectrum signals to carry information tothe user.

The L1 signal is modulated, in quadrature, by two Code Division Multi-ple Access (CDMA) signals: C/A and P(Y). The coarse/acquisition (C/A)code has a length of 1023 chips and a 1.023 MHz chip rate, resulting ina code period of one millisecond. Each chip has a value of ±1. There isa different C/A PRN code for each satellite and each C/A PRN code isnearly orthogonal to all other C/A PRN codes. Although all satellites arebroadcasting on the same two frequencies, a GPS receiver is able to lock-onto a specific satellite and discriminate between satellites by correlating aninternally generated version of the known C/A code for that satellite with

Page 289: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

266 CHAPTER 8. GLOBAL POSITIONING SYSTEM

the received signal. Since the C/A codes for each satellite are unique andnearly orthogonal, the cross-satellite interference is small. The GPS spacevehicles are often identified by their unique C/A PRN code numbers. Theprecise (P) code modulates both L1 and L2 carrier phases. The P-code isa very long (i.e., seven days) 10.23 MHz PRN code. In the Anti-Spoofing(AS) mode of operation, the P-code is encrypted into the Y-code. The en-crypted Y-code requires a classified AS module for each receiver channeland is for use only by authorized users with cryptographic keys. Currently,the L2 signal is modulated only by the CDMA P(Y) signals. Therefore, itis intended to only be available to authorized users.

The L1 signal is also modulated, using binary phase shift keying, bythe a 50 bit per second navigation message. The navigation message con-sists of data bits that a GPS receiver decodes to determine satellite orbit,clock correction, and other system parameters. Appendix C describes themeans by which these parameters are used to calculate satellite positionand velocity, clock corrections, and ionospheric corrections.

8.2 GPS Pseudorange

The electromagnetic signals broadcast by the satellites travels at the speedof light. If the transit time was measured, it would be converted to adistance by multiplying it by the speed of light c. Due to this scaling,each microsecond of timing error would result in a range error of about 300meters; therefore, to achieve meter level range measurement accuracy wouldrequire clocks synchronized to a few nanoseconds. Such timing accuracywould make GPS receivers prohibitively expensive. Instead, typical GPSreceivers use inexpensive free running clocks based on crystal oscillatorsand estimate the clock bias error during the position estimation process.Therefore, the measurement of the apparent transit time is biased by errorsin the user and satellite clocks and is called a pseudorange.

If the clock errors were zero and the satellite positions were available,then each satellite to receiver range measurement would define a sphere ofpossible receiver locations. The intersection of two such spheres would de-fine a circle of possible receiver locations. The intersection of three sphereswould result in two possible receiver locations. With either a prior esti-mate of the receiver location or another range estimate, a single receiverposition estimate would result. This geometrical example illustrates that(at least) three independent range measurements are necessary to deter-mine the three position coordinates of the receiver antenna if the receiverclock error were zero. In realistic applications, the receiver clock error isnon-zero. Therefore, in any set of simultaneous pseudorange measurementsthere are four unknowns and at least four pseudorange measurements willbe required for a unique solution to exist.

Page 290: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.2. GPS PSEUDORANGE 267

Section 8.4 and Appendix C provide a more detailed description of thepseudorange measurement process.

8.2.1 GPS Pseudorange Notation

The geometric or “true” range between the receiver antenna located at pand the effective satellite antenna location pi is

R(p,pi) =∥∥p − pi

∥∥2. (8.1)

The superscript i notation refers the superscripted quantity to the i-thsatellite.

The algorithm for computing SV position vector pi in ECEF coordi-nates uses data derived from the GPS navigation messages as described inAppendix C. The ranges Ri = R(p,pi) and Ri = R(p, pi) are distinct.The ephemeris error term Ei = Ri − Ri is derived in Section 8.4.5. Inaddition, there are time and reference frame issues that must be carefullyaddressed for accurate computation of pi. These issues are discussed inSections C.1 and C.3.

Ideally we want to measure Ri, but this is not possible due to varioussources of error, one of which is receiver clock error. Denoting the receiverclock offset with respect to GPS system time as Δtr, the true pseudorangeis

ρ(x,pi) =∥∥p − pi

∥∥2

+ cΔtr (8.2)

where x =[p�, cΔtr

]�. Therefore, the standard GPS positioning probleminvolves estimation of four unknown quantities: the three components of pand Δtr.

The vector x is estimated based on pseudorange measurements whichfor the L1 pseudorange can each be modeled as

ρir1

= ρ(x,pi) + cδti +f2

f1Iir + T i

r + M iρ1

+ νiρ1

(8.3)

where c is the speed of light, f1 is the L1 carrier frequency, and f2 is theL2 carrier frequency. The subscript r on ρ refers to the receiver. Later inthe chapter, when multiple receivers are considered, the subscript r will beused to count over the available receivers. The subsubscript 1 refers themeasurement to the L1 signal. Using the same notational conventions, theL2 pseudorange can be modeled as

ρir2

= ρ(x,pi) + cδti +f1

f2Iir + T i

r + M iρ2

+ νiρ2

. (8.4)

The error models of eqns. (8.3–8.4) are derived in Section 8.4. The mea-surement error components are defined as follows:

Page 291: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

268 CHAPTER 8. GLOBAL POSITIONING SYSTEM

δti – This symbol represents the residual satellite clock error after per-forming the corrections described in C.1. The satellite clock error isdiscussed in Section 8.4.2.

Iir – This symbol represents the error due to dispersive atmospheric effects

described in Section 8.4.4.1.

T ir – This symbol represents the error due to non-dispersive atmospheric

effects described in Section 8.4.4.2.

M iρ1

, M iρ2

– These symbols represent the pseudorange multipath errors onthe L1 and L2 pseudorange measurements. They are described inSection 8.4.7.

νiρ1

, νiρ2

– These symbols represent random measurement noise on the L1and L2 pseudorange measurements. They are discussed in Section8.4.8.

The pseudorange measurement is described in greater depth in Sections 8.3and Appendix C. The majority of the discussion of the next few sectionswill focus on the L1 signal and the notations ρi

r1, M i

ρ1, and νi

ρ1will be

simplified to ρi,M iρ, and νi

ρ.Given a set of (at least) four pseudorange measurements, arbitrarily

numbered one through four, define the vector of measurements as

ρ = [ρ1, ρ2, ρ3, ρ4]�

and the vector of computed pseudoranges

ρ(x) = [ρ(x, p1), ρ(x, p2), ρ(x, p3), ρ(x, p4)]�,

the objective of the solution will then be to find the value of x that mini-mizes the cost function

J(x) = ‖ρ(x) − ρ‖. (8.5)

The solution to this problem is presented with a detailed example in Section8.2.2.

The computed pseudoranges are functions of the computed satellite po-sitions pi while the measured ranges are functions of the actual satellitepositions. Therefore, the estimated value of x will be affected by the error(pi − pi

). To make this dependence explicit in the model of the pseudo-

range, we manipulate eqn. (8.3) as shown below to obtain the L1 C/Apseudorange model of eqn. (8.6):

ρir = ρ(x, pi) +

(ρ(x,pi) − ρ(x, pi)

)+ cδti +

f2

f1Iir + T i

r + M iρ + νi

ρ

= ρ(x, pi) + Ei + cδti +f2

f1Iir + T i

r + M iρ + νi

ρ. (8.6)

Page 292: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.2. GPS PSEUDORANGE 269

The ephemeris error term Ei =(ρ(x,pi) − ρ(x, pi)

)represents the error

incurred due to using the computed satellite position in the solution pro-cess instead of the (unknown) actual satellite position. The derivation andcharacterization of this term is presented in Section 8.4.5.

The combined pseudorange measurement error will be denoted as

χi = Ei + cδti +f2

f1Iir + T i

r + M iρ + νi

ρ (8.7)

where χi is called the User Equivalent Range Error (UERE) or User RangeError (URE). The vector of pseudorange measurement errors will be de-noted by χ. Assuming that the errors for different satellites are indepen-dent,

cov(χ) = σ2I (8.8)

where the value of σ is discussed relative to Table 8.5. Portions of this totalrange error χ are due to the space and control segments (i.e., Ei + cδti), tothe path between the SV and receiver antenna (i.e., Ii

r + T ir), to the siting

of the antenna (i.e., M iρ), and to the receiver and antenna (νi

ρ). In latersections, it will often be convenient to simplify the notation by combiningthe multipath and measurement errors into a single error term

ηi = M iρ + νi

ρ. (8.9)

The symbol ηi represents the non-common mode pseudorange error.

8.2.2 GPS Pseudorange Solution

Each pseudorange measurements represented in eqn. (8.6) is a nonlinearfunction of the receiver position p. This section discusses the solutionof a set of such measurement equations by an iterative method based onlinearization of the measurement equations. When an accurate initial es-timate of the receiver antenna position is available, possibly from a priormeasurement epoch, then the solution may converge to the desired accu-racy in a single iteration. If improved accuracy is desired, the procedurecan be repeated iteratively with the result from one iteration serving as thelinearization point for the next iteration. This method is straightforwardand converges quickly.

A GPS independent review of this algorithm is presented in SectionB.14. Example B.4 in that section has direct relevance to the discussionof GPS. The application of this algorithm to the solution of eqn. (8.6) fora set of (at least) four measurements is discussed below. The algorithmof eqn. (8.10) extends, without change, to the case where more than fourmeasurements are available as long as the required matrix inverse exists.

At time t, assume that pseudorange measurements are available forsatellites one through four and that initial (i.e., k = 0) estimates p0 =

Page 293: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

270 CHAPTER 8. GLOBAL POSITIONING SYSTEM

[x0, y0, z0]� and cΔtr(0) are available for the receiver position and clockbias. In the worst case, for a user near the surface of Earth, assume p0 = 0and cΔtr(0) = 0. We form the vector xk =

[p�

k , cΔtr(k)]�

where k is theiteration index at a fixed time t.

Our objective is to find the value of x that minimizes the cost functionof eqn. (8.5). The algorithm which is derived in eqn. (B.60) of SectionB.14.2 is

xk+1 = xk +(H�H

)−1H� (ρ − ρ(xk)) , for k = 1, 2, 3 . . . . (8.10)

At the k-th iteration, the vector xk is the point of linearization for eqn.(8.2). The computed value of the pseudorange from eqn. (8.2) at x (i.e.,ρ(x,pi)) will be indicated as ρi(x). Linearization of eqn. (8.2) for x nearxk and i = 1, . . . , 4 gives⎡

⎢⎢⎣ρ1(x)ρ2(x)ρ3(x)ρ4(x)

⎤⎥⎥⎦ =

⎡⎢⎢⎣

ρ1(xk)ρ2(xk)ρ3(xk)ρ4(xk)

⎤⎥⎥⎦ + H

⎡⎢⎢⎣

(x − xk)(y − yk)(z − zk)

c(Δtr − Δtr(k))

⎤⎥⎥⎦ (8.11)

where

H =

⎡⎢⎢⎢⎢⎢⎢⎣

δρ1

δx

δρ2

δx

δρ3

δx

δρ4

δx

⎤⎥⎥⎥⎥⎥⎥⎦

∣∣∣∣∣∣∣∣∣∣∣∣xk

=

⎡⎢⎢⎢⎢⎢⎢⎣

pk−p1

‖pk−p1‖ 1pk−p2

‖pk−p2‖ 1pk−p3

‖pk−p3‖ 1pk−p4

‖pk−p4‖ 1

⎤⎥⎥⎥⎥⎥⎥⎦ . (8.12)

If each row of H is denoted as hi, then the first three components of each hi

define a unit vector pointing from the satellite to the point of linearizationxk. For each iteration of eqn. (8.10), the matrix H should be recalculated.This recalculation is most important when ‖pk −p‖ is large. The iterationof eqn. (8.10) assumes that the rows of H are linearly independent so thatthe required matrix inverse exists.

The iteration of eqn. (8.10) is concluded when the change in the estimatexk given by

dxk =(H�H

)−1H� (ρ − ρ(xk)) (8.13)

in a given iteration has magnitude ‖dxk‖ less than a prespecified threshold.The fact that dxk is small at the conclusion of the iteration does not implythat

δxk = x − xk (8.14)

is small. The estimate xk was selected to minimize the norm of the errorbetween the computed pseudorange and measurements of the pseudorange.Therefore, the pseudorange measurement errors χ defined in eqn. (8.7)

Page 294: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.2. GPS PSEUDORANGE 271

Satellite x, m y, m z, m

SV 2 +7766188.44 -21960535.34 +12522838.56SV26 -25922679.66 -6629461.28 +31864.37SV 4 -5743774.02 -25828319.92 +1692757.72SV 7 -2786005.69 -15900725.80 +21302003.49

Table 8.1: ECEF satellite positions.

have a determinative role in the resulting characterization of the vectorδxk. The relationship between χ, the matrix H, and the characteristics ofδx are discussed in Section 8.5.

Example 8.1 At time t, a set of satellite positions are calculated using theequations in Appendix C. The resulting positions are shown in Table 8.1.At the same time t, the pseudoranges are measured to be

ρ2 = 22228206.42m,

ρ26 = 24096139.11m,

ρ4 = 21729070.63m,

ρ7 = 21259581.09m.

What is the receiver location?Table 8.2 shows the results of the iterative approach of eqn. (8.10) ini-

tialized at the ECEF origin p = [0, 0, 0]�. The position estimate convergesto millimeter precision in five iterations.

This convergence does not imply that the estimated position is accurateto millimeters. From prior measurements, the pre-surveyed ECEF antennaposition is known to be

p = [−2430829.17, − 4702341.01, 3546604.39]�m.

At each iteration, the error between the estimated position and the knownposition is shown in Table 8.3. This table shows that while the cost functionof eqn. (8.5) is minimized, the position error due to the measurement errorsχ remains. Note that the data for this example is from the era when selec-tive availability was active. With selective availability now turned off, themagnitude of the error vector displayed in this example would be atypical.

The measurement matrix H for the last iteration is calculated from eqn.(8.12) to be

H =

⎡⎢⎢⎣

−0.4643 0.7858 −0.4087 1.00000.9858 0.0809 0.1475 1.00000.1543 0.9842 0.0864 1.00000.0169 0.5333 −0.8457 1.0000

⎤⎥⎥⎦ .

Page 295: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

272 CHAPTER 8. GLOBAL POSITIONING SYSTEM

k x, m y, m z, m cΔtr, m

0 0000000.000 0000000.000 0000000.000 000000.0001 -2977571.476 -5635278.159 4304234.505 1625239.8022 -2451728.534 -4730878.461 3573997.520 314070.7323 -2430772.219 -4702375.802 3546603.872 264749.7064 -2430745.096 -4702345.114 3546568.706 264691.1295 -2430745.096 -4702345.114 3546568.706 264691.129

Table 8.2: Receiver position in ECEF coordinates as a function of iterationnumber.

k δx, m δy, m δz, m

1 -546742.305 -932937.149 757630.1162 -20899.364 -28537.451 27393.1303 56.951 -34.792 -0.5184 84.074 -4.104 -35.6845 84.074 -4.104 -35.684

Table 8.3: Receiver position error in ECEF coordinates as a function of itera-tion number.

Iterative solution via eqn. (8.13) requires calculation of(H�H

)−1H�,

which to four decimal accuracy is

(H�H

)−1H� =

⎡⎢⎢⎣

−1.9628 −0.0862 1.0122 1.0368−1.7302 −1.1479 2.0344 0.8437

1.1263 0.5680 −0.0604 −1.63391.9086 1.0941 −1.1533 −0.8493

⎤⎥⎥⎦ .

The first three rows of(H�H

)−1H� transform the pseudoranges to the po-

sition estimates. Note that the elements of the first three rows sum to zero.Therefore, any bias that effects all the pseudoranges identically, such asthe receiver clock error, will have not effect on the estimated position. Thelast row, which is the transformation of the pseudoranges to the estimate ofthe clock bias, sums to one. Therefore, any measurement error that effectsall the pseudorange measurements identically will affect the estimate of theclock bias. �

Example L1 C/A code position estimation results are shown in Figure8.1. At each time step (1 second intervals), the position estimate is calcu-lated independently using eqn. (8.10). The surveyed position is subtracted

Page 296: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.2. GPS PSEUDORANGE 273

0 1000 2000−10

−5

0

5

10

Time, t, sec

C/A

GP

S e

st. o

f p

−3 −2 −1 0−1

0

1

2

3

4C/A GPS

East, m

Nor

th, m

Figure 8.1: L1 C/A position estimate results. Left- Plot of the point positionestimation error versus time. The top curve is north error. The middle curveis east error. The bottom curve is down error. Right- Scatter plot of the northand east estimation error.

from the estimated position so that the plots illustrate the estimation error.The same set of satellites (i.e., PRNS: 2, 4, 9, 12, 17, and 28) was used forthe duration of the experiment. This figure illustrates the character of thepositioning accuracy achievable by SPS GPS. First, note that the estimateof d is significantly noisier than the estimates of n and e. Also notice thatthe position estimation error has significant time correlation. This is dueto the fact that various of the error sources (SV clock and ephemeris error,ionospheric error, and tropospheric error) are slowly time varying. Thisfact is used advantageously in differential GPS systems as discussed in Sec-tion 8.8. The sources and magnification of these errors are discussed in theSections 8.4 and 8.5. Third, due to the fact that the error sources χ aretime-correlated over the period of the experiment shown in Figure 8.1, thescatter plot does not have the characteristics ellipsoidal shape discussed inSection 4.9.1.2.

8.2.3 Satellite Azimuth and Elevation

By eqn. (8.11), the residual measurement

δρ = ρ − ρ(x) (8.15)

is related to the estimation error according to

δρ = Hδx + χ (8.16)

where δx is defined in eqn. (8.14) and χ is defined in eqn. (8.7). Up to thispoint, the reference frame for H and δx has not been directly discussed.

Page 297: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

274 CHAPTER 8. GLOBAL POSITIONING SYSTEM

Clarifying this issue is one of the objectives of this section. Another ob-jective is the definition, computation, and graphical illustration of satelliteelevation and azimuth.

The satellite position computed from ephemeris data, see Section C.2, isin the ECEF frame at the time of transmission. Since the time of transmis-sion for each satellite is distinct, the satellite positions for different satellitesare in different reference frames and must be transformed to a consistentframe-of-reference, as discussed in Section C.3. Assuming that the satellitepositions are each transformed to the ECEF frame at the time of reception,eqn. (8.16) relates the residual measurement to the position error in theECEF frame at the time of reception. To be explicit in representation ofthe reference frame, eqn. (8.16) is rewritten as

δρ = Heδxe + χ. (8.17)

It is straightforward to transform this equation to any other frame-of-reference. For frame a,

δρ =(HeRe

a

) (Ra

eδxe)

+ χ

= Haδxa + χ (8.18)

where Ha = HeRea and

Rae =

[Re

a 03×1

01×3 1

].

Note that the rotation matrix from the ECEF frame to the a-frame Rae is

orthonormal, as discussed in Section 2.4.When the frame of interest is the tangent plane frame of the receiver,

Ht = HeRet has the useful interpretation:

Ht =

⎡⎢⎣ − cos A1 cos E1 − sin A1 cos E1 sin E1 1

......

......

− cos Am cos Em − sin Am cos Em sin Em 1

⎤⎥⎦ . (8.19)

This expression is useful for computation of the satellite azimuth Ai andelevation Ei:

Ai = atan2(−hi2,−hi

1) (8.20)Ei = asin(hi

3) (8.21)

where hi = [hi1, h

i2, h

i3, 1] is the i-th row of Ht. For users near the Earth

surface, the horizon ensures that the vector from the satellite to the useralways has a positive down component in the tangent frame; therefore, thethird component hi

3 should always be positive.

Page 298: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.2. GPS PSEUDORANGE 275

Example 8.2 The matrix Ht computed for Example 8.1 is

Ht =

⎡⎢⎢⎣

−0.0677 −0.7733 0.6305 1.00000.4156 0.8385 0.3524 1.00000.6002 −0.3149 0.7353 1.0000

−0.4318 −0.2299 0.8722 1.0000

⎤⎥⎥⎦ .

Using eqns. (8.20–8.21), the computed azimuth and elevation angles forthe satellites are shown in Table 8.4. The satellite positions relative tothe user can also be conveniently displayed as in Figure 8.2. This figureplots the satellite location as [−hi

2,−hi1] which is a vector of length cos Ei.

Therefore the vector length indicates the satellite elevation with the originbeing directly overhead (i.e., Ei = 90◦) and the circle of radius 1.0 beingthe horizon (i.e., Ei = 0◦).

SV PRN 2 26 4 7Azimuth, A, deg 85 -116 152 28Elevation, E, deg 39 21 47 61

Table 8.4: Satellite azimuth and elevation angles for Example 8.1.

�����

"��

:

@:

<?

;:

I?

I

<

)

);

Figure 8.2: Graphical depiction of satellite positions relative to the GPS user.The center of the graph corresponds to elevation angle 90◦. The elevationangle of each of the concentric circles is indicated at the bottom of the circle.The satellite locations are indicated by the black dots. Azimuth is measuredclockwise from north.

Page 299: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

276 CHAPTER 8. GLOBAL POSITIONING SYSTEM

8.3 GPS Receiver Overview

The purpose of this section is to provide an overview of GPS receiver oper-ation. The objective is to provide a sufficient understanding to enable thediscussion in the subsequent sections.

Modern receivers have several channels each capable of tracking a singleCDMA signal. The receiver schedules measurements from all the trackingchannels to occur simultaneously according to the receivers indicated timeτr(t). Throughout this chapter the symbols τr(t) and τs(t) will be used torepresent the receiver and satellite indicated times at GPS time t. Whenmultiple satellites or receivers are being discussed, s and r can be consideredas counters over the set of satellites or receivers.

The signal broadcast by GPS satellite s has the form

y(τs) = Cs(τs)Ds(τs) sin(2πfcτs)

where Cs is the PRN code assigned to the satellite, Ds is the bit sequencecontaining the 50 Hz data, and sin(2πfcτ

s) is the carrier signal. All of thesesignals are generated according to the satellite time τs(t) which is distinctfor each satellite due to clock drift as discussed in Section 8.4.2.

When the PRN for an available satellite is assigned to a GPS receiverchannel, the receiver channel performs the following functions: generates areplica of the PRN code sequence; searches for the code phase and Dopplerfrequency to align the replica PRN code with the PRN code of the incomingsignal; and, then adjusts channel variables to maintain the alignment of theincoming and generated PRN codes. Typically, during tracking, the PRNcode alignment can be maintained to less than 1% of one PRN code chip(< 3m). The receiver channel will also manipulate channel variables toacquire and track either the frequency or phase of the sinusoidal carrier ofthe signal at the channel input. See Section 8.4.9.

At the receiver indicated time τr(t), for each channel, the basic channelmeasurements are:

τ s(t − Δtsr) – the time of transmission of the signal by the satellite, asmarked on the signal (e.g., tow, z-count) and tracked by the phase ofthe code generator (i.e., integer and fractional chip count);

τr(t) – the receiver indicated time;

φca(τr(t)) – the fractional portion of the phase carrier accumulator; and

Nca(τr(t)) – the whole cycle count of the phase carrier accumulator.

In the above expressions, t is the GPS system time and Δtsr is the signaltransit time from the satellite to the receiver.

Page 300: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.3. GPS RECEIVER OVERVIEW 277

From these basic measurements, various other measurements can becomputed. All measurements computed from the basic channel measure-ments will be referred to as observables.

The transit (pseudo) time, code pseudorange and phase observables areconstructed as

Δtsr(τr(t)

)= τr(t) − τ s(t − Δtsr), seconds (8.22)

ρsr

(τr(t)

)= c Δtsr

(τr(t)

), meters (8.23)

φsr

(τr(t)

)= Nca

(τr(t)

)+ φca

(τr(t)

), cycles (8.24)

where c is the speed of light in a vacuum. Note that the transit time Δtsris not directly measured, but is computed from the basic measurements.For a two frequency GPS receiver each of the above observables can becomputed for each of the carrier frequencies. Each carrier frequency foreach satellite requires its own tracking channel (i.e., 12 channels to trackboth L1 and L2 signals for six SV’s).

The pseudorange observable has been discussed extensively in Section8.2. Its error model is presented in eqn. (8.6) and the use of the pseudorangeobservable to determine position is discussed in Section 8.2.2. Subsection8.3.1 presents the error model for the carrier phase observable. Subsection8.3.2 discusses another receiver output often called the Doppler or delta-pseudorange.

8.3.1 Carrier Phase Observables

The L1 and L2 carrier phase observables for the i-th satellite that is com-puted by eqn. (8.24) is converted to meters through multiplication by thewavelength and can be modeled as

λ1φir1

= ρ(x, pi) + Ei + cδti − f2

f1Iir + T i

r + M iφ1

+ νiφ1

+ N i1λ1 (8.25)

λ2φir2

= ρ(x, pi) + Ei + cδti − f1

f2Iir + T i

r + M iφ2

+ νiφ2

+ N i2λ2 (8.26)

where λj = cfj

is the wavelength of the carrier signal, fj is the carrierfrequency, and j = 1, 2. The remaining symbols are defined as follows:

φirj

– This is the receiver generated carrier phase observable. It is computedas in eqn. (8.24).

M iφj

– This symbol represents the carrier signal multipath error describedin Section 8.4.7.

νiφj

– This symbol represents the random measurement noise described inSection 8.4.8.

Page 301: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

278 CHAPTER 8. GLOBAL POSITIONING SYSTEM

N ij – This symbol represents the integer phase ambiguity which is defined

in Section 8.4.9.

The symbols ρ(x, pi), Ei, cδti, Iir, and T i are defined following eqn. (8.3).

The majority of the discussion to follow will focus on the L1 phase signal andwill drop the subscript ‘1’ to simplify the notation; however, the discussiondirectly extends to the L2 phase with appropriate changes to the ionosphericerror term.

The common-mode errors

eicm = Ei + cδti − f2

f1Iir + T i

r (8.27)

are essentially the same as those on the code observable, except that theionospheric error Ii

r enters eqns. (8.6) and (8.25) with opposite signs. Theinterest in the carrier signal stems from the fact that the non-commonmode errors M i

φ and νiφ are typically less that 1% of the magnitude of

the respective errors for the code pseudorange. When the common-modeerrors can be mitigated or removed, the carrier measurements allow positionestimation at the centimeter level.

The integer phase ambiguity is a (usually large) unknown integer con-stant (barring cycle slips). To make use of carrier phase observable as arange estimate, the integer ambiguity must be determined (see Section 8.9).When the integer ambiguity N i is known and the common mode errors areremoved (see Section 8.8), then assuming that phase lock is maintained,eqn. (8.25) can be rewritten as

λ(φi

r − N i)

= ρi + M iφ + νi

φ (8.28)

where the left-hand side is known. This equation has the same form aseqn. (8.6) with substantially fewer error terms. Since the structure of eqns.(8.6) and (8.28) are identical, given a vector of integer-resolved carrier phasemeasurements, the vector of equations with the form of eqn. (8.28) can besolved for the position and clock bias by the method of Section 8.2.2.

8.3.2 Delta Pseudorange Observable

The expression for the Doppler frequency:

fr = fT

(1 − R

c

)(8.29)

relates the frequency received by a user fr to the rate of change of therange between the receiver and the transmitter. In this expression, fT is

Page 302: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.3. GPS RECEIVER OVERVIEW 279

the transmitted frequency and R is the geometric range between the userand transmitter. The Doppler shift is

fr − fT = −fTR

c. (8.30)

In GPS receivers the delta pseudorange observable is a measurement ofthe quantity

Δρ(τr(t)) = ρsr

(τr(t)

)− ρsr

(τr(t) − T

)(8.31)

where typically T ≤ 1.0. This quantity is the change in range over the timeinterval τr ∈ [τr(t) − T, τr(t)] :

Δρ(τr(t)) =∫ τr(t)

τr(t)−T

ρsr(q)dq. (8.32)

Therefore, if the delta pseudorange is divided by T it measures the averagerate of change of the pseudorange over the indicate time interval. By themean value theorem, there is a value of q ∈ [τr(t) − T, τr(t)] such thatρs

r(q) = 1

TΔρ(τr(t)). By this reasoning the delta pseudorange observable is

often modeled as the rate of change of the pseudorange at the midpoint ofthe interval τr ∈ [τr(t)−T, τr(t)] and referred to as the Doppler observable.The validity of this modeling assumption depends on the bandwidth of thevehicle B relative to T .

Eqn. (8.31) is the definition of the delta pseudorange observable, but theobservable is not constructed by differences of the pseudorange observable.Instead, for a channel that has achieved phase lock for the carrier signal, thedelta pseudorange observable is constructed from differences of the carrierphase observable over the period T . In this case, cycle slips or loss of phaselock during the interval, if not detected, will result in erroneous observables.For a channel that has only achieved frequency lock for the carrier signal,the delta pseudorange is constructed from the channel’s replica Dopplerfrequency. In this case, loss of frequency lock during the interval will resultin erroneous observables if not detected.

Assuming that the receiver has and maintains phase lock over the in-terval τr ∈ [τr(t)− T, τr(t)] that is of interest, then the Doppler observablecan be computed as

Δρ(τr(t)

)= λ

(φi

r(τr(t)) − φir(τr(t) − T )

). (8.33)

The analysis to follow assumes that the product BT is sufficiently smallthat the vehicle velocity cannot change significantly over the period T .With this assumption it is reasonable to consider D(τr(t)) = Δρ(τr(t))

λT as

Page 303: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

280 CHAPTER 8. GLOBAL POSITIONING SYSTEM

a measurement of the Doppler shift (in Hz) at the receiver indicated time.By eqn. (8.25) the Doppler measurement model is

λTDsr(τr) = (ρs

r(τr) − ρsr(τr − T )) − cΔti + ε(τr)

where t arguments have been dropped to simplify notation, the temporaldifferences for Ei, Ii

r, and T ir have been dropped because they are small

relative to the other terms, ε(τr) represents the measurement error due tomultipath and receiver noise, and

Δti = Δti(τr) − Δti(τr − T )

is the (uncorrected) satellite clock drift rate. The symbol Δti is used insteadof δti as a reminder to the reader to correct the Doppler measurement forthe satellite clock drift rate as described in eqn. (8.35).

Assuming that the line-of-sight vector from the satellite to the user�h = pr−ps

‖pr−ps‖ is available from the position solution, a linearized model forthe Doppler measurement is

λDsr = �h�(vr − vs) + cΔtr − cΔti + ε. (8.34)

The satellite velocity computation is described in Section C.4. The satelliteclock drift rate cΔti is predicted by the broadcast model to be af1T , seeSection C.1. The Doppler residual measurement is defined as

λδDsr = λDs

r + �h�vs + caf1T, (8.35)

which is the Doppler measurement corrected for satellite velocity and satel-lite clock drift rate. Substituting eqn. (8.34) into eqn. (8.35) yields theDoppler measurement error model

λδDsr = �h�vr + cΔtr + ε

= hx + ε (8.36)

where the residual satellite clock error is small and has been dropped fromthe model.

8.4 GPS URE Characteristics

Eqns. (8.6) and (8.25) indicated that the GPS range and phase measure-ments can be represented as the sum of the geometric range from the userantenna position to the computed satellite position and various error terms.The cumulative effect of these errors is referred to as the User EquivalentRange Error (UERE) or User Range Error (URE). The objective of thissection is to derive and discuss each of these error terms. The purpose is to

Page 304: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 281

clarify the source and characteristics of each error source so that each canbe mitigated or modeled to the extent possible.

This section is not required reading the first time through the chapter.On the second reading the subsections are meant to be read in the orderpresented. They will start with the natural GPS measurements defined ineqns. (8.22–8.24) and work through the derivation of eqns. (8.6) and (8.25)one step at a time, but the presentation will need to touch on a variety ofdetailed topics that will seem to be a distraction to readers new to GPS.

From eqns. (8.22) and (8.23), the pseudorange observable is

ρsr

(τr(t)

)= c (τr(t) − τs(t − Δtsr)) ; (8.37)

therefore, the discussion will begin with clock modeling.

8.4.1 Clocks

For centuries, clocks have been constructed using the cumulative phaseangle from stable oscillators. Denote the nominal frequency of the stableoscillator as fo and the actual frequency of the clock oscillation as

fc(t) = fo + δf(t). (8.38)

The phase angle of the oscillator is the integral of the frequency

φc(t) = fc(t); (8.39)

therefore,

φc(t) = φc(to) +∫ t

to

fc(q)dq

= φc(to) + fo(t − to) +∫ t

to

δf(q)dq.

The clock time is computed as

τ(t) =1fo

φc(t) (8.40)

which is equivalent to

τ(t) = t + τ(to) +1fo

∫ t

to

δf(q)dq

= t + Δτ(t) (8.41)

where τ(to) = φc(to)fo

− to and Δτ(t) = τ(to) + 1fo

∫ t

toδf(q)dq.

Page 305: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

282 CHAPTER 8. GLOBAL POSITIONING SYSTEM

In the above analysis t represents true time, which for the purposesof this chapter is defined to be the GPS system time as maintained bythe United States Naval Observatory (USNO). Eqn. (8.41) shows that theclock time can be modeled as true time plus a time varying error term thatis determined by the initialization error τ(to) plus a time-varying (clockdrift) error which is the integral of the frequency error δf(q). Obviously,oscillators for which the frequency error is small and stable result in betterclocks.

A pendulum clock nicely exemplifies the principle described above. Thependulum swings at a resonant frequency. A set of gears count the swingsof the pendulum and display the cumulative phase of the oscillator usinghands on the face of the clock. The user may be able to tune the resonantfrequency by adjusting the length of the pendulum to decrease δf .

Modern, high accuracy clocks such as those used in GPS satellites andreceivers use the same principle, but use very stable crystal oscillators withelectronic counters to accumulate the oscillator phase.

Eqn. (8.41) applies to both the satellite and receiver clocks:

τ s(t) = t + Δτ s(t) (8.42)τr(t) = t + Δτr(t) (8.43)

where Δτ s(t) is the error in the clock of satellite s and Δτr(t) is the errorin the clock of receiver r. Substituting eqn. (8.42–8.43) into eqn. (8.37)yields

ρsr

(τr(t)

)= c

(t + Δτr(t) −

(t − Δtsr + Δτ s(t − Δtsr)

))= c

(Δtsr + Δτr(t) − Δτs(t − Δtsr)

)(8.44)

which shows that the measured pseudorange ρsr

(τr(t)

)is proportional to

the time of propagation Δtsr plus the receiver clock error Δτr(t) minus thesatellite clock error Δτ s(t − Δtsr) at the time of transmission. The time ofpropagation will be further analyzed in subsequent sections.

8.4.2 Satellite Clock Bias, cδts

The control segment monitors and fits a polynomial correction to cΔts(t)for each satellite. Each satellite broadcasts the parameters for its clockcorrection model. The user reads these parameters and corrects for thepredictable portion of the satellite clock error as discussed in Section C.1.The residual uncorrected satellite clock error is denote as δts. Its effect onthe pseudorange measurement is scaled by the speed of light.

This residual satellite clock error will effect the pseudorange and car-rier phase measurements as indicate in eqns. (8.6) and (8.25). The rate

Page 306: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 283

0 100 200 300 400 500 600 700 800 900 1000-0.5

0

0.5

1

1.5

2

2.5

3x 10

5

time, t, seconds

cloc

k es

t, m

eter

s

Figure 8.3: Estimated clock bias during L1 C/A code position estimation.

of change of the satellite clock error affects the Doppler measurement asdescribed in eqn. (8.34).

The typical range error due to this term is shown in Table 8.5. Satelliteclock error affects all users (i.e., those using C/A-code, P-code, and/or twofrequency receivers) in the same fashion. The error is independent of thelocation of the user. Therefore, the satellite clock component of differentialcorrections is accurate for all users regardless of position.

8.4.3 Receiver Clock Error, Δτr

Receiver clock bias is a time varying error that affects all simultaneousrange measurements in the same fashion. Therefore, if at least four simul-taneous satellite range measurements are available (one more than wouldbe necessary to determine position based on true ranges), the clock biasand position can both be estimated. For this reason, clock bias error is notincluded in the position error budget discussed relative to Table 8.5.

Different GPS receivers handle the receiver clock error in different ways,but there are two basic approaches. In the one approach, the receiver clockerror is allowed to accumulate. In the other approach, the receiver clockerror is estimated and steered towards zero. A user working with rawobservables should know which approach is being used to ensure that theclock bias is addressed appropriately.

Figure 8.3 shows a sequence of estimates of the receiver clock bias

Page 307: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

284 CHAPTER 8. GLOBAL POSITIONING SYSTEM

cΔτr(t). This figure is included to illustrate a few features of the clockbias. First, the clock bias is ramp-like with stable slope (clock drift rate).This fact is in accord with eqn. (8.41) and demonstrates that while theoscillator frequency fc(t) does not equal the nominal frequency fo the fre-quency offset δf(t) is stable. Second, the figure clearly shows that theestimated clock bias resembles a sawtooth signal with large, fixed magni-tude discontinuities. The discontinuity in the clock bias has magnitudeapproximately equal to 1.0× 10−3s or 0.001c = 299, 792m. This is an arti-fact of the receiver processing, not the clock itself. The discontinuities areirrelevant as long as the user accommodates them appropriately.

The receiver clock bias can be handled by at least three methods. In thefirst approach, the clock bias is estimated independently at each time stepwithout trying to incorporate information from prior measurement epoches.That is the approach discussed in Section 8.2.2 and illustrated in Figure 8.3.A second approach is to subtract the measurement of one satellite from allthe other satellites to cancel the clock bias. This single difference approachis discussed in Section 8.4.3.1. The third approach involves developing adynamic model for the change in the clock bias and estimating the clockmodel state via Kalman filtering. This third approach is presented Section8.4.3.2.

8.4.3.1 Single Differences Across Satellites

This section discusses single differencing using the pseudorange observable.The same technique with appropriate modifications can be used for theDoppler and integer-resolved carrier phase measurements.

For simultaneous measurements from the same receiver, each pseudor-ange can be modeled as

ρir = R(p, pi) + cΔtr + χi (8.45)

where σ2ρ = var(χi) and time arguments have been dropped to simplify

notation; however, it is critical to note that the receiver clock bias cΔtr(t) isthe same for all satellites. Consider a set of measurements from m satellites.Subtracting the ρm

r from each of the other measurements yields the newobservable

∇ρi,m = ρir − ρm

r (8.46)

that is modeled as

∇ρi,m(p) = R(p, pi) − R(p, pm) + χi,m (8.47)

for i = 1, . . . , (m − 1) where χi,m = (χi − χm). This shows that ∇ρi,m

is unaffected by the receiver clock bias. However, the noise term χi,m isnow larger and correlated between satellites with var(χi,m, χi,m) = 2σ2

ρ

and cov(χi,m, χj,m) = σ2ρ for i, j = 1, 2, (m − 1) and i �= j.

Page 308: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 285

Eqn. (8.47) contains three unknowns which are the components of p.Therefore, at least three equations will be required to determine a solution.However, m must still be greater or equal to 4 because the m-th pseudorangeis subtracted from the first (m − 1) pseudoranges.

For a set of m ≥ 4 satellites, with the m-th measurement subtractedfrom each of the others, (m − 1) equations result. This set of (m − 1)equations can be solved as in Sections 8.2.2 and B.14.2, using

pk+1 = pk +(H�H

)−1H� (∇ρi,m − (

R(pk, pi) − R(pk, pm)))

where

H =

⎡⎢⎢⎣

δδp ∇ρ1,m

...δδp ∇ρm−1,m

⎤⎥⎥⎦∣∣∣∣∣∣∣∣pk

=

⎡⎢⎢⎣

�h1 − �hm

...�hm−1 − �hm

⎤⎥⎥⎦ (8.48)

where �hi = pk−pi

‖pk−pi‖ is represented as a row vector. Alternatively, to prop-

erly account for the correlation in χi,m, the algorithm described in ExerciseB.17 should be used instead, with R defined as the (non-diagonal) mea-surement correlation matrix.

This section has discussed single differences across satellites for simul-taneous measurements from a single receiver. Such satellite differencing,when used, is usually implemented in the form of double differencing. Thistechnique is discussed in Section 8.8.3. Double differencing is one form ofdifferential GPS, which is discussed more generally throughout Section 8.8.

8.4.3.2 Receiver Clock Bias Dynamic Model

Physically, as discussed relative to eqn. (8.41), the clock bias developsas the integral of the clock oscillator frequency error δf(t). This physicalprocess suggests a two state clock model described as[

v1

v2

]=

[0 10 0

] [v1

v2

]+[

wf

](8.49)

Δtr = [ 1 0 ]v (8.50)

where v = [v1, v2]� and wφ and wf are the process noise driving the clockphase and frequency error states, respectively. Assuming that the two noiseprocesses are stationary, independent, and white with power spectral den-sities of Sφ and Sf , respectively, then for ω = [wφ, wf ]�

Sω = Q =[

Sφ 00 Sf

]. (8.51)

This two state model corresponds well with the data presented in Figure8.3. The frequency error is modeled as a constant plus random walk (i.e.,

Page 309: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

286 CHAPTER 8. GLOBAL POSITIONING SYSTEM

slowly changing constant). The phase error is modeled as the integral ofthe frequency error (i.e., ramp) plus a random walk. This is shown in blockdiagram form in Figure 8.4.

&�

&��

��

�# (����+

Figure 8.4: Continuous-time two state clock model.

For this clock model,

F =[

0 10 0

].

For the discrete-time sampling period Ts, the state space model is[v1(k + 1)v2(k + 1)

]=[

1 Ts

0 1

] [v1(k)v2(k)

]+ ωd. (8.52)

Because F2 is identically zero, Qd can be calculated exactly using the firstthree terms of eqn. (4.119):

cov(ωd) = Qd =

[SφTs + T 3

s

3 SfT 2

s

2 SfT 2

s

2 Sf SfTs

]. (8.53)

To complete the clock error model, the spectral densities of the drivingnoise processes must be specified. This can be accomplished by fitting theclock error variance

SφTs +T 3

s

3Sf (8.54)

as specified in eqn. (8.53) to the Allan variance for the clock error. This isspecified in [29, 130] to be

h0

2Ts + 2h−1T

2s +

23π2h−2T

3s , (8.55)

where h0, h−1, and h−2 are Allan variance parameters. Since the secondorder error model cannot fit the Allan variance exactly (in fact, an exactfit is not possible for any finite order, linear, state space model [29]), theparameters Sφ and Sf can be selected to optimize the fit in the vicinityof the known value of Ts. This method and the tradeoffs involved arethoroughly discussed in [29, 31, 130]. When Sφ and Sf are selected so thateqns. (8.54) and (8.55) match for two time intervals denoted T1 and T2 theleast squares solution is

[Sφ

Sf

]=

[T 3

2 −T 31

−3T2 3T1

]T1T 3

2 − T2T 31

[T1 T 2

1 T 31

T2 T 22 T 3

2

]⎡⎣ h02

2h−123πh−2

⎤⎦ . (8.56)

Page 310: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 287

Example 8.3 For a temperature compensated crystal oscillator, the Allanvariance parameters are h0 = 2 × 10−19 sec2

s , h−1 = 7 × 10−21 sec2

s2 , andh−2 = 2×10−20 sec2

s3 , where the units sec and s have been used to distinguishbetween the two meanings of time in this example. Let T1 = 1s and T2 =10s, for an application where GPS measurements will be taken with Ts = 1s.

Then, eqn. (8.56) results in Sφ = 1.1×10−19 sec2

s and Sf = 4.3×10−20 sec2

s3

which can be converted to estimate clock bias in meters by multiplicationby the square of the speed of light. The resulting value of the discrete-timeprocess noise matrix, scaled to meters, is

Qd =[

0.0114 0.00190.0019 0.0039

]. (8.57)

8.4.4 Atmospheric Delay, cδtsa

The satellite signals travel distances of 20, 000 − 26, 000km to reach usersnear the surface of Earth. Typical scenarios are illustrated in Figure 8.5.A satellite P1 is near zenith with respect to the user. A second satelliteP2 is near the horizon of the user. The atmosphere of Earth is the roughly1000km wide layer of gases surrounding the planet. The figure is not to scalein the sense that the distance from the surface of Earth to the outer edge ofthe atmosphere (i.e., the dotted line) should be 5% of the length of the v1

vector. The figure illustrates several points that will be important in thediscussion of this section. First, the length of the path of the signal throughthe atmosphere is clearly dependent on the satellite elevation angle. Theminimum exposure to the atmosphere is for a satellite at zenith. This issueis addressed by obliquity or slant factors that are functions of the elevationangle. Second, the effect of the ionosphere is dependent on the path throughthe atmosphere which depends on both the satellite and user locations. Thefigure shows an asterisk at the midpoint of the portion of each path that isthrough the ionosphere. This point is called the ionospheric pierce point.The projection of this point onto the Earth surface can be far from the userlocation, especially for satellites at low elevation. When ionospheric modelsare used, the models are computed at an ionospheric pierce point.

Along the portion of the GPS signal path above the Earth atmosphere,the signal travels through a vacuum with speed c = 2.99792458 × 108 m

s .Within the Earth atmosphere, the surrounding medium affects both thespeed and path of signal propagation; however, the effect on the signalpath is much less significant than the effect of the decreased speed of travelv. The ratio of c to v is the refractive index

η =c

v.

Page 311: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

288 CHAPTER 8. GLOBAL POSITIONING SYSTEM

�&

�&�)

"���5���������� J���������

�)

K K

Figure 8.5: Simplified illustration of GPS signal propagation to Earth. Thefigure is not to scale.

The speed v and refractive index η are not constants; instead, they varywith the properties of the surrounding medium.

When the refractive index η is a function of the frequency f of thesignal, then the medium is called dispersive. For the modeling of GPSatmospheric delays, it is sufficient to divide the atmosphere into two layers,the troposphere and the ionosphere, where the troposphere is non-dispersiveand the ionosphere is dispersive. Each of these layers is discussed in one ofthe next two sections, after the derivation of eqns. (8.58-8.59).

Let the path of propagation from the satellite antenna to the user an-tenna be denoted by γ(l) where l is the distance along the path. The time-of-travel from the satellite to the user is Δtsr =

∫γ(l)

1v(l)dl. Representing γ

asγ = γS + γI + γT

where γS is the portion of the path through space, γI is the portion of thepath through the ionosphere, and γT is the portion of the path through thetroposphere, the time-of-travel can be expressed as

Δtsr =∫

γS(l)

1v(l)

dl +∫

γI(l)

1v(l)

dl +∫

γT (l)

1v(l)

dl.

The time-of-travel for a signal traveling the same path at the speed of lightis

Δtsr =∫

γS(l)

1cdl +

∫γI(l)

1cdl +

∫γT (l)

1cdl.

The delay due to the decreased speed through the atmosphere is

δtsa = Δtsr − Δtsr

=∫

γS

(1

v(l)− 1

c

)dl +

∫γI

(1

v(l)− 1

c

)dl +

∫γT

(1

v(l)− 1

c

)dl

=1c

∫γI

(η(l) − 1) dl +1c

∫γT

(η(l) − 1) dl. (8.58)

Page 312: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 289

The first term in eqn. (8.58) is the ionospheric delay. The second term ineqn. (8.58) is the tropospheric delay. The increased path length is

δρsa = cδtsa =

∫γI

(η(l) − 1) dl +∫

γT

(η(l) − 1) dl. (8.59)

Eqns. (8.58–8.59) will be used in the following two subsections.

8.4.4.1 Ionospheric Delay, Isr

The ionosphere is the layer of the atmosphere with altitude between 50and 1000 km that contains free electrons and positively charged molecules.The level of ionization is affected by solar activity, season, and time-of-day.Changes in the level of ionization affect the refractive index along the paththrough the ionosphere and therefore affect the travel time measured bythe receiver.

For L-Band (e.g., GPS) signals, the ionosphere is a dispersive medium.For a modulated signal traveling through dispersive medium, the mediumwill affect the carrier and modulating signals differently. Let

y(t) = m(t) sin(ωct)

where m(t) represents a modulating signal with bandwidth significantlysmaller than the carrier frequency ωc = 2πfc. The modulating signal m(t)propagates at the group velocity as determined by the group refractive in-dex ηg(l) while the carrier signal sin(ωct) propagates at the phase velocitydetermined by the phase refractive index ηφ(l). Detailed analyses are pre-sented on p. 136 in [99] and p. 309 in [76]. To first order, the phase andgroup refractive indices can be modeled, respectively, as

ηφ(l) = 1 − κ

f2c

Ne(l) (8.60)

ηg(l) = ηφ(l) + fcdηφ

dfc

= 1 +κ

f2c

Ne(l) (8.61)

where κ = 40.28 and Ne(l) is the density of free electrons at location γ(l).Therefore, using the first term in eqn. (8.58), the delay experienced by thecode is

δtg =1c

κ

f2c

∫γI

Ne(l)dl (8.62)

and the delay experience by the carrier phase is

δtφ = −1c

κ

f2c

∫γI

Ne(l)dl. (8.63)

Page 313: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

290 CHAPTER 8. GLOBAL POSITIONING SYSTEM

To first order, the group and phase experience the same delay with thesame magnitude, but opposite in sign. The code is delayed while the phaseis advanced. This phenomenon is referred to as code carrier divergence.

Defining the total electron count (TEC) along the path as

TEC =∫

γI

N(l)dl

and defining Iir = 40.28

f1f2TEC, then at the L1 frequency the code and phase

delays can be expressed simply as

δtg =1c

f2

f1Iir and δtφ = −1

c

f2

f1Iir. (8.64)

At the L2 frequency the code and phase delays are similarly expressed as

δtg =1c

f1

f2Iir and δtφ = −1

c

f1

f2Iir. (8.65)

Two frequency receivers are designed to take advantage of the frequencydependence to estimate Ii

r as is described in Section 8.6.Single frequency receivers must rely on either differential operation or an

ionospheric delay model. One such approach based on parameters broad-cast by the satellite is described in Section C.5 of Appendix C. ThisKlobuchar model is expected to compensate for approximately 50% of theionospheric delay [6]. Since TEC is path dependent, the ability of differ-ential GPS techniques to compensate for ionospheric errors will depend onthe user to reference station baseline vector.

8.4.4.2 Tropospheric Delay, T sr

The troposphere is the lower part of the atmosphere extending nominallyto 50 km above the surface of the planet. The troposphere is composedessentially of electrically neutral particles and for L-Band signals it is non-dispersive. The troposphere experiences changes in temperature, pressure,and humidity associated with weather. Because these same variables affectthe density of the air mass along the signal path and the index-of-refractionis a function of air mass density, tropospheric conditions affect the measuredtime-of-propagation with the measured value being larger than that thegeometric range.

Tropospheric delays

T sr =

1c

∫γT

(η(l) − 1) dl (8.66)

can be quite considerable (∼ 30m) for satellites at low elevations. Tro-pospheric delay errors are consistent between the L1 and L2 signals and

Page 314: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 291

carrier and code signals. The tropospheric delay cannot be computed fromthe GPS observables; therefore, tropospheric effects are compensated viamodels. For most users, especially in navigation application, the inputparameters for the models are average or typical values for the user lo-cation. Users with higher accuracy requirements can add meteorologicalinstruments to sense the model input variables or may use differential GPSmethods.

The refractive index is affected differently by the water vapor and bythe dry components (e.g., nitrogen and oxygen) of the troposphere, so tro-pospheric models account for these wet and dry pressures separately. Thewet component is difficult to predict due to local variations in the watervapor content of the troposphere and accounts for approximately 10% ofthe tropospheric delay. The dry component is relatively easier to predictand accounts for approximately 90% of the tropospheric delay.

Several models exist for the tropospheric wet and dry components [4,104, 119, 122]. The models contain two parts. The first part of the modelis the estimate of the zenith delay. The second part is a slant factor toaccount for the satellite elevation. For example, the Chao model is

δρdry = 2.276 × 10−5P

Fdry =1

sin(E) + 0.00143tan(E)+0.0445

δρwet = 4.70 × 102 e1.23o

T 2+ 1.705 × 106α

e1.46o

T 3

Fwet =1

sin(E) + 0.00035tan(E)+0.017

δρT = δρdryFdry + δρwetFwet

where δρ is the tropospheric delay expressed in meters, P is the atmosphericpressure in N

m2 , T is the temperature in ◦K, eo is the partial pressure ofwater vapor in millibars, α is the temperature lapse rate in ◦K per me-ter, and E is the satellite elevation angle. The partial pressure eo can becomputed from T and the relative humidity. In most navigation applica-tions, tropospheric delay is not compensated by equations such as this dueto the expense involved in measuring the required formula input variables.Instead, simplified formulas have been determined which only depend onsatellite elevation, receiver altitude, and satellite altitude.

The Magnavox and Collins algorithms are, respectively,

δρTM=

2.208sin(E)

(e

−hr6900 − e

−hs6900

)δρTC

=2.4225

0.026 + sin(E)e

−hr7492.8

Page 315: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

292 CHAPTER 8. GLOBAL POSITIONING SYSTEM

where hr and hs are the receiver and satellite altitudes in meters and therest of the variables are as previously defined. The Magnavox and Collinstropospheric correction models match each other and the Chao model (forstandard assumptions) to within one meter for elevation angles greater than15 degrees. The Magnavox model matches the Chao model more closelyfor elevation angles less than 5 degrees [119].

Each non-differential user should correct the measured range for tropo-spheric delay. The uncorrected portion of the tropospheric delay remainsas the measurement error denoted as T i

r .Since tropospheric delay is dependent on local variables, receiver alti-

tude, and the user-satellite line-of-sight, the ability of differential techniquesto compensate for tropospheric effects will depend on the position of theuser relative to the base station. The user of differential corrections mustknow whether the differential station is compensating for tropospheric de-lay in the broadcast corrections. If the broadcast corrections include tro-pospheric error and the user is at a different altitude than the referencestation, the user can correct the broadcast corrections for tropospheric de-lay at the reference station and correct the measured range for troposphericdelay at the user location.

8.4.5 Ephemeris Errors, Es

As illustrated in Figure 8.6, let the satellite position be ps and the com-puted satellite position be ps. The objective in this section is to determinethe effective range error due to using ps instead of ps in the range equa-tions. Let p denote the receiver position. Figure 8.6 represents the planedetermined by the three points p, ps, and ps.

The true range between the receiver and satellite is

R = ‖p − ps‖ = h�(p − ps) (8.67)

where h represents a unit vector in the direction (p−ps). The range betweenthe receiver and computed satellite position is

R = ‖p − ps‖ = h�(p − ps) (8.68)

where h represents a unit vector in the direction (p− ps) and h⊥ is a unitvector perpendicular to h in the plane of the figure. Figure 8.6 illustratesthat the computed range can be decomposed as follows

R = h�(p − ps)

= h� ((p − ps) + (ps − ps))

= h�(p − ps)

+ h�(ps − ps). (8.69)

Page 316: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 293

��

��6

�+�(��,66

�+��(��,66

�!+��(��,6

6�+�(��,

6

Figure 8.6: Geometry and notation for analysis of the effect of satelliteposition error on computed satellite range.

Using basic trigonometry, the term h� (p − ps) is

h� (p − ps) = R cos(θ)

≈ R

(1 − θ2

2

)(8.70)

where R was defined in eqn. (8.67) and θ = asin(

h⊥·(ps−ps)R

).

The control segment monitors the satellite orbits and calculates theephemeris parameters broadcast to the user by the satellites. The ephemerismodel is a curve fit to the measured orbit, which allows the user receiverto compute ps such that |ps − ps| is significantly less than ten meters inmagnitude; therefore, |θ| < 10

20×106 = 5 × 10−7 and the θ2 term in (eqn.8.70) can be safely ignored; therefore, by substituting eqn. (8.70) into eqn.(8.69) and rearranging, we arrive at

R − R = Ei

whereEi = h� (ps − ps) (8.71)

is typically less that 2m.The above error analysis related to Figure 8.6 was performed in the

plane defined by the three points p, ps, and ps. The ephemeris error(ps − ps) is often discussed as having three components: radial, tangen-tial, and cross-track. The radial component is

(h · (ps − ps)

)h. The vector(

h⊥ · (p − ps))h⊥ is the vector sum of the tangential and cross-track com-

ponents. Eqn. (8.71) shows that, to first order, R − R is affected only bythe radial component.

8.4.6 Selective Availability, SAs

Selective availability errors were artificially added to the satellite signalsby the U.S. government to degrade the position and velocity accuracy that

Page 317: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

294 CHAPTER 8. GLOBAL POSITIONING SYSTEM

could be attained using standard GPS receiver technology [7, 8, 25, 109].Selective availability errors are now turned off.

8.4.7 Multipath, M sρ , M s

φ

Multipath errors are caused by the satellite signal reaching the receiverantenna by multiple paths due to the direct path and possibly multiplesignal reflections.

A basic understanding of the operation of a GPS receiver will aid theunderstanding of the corrupting effects of multipath. The receiver tracksthe CDMA code by correlating an internally generated version of the satel-lite CDMA code with the received satellite signal. The internally generatedcode is shifted in time until maximum correlation occurs. The code is de-signed so that the correlation function has a symmetric triangular shapewithin one chip of its peak value. Multipath errors due to reflected signalsshift the correlation peak and corrupt the theoretically symmetric receivercorrelation envelope. Both of these changes to the correlation enveloperesult in erroneous pseudorange measurements.

Although reflected errors will always arrive after the direct path sig-nal, the multipath range error can still be both positive or negative. Eachreflected signal may interfere either constructively or destructively. Con-structive interference adds positively to the correlation function possiblycausing the correlation peak to shift to a later point, resulting in a posi-tive range error. Destructive interference adds negatively to the correlationfunction possibly causing the correlation peak to shift to an earlier point,resulting in a negative range error.

Nominally, C/A multipath can result in errors of 0.1-3.0 meters de-pending on various design and antenna siting factors. Exceptional cases(∼ 100m) have been reported [134]. L1 phase multipath error is expectedto be less than 5 cm.

To decrease the effects of multipath, the user can take the followingprecautions:

• Typically the majority of reflective surfaces (e.g., earth, lakes, vehiclechassis) are below the antenna. In such cases, it is beneficial to selectan antenna with low gain at small and negative elevations. The gaincan further be decreased by the use of absorbent materials. One typeof antenna designed to attenuate such signals is the choke ring.

• When possible, site the receiver antenna above the highest reflector.This is certainly possible in some stationary applications, but maynot be feasible for mobile applications.

• Change the receiver settings to avoid using satellites at low elevations.Signals from low elevation satellites travel nearly parallel with the

Page 318: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 295

surface of the planet and therefore have a good chance of sufferingfrom multiple reflections.

Due to the fact that the satellites orbit Earth twice per sidereal day (23hr 56 min.), each satellite appears in the same location 4 minutes earliereach day. Therefore, the portion of multipath at a stationary receiver dueto stationary objects will repeat with a period of 23 hr 56 min. (i.e., fourminutes earlier each day).

For mobile applications, the antenna motion relative to reflecting sur-faces may significantly decrease the time correlation of the multipath signal,thereby allowing it to be reduced via filtering.

Differential GPS reference stations should be carefully designed andsited to prevent base station multipath errors from being included in the‘corrections’ broadcast to the users.

8.4.8 Receiver Noise, ηiρ, ηi

φ

The previous sections have considered issues that affect time of propagation(i.e., ionosphere and troposphere), range measurement error due to signalreflections (i.e., multipath), and the effects of using computed instead ofactual satellite positions. In addition to those issues, various factors in-side the antenna, cabling, and receiver affect each measurement. Theseissues include thermal fluctuations, extraneous RF signals and noise, cross-correlation between the CDMA codes, and signal quantization and samplingeffects. These range errors due to these effects are cumulatively referredto as receiver noise. The magnitude of the ranging errors is different foreach tracking channel and depends on the signal-to-noise ratio of the signalassigned to the channel.

The receiver noise is usually modeled as white and independent betweenboth satellites and channels.

8.4.9 Carrier Tracking and Integer Ambiguity, N i

The purpose of this section is to discuss the relation of the carrier phaseobservable to the psuedorange and explain the origin of the integer phaseambiguity. To achieve this goal will require a rather detailed discussion ofGPS receivers including the basics of the Radio Frequency (RF) frontendand the phase lock loop in the baseband processor.

8.4.9.1 Receiver Overview

The purpose of the RF frontend is to amplify the antenna signal, to removeout-of-band noise, and to shift the frequency band of the desired signalto a lower frequency where it can be more easily processed. This lowerfrequency range is referred to as baseband. The purpose of the baseband

Page 319: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

296 CHAPTER 8. GLOBAL POSITIONING SYSTEM

��

+�,�!!!!!!!!#!!!!!!!�!!!!!!!!!!!!!�

���+)��,

��+)��,

��)+L#7J#,

�+�,

�+�,&�

���+)���,

# �

J

L

J#

L#

�3!3�������!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!C�����

���

���+)�� ,

C+�,

��

&�

Figure 8.7: Block diagram for a basic phase lock loop.

is to track the PRN code, to track the carrier phase, and to strip the databits. The following discussion focuses on the phase tracking objective. Thediscussion is simplified in that it assumes that the code and data bits havebeen completely removed.

A block diagram for a simplified RF frontend and phase lock loop (PLL)is shown in Figure 8.7. In the RF frontend, the antenna signal sin(φs

r(t)) ismultiplied with a sine wave computed using the phase of the receiver clockφc(t). This product is

sin(2πφc) sin(2πφsr) =

12

(cos

(2π(φc − φs

r))− cos

(2π(φc + φs

r)))

which is the input to the bandpass filter B(s). This filter is designed toremove the second term which is oscillating at the frequency fc + fs

r . Theamplified output of the bandpass filter is

ub(t) = cos(2π(φc(t) − φs

r(t)))

which has phaseφb(t) = φc(t) − φs

r(t) (8.72)

and is oscillating with frequency fb = fc − fsr , which may be time-varying.

The signal ub(t) is the input to the baseband processor.

8.4.9.2 Baseband Processing

The portion of Figure 8.7 marked as the baseband is actually one channelof the baseband processor. Each channel would perform the same proce-dures as outlined below. Each channel includes a Numerically Controlled

Page 320: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 297

Oscillator (NCO) which is represented in Figure 8.7 as the product As . The

frequency f of the NCO is determined by the NCO input signal u(t). Theoutput of the NCO is the phase angle φ. The phase accumulator in theNCO tracks both the whole cycle count Nca and the fractional portion ofthe phase φca such that

φ(τr(t)) = Nca(τr(t)) + φca(τr(t)). (8.73)

Therefore, φsr(τr(t)) = φ(τr(t)) can be computed at any time scheduled by

the receiver as is required for eqn. (8.24). The relation of φ to the geometricdistance between the user and satellite is derived below.

The baseband processor computes sin(φ) and cos(φ) which are multi-plied with ub to produce the signals

I = sin(2πφb) sin(2πφ) and Q = sin(2πφb) cos(2πφ).

As shown above for the RF frontend, the resulting I and Q signals are

I =12

(cos

(2π(φb − φ)

)− cos(2π(φb + φ)

))Q =

12

(sin

(2π(φb − φ)

)+ sin

(2π(φb + φ)

)).

The filter C(s) is designed to remove the second term, which is oscillatingat frequency fb + f , from each of these equations. Therefore,

If (t) =12

cos(2πθ(t))

Qf (t) =12

sin(2πθ(t))

where θ(t) = φb(t)−φ(t). Given If and Qf , θ can be computed by a varietyof different methods. For this discussion, we choose the four quadrantarctangent function

θ = atan2(Qf , If ).

The left portion of Figure 8.8 shows the vector z = [If , Qf ] and the angleθ in a two-dimensional plane. In general, z can point in any direction.The right portion of Figure 8.8 shows a simplified block diagram of theprocess described above wherein the detail for the process of computingthe variable θ has been removed. The only item in Figure 8.7 that has notyet been discussed is the filter H(s). The right portion of Figure 8.8 isa standard control loop. The filter H(s) is designed to stabilize this loopwhile achieving desirable transient and noise properties. The stability ofthe loop means that the variable θ(t) is forced towards zero. When this isachieved, then the direction of the vector z = [If , Qf ] is essentially along

Page 321: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

298 CHAPTER 8. GLOBAL POSITIONING SYSTEM

1�

��

��

+�,0��

1

� �

Figure 8.8: Simplified phase lock loop variables and block diagram. Left –Depiction of the vector [If , Qf ] and the angle θ. Right – Block diagram ofsimplified block diagram for a phase lock loop.

the I axis with the Qf component near zero. Under these conditions φ(t)is accurately tracking φb(t).

Figure 8.9 shows the phase tracking variables I, Q, and θ = atan2(Q, I)versus time for a phase lock loop. Initially, the loop is not phase-locked.Slightly after t = 1, the variable θ converges to and stays within the thresh-old value of 0.1 cycles until approximately t = 9. For the time interval,t ∈ [1.5, 9] the system has phase lock. Slightly after t = 9, some eventoccurs that causes θ to exceed the lock threshold. The system is seen tobe converging back towards phase lock at t = 10, but a cycle slip may haveoccurred.

8.4.9.3 Integer Ambiguity

Although the right portion of Figure 8.8 indicates that θ = φb−φ, this is notstrictly true because the four quadrant arctangent function always returns avalue −0.5 < θ ≤ 0.5. The arctangent function cannot distinguish betweenθ and θ+N for integer values of N . Because the arctangent function cannottell one cycle from another, the relation is actually

θ(t) = φb(t) − φ(t) + N(t) (8.74)

where angles are expressed in cycles and N(t) is the unique integer thatresults in θ(t) ∈ (−0.5, 0.5]. The job of the control system is to stabilize thecontrol loop of the PLL, which maintains θ(t) near zero. For reasonable highsignal-to-noise ratios, GPS receivers typically maintain phase lock and trackthe incoming signal with an accuracy of better than 1% of a cycle. Undersuch circumstances, N(t) is constant and the linearized model θ = φb−φ issufficient for the control system design and analysis; however, the integer Nand the full model of eqn. (8.74) play critical roles in the use of the phase

Page 322: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 299

0 1 2 3 4 5 6 7 8 9 10−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

I, Q

0 1 2 3 4 5 6 7 8 9 10−0.5

0

0.5

Time, t

Pha

se e

rror

, θ, c

ycle

s

Figure 8.9: Phase tracking variables. Top – Plot of filtered I (magnitudenear 0.5) and Q (magnitude near 0.0) versus time. Bottom – Plot of θ =atan2(Q, I) versus time.

angle φ as a ranging signal. Referring back to Figure 8.9, for t ∈ (0, 1), theinteger N(t) changed twice. For t ∈ (9, 10), the integer may have changed.For t ∈ [1.5, 9.0] the integer N(t) is constant. The ability to reliably detectloss of lock and cycle slips based on (If , Qf ) or θ depends in part on thesignal to noise ratio. The actual value of N(t) is not known and is irrelevantto the PLL.

For general discussion, let tl be the time at which lock is achieved andtu be the time at which lock is lost. At the instant the lock is achieved,

φ(τr(tl)) = φb(τr(tl)) − θ(τr(tl)) + N(τr(tl))

where the phase angles are now expressed in cycles. During the time intervalt ∈ [tl, tu], the tracking error θ is small and N(t) is constant; therefore,substituting eqn. (8.72) into eqn. (8.74) yields the measurement model

φ(τr(t)) = φb(τr(t)) − θ(τr(t)) + N(τr(tl))= φc(τr(t)) − φs

r(τr(t)) − θ(τr(t)) + N(τr(tl)) (8.75)

Page 323: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

300 CHAPTER 8. GLOBAL POSITIONING SYSTEM

where φc is the phase of the receiver oscillator, and as discussed in eqn.(8.73) the signal φ(τr(t)) is the receiver carrier phase measurement. Thevariable N(τr(tl)) is referred to as the integer ambiguity. Eqn. (8.75) andthe signal φs

r(τr(t)) are further considered in Section 8.4.9.4.

8.4.9.4 Carrier Measurement Model

The next step in the analysis is to consider the signal φsr(τr(t)) that rep-

resents the phase angle of the signal received through the GPS antenna atthe receiver indicated time τr(t), which is the phase of the satellite at timet − Δtsr:

φsr(τr(t)) = φs(t − Δtsr)

where the symbol Δtsr represents the phase propagation time which is dis-tinct from the code propagation time for the reasons discussed in Section8.4.4.1. Using eqns. (8.42–8.43) and the fact that the phase and timeof a clock are related as τ(t) = 1

fφ(t) where f is the nominal oscillator

frequency, we have that

1f

φs(t − Δtsr) = t − Δtsr + Δτ s(t − Δtsr) (8.76)

1f

φc(τr(t)) = t + Δτr(t). (8.77)

Proceeding from eqn. (8.75), we have

1f

φ(τr(t)) = t + Δτr − (t − Δtsr + Δτ s(t − Δtsr)) −θ

f+

1f

N(τr(tl))

= Δtsr + Δτr − Δτ s(t − Δtsr) −θ

f+

1f

N(τr(tl)). (8.78)

Combining eqns. (8.58), (8.64), and eqn. (8.66) we have that

cΔtsr = ‖p − ps‖ + cδtsφ + T sr . (8.79)

Substituting eqn. (8.79) into eqn. (8.78), accounting for multipath mea-surement errors, accounting for ephemeris errors Es as in eqn. (8.71), andrecognizing that φ in eqn. (8.73) is identical to φs

r in eqn. (8.24), we obtainthe measurement model of eqn. (8.25) which is written here explicitly forboth L1 and L2:

λ1φsr1

= ρ(x, ps) + Es − cδτ s − f2

f1Isr + T s

r + Msφ1

+ νsφ1

+ λ1Nsr1

λ2φsr2

= ρ(x, ps) + Es − cδτ s − f1

f2Isr + T s

r + Msφ2

+ νsφ2

+ λ2Nsr2

Page 324: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.4. GPS URE CHARACTERISTICS 301

Common Mode Errors L1 C/A, σ, m L1/L2, σ, m

Ionosphere 7-10 –Troposphere 1 1SV Clock 2 2

SV Ephemeris 2 2

Non-common Mode Errors

Receiver Noise 0.1 - 0.7 0.1 - 0.7Multipath 0.1 - 3.0 0.1 - 3.0

URE 8-11 3-4

Table 8.5: User pseudorange error standard deviation.

where the numeric subscripts 1 and 2 indicate the frequencies L1 and L2respectively and we have used the fact that for i = 1, 2 λi = c

fi. In subse-

quent sections, to simplify notation, the symbols βs1 and βs

2 will be used torepresent the sum of the noise and multipath terms.

8.4.10 Summary

Table 8.5 lists standard deviations for the various error components thatcorrupt the GPS pseudorange observables. Common-mode error refers tothose error sources that would be common to every receiver operatingwithin a limited (≈ 15km) geographic region. Noncommon-mode errors re-fer to those errors that would be distinct to receivers operating even in closeproximity. For the phase observables, the magnitude of the common-modeerrors would be unchanged and the magnitude of the noncommon-modeerrors would be decreased by about two orders of magnitude.

The values stated in Table 8.5 should be considered as reasonable es-timates, not known values. The user’s actual performance will depend onvarious factors including receiver technology, antenna technology, and theuser environment. With the reasonable assumption that the error compo-nents are independent, the User Range Error (URE), also called the UserEquivalent Range Error (UERE) is the root of the sum of the square (RSS)of the individual error components.

Based on the standard deviation estimates in Table 8.5, standard GPShas a URE of 8-11 m. The dominant error source is the ionospheric error.The right column shows that for a two frequency receiver able to eliminatethe ionospheric error, multipath and SV clock and ephemeris errors becomethe dominant error sources. The translation of the range error into anestimate of the position error covariance is the topic of Section 8.5. The

Page 325: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

302 CHAPTER 8. GLOBAL POSITIONING SYSTEM

relationships between range error standard deviation and other performancemetrics (e.g., CEP, R95, 2drms, etc.) are discussed in Section 4.9.1.

In Section 8.8, differential GPS is discussed. Differential operationachieves significant accuracy improvements by canceling the effect of thecommon mode errors. The resulting URE would be a few 0.1-3m for differ-ential pseudorange or a few centimeters for differential phase.

8.5 Geometric Dilution of Precision

This section derives dilution of precision (DOP) factors that related theURE to the expected position estimation accuracy. In the discussion ofthis section, it is assumed that H includes a rotation matrix so that thevector p, which contains the first three states of x, represents horizontalposition and altitude (i.e., north, east, and down).

After convergence of the GPS update of eqn. (8.13), we expect thatdx = 0 which implies that

(H�H

)−1H�(ρ − ρ(x)

)= 0.

Also, from eqns. (8.6) and (8.11), we have that

ρ − ρ(x) = Hδx + χ

where χ is defined in eqn. (8.7). Combining these equations yields

δx = − (H�H

)−1H�χ (8.80)

where the number of measurements m is greater than three and the inversematrix exists.

Assuming that the error vector χ is zero mean with covariance σ2I, wecan determine the expected value and covariance of the position error. Theexpected value of δx is

E〈δx〉 = E⟨(

H�H)−1

H�χ⟩

= 0;

therefore, the estimate of the receiver antenna position and receiver clockbias is expected to be unbiased. This statement should be interpreted withcaution. The ensemble average has an expected value of zero. In fact, if atemporal sequence of positions was averaged long enough, the position errorshould converge to zero. However, the temporal average has significant timecorrelation due to the range errors (Ei, T i

r , Iir, M i

ρ, and cδti) all being timecorrelated. Therefore short-term averages can contain significantly biasederrors.

Page 326: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.5. GEOMETRIC DILUTION OF PRECISION 303

Define P = cov(δx). From eqn. (8.80) the covariance matrix P can becomputed as shown in eqn. (8.81):

P = E〈δxδx�〉= E

⟨(H�H

)−1H�χχ�H

(H�H

)−1⟩

=(H�H

)−1H� (

σ2I)H(H�H

)−1

=(HT H

)−1σ2. (8.81)

This P matrix could be used with the methods of Section 4.9.1 to defineprobability ellipses. Define the matrix G =

(HT H

)−1. Based on eqn.(8.81), P = Gσ2 which shows that the variance of the x estimation erroris determined by the product of the URE variance σ2 and the matrix Gwhich is determined by the geometry of the satellites relative to the user.Due to the structure of the covariance matrix, as discussed in eqn. (4.24),the variance of the position estimates and various useful error metrics canbe computed, for example:

var(n) = G11σ2, var(e) = G22σ

2,

var(d) = G33σ2, var(cΔtr) = G44σ

2,

and E〈δp�δp〉 = (G11 + G22 + G33) σ2. The matrix G defines various di-lution of precision (DOP) factors that are convenient for specifying theamplification of the URE in the estimation of specific portions of x. Typi-cally used DOP factors are

V DOP =√

G33

HDOP =√

G11 + G22

PDOP =√

G11 + G22 + G33

GDOP =√

G11 + G22 + G33 + G44

=√

trace (HT H)−1 (8.82)

where V DOP quantifies the magnification of URE in estimating altitude,HDOP quantifies the magnification of URE in estimating the horizontalposition [n, e]�, etc.

Most GPS receivers calculate and can be configured to output the var-ious DOP factors and URE. This allows the user (or real-time software)to monitor the expected instantaneous estimation accuracy. GPS planningsoftware is also available which allows users to analyze the DOP factors asa function of time and location to determine either satisfactory or optimaltimes for performing GPS related activities (see Chapter 7 in [76]).

The matrix H is a function of the number of satellites in view and thegeometry of the line-of-sight vectors �hi from the satellites to the user. The

Page 327: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

304 CHAPTER 8. GLOBAL POSITIONING SYSTEM

�&

�)

�&

�)

Figure 8.10: Two dimensional illustration of the relationship betweensatellite-to-user geometry and the resulting position accuracy.

effect of satellite-to-user geometry on position estimation accuracy is illus-trated in Figure 8.10 using two dimensions. This figure shows two possibleuser-satellite configurations. In each configuration, a receiver measures therange to two satellites at the indicated positions. Due to measurement er-rors, the range measurement is not known exactly, but the receiver positionis expected to lie between the two indicated concentric circles. In the lefthalf of the figure the receiver vectors �h1 and �h2 are nearly collinear; theintersection of the two concentric circles for the two satellites results in along thin region of possible positions with the largest uncertainty directionorthogonal to the satellite vectors. In this case, the DOP factor would belarge. In the right half of the figure the vectors �h1 and �h2 are nearly or-thogonal; the intersection of the concentric circles for each satellite resultsin a much more equally proportioned uncertainty region.

The measurement matrix H is not constant in time because of the GPSsatellite positions change as they orbit Earth. Large DOP values resultwhen the rows of H are nearly linearly dependent. This could be measuredby the condition of the matrix H�H, but this approach is not often usedor necessary. There may be times when for a given set of four satellitesthe H matrix approaches singularity and GDOP approaches infinity. Thiscondition is called a GDOP chimney, see Figure 8.11. This was a difficultyin the early days of GPS, when satellites had fewer tracking channels ora limited number of satellites were in view. Fortunately, there are usuallymore than four satellites in view and modern receivers track more thanthe minimum number of satellites; hence, either all or an optimal set ofthe tracked satellites can be selected to minimize a desired DOP UREamplification factor.

Example 8.4 Consider the following case for which six satellites are inview of the receiver antenna. The rows of the H matrix for each satellite

Page 328: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.5. GEOMETRIC DILUTION OF PRECISION 305

500 1000 1500 2000 2500 3000 350010

0

101

102

103

Time, t, sec

GD

OP

Figure 8.11: GDOP chimney for a set of four satellites.

are:

SV 2 −0.557466 +0.829830 −0.024781 +1.000000SV 24 +0.469913 +0.860463 +0.196942 +1.000000SV 4 +0.086117 +0.936539 −0.339823 +1.000000SV 5 +0.661510 −0.318625 −0.678884 +1.000000SV 7 −0.337536 +0.461389 −0.820482 +1.000000SV 9 +0.762094 +0.267539 −0.589606 +1.000000

For this set of six satellites, there are fifteen different combinations of foursatellites, as shown in Table 8.6. The GDOP figures for the various sets offour satellites range from 3.58 to 16.03. Instead of selecting the best foursatellites, an all-in-view approach using all six satellites would result in aGDOP of 2.96. �

A comparison of the above discussion with the discussion of observabilityin Section 3.6.1 shows that the various DOP factors are measures the degreeof observability of a selected set of position states are at a given time instant(and location) for a given set of satellites. If observability is temporarilylost (e.g., due to satellite occlusion), some of the DOP factors becomeinfinite and a full position solution is not possible by stand-alone GPS. Inan aided navigation system, the integration of the high rate sensors throughthe vehicle kinematic equations will maintain an estimate of the vehiclestate which includes the position. In addition, the navigation system willmaintain an estimate of the state error covariance matrix denoted as P.During the time period when PDOP is infinite, some linear combination ofthe states will be unobservable from the available GPS measurements. The

Page 329: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

306 CHAPTER 8. GLOBAL POSITIONING SYSTEM

SV Combination GDOP Satellite Combination GDOP24, 2, 4, 5 3.72 24, 2, 4, 7 6.2524, 2, 4, 9 4.86 24, 2, 7, 5 4.4824, 2, 9, 5 5.09 2, 7, 4, 5 3.582, 9, 4, 5 16.03 24, 7, 4, 5 8.63

24, 9, 4, 5 5.45 7, 9, 4, 5 8.5924, 9, 4, 7 6.96 7, 9, 4, 2 4.9624, 9, 5, 7 4.89 7, 9, 5, 2 3.9224, 9, 2, 7 13.10

Table 8.6: Example satellite combinations and corresponding GDOP values.

Kalman filter will use the available measurements in an optimal fashion tomaintain the estimate accuracy to the extent possible. The unobservableportions of the state vector will be indicated by growth in the correspondingdirections of the P matrix. This could be analyzed via a SVD or eigen-decomposition of P.

This section has worked entirely with covariance of position error. Otherperformance metrics (e.g., CEP, R95, 2drms, etc.) are discussed in Section4.9.1.

8.6 Two Frequency Receivers

A major reason for the design of multi-frequency receivers is to allow esti-mation and compensation of the ionospheric delay.

Simultaneous L1 and L2 pseudorange observables from the same satelliteand receiver can be modeled as

ρ1 = ρ + Ecm +f2

f1Ia + η1 (8.83)

ρ2 = ρ + Ecm +f1

f2Ia + η2 (8.84)

where Ecm is the lumped common mode errors other that the ionosphericdelay Ia = 40.3

f1f2TEC, ηi represents the sum of the receiver noise and mul-

tipath errors, and f1 and f2 are the carrier frequencies. In the analysis tofollow, we will assume that η1 and η2 are independent, Gaussian randomvariables with variance σ2

ρ.Eqns. (8.83–8.84) can be manipulated to provide an ionospheric free

pseudorange observable as

ρ =f21 ρ1 − f2

2 ρ2

(f21 − f2

2 )(8.85)

Page 330: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.6. TWO FREQUENCY RECEIVERS 307

which has the measurement model

ρ = ρ + Ecm +f21

f21 − f2

2

η1 − f22

f21 − f2

2

η2. (8.86)

Eqn. (8.85) is not usually used directly, because as shown in eqn. (8.86),the noise variance (i.e., effect of η1 and η2 on ρ) is approximately 9σ2

ρ. Thefollowing two paragraphs discuss alternative approaches to the constructionof ionospheric free pseudorange observables.

An estimate of the ionospheric delay can be computed as

Iaρ=

f1f2

f21 − f2

2

(ρ2 − ρ1) . (8.87)

Direct substitution of eqns. (8.83–8.84) into eqn. (8.87) shows that

Iaρ= Ia +

f1f2

f21 − f2

2

(η2 − η1) (8.88)

= Ia + 1.984 (η2 − η1) (8.89)

which shows that Iaρis unbiased. The variance of Iaρ

at each epoch isapproximately 8σ2

ρ. Because of the magnification of the receiver noise, theionospheric estimate of eqn. (8.87) is not used directly to compensate thepseudorange measurement. Instead, because Ia changes slowly with a cor-relation time of a few hours, while η1 and η2 have much shorter correlationtimes, Iaρ

could for example be low pass filtered by a filter with a timeconstant of several minutes to greatly decrease the effect of η1 and η2 whilemaintaining the time variation of Iaρ

. If we denote the filtered version ofIaρ as Iaρ then an ionosphere free pseudorange can be computed as

ρ = ρ1 − f2

f1Iaρ

(8.90)

which has the error model

ρ = ρ + Ecm + η1

where the ionospheric error has been (essentially) removed and the measure-ment noise has not been amplified. The remaining common-mode errorscould be removed via differential processing. Another approach is discussedsubsequently.

Simultaneous L1 and L2 phase observables from the same satellite andreceiver can be modeled as

λ1φ1 = ρ + Ecm − f2

f1Ia + β1 + λ1N1 (8.91)

λ2φ2 = ρ + Ecm − f1

f2Ia + β2 + λ2N2 (8.92)

Page 331: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

308 CHAPTER 8. GLOBAL POSITIONING SYSTEM

where λ1 = cf1

and λ2 = cf2

are the wavelength of the L1 and L2 carriersignals, respectively, and βi is the combined effect of multipath and receivernoise. The subsequent analysis assumes that β1 and β2 are independentGaussian processes with variance σ2

φ. Using the phase observables, theionospheric delay can be estimated as

Iaφ=

f1f2

f21 − f2

2

(λ1φ1 − λ2φ2

). (8.93)

Direct substitution of eqns. (8.91) and (8.92) into eqn. (8.93) shows that

Iaφ= Ia +

f1f2

f21 − f2

2

(β1 − β2 + N1λ1 − N2λ2) (8.94)

= Ia + 1.984 (β2 − β1) +f1f2

f21 − f2

2

(N1λ1 − N2λ2) . (8.95)

Therefore, the variance of Iaρat each epoch is approximately 8σ2

φ; however,the estimate contains the significant constant bias

B =f1f2

f21 − f2

2

(N1λ1 − N2λ2) .

Eqns. (8.89) and (8.95) have the form

Iaρ= Ia + n1 (8.96)

Iaφ= Ia + n2 + B. (8.97)

Eqns. (8.96) and (8.97) are in the exact form considered in Example 5.4.Therefore, the solution is

Ia(k) = Iaφ(k) − B(k) (8.98)

whereBk = Bk−1 +

1k

((Iaφ

− Iaρ

)− Bk−1

)starting at k = 1 with B0 = 0. The estimation error variance for B is

PB = 8(1+μ2)σ2ρ

k and for Ia(k) is PIa= 8

(1−μ2

k + μ2)

σ2ρ, where σφ = μσρ

and μ = 0.01 is the ratio of the phase noise to the pseudorange noise.The desire to estimate the ionospheric delay was a primary motivation

for the GPS system to incorporate signals on two frequencies. The speci-fication of the two frequencies involved a tradeoff related to the frequencyspacing. If the frequency separation was too small, then measurement er-rors would be significantly magnified as shown in eqn. (8.88) and (8.94).However, if the frequency separation were too large, then separate antennaswould be required to receive the two signals.

Page 332: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.6. TWO FREQUENCY RECEIVERS 309

8.6.1 Wide and Narrow Lane Observables

This section develops the equations for the narrow-lane and wide-lane ob-servables. These variables are synthesized as linear combinations of the L1and L2 measurements. The interest in the wide-lane signal is that its wave-length is large enough that the wide-lane variable is often used to facilitatethe problem of integer ambiguity resolution, see Section 8.9.

The phase measurements of eqns. (8.91–8.92) can be modeled as

φ1 − N1 =f1

c(ρ + Ecm + β1) − f2

cIa (8.99)

φ2 − N2 =f2

c(ρ + Ecm + β2) − f1

cIa. (8.100)

Forming the sum and difference of eqns. (8.99) and (8.100) results in

(φ1 + φ2

)=

(f1

c+

f2

c

)ρ −

(f2

c+

f1

c

)Ia + (N2 + N1)

+(

f1

c+

f2

c

)Ecm +

f1

cβ1 +

f2

cβ2 (8.101)

(φ1 − φ2

)=

(f1

c− f2

c

)ρ −

(f2

c− f1

c

)Ia + (N1 − N2)

+(

f1

c− f2

c

)Ecm +

f1

cβ1 − f2

cβ2. (8.102)

By defining the wide and narrow lane wavelengths as

λw =c

f1 − f2(8.103)

λn =c

f1 + f2, (8.104)

eqns. (8.101) and (8.102) can be written in meters as

(φ1 + φ2)λn = ρ + Ecm − Ia + (N2 + N1)λn

+λn

λ1β1 +

λn

λ2β2 (8.105)

(φ1 − φ2)λw = ρ + Ecm + Ia + (N1 − N2)λw

+λw

λ1β1 − λw

λ2β2 (8.106)

where λw

λ1= 154

34 ≈ 4.5 and λw

λ2= 120

34 ≈ 3.5; therefore, the standard devi-ation of the widelane noise (i.e., λw

λ1β1 − λw

λ2β2) is approximately 5.7 times

the standard deviation of the L1 or L2 phase noise (i.e. β1 or β2). The

Page 333: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

310 CHAPTER 8. GLOBAL POSITIONING SYSTEM

fact that the wide-lane phase has a wavelength of approximately 86cm cansimplify integer ambiguity resolution in differential GPS applications.

The pseudorange estimates can be processed similarly yielding(ρ1

λ1− ρ2

λ2

)λw = ρ + Ecm − Ia +

λw

λ1η1 − λw

λ2η2 (8.107)(

ρ1

λ1+

ρ2

λ2

)λn = ρ + Ecm + Ia +

λn

λ1η1 +

λn

λ2η2. (8.108)

Both the code and phase narrow-lane observables have noise reduced by√2.

8.7 Carrier-Smoothed Code

The code observables provide a noisy but complete measurement of thepseudorange while the phase observables provide a relatively noise-free butbiased measurement of the pseudorange. Carrier-smoothing is one approachthat has been to achieve an unbiased and smooth pseudorange estimate. Inthis section, we present the approach for non-differential wide-lane phaseand narrow-lane code observables. This approach can also be used directlywith L1 code and phase for a single frequency receiver, but the designershould be careful due to the issue of code-carrier divergence.

Eqns. (8.106) and (8.108) have the form(ρ1

λ1+

ρ2

λ2

)λn = r + n1 (8.109)

(φ1 − φ2)λw = r + C + n2 (8.110)

where r = ρ + Ecm + Ia, n1 = λn

λ1η1 + λn

λ2η2, n2 = λw

λ1β1 − λw

λ2β2 and

C = (N1 − N2)λw. Note the C is a constant and that Cλw

is an integer.Eqns. (8.109–8.110) are (again) of the exact form considered in Example5.4; therefore, C can be estimated as

Ck = Ck−1 +1k

((λwφw(k) − ρn(k)

)− Ck−1

)(8.111)

where φw = φ1 − φ2 and ρn =(

ρ1λ1

+ ρ2λ2

)λn. The variance for Ck is

PC = (1 + μ2)σ2ρ

k where μ = σφ

σρ= 0.01. The carrier-smoothed pseudorange

estimate isrk = λwφw(k) − Ck (8.112)

where Pr = (1 − μ2)σ2ρ

k + μ2σ2ρ so the code noise and multipath effects are

significantly reduced over time; however, by its definition following eqn.

Page 334: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.7. CARRIER-SMOOTHED CODE 311

(8.110), rk is still (fully) affected by Ia and Ecm. The ionospheric termcan be estimated as in eqn. (8.98) and compensated. This leaves thetropospheric, ephemeris, and SV clock errors as the dominant elements ofthe range error.

The carrier-smoothing approach is also applicable to differentially cor-rected pseudorange and phase measurements, in which case the residualtropospheric, ephemeris, and SV clock errors would be small.

&::: )::: @::: <::: ?::: ;::: I:::(&E*&

(&E

(&I*H

(&I*E

(&I*I

(&I*;

(&I*?

(&I*<

(&I*@

(&I*)

�!#��!���M@:

&::: )::: @::: <::: ?::: ;::: I:::

(:*?

:

:*?

&

&*?

)

5�$�7!�7!��

�!��!�

Figure 8.12: Carrier smoothed code results for Example 8.5. Top – Results

for PRN 30. The solid line is(λwφw − ρn

). The dashed line is C. Bottom –

The solid line is ρn. The dashed line is r.

Example 8.5 Figure 8.12 displays results of the carrier smoothed code op-eration. The top graph displays

(λwφw − ρn

)(solid) and C (dashed). The

estimate of the constant C is significantly smoother than the instantaneousvalue of

(λwφw − ρn

).

The variable r is the pseudorange plus the ionosphere and common modeerrors. In particular, for the i-th SV, r contains the range R(p,pi) and thereceiver clock error which are large and change rapidly relative to the other

Page 335: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

312 CHAPTER 8. GLOBAL POSITIONING SYSTEM

C��������

�����

Figure 8.13: Differential GPS scenario with GPS signals indicated by solidlines and DGPS correction signals indicated by dashed lines.

terms in r. Therefore, a comparison of the graphes of ri and ρin is not

informative due to the large vertical scale. Therefore, the lower graph inFigure 8.12 instead plots(

ρin − R(po, pi)

)− (ρ2

n − R(po, p2))

(8.113)

and (ri − R(po, pi)

)− (r2 − R(po, p2)

)(8.114)

where po is a fixed position selected to be near the receiver location. Thedifferences within the parentheses remove the effects of satellite motion.The difference between the two terms in parentheses removes the effect ofthe receiver clock. These differences result in a convenient scale factor forthe plot, without changing the characteristics of the comparison. The graphof eqn. (8.113) is the solid line. The graph of eqn. (8.114) is the dashedline. �

8.8 Differential GPS

The error sources previously described limit the accuracy attainable usingGPS. Several of the sources of error (ionospheric delay, tropospheric delay,satellite ephemeris and clock error), referred to as the common mode er-rors, are spatially and temporally correlated. Therefore, if the errors couldbe estimated by one base receiver and promptly broadcast to other rovingreceivers, then the GPS positioning accuracy at each of the roving receiverscould be substantially improved. This is the basic principle of how Differ-ential GPS (DGPS) works. A typical DGPS setup is illustrated in Figure8.13.

The following subsections will discuss a few DGPS methods. In eachcase, DGPS will involve a GPS receiver/antenna at a location po, a re-ceiver/antenna at an unknown possibly changing position pr, a satellite at

Page 336: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.8. DIFFERENTIAL GPS 313

the calculated position pi, and a communication medium from the first re-ceiver to the second receiver. In the discussion, the former receiver will bereferred to as the base. The latter receiver will be referred to as the rover.Although the discussion is phrased in terms of one base and one rover, thenumber of roving receivers is not limited.

8.8.1 Relative DGPS

This section has three parts. Section 8.8.1.1 considers relative DGPS basedon the pseudorange observables. Section 8.8.1.2 considers relative DGPSbased on the phase observables. Section 8.8.1.3 analyzes the effect of base-rover separation on the computation of the range difference via projectionof the base-rover offset vector onto the satellite line-of-sight vector.

8.8.1.1 Pseudorange

The correction equations of this subsection are derived for a single satellite,but the process is identical for all satellites of interest. The GPS pseu-dorange observables, measured simultaneously at the base and rover are,respectively,

ρio = R(po, pi) + cΔtro + ηi

o + cδti + cδtiao+ Ei

o (8.115)

ρir = R(pr, pi) + cΔtrr

+ ηir + cδti + cδtiar

+ Eir (8.116)

where δtiarrepresents the sum of the ionospheric and tropospheric errors,

the other error terms are all defined as in eqn. (8.6), and the subscripts oand r denote the error terms corresponding to the base and rover, respec-tively.

If the base pseudorange observables were communicated to the rover,then the single-differential measurements

Δρiro = ρi

r − ρio (8.117)

could be formed. From eqns. (8.115–8.116), this differential measurementis modeled as

Δρiro = (R(pr, pi) + cΔtrr + ηi

r + cδti + cδtiar+ Ei

o)

−(R(po, pi) + cΔtro+ ηi

o + cδti + cδtiao+ Ei

r)

= R(pr, pi) − R(po, pi) + (cΔtrr − cΔtro) + η (8.118)

≈ hirΔxro + η (8.119)

where Δxro =[(pr − po)

�, (cΔtrr − cΔtro)

]�, hi

r =[

pr−pi

‖pr−pi‖ , 1], and

η = (cδtiar− cδtiao

) + (Eir − Ei

o) + (ηr − ηo).

Page 337: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

314 CHAPTER 8. GLOBAL POSITIONING SYSTEM

The transition from eqn. (8.118) to eqn. (8.119) is often invoked, but itis not exact. The analysis of the incurred error is presented in Section8.8.1.3. The satellite clock errors are identical for all receivers makingsimultaneous measurements; therefore, they cancel in eqns. (8.118–8.119).The correlation of the atmospheric error term between the base and receiverlocations depends on the various factors, the most important of which isthe base-to-rover distance d = ‖pr −po‖. The satellite position error termsdecorrelate with distance due to the change of the satellite position errorthat projects onto the line-of-sight vector. The effect of satellite positionerror on differential measurements is bounded (see p. 3-50 in [108]) by d δr

rwhere r is the range to the satellite and δr is the magnitude of the satelliteposition error. This bound is about 2cm for d = 40km, and δr = 10m.

Although, for a vector of measurements, eqn. (8.119) would appear tohave the form of a least squares estimation problem, strictly speaking itis not a LS problem due to the dependence of hi on pr. However, eqn.(8.118) is easily solved by a few iterations of the algorithm described inSection 8.2.2. After convergence, the result Δxro is the relative positionand relative receiver clock bias between the rover and the base receivers. Innavigation applications, the relative clock error is usually inconsequential.

For some applications, for example maneuvering relative to a landingstrip or formation flight, relative position may be sufficient. In such ap-plications, the base station position po is not required. In other applica-tions where the Earth relative position is required and the base position isknown, it is straightforward to compute the Earth relative rover positionas the sum of the base position and the estimated relative position vector.Note that errors in the estimate of the base position vector directly affectthe estimated rover position vector.

Since the non-common mode noise η has range errors between 0.1 and3.0m, depending on receiver design and multipath mitigation techniques,DGPS position accuracy is much better than SPS GPS accuracy. Cancel-lation of the common mode noise sources in eqn. (8.119) assumes that therover is sufficiently near (within 10-50 mi.) the base station and that thecorrections are available at the rover in a timely fashion.

8.8.1.2 Carrier Phase

In non-differential operations, the common mode errors corrupting thephase observables limit the utility of the phase observables. In differen-tial mode, the common mode errors are essentially removed. Assumingthat the integer ambiguities can be identified, the carrier observables thenenable position estimation with accuracy approximately 100 times betterthan is possible with pseudorange alone.

For the carrier phase observables, the relative DGPS process is nearlyidentical to that described for the pseudorange in Section 8.8.1.1. Let the

Page 338: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.8. DIFFERENTIAL GPS 315

phase observables be modeled as

λφio = R(po, pi) + cΔtro

+ βio + λN i

o + cδti + cδtiao

+ Eio (8.120)

λφir = R(pr, pi) + cΔtrr

+ βir + λN i

r + cδti + cδtiar

+ Eir (8.121)

where the symbols cδtiao

and cδtiar

are used to distinguish the phase atmo-spheric delays from the similarly denoted pseudorange atmospheric delaysin Section 8.8.1.1. The code and phase atmospheric delays are not the sameas discussed in Section 8.4.4.1.

If the base observables were communicated to the rover, then by meth-ods similar to those in Section 8.8.1.1, the differential measurements

Δφiro = φi

r − φio (8.122)

could be formed and modeled as

λΔφiro = R(pr, pi) − R(po, pi) + (cΔtrr

− cΔtro) + β + λN i

ro (8.123)

≈ hiΔxro + β + λN iro (8.124)

where N iro = Nr − No is still an integer and

β = (cδtiar− cδtiao

) + (Eir − Ei

o) + (βr − βo).

The common mode errors cancel in the same sense as was discussed in Sec-tion 8.8.1.1. Often the residual ionospheric error is modeled as an additionalterm in eqns. (8.123–8.124) when its effect is expected to be significant,as can be the case in integer ambiguity resolution over between receiversseparated by large distances.

The η term in eqns. (8.118–8.119) is expected to have magnitude onthe meter scale, while the β term of eqns. (8.123–8.124) is expected tohave magnitude on the centimeter scale. However, the challenge to usingeqns. (8.123–8.124) as a range estimate for precise point positioning is thatthe integer Nro is unknown. Integer ambiguity resolution is discussed inSection 8.9. Carrier-smoothing between eqns. (8.118) and (8.123) is alsoan option during the time interval that the integer search is in progress.

8.8.1.3 Rover-Base Separation

The transition from eqn. (8.118) to eqn. (8.119) involves the approximation

R(pr, pi) − R(po, pi) = hiΔxro. (8.125)

This section first motivates the approximation from a physical perspectiveand then shows the result mathematically.

Page 339: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

316 CHAPTER 8. GLOBAL POSITIONING SYSTEM

����2��� "

�����2��� "

�����2�� "�������2��� "

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

5�!�������

>>!�������!>>

�3 �� ����� �"

6

6

6

6

Figure 8.14: Relative GPS range.

For the physical description, consider the geometry depicted in Figure8.14. The figure shows signals arriving at the base and rover locations. Thegeometry of the figure assumes that (1) the satellite is sufficiently far awayfor the wave fronts to appear as planes that are indicated by dashed lines;and, (2) the line-of-sight vectors for the rover and base are identical. Fromthe figure geometry it is clear that subject to the two assumptions, eqn.(8.125) is an accurate approximation. The analysis below shows that theaccuracy of the approximations is approximately d2

2Rowhich has magnitude

2.5cm for d = 1km and 2.5m at d = 10km.The following mathematical derivation will allow quantitative analysis.

The derivation will start from the following facts:

R(pr, pi) = �hr

(pr − pi

)R(po, pi) = �ho

(po − pi

)where �hr = (pr−pi)

‖pr−pi‖ and �ho = (po−pi)‖(po−pi)‖ are represented as row vectors

so that the superscript � for transpose can be dropped. To decrease thenotation slightly, we will use the following symbols: Ro = R(po, pi) andRr = R(pr, pi). The analysis is as follows:

Rr − Ro = �hr

(pr − pi

)− �ho

(po − pi

)+ �hr (po − po)

= �hr (pr − po) + �hr

(po − pi

)− �ho

(po − pi

). (8.126)

Figure 8.15 shows the notation and geometry that will be useful for theanalysis of the last two terms in eqn. (8.126). From the figure it is clearthat

�hr

(po − pi

)= �ho

(po − pi

)cos(θ). (8.127)

Page 340: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.8. DIFFERENTIAL GPS 317

��+!�������!,

��

����

����������"

����������"

6

66

6

Figure 8.15: Notation and geometry for analysis of rover to base separation.

Therefore,

Rr − Ro = �hr (pr − po) + (cos(θ) − 1) �ho

(po − �pi

)≈ �hr (pr − po) +

θ2

2Ro. (8.128)

Using the approximation θ ≈ sin(θ) (accurate to third order in θ) we have

|θ| ≤ ‖pr − po‖�ho (po − pi)

=d

Ro.

Using this information, eqn. (8.128) reduces to

Rr − Ro ≈ �hr (pr − po) +d2

2Ro. (8.129)

In the transition from eqn. (8.118) to eqn. (8.119) this error term isincorporated into the measurement error. The error can be substantial ford > 1km.

8.8.2 Differential GPS

The common mode noise sources are continuous and slowly time-varying(see Figure 8.16). Due to this significant short-term correlation, it is oftenmore efficient to send corrections instead of the full measurements that werediscussed in Sections 8.8.1.1 and 8.8.1.2.

8.8.2.1 Differential Corrections

For the L1 and L2, code and phase observables, the common mode, additive,ideal error corrections are

Δρi1(t) = −

(Ei + cδti +

f2

f1Iir + T i

r

)(8.130)

Δρi2(t) = −

(Ei + cδti +

f1

f2Iir + T i

r

)(8.131)

Page 341: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

318 CHAPTER 8. GLOBAL POSITIONING SYSTEM

Δφi1(t) = −

(Ei + cδti − f2

f1Iir + T i

r

)1λ1

(8.132)

Δφi2(t) = −

(Ei + cδti − f1

f2Iir + T i

r

)1λ2

. (8.133)

These corrections are easily computed from the observables at the basestation as

Δρi1(t) = Ri

o(t) − ρio1

(t) (8.134)

Δρi2(t) = Ri

o(t) − ρio2

(t) (8.135)

Δφi1(t) = Ri

o(t)1λ1

− φio1

(t) (8.136)

Δφi2(t) = Ri

o(t)1λ2

− φio2

(t). (8.137)

where Rio(t) is computed in eqn. (8.1) using the known base location po

and the computed satellite location pi.It is useful to consider the error models appropriate for the computed

corrections. For the computed pseudorange correction Δρi1, the measure-

ment model isΔρi

1(t) = Δρi1(t) + cΔto(t) + ηi

ρo(t). (8.138)

First, it is important to note that multipath errors and receiver noise di-rectly affect the computed corrections. Therefore, a high quality basereceiver-antenna pair and care in antenna siting are critical to the ac-curacy that will ultimately be attained by the rover. Second, the sum(Δρi

1(t) + ηiρo

(t)) is expected to be on the order of 10 meters. The basestation clock bias term cΔto is unneeded by the rover and can be as large as3×105m. This term significantly increases both the magnitude and rate ofchange of the computed corrections. For these reasons, it is common prac-tice to subtract an estimate of the base clock bias from each of the computedcorrections. The main issues are that the rover clock bias estimate shouldbe a smooth function of time and that the exact same clock bias estimateshould be subtracted from each of the simultaneous differential correctionsof eqns. (8.134–8.137).

For the computed phase correction, Δφ1(t), the measurement model is

Δφi1(t) = Δφi

1(t) +1λ1

(cΔto(t) + νφo(t)) + N i

o1.

The base receiver clock bias was discussed in the previous paragraph. Forphase corrections, the integer ambiguity is also important because it is largeand its specific value is not important to the rover computations. Therefore,let tio represent the first time instant after the i-th satellite rises for whichΔφi

1(t) will be broadcast. At time tio the base can select an arbitrary integer

Page 342: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.8. DIFFERENTIAL GPS 319

: ?:: &::: &?:: )::: )?::

(<

()

:

)

5�$�7!�7!��

-�##*! ���� ����7!$����

: ?:: &::: &?:: )::: )?::@:

@?

<:

<?

?:

??

5�$�7!�7!��

"������7!�������

Figure 8.16: Differential corrections from Example 8.6 as computed by eqns.(8.134–8.137).

number of cycles to add to the correction. This integer must then be keptconstant and added to all subsequently broadcast corrections for satellite iuntil the satellite is no longer available to the base receiver. Two commonapproaches are to select the integer so that the initial phase correction iseither near zero or near the corresponding code correction. The actual valueof the integer is not important, as long as it is kept constant.

If the base receiver loses lock to a satellite, it must have a means tocommunicate that fact to the rovers. So that each rover can recompute theinteger ambiguities for that satellite.

Example 8.6 Figure 8.16 shows example differential GPS corrections ascomputed by eqns. (8.134–8.137) after removing an estimate of the base re-ceiver clock bias and selecting the initial base integer ambiguities such thatthe code and phase measurements are approximately the same at t = 0. Att = 0, the L1 corrections start near -1.5 m and the L2 corrections startnear -3.0 m. The phase corrections are drawn with a narrower line thanthe pseudorange corrections. The time correlated nature of the correctionsis clearly shown in the figure. In addition, over the duration of this experi-ment, as the satellite descends, the divergence between the code and carriercorrections is clearly exhibited. �

8.8.2.2 Rover DGPS Computations

At each rover, the differential corrections for each of the observables isadded to the corresponding rover observables to compute single-differenced

Page 343: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

320 CHAPTER 8. GLOBAL POSITIONING SYSTEM

L1 and L2 range and phase observables:

ρi1ro

(t) = ρr1(t) + Δρi1(t) (8.139)

ρi2ro

(t) = ρr2(t) + Δρi2(t) (8.140)

φi1ro

(t) = φr1(t) + Δφi1(t) (8.141)

φi2ro

(t) = φr2(t) + Δφi2(t). (8.142)

The rover then uses these single-differenced observables in place of the orig-inal measurements in the solution approach of Section 8.2.2. This solutiongives the full Earth relative rover location, not the base relative rover lo-cation; however, errors in the ‘known’ base location will directly affect therover position solution. The measurement error models are

ρi1ro

(t) = R(pr, pi) +f2

f1δIi

r + cΔtro + ηiro (8.143)

ρi2ro

(t) = R(pr, pi) +f1

f2δIi

r + cΔtro + ηiro (8.144)

λ1φi1ro

(t) = R(pr, pi) − f2

f1δIi

r + cΔtro + βiro + N i

1λ1 (8.145)

λ2φi2ro

(t) = R(pr, pi) − f1

f2δIi

r + cΔtro + βiro + N i

2λ2 (8.146)

where N i1 and N i

2 are unknown integers and δIir is the residual ionospheric

error between the rover and base.To successfully implement a range space DGPS system, the base station

must, at a minimum, broadcast the following set of information for eachsatellite: satellite id, range and phase corrections, ephemeris set identifier,and a reference time. A roving receiver then selects the most appropriateset of satellites for its circumstances. The ephemeris set identifier is crucialbecause the satellite clock and position errors are distinct for each ephemerisset. When a new ephemeris set becomes available, for practical reasons,it is also standard practice to send corrections for both the new and oldephemeris set for some short period of time to allow rovers to download thenew ephemeris set.

Example 8.7 This example demonstrates the accuracy difference betweenGPS and range space DGPS processing. In this example, the rover and basereceivers are connected to the same antenna; therefore, multipath errors willcancel. In addition, the origin of the local tangent plane coordinate systemis the antenna location; hence, the correct position estimate is (0, 0, 0).

Page 344: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.8. DIFFERENTIAL GPS 321

The measurement matrix H for this data epoch is calculated to be

H =

⎡⎢⎢⎣

.4513 −.3543 −.8190 1.0000−.5018 .5502 −.6674 1.0000−.6827 −.6594 −.3147 1.0000−.3505 −.4867 −.8001 1.0000

⎤⎥⎥⎦ .

The pseudoranges corrected for satellite clock bias and the expected rangeto the origin of the tangent plane reference frame are

δρr =

⎡⎢⎢⎣

3316.753268.473330.983346.88

⎤⎥⎥⎦

where δρ = ρ − ρ|pr=0. Using the equation

xr =(H�H

)−1H�δρr,

the GPS estimates of tangent plane position and clock bias are⎡⎢⎢⎣

(x − xo)(y − yo)(z − zo)

cΔtr

⎤⎥⎥⎦ =

⎡⎢⎢⎣

−27.84−69.86−76.673241.77

⎤⎥⎥⎦ .

Note these positioning results are from the era when selective availabilitywas active.

The L1 pseudorange differential corrections received at the rover fromthe base station are

Δρ1 =

⎡⎢⎢⎣

12.5260.860.93

−17.24

⎤⎥⎥⎦ .

Using the equation

Δxr =(H�H

)−1H(δρr + Δρ1),

to recalculate the local tangent plane position and clock bias error for therover receiver yields ⎡

⎢⎢⎣(x − xo)(y − yo)(z − zo)

cΔtr

⎤⎥⎥⎦ =

⎡⎢⎢⎣

−0.37−0.41

0.443229.67

⎤⎥⎥⎦ .

Page 345: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

322 CHAPTER 8. GLOBAL POSITIONING SYSTEM

−2 −1 0 1 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2C/A DGPS

East, m

Nor

th, m

Figure 8.17: Single difference DGPS L1 C/A position estimate scatter plot.

Example 8.8 Figure 8.1 presented GPS position estimation results. Forthe same set of data, a scatter plot of the differential L1 pseudorange posi-tion estimation results is shown in Figure 8.17. The north, east, and downposition estimation error mean vector is [0.02, 0.16,−0.08]m the error stan-dard deviation vector is [0.3, 0.2, 0.7]m.

A scatter plot of the differential L1 (integer-resolved) phase positionestimation results is shown in Figure 8.18. The north, east, and down po-sition estimation error mean vector is [0.008,−0.001,−0.014]m the errorstandard deviation vector is [0.004, 0.002, 0.009]. As expected the phase es-timation standard deviation is approximately 100 times improved relativeto the pseudorange estimation standard deviation.

8.8.2.3 Differential Correction Sources

The implementation of a DGPS system requires at least two receivers, anda means to communicate the corrections from the base to the rover in atimely fashion [18, 51, 142]. As an alternative to implementing a privateDGPS system, corrections are already available from a variety of public andprivate sources. Examples include: Continuously Operating Reference Sta-tions (CORS), LandStar, OmniStar, StarFire, U.S. Coast Guard [109], andWide Area Augmentation System (WAAS). In addition, in network-basedDGPS the provider accumulates GPS data from various ground stations.The provider either computes corrections specifically for a user location

Page 346: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.8. DIFFERENTIAL GPS 323

−0.02 −0.015 −0.01 −0.005 0 0.005 0.01 0.015 0.02−0.02

−0.015

−0.01

−0.005

0

0.005

0.01

0.015

0.02L1 Phase GPS

East, m

Nor

th, m

Figure 8.18: Single difference DGPS L1 phase position estimate scatter plot.

or computes data in a form such that the user can easily compute correc-tions for their location. This information is broadcast to the user over anystandard network communication medium (e.g., cell phone).

Since uniformity of DGPS service across providers will simplify distribu-tion and acceptance, the Radio Technical Commission for Marine Serviceshas defined and maintains standards for the implementation and messageformat of DGPS services. This RTCM protocol is described in [7]. Inaddition, there are various proprietary protocols.

8.8.3 Double Differences

Section 8.8.2 has discussed the DGPS single-difference observables. Suchsingle differences are free from common-mode errors, but are corrupted bythe clock errors from both receivers. In addition, various small receiverbiases remain. Finally, affects remain from the relative rotation betweenthe rover and satellites due to the circular polarization of the signal.

All of these artifacts can be eliminated through a process referred to asdouble differencing. The double difference method is the same for the var-ious observables. For brevity, in this section we only consider the L1 pseu-dorange and phase double differences. The derivations of this section willwork from the equations in Section 8.8.2. The double-difference approachcan similarly be defined on the basis of the single-differenced observablesdefined in Section 8.8.1.

Consider the difference between the single-differenced pseudoranges for

Page 347: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

324 CHAPTER 8. GLOBAL POSITIONING SYSTEM

satellites i and j, which by eqn. (8.139) is computed as

∇�ρi,j = ρi1ro

(t) − ρj1ro

(t)

which by eqn. (8.143) has the measurement model

∇�ρi,j = (R(pr, pi) +f2

f1δIi

ro + cΔtro + ηiro)

−(R(pr, pj) +f2

f1δIj

ro + cΔtro + ηjro)

= (R(pr, pi) − R(pr, pj) +f2

f1δIij

ro + ηijro. (8.147)

Note that receiver biases that are common to all channels, including receiverclock error, have been removed. The residual ionospheric error denoted byδIij

ro is typically small for baselines on the order of 10km.Eqn. (8.147) can be solved using the approach described in Section

8.2.2. The main difference is that the H matrix will now contain rowsdefined by (�hi − �hj) where �hi ∈ R3 is a vector pointing from satellite i tothe receiver. In contrast, to the GPS solution, H does not include a columnfor the receiver clock bias, because the receiver bias terms are canceled inthe double-difference operation.

At least three double differences are required to estimate position. Thiswill still require at least four satellites. While the noise on each satelliterange measurement is independent, if any satellite is used in more than onedouble difference, the double-differencing operation results in the double-differenced ranges having correlated noise processes. This measurementnoise correlation must be accounted for if optimal filtering is expected.

The base station for a double-difference implementation broadcasts thesame information as required for a single-difference base station. The roverprocessing is the same except for the additional step of forming the doubledifferences from the single differences and forming the double-difference Hmatrix. The main advantages of double-differencing techniques is that clockmodeling is not required and various small receiver error terms are removed.The drawbacks are the potential processing of correlated measurements,and the possible increase in range noise.

The double-differenced phase measurements formed from eqn. (8.141)are

∇�φi,j = φi1ro

(t) − φj1ro

(t)

which by eqn. (8.145) has the error model

λ(∇�φi,j) = (R(pr, pi) − R(pr, pj) − f2

f1δIij

ro + βijro + λN ij

ro. (8.148)

Page 348: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.9. INTEGER AMBIGUITY RESOLUTION 325

where N ijro = (N i

r − N jr ) − (N i

o − N jo ) which is still an unknown integer.

If the integer ambiguities have been identified, then Eqn. (8.148) can besolved for pr in the same manner as was discussed for eqn. (8.147).

Due to the fact that satellites rise and set, the common SV will changewith time. However, changing the common SV does not necessitate re-searching for the integer ambiguities. To see why this is true, assume thatthe double-difference approach is implemented with the m-th satellite beingsubtracted from the other m − 1 satellites and that N im

ro has been foundfor i = 1, . . . , m − 1. If at some later time, it is desired to instead subtractsatellite p from all satellites instead of satellite m. Assuming that N im

ro andNpm

ro are available, then

N ipro = (N i

r − Npr ) − (N i

o − Npo )

= (N ir − Nm

r + Nmr − Np

r ) − (N io − Nm

o + Nmo − Np

o )= (N i

r − Nmr ) − (N i

o − Nmo ) + (Nm

r − Npr ) − (Nm

o − Npo )

= N imro + Nmp

ro

= N imro − Npm

ro .

This shows that when the common satellite is changed from m to p, as longas the integer Npm

ro is known, then the double-difference integer relative tothe new common satellite N ip

ro can be easily computed from the double-difference integers for the old common satellite N im

ro .

8.9 Integer Ambiguity Resolution

This section considers the integer ambiguity resolution problem. The prob-lem has the general format described as follows. Two sets of vector mea-surements are available with the form

ρ = ρ + η (8.149)φλ = ρ + β + Nλ (8.150)

where N is known to be an integer vector, the wavelength λ is accuratelyknown, and η and β are mutually uncorrelated measurement noise processeswith ση ≈ 100σβ . The question to be resolved is how to determine N sothat (φ −N)λ can be used as an unbiased measurement of ρ instead of ρ.

Throughout the discussion, we will only consider differential GPS data,with the assumption that common-mode errors are small. Failure to satisfythis assumption will affect performance. In the case of single differences,the covariance matrix for β denoted as Σβ = σ2

βI is diagonal, Ση = σ2ηI ≈

100Σβ , and m satellites will yield a set of m measurements. The majorityof the discussion will focus on double-differenced measurements so that the

Page 349: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

326 CHAPTER 8. GLOBAL POSITIONING SYSTEM

receiver and satellite biases are eliminated and the equations simplify to

ρ = R + η (8.151)φλ = R + β + Nλ (8.152)

where R is the vector of user-to-satellite geometric ranges. In the caseof double differences, the covariance matrix for β denoted as Σβ is notdiagonal; instead,

[Σβ ]ij ={

2σ2β for i = j,

σ2β for i �= j

}(8.153)

and a set of (m + 1) satellites will be required to generate a set of mmeasurements.

The integer ambiguity resolution problem can be applied in various sce-narios: L1, L2, L1 and L2, and widelane. The number of possible scenariosincreases further with the advent of a third frequency in the modernizedsignal structure. Therefore, in this section, we will discuss general charac-teristics of the problem and means for its solution.

The solution process will be structured as follows.

1. Initialization – The main objective of this step is to provide an initialestimate p0 of the position that is sufficiently accurate so that theh.o.t’s of the approximation

δφλ = Hδp + β + Nλ (8.154)

are negligible, where δφ = φ− 1λR(p0) and H is the Jacobian of eqn.

(B.59) defined at p0. The initial estimate of p0 may, for example,come from the solution of eqn. (8.151).

2. Candidate Generation – The main objective of this step is to generatecandidate integer vectors. For the i−th SV, a real-valued estimate ofthe integer is

N i = φi −ρi

λ

which has a standard deviation of approximately σN = σρ

λ . A candi-date integer vector can be formed by the operation N i =

⌊N i

⌉where

the notation �x� indicates rounding x to the nearest integer. Givena set of m satellites, there would be approximately �2σN + 1�m can-didate integers within one sigma of N. For m = 8, with σρ = 1, forthe L1 signal, with λ ≈ 0.2 meters, this is approximately 118 candi-dates. For the widelane signal, with λ ≈ 0.9 meters, there would beapproximately 38 candidates. The benefit of decreasing the numberof candidates is obvious and will be discussed in Section 8.9.1.

Page 350: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.9. INTEGER AMBIGUITY RESOLUTION 327

3. Candidate Evaluation – The main objective for this step is to definea cost function useful for ranking the candidate integer vectors. Foreach candidate integer vector N, the solution to eqn. (8.154) providesan estimate of the position error vector:

δp = λ(H�H

)−1H�

(δφ − N

). (8.155)

For this δp, the predicted phase measurement is

δφ = R(δφ − N

)+ N (8.156)

where R = H(H�H

)−1H� ∈ R

m×m and the residual phase mea-surement r = δφ − δφ computed for the candidate integer vector Nis

rN = Q(δφ − N

)(8.157)

where Q = I − R ∈ Rm×m. Both Q and R are projection matrices

and are idempotent. For a vector v, the vector z = Rv will be in therange space of H and the vector z⊥ = Qv will be in the subspace thatis orthogonal to the range space of H. For the correct integer vector‖rN‖2 should be small; therefore, we have an obvious cost function

J(N) = ‖rN‖2 =(δφ − N

)�Q�Q

(δφ − N

)=

(δφ − N

)�Q(δφ − N

)(8.158)

where the minimum is attained for Qδφ = QN. Solutions to thisequation are considered in Section 8.9.1.

4. Candidate Validation – The main objective of this step is to definecriteria to test the validity of the candidate integer vector both atthe time of the search and later to detect cycle slips. The main testis that ‖rN‖ is small (i.e., the same order of magnitude as σβ). Inaddition, ideally ‖rN‖ for the best candidate should be significantlysmaller than the norm of the residual for any other candidate.

When the search is using the widelane phase, then additional valida-tion criteria can be defined. Given a candidate Nw and the equations

Nw = N1 − N2 (8.159)λ1δφ1 = Hδp + N1λ1 + β1 (8.160)λ2δφ2 = Hδp + N2λ2 + β2, (8.161)

Page 351: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

328 CHAPTER 8. GLOBAL POSITIONING SYSTEM

integer vectors N1 and N2 can be computed as

N1 =⌊

1λ2 − λ1

(λ2(δφ2 + Nw) − λ1δφ1

)⌉(8.162)

N2 = N1 − Nw. (8.163)

Given Nw, N2, N1, in addition to eqn. (8.157) computed for thewidelane phase, the L1 and L2 phase residuals

rN1= Q

(δφ − N1

)rN2

= Q(δφ − N2

)can be computed. For the correct N2 and N1 these residuals shouldalso be small. Note that the noise component of

N1 =1

λ2 − λ1

(λ2(δφ2 + Nw) − λ1δφ1

)is (λ2β2−λ1β1)/(λ2−λ1) which is about 5.7 times the standard devi-ation of the of the L1 phase measurement error. If the δφ error, frommultipath or residual common-mode errors, reaches approximately0.1 cycles then the error in N1 could exceed a half cycle; therefore,the use of the computed N1 and N2 to judge the validity of Nw isnot without risk.

8.9.1 Decreasing the Search Space

Although eqn. (8.154) appears to contain (m + 3) free variables (i.e., δpand N), a very useful insight for reduction of the search space is the factthat there are only three degrees of freedom [64]. To see that this is true,note that if δp were known, then N could be directly computed. Similarly,if three elements of N were known, then δp and the remainder of N couldbe computed. Therefore, instead of testing on the order of �2σN + 1�m

candidate integers, we instead only need to test on the order of �2σN + 1�3candidate integers. A important remaining question is how to appropriatelygenerate these candidate integers. The method presented below relates tothe Local Minima Search algorithm presented in [112].

Consider the LU decomposition of the matrix Q defined in eqn. (8.157).As discussed following the definition of Q in eqn. (8.157), the matrix H hasm rows and 3 columns and is rank 3; therefore, its range space has dimension3. The subspace orthogonal to the range space of H has dimension (m−3);therefore, Q has rank equal to (m − 3). In the decomposition Q = LUwith L ∈ R

m×m lower triangular and U ∈ Rm×m upper triangular, due to

Page 352: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.9. INTEGER AMBIGUITY RESOLUTION 329

A = C−1Dfor i = −d : d

for j = −d : dfor k = −d : d

ND = [i, j, k]�

NC = δφC + A (δφD − ND)...

Figure 8.19: Triple ‘for’ loop to compute NC .

the fact that Q has rank equal to (m − 3), there exists an ordering of thesatellites such that L is invertible and the matrix U can be represented as

U =[

C D0 0

]where D ∈ R

(m−3)×3 and C ∈ R(m−3)×(m−3) is upper triangular and in-

vertible (see Section B.10). Decomposing the vector N into two subvec-tors N = [N�

C ,N�D]� with NC ∈ R

(m−3) and ND ∈ R3, the equation

Qδφ = QN from eqn. (8.158) can be equivalently written as

LUN = Qδφ[C D0 0

] [NC

ND

]= L−1Qδφ[

C0

]NC = Uδφ −

[D0

]ND

CNC =[

C D]δφ − DND

NC = δφC + C−1D (δφD − ND) (8.164)

where NC denotes the real-valued estimate of NC and δφ = [δφ�C , δφ�

D]�

has been broken into two subvectors with δφC ∈ R(m−3) and δφD ∈ R

3.As illustrated in the pseudocode in Figure 8.19, integer candidate vec-

tors ND can be generated using a three ‘for’ loop. For each candidatevector ND, the entire right hand side of eqn. (8.164) is known. The ma-trix product C−1D is computed once and reused for all candidate vectorsND. Therefore, the real-valued solutions NC can be efficiently computedfor each of the (2d + 1)3 candidate ND vectors.

8.9.2 Selection of Optimal Integers

The straightforward approach to produce an integer estimate from NC isto select

NC =⌊NC

⌉; (8.165)

Page 353: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

330 CHAPTER 8. GLOBAL POSITIONING SYSTEM

however, as discussed in [123, 124], this may not be the correct solutionin situations where the elements of NC are strongly cross-correlated. TheLAMBDA method was developed to address this issue [123, 124]. In thissection, we use ideas from the derivation of the LAMBDA method to moti-vate the issues and solution ideas, but do not present the LAMBDA methodor a detailed solution to this issue.

The covariance matrix Σ = cov(NC

)computed from eqn. (8.164) is

Σ = ΣCC + C−1DΣCD + ΣDCD�C−� + C−1DΣDDD�C−�

where ΣCC = cov (δφC), ΣCD = Σ�DC = cov (δφC , δφD), and ΣDD =

cov (δφD) which are each easily computable as submatrices of Σβ as definedin eqn. (8.153). The cost function

J(NC) =(NC − NC

)�Σ−1

(NC − NC

)(8.166)

is a measure of the distance between the real-valued NC and the integervector NC . Due to the fact that Σ is not diagonal, the ellipsoidal levelcurves of J(NC) (for real valued NC) could be elongated ellipsoids whoseaxes are not aligned with the coordinate axes. In such cases, the integervector that minimizes eqn. (8.166) may be distinct from the result of therounding operation that results from eqn. (8.165); in fact, the integer vectorNC that minimizes eqn. (8.166) may be several integer perturbations awayfrom

⌊NC

⌉.

To find the integer vector that minimizes eqn. (8.166), it is useful todefine a nonsingular matrix transformation Z with the property that bothZ and Z−1 are matrices whose (m−r)× (m−r) elements are each integers.With these properties, Z and Z−1 map integer vectors to integer vectors.Let MC = ZNC. In this situation, the cost function written in terms ofMC is

J(MC) =(MC − MC

)� (ZΣZ�)−1(MC − MC

)(8.167)

where MC = ZNC and MC is an integer vector to be selected. The solutionwould proceed in three steps:

1. Find a matrix Z such that ZΣZ� is nearly diagonal.

2. Compute the real-valued vector MC = ZNC .

3. Compute the integer vector NC = Z−1⌊MC

⌉.

The intricate step in the procedure is the selection of Z in Step 1. TheLAMBDA method itself and methods to construct Z are discussed in [123,124].

Page 354: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.9. INTEGER AMBIGUITY RESOLUTION 331

8.9.3 Modernized GPS Signal

The GPS signal is currently in a modernization phase that is expected to becomplete in approximately 2015, with incremental benefits accruing in theintervening years. There are several aspects of the modernization, whichpromise enhanced resistance to radio frequency interference and improvedperformance in navigation applications.

Existing two-frequency civilian receivers use proprietary techniques suchas semi-codeless tracking to obtain the L2 measurements. The cost of usingsuch tricks are lower levels of accuracy, longer signal acquisition times, andfragile tracking. The modernized GPS signal will contain a civilian signal onthe L2 carrier and will introduce a new civilian signal on a carrier referredto as L5 (or Lc) broadcast with a 1176.45 MHz carrier frequency, which isin a protected aviation band. In addition to the addition of a new carrierfrequency and two new civilian signals, the modernization program hasresulted in higher broadcast power and selective availability being turnedoff.

A summary of the benefits to the navigation user is as follows:

• Increased availability. The modernized signal structure will enhanceavailability in a few different ways.

– The increased signal power will enhance the ability to track GPSsignals and will increase the ability to rapidly acquire GPS satel-lites.

– The increased number of civilian signals decreases the likelihoodthat all GPS signals will be lost due to radio frequency interfer-ence. This likelihood is further decreased by the L5 carrier beingselected within a protected aviation band.

– The availability of civilian signals on multiple frequencies elim-inates the current need for manufacturer proprietary L2 signaltracking techniques. Correspondingly, this eliminates the asso-ciated performance penalties and enhances the ability to trackL2 signals at lower elevations.

• Increased integrity. Integrity is enhanced for at least two reasons.First, the new L5 carrier is in a protected aviation band. There-fore, the likelihood of accidental radio frequency interference is low.Second, given three related signals they can be directly compared todetect faulty signals.

• Increased accuracy.

– The availability of civilian signals on the L2 and L5 carrierswill allow calibration of the ionospheric errors using methods

Page 355: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

332 CHAPTER 8. GLOBAL POSITIONING SYSTEM

similar to those discussed in Section 8.6. For ionospheric delaycalibration, the L1/L5 pairing is preferred as it has the largestfrequency separation.

– For differential carrier phase positioning, the difference betweenthe L2 and L5 phase measurements is of interest. By analysissimilar to that in Section 8.6.1, it is straightforward to show thatthis difference has a wavelength of λx = 5.86m. This wavelengthis large enough to allow resolution of its integer Nx directly fromthe corresponding pseudorange combination

Nx = (φ2 − φ5) − f2ρ2 + f5ρ5

λx(f2 + f5).

The disadvantage of the resulting pseudorange observable

φx = (φ2 − φ5 − Nx)λx

is that it amplifies the measurement noise of φ2 and φ5 by factorsof 24 and 23, respectively. However, depending on receiver to ref-erence station separation and receiver quality, it may be possibleto use φx to directly acquire the widelane and subsequently theL1 integer ambiguities using range space methods.

8.10 GPS Summary

The GPS system is a worldwide asset that is provided by the U.S. gov-ernment and available to the user at the cost of a receiver. The uniformworldwide accuracy and high reliability of the system are motivations forthe use of GPS in numerous applications.

The range accuracies for various GPS operating scenarios are presentedin Table 8.7. Position standard deviations can be calculated from the rangeaccuracies in the table based on assumed PDOP values as described inSection 8.5. The standard deviations in the table are based on the errorstandard deviations presented in Table 8.5, which are from [8]. The typicalmultipath column uses the maximum values for multipath and receivernoise errors from Table 8.5. The minimum multipath column uses theminimum values for multipath and receiver noise errors from Table 8.5.This column would correspond to a good receiver, with special precautionstaken to reduce multipath effects. For the carrier phase row, the receivernoise is assumed to have a standard deviation of a millimeter and the phasemultipath used values of 0.1 and 0.01 m.

The presentation of this chapter has not included Kalman filtering, buthas presented and compared various GPS processing techniques in a uni-fied format. With the understanding of GPS techniques that have been

Page 356: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

8.11. REFERENCES AND FURTHER READING 333

GPS Mode Typ. Range STD. (m.) Min. Range STD. (m.)C/A Code, SA off 9.0 8.0C/A Code DGPS 3.0 0.1L1 Phase DGPS 0.10 0.01

Table 8.7: Range accuracies for alternative GPS operating scenarios.

developed in this chapter, Chapters 9 and 11 will present applications thatcould use GPS as an aiding sensor.

8.11 References and Further Reading

The main references for this chapter were [31, 76, 99, 108]. The main ref-erences for the description of the GPS system were [22, 75, 76, 99]. Thischapter has not describe GPS history, satellite message formats, or receiverpseudorange tracking and decoding algorithms. Several recent books dis-cuss these topics in detail (e.g., [1, 54, 68, 76, 99, 108, 128]). The history ofthe GPS system as well as detailed chapters on many GPS related topicsand applications can be found in [108]. In depth discussions of receivertracking are contained in [54, 76, 99, 128]. GPS receiver operation andmessage decoding are discussed in [76, 99].

Various methods have been suggested to utilize carrier phase and Dop-pler information (e.g., [21, 35, 55, 63, 64, 70, 81, 89]). Modeling of theDoppler or delta pseudorange observables is discussed in greater detail in[32, 57, 56, 76]. The discussion of two frequency receivers follows the presen-tation of [63, 64]. The main sources for the discussion of integer ambiguityresolution were [62, 64, 81, 99, 112, 123, 124].

This chapter has also limited its discussion of GPS error modeling to theextent necessary to understand the nature of the error and the extent thatthe error can be reduced. The main references for the the error modelingsections were [68, 73, 76, 99]. Dynamic error models for clocks are discussedin greater depth in [29, 31, 130]. For an in-depth discussion of atmosphericerror, interested readers can refer to [68, 76, 99]. For an in-depth discussionof multipath and its effect on receiver observables, readers can refer to [76].

GPS modernization and its effects are discussed in significantly moredetail than presented here in [65, 99].

Page 357: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 358: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 9

GPS AidedEncoder-Based

Dead-Reckoning

Encoder-based navigation is a form of odometry or dead-reckoning for landvehicles. The basic physical setup is illustrated in Figure 9.1. On an axleof length L, two wheels are equipped with encoders that measure discretechanges in wheel rotation. The two wheels are separately actuated so thateach can rotate independently on the axle. The goal is to use the encodermeasurements with GPS aiding to maintain an estimate of the tangentplane position pt = [n, e, h]� of the center of the axle.

The general three-dimensional navigation problem will be discussedbriefly in Section 9.7. In the main body of this chapter, we consider avehicle maneuvering on a planar surface. We assume that the plane is hori-zontal with respect to the Earth surface at a point p0 that will serve as theorigin of the tangent plane navigation frame. The height of the vehicle isknown to be hr; therefore, h = hr and the navigation position estimationproblem is two dimensional. The horizontal position p = [n, e]� and thetangent frame velocity vt = [n, e]� vectors have only two components, andthe pitch and roll angles are identically zero. The only attitude variable isthe vehicle yaw angle ψ. The kinematic state dimension is three: n, e, andψ. The kinematic inputs are the (change of) encoder pulse counts ΔeL(k)and ΔeR(k) for encoders attached to the left and right axles, respectively,during a time interval dT . The vector of calibration coefficients containsthe wheel radii [RR, RL]�. Thus the state vector is x = [n, e, ψ, RR, RL]�.

Due to the horizontal planar surface assumption the altitude h is known.This approach easily extends to non-horizontal planar surfaces and can beextended to smooth non-planar surfaces with roll and pitch being input

335

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 359: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

336 CHAPTER 9. GPS AIDED ENCODER-BASED DR

�2

����

� 2

� ��':

����

��+�,

���

��+�,'����+�,��+:,

Figure 9.1: Variable definitions for encoder-based navigation. In the leftimage, the center of the axle has linear velocity v = [u, v]� and angular rateω about the vehicle vertical axis. The vehicle yaw angle relative to north isψ. The velocity and arc length of the left wheel are denoted by uL and sL,respectively. The velocity and arc length of the right wheel are denoted by uR

and sR, respectively. The image on the right shows the relationships betweenthe angular rotation φR of the right wheel and the variables uR and sR.

variables determined by additional sensors. For accuracy of the estimate,an important issue is that the wheels do not slip.

The outline for this chapter is as follows. Section 9.1 presents a briefdiscussion of encoders with the encoder model that will be used in thischapter. The vehicle kinematic model is presented in Section 9.2. Section9.3 presents both continuous-time and discrete-time navigation mechaniza-tion equations. The continuous-time equations are useful for derivation ofthe error state dynamic equations. The discrete-time equations are suitablefor navigation implementation. The error state dynamic model is derivedin Section 9.4. Two alternative GPS measurement prediction and residualmeasurement model equations are presented and compared in Section 9.5.The system observability is considered in Section 9.6. Finally, Section 9.7considers an extension of the method presented in this chapter to removethe planar surface assumption.

9.1 Encoder Model

Encoders are often implemented as a thin disk attached to the axle withnarrow slits cut radially through the disk. A light source and light detectorare placed on opposite sides of the disk. As the axle and disk rotate,the light detector senses light pulses. Using multiple light detectors andarranging the slits at different distances from the disk center, it is alsopossible to sense the direction of rotation. Various types of encoders exist,but the common performance factors are that the encoder output is aninteger proportional to the angular rotation of the axle. In the case where

Page 360: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

9.1. ENCODER MODEL 337

−20 −15 −10 −5 0 5 10 15 200

2

4

6

8

10

12

14

16

e

h(e)

Figure 9.2: Example absolute encoder output with scale factor C = 16 countsper revolution.

incremental encoders are used, the design would need to include eitherinterrupt driven or hardware accumulators of the increments to utilize themethods described herein. An important issue is to ensure that no encoderincrements are missed.

Although the encoder outputs are discrete in nature, the wheel angu-lar rotations are continuous. Because the continuous-time and continuousstate representation is convenient for development of the error models, thissection will model continuous valued encoder signals eL and eR. The en-coder sensor output signals will be quantized versions of the continuoussignal eL and eR. The continuous signal will be used for the developmentof the error model equations while only the quantized sensor output can beused in the implemented navigation equations.

Let C denote the encoder scale factor in units of counts per revolution.The variables (φL, φR) denote the radian angular rotation about the axleof the left and right wheels, respectively. Then, the shaft angle and the(continuous) encoder signal are related by

eL(t) = C2π φL(t)

eR(t) = C2π φR(t)

}(9.1)

where the signals eL and eR are real-valued. The encoder sensor outputsare quantized to integer values and reflected back to always lie in the range[0, C − 1]:

eL = h(eL)eR = h(eR).

}(9.2)

A typical form of the nonlinearity h is shown in Figure 9.2 for a scale factorof C = 16 counts per revolution. This value of C is selected for clarity

Page 361: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

338 CHAPTER 9. GPS AIDED ENCODER-BASED DR

22��!!!!!!!!!!!!!!!!2�2�!!!!!!!!!!!!!!!�2�2!!!!!!!!!!!!!!!!��22

Figure 9.3: Net vehicle position changes resulting from various sequences oftwo left and right rotational increments.

of the figure only. Typical values of C are much larger. Note that C is aperfectly known constant value.

The algorithm for processing the encoder outputs must run fast enoughto not miss increments and to maintain the order in which the incrementsoccur. Figure 9.3 illustrates four possible scenarios involving two left incre-ments indicated by an ‘L’ and four right increments indicated by an ‘R’.The only differences between the scenarios are the ordering of occurrenceof the incremental wheel rotations. Note that, as shown in Figure 9.3, aLRLR sequence of increments is distinct from a RRLL sequence. Whileboth result in the vehicle having the same yaw angle, the first moves thevehicle slightly to the right, while the second moves the vehicle slightly tothe left. The algorithm must also be designed to correctly accommodatethe overflow that occurs at integer multiples of C counts.

9.2 Kinematic Model

Assuming that there is no wheel slip and that the lateral vehicle velocity iszero, the vehicle kinematics are described by

p =[

ne

]=[

cos(ψ)sin(ψ)

]u

ψ = ω

⎫⎬⎭ (9.3)

where ω is the body frame yaw rate and vb = [u, v]� is the body framevelocity vector. The body and tangent frame velocity vectors are relatedby vt = Rt

bvb, where

Rtb =

[cos(ψ) − sin(ψ)sin(ψ) cos(ψ)

].

By the zero lateral velocity assumption, the lateral velocity v = 0.Using the kinematic relationship vw = vb + ωb

tb × R where the super-script w denotes wheel and the subscript b denotes body, the body framelinear velocity of the center of each wheel is

uL = u + L2 ω

uR = u − L2 ω.

}(9.4)

Page 362: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

9.2. KINEMATIC MODEL 339

These linear velocities are illustrated in Figure 9.1. The function in eqn.(9.4) from (u, ω) to (uL, uR) can be inverted so that the speed and angularrate can be computed when the wheel velocities are known:

u = 12 (uL + uR)

ω = 1L (uL − uR) .

}(9.5)

Let (sL, sR) denote the arc length traveled by the left and right wheels,respectively. Due to the no slip assumption and assuming that sL(0) =sR(0) = φL(0) = φR(0) = 0, we have the conditions

sL = RLφL

sR = RRφR

φL = 1

RL

sL

φR = 1

RR

sR

⎫⎬⎭ (9.6)

where the angular rotation of the left and right axles (φL, φR) are definedin eqn. (9.1). By the definition of arc length, we have

sL = uL

sR = uR.

}(9.7)

Therefore, by substituting eqn. (9.7) into the derivative of eqn. (9.6) andsolving for (uL, uR) we obtain

uL = RLφL

uR = RRφR.

}(9.8)

Finally, combining eqns. (9.1), (9.3), (9.5) and (9.8) we obtain

n = 12

2πC (RLeL + RReR) cos(ψ) + ωn

e = 12

2πC (RLeL + RReR) sin(ψ) + ωe

ψ = 1L

2πC (RLeL − RReR) + ωψ.

⎫⎪⎬⎪⎭ (9.9)

The signals ωn, ωe, and ωψ represent errors due to, for example, violationof the no-slip assumption. These errors are not necessarily stationary andmutually uncorrelated random signals; however, unless some form of slipdetection algorithm is incorporated, ωn, ωe, and ωψ would typically bemodeled as independent random processes.

The length of the wheel radii RL and RR vary relative to their nom-inal values. The variation depends on the type of tire as well as variousunpredictable factors. The wheel radii are modeled as

RL = R0 + δRL (9.10)RR = R0 + δRR (9.11)

Page 363: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

340 CHAPTER 9. GPS AIDED ENCODER-BASED DR

where R0 is the known nominal value of the wheel radii. The error in thewheel radii will be modeled as scalar Gauss-Markov processes

δRL = −λRδRL + ωL (9.12)δRR = −λRδRR + ωR (9.13)

with λR > 0, E〈δRL(0)〉 = E〈δRR(0)〉 = 0, and

var(δRR(0)) = var(δRL(0)) = PR > 0.

The correlation time 1λR

is selected large (i.e., a correlation time of 10hours), because the wheel radii are very slowly time varying. The signals ωL

and ωR are each white, Gaussian noise processes with PSD of σ2R = 2λRPR.

This value of σ2R is selected so that the steady state solution of eqn. (4.100)

when applied to eqns. (9.12-9.13) is PR.

9.3 Encoder Navigation Equations

This section presents the navigation mechanization equations in both con-tinuous and discrete-time. The continuous-time equations will be used todevelop the navigation error equations. The discrete-time equations will beused for implementation of the dead-reckoning navigation system.

9.3.1 Continuous-Time: Theory

Based on augmented state vector

x = [n, e, ψ, Rl, Rr]�, (9.14)

the continuous-time navigation system mechanization equations are

˙n = 12

2πC

(RLeL + RReR

)cos(ψ)

˙e = 12

2πC

(RLeL + RReR

)sin(ψ)

˙ψ = 1

L2πC

(RLeL − RReR

)⎫⎪⎪⎪⎬⎪⎪⎪⎭ (9.15)

withRR = R0 + δRR

RL = R0 + δRL

}(9.16)

where δRL(0) and δRR(0) will be estimated by the Kalman filter. Eqns.(9.15) and (9.16) will be used in Section 9.4 to derive the state space errormodel.

Page 364: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

9.4. ERROR STATE DYNAMIC MODEL 341

9.3.2 Discrete-Time: Implementation

This section considers the integration of eqns. (9.15) over a time incrementΔT . Depending on the type of encoder used, the increment ΔT can berealized by different means. For a pair of incremental encoders, the updatewould ideally be performed for each encoder increment. In this case, thetime increment would not be constant, but would be determined by thevehicle motion. Alternatively, the cumulative encoder increments could beread at a fixed rate. The main criteria in the selection of that sample rateis that the accumulated encoder increments must each be small and nonecan be missed. The encoder increments will be denoted as

ΔeL(k) = eL(tk) − eL(tk−1)ΔeR(k) = eR(tk) − eR(tk−1)

over the time interval t ∈ (tk−1, tk] for ΔTk = tk − tk−1.From the third line of eqn. (9.15), given ψk−1, the updated yaw is

ψk = ψk−1 +1L

C

(RL

ΔeL(k)ΔTk

− RRΔeR(k)

ΔTk

)ΔTk

= ψk−1 +1L

C

(RLΔeL(k) − RRΔeR(k)

). (9.17)

Similarly, from the first two lines of eqn. (9.15), given the last estimate ofthe position pk−1, the updated vehicle position is

pk = pk−1 +[

cos(ψk)sin(ψk)

C

[Rl

ΔeL(k)ΔTk

+ RrΔeR(k)

ΔTk

]ΔTk

= pk−1 +[

cos(ψk)sin(ψk)

C

[RlΔeL(k) + RrΔeR(k)

]. (9.18)

Due to the integer nature of ΔeL(k) and ΔeR(k), if the assumptions werecorrect (i.e., planar surface, no slip, and high update rate), then the resultsof eqns. (9.17) and (9.18) would be very accurate. Also, eqn. (9.18) couldbe implemented with either ψk−1 or 1

2 (ψk−1 + ψk) used in place of ψk

or the position update could be performed using both ψk−1 and ψk in apredictor-corrector implementation.

9.4 Error State Dynamic Model

The error state vector is δx = [δn, δe, δψ, δRL, δRR]�, where each errorterm is defined as δx = x− x. In this section, we will also use the followingvariables to decrease the complexity of the resulting equations:

uL = RL˙φL, uR = RR

˙φR, and u = (uL + uR)/2.

Page 365: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

342 CHAPTER 9. GPS AIDED ENCODER-BASED DR

Each of these quantities is computable as an average over any time incre-ment based on the encoder readings.

Forming the difference of the Taylor series expansion of eqn. (9.9) andeqn. (9.15) results in the error state equations

δn =12

cos(ψ)(

uL

RL

δRL +uR

RR

δRR

)− u sin(ψ)δψ + ωn (9.19)

δe =12

sin(ψ)(

uL

RL

δRL +uR

RR

δRR

)+ u cos(ψ)δψ + ωe (9.20)

δψ =1L

(uL

RL

δRL − uR

RR

δRR

)+ ωψ. (9.21)

The error models for RR and RL are given by eqns. (9.12–9.13).The error state equations can be put into be in the standard form of

eqn. (4.57) with

F(t) =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 0 −u sin(ψ) uL

2RL

cos(ψ) uR

2RR

cos(ψ)

0 0 u cos(ψ) uL

2RL

sin(ψ) uR

2RR

sin(ψ)

0 0 0 1L

uL

RL

− 1L

uR

RR

0 0 0 −λR 0

0 0 0 0 −λR

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

(9.22)

and Γ = I5 where ω = [ωn, ωe, ωψ, ωL, ωR].Let σ2

1 , σ22 , and σ2

3 denote the PSD’s of ωn, ωe, and ωψ, respectively.These process driving noise terms are included in the model due to the factthat the assumptions will not be perfectly satisfied. For example, the wheelsmay slip or the surface may not be perfectly planar. The wheel slip is afunction of wheel speed or acceleration. Similarly, the effect of a non-planarsurface on the computed position is a function of the speed. Therefore, thequantities σ2

1 , σ22 , and σ2

3 and hence the Q matrix are sometimes definedto be increasing functions of the speed u and/or the acceleration (i.e. asindicated by the change u).

9.5 GPS Aiding

Using the navigation state vector defined in eqn. (9.14), this section pre-sents the GPS measurement prediction and the GPS measurement residualequations that would be used by the Kalman filter.

Using the estimate of the vehicle position p and the ECEF position ofthe i-th satellite pi, which is computed from the ephemeris data as discussedin Appendix C, the computed range to the i-th satellite vehicle (SV) is

R(x, pi) =∥∥pe − pi

∥∥2. (9.23)

Page 366: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

9.5. GPS AIDING 343

In this computation,pe = pe

0 + Ret p

t (9.24)

where pe is the estimated ECEF position of the system, pe0 is the ECEF

position of the origin of the t-frame, and pt = [n, e, hr]� is the estimatedtangent plane position of the system. The matrix Re

t is the constant rota-tion matrix from the t-frame to the ECEF frame.

The following discussion will assume that there is information availableabout the common mode errors related to the i-th satellite. It will be de-noted as χi for pseudorange (see eqn. (8.7)) and as Υi for carrier phase (seeeqn. (8.27)). This information could be obtained, for example, from differ-ential corrections. If there is no information available about the commonmode errors, then χi = 0, Υi = 0, and methods such as the Schmidt-Kalman filter or state augmentation could be used to accommodate theGPS time correlated errors.

The pseudorange is a function of both the range R(x,p) and the receiverclock bias cΔtr (see Section 8.4.3). The designer can choose between (atleast) two approaches to handling the receiver clock error. These choicesare discussed in the following two subsections.

9.5.1 Receiver Clock Modeling

In this approach, the receiver clock error is augmented to the navigationstate and estimated. The augmented model is

x = [n, e, ψ, RL, RR, cΔtr, cΔtr]�

δx = [δn, δe, δψ, δRL, δRR, cδtr, cδtr]�.

According to eqn. (8.49), the clock estimate is propagated through time as

cΔtr(k) = cΔtr(k − 1) + cΔ˙tr(k − 1)ΔTk. (9.25)

The pseudorange and carrier phase measurements are defined in eqns. (8.6)and (8.25). Based on those equations, the pseudorange and carrier phasemeasurements can be predicted from the navigation state as

ρi = R(x, pi) + cΔtr + χi (9.26)

λφi = R(x, pi) + cΔtr + Υi + N iλ (9.27)

where the measurements are assumed to be simultaneous and the time argu-ments have been dropped to simplify the notation. Note that prediction ofthe carrier phase measurements assumes that estimates of the carrier phaseinteger ambiguities N i are available. The discussion below assumes that theinteger estimates are correct and available. If the integer ambiguities areincorrect, the phase measurements would be biased by an integer number

Page 367: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

344 CHAPTER 9. GPS AIDED ENCODER-BASED DR

of wavelengths. If the integer ambiguities are not available, then the phasemeasurements are not used. Alternatively, the phase measurements couldbe used either to smooth the pseudoranges or through temporal differencingto estimate the velocity.

In this approach, the measurement residuals for the i-th satellite arecomputed as

δρi(t) = ρi(t) − ρi(t) (9.28)

δφi(t) = φi(t) − φi(t). (9.29)

The error models for the measurement residuals are

δρi(t) = higδx + ηi (9.30)

δφi(t) = higδx + βi (9.31)

where ηi ∼ N(0, σ2ρ) and βi ∼ N(0, σ2

φ). In the above expression, theerrors χi and Υi have been absorbed into ηi and βi, respectively. Themeasurement matrix for the i-th satellite is

hig = [�ht

1,�ht

2, 0, 0, 0, 1, 0] (9.32)

where �ht = �heRet , �ht

1 and �ht2 denote the first two components of �ht, and

�he = (pe−pi)‖pe−pi‖2

. The definition of �ht is related to the discussion in eqn.(8.18) with the a-frame selected as the tangent frame.

The augmented continuous-time error state model has

F(t) =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 0 −u sin(ψ) uL

2RL

cos(ψ) uR

2RR

cos(ψ) 0 0

0 0 u cos(ψ) uL

2RL

sin(ψ) uR

2RR

sin(ψ) 0 0

0 0 0 1L

uL

RL

− 1L

uR

RR

0 0

0 0 0 −λR 0 0 0

0 0 0 0 −λR 0 0

0 0 0 0 0 0 1

0 0 0 0 0 0 0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

, (9.33)

Γ = I7, and ω = [ωn, ωe, ωψ, ωL, ωR, ωφ, ωf ]. The PSD of ωφ and ωf areSφ and Sf , respectively, as discussed in Section 8.4.3.2.

9.5.2 Measurement Differencing

In this approach, the measurement from one satellite is subtracted fromthe measurements of all other satellites to eliminate the receiver clock bias.

Page 368: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

9.5. GPS AIDING 345

Therefore, the state and error state remain

x = [n, e, ψ, RL, RR]�

δx = [δn, δe, δψ, δRL, δRR]�

and F(t), Γ, and ω remain as defined in eqn. (9.22).Assuming that m satellites are available and that measurements from

the first satellite are subtracted from all the others, the differenced pseudor-ange and carrier phase measurements can be predicted from the navigationstate as

∇ρi =(R(x, pi) + χi

)−(R(x, p1) + χ1

)(9.34)

λ∇φi =(R(x, pi) + Υi

)−(R(x, p1) + Υ1

)+(N i − N1

)λ (9.35)

for i = 2, . . . , m. The same assumptions and comments apply as werediscussed following eqns. (9.26-9.27).

In this approach, the measurement residuals for the i-th satellite wouldbe computed as

δρi(t) =(ρi(t) − ρ1(t)

)−∇ρi(t) (9.36)

δφi(t) =(φi(t) − φ1(t)

)−∇φi(t). (9.37)

For i = 2, . . . , m, the error models for the measurement residuals are

δρi(t) = higδx +

(ηi − η1

)(9.38)

δφi(t) = higδx +

(βi − β1

)(9.39)

where hig is equal to the first five elements of

(hi

g − h1g

). The quantities ηi,

βi, and hig are defined for i = 1, . . . , m in eqns. (9.30–9.32).

9.5.3 Comparison

The previous two sections presented two approaches to handling the GPSreceiver clock error. This section briefly compares the two approaches.

In the approach of Section 9.5.1, the clock error and its rate of changeare augmented to the state vector. This results in a larger state vector andrequires time propagation of the clock error. The augmented state vectorallows the estimated clock error to be removed from each satellite’s pseu-dorange and phase measurement. The additive noise on the measurementresiduals for different satellites is uncorrelated. The residuals can be usedby the Kalman filter as scalar measurements as described in Section 5.6.1.

In the approach of Section 9.5.2 simultaneous measurements from differ-ent satellites are subtracted, which eliminates the common clock error from

Page 369: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

346 CHAPTER 9. GPS AIDED ENCODER-BASED DR

the difference. The difference affects the measurement matrix, increasesthe amount of noise per measurement, and causes the additive noise onthe measurement residuals for different satellites to be correlated. Con-sider1 the variance of the measurement noise for the residual pseudorangemeasurements of eqn. (9.38):

var(ηi − η1) = E〈(ηi − η1) (

ηi − η1)〉 = 2σ2

ρ. (9.40)

Consider the covariance between the measurement noise for the residualpseudorange measurements for satellites 2 and 3:

cov((η2 − η1

),(η3 − η1

)) = E〈(η2 − η1

) (η3 − η1

)〉 = σ2ρ. (9.41)

Therefore, when the measurements of SV 1 are subtracted from the mea-surements of all other SV’s, the Kalman filter measurement covariance isnot diagonal, but has the structure

R =

⎡⎢⎢⎢⎣

2 1 1 . . . 11 2 1 . . . 1...

......

. . ....

1 1 1 . . . 2

⎤⎥⎥⎥⎦σ2

ρ ∈ R(m−1)×(m−1) (9.42)

where m is the number of available satellites. Due to correlated measure-ment noise, the residuals could either be processed as a vector or as de-scribed in Section 5.6.2.

9.6 Performance Analysis

The material in the previous sections allow the GPS aided encoder naviga-tion system to be implemented. This section presents a basic performanceanalysis to determine if, or when, the error state is observable and to allowan analysis of expected performance.

Given that measurements from at least three non-coplanar GPS satel-lites are available, then the position error will be observable. The specificsatellite configuration will affect the quality of the position estimate, butnot the observability.

9.6.1 Observability

To avoid specific assumptions related to the GPS satellite configuration, forthe discussion of observability, we will assume that we can measure position

1The following analysis assumes that the noise covariance is the same for all satellites.In practice, this is not true due to issues such as satellite elevation. This fact influencesthe choice of the satellite that is used in the difference.

Page 370: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

9.6. PERFORMANCE ANALYSIS 347

directly. The residual measurement is

δy = Hδx + η (9.43)

with

H =[

1 0 0 0 00 1 0 0 0

].

The error state and F matrix are defined as in Section 9.4. With theseassumptions, the observability matrix is

O =

⎡⎣ H

HFHF2

⎤⎦ =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1 0 0 0 00 1 0 0 00 0 −u sin(ψ) uL

2RL

cos(ψ) uR

2RR

cos(ψ)

0 0 u cos(ψ) uL

2RL

sin(ψ) uR

2RR

sin(ψ)

0 0 0 O54 O55

0 0 0 O64 O65

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

where

O54 =uL

RL

(− u

Lsin(ψ) − λR

2cos(ψ)

)

O55 =uR

RR

(u

Lsin(ψ) − λR

2cos(ψ)

)

O64 =uL

RL

(u

Lcos(ψ) − λR

2sin(ψ)

)

O65 =uR

RR

(− u

Lcos(ψ) − λR

2sin(ψ)

).

Several specific cases can be considered.

For u = ω = 0: In this case uL = uR = 0. Therefore, the third throughfifth columns of O are zero. In this case, the unobservable subspace isthree dimensional and includes the yaw angle and wheel radii errors.

For u = 0: In this case the third column of O is zero which shows that atleast the yaw angle is not observable. If ω �= 0, then uL �= 0, uR �= 0,and ψ is changing with time. Under these conditions, the last twocolumns of O are linearly independent of each other and of the firsttwo columns, which shows that the rank of O is four. Therefore, thewheel radii and position are observable.

For uL = 0: In this case the fourth column of O is zero which shows thatat least the RL is not observable.

Page 371: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

348 CHAPTER 9. GPS AIDED ENCODER-BASED DR

For uR = 0: In this case the fifth column of O is zero which shows that atleast the RR is not observable.

Over time intervals where uL and uR are time varying, the state vectormay not be observable at a given time instant; nonetheless, the state vectorcan be observable over the time interval. This is easily demonstrated viacovariance analysis.

9.6.2 Covariance Analysis

The main purpose of this section is to present an covariance analysis demon-strating that the state can be observable over an interval of time eventhough the observability matrix is not full rank at any time instant duringthat interval. The covariance analysis results are presented in Figure 9.4.

During this simulation, GPS aiding measurements are assumed to occurat a one Hertz rate with tk = kT and T = 1s. The vehicle forward speedis u(t) = 1m

s for all t. The angular rate ω is periodic with a period of 10s.For t ∈ [0, 10], the angular rate is defined as

ω(t) ={

0 rads for t ∈ [0, 8)s

π2

rads for t ∈ [8, 10)s.

The resulting trajectory is oval-shaped with 8m long straight edges in thenorth-south directions connected by semicircles at each end. At the mea-surement time instants during this simulation, the rank of the observabilitymatrix is 4; therefore, the error state is not observable at any instant oftime.

The parameter definitions for this covariance analysis were L = 1.0m,R0 = 0.1m, PR = (1.0×10−4m)2, and λR = 1/36000sec−1. The covarianceof the measurement noise η in eqn. (9.43) was R = (0.3)2I meters. The ini-tial error state covariance matrix was P = diag([1, 1, (.1)2, 0.1PR, 0.1PR]).The PSD matrix for the vector ω(t) was defined as

Q(t) = diag([(0.001u(t))2, (0.001u(t))2, (0.0001u(t))2, 2PRλR, 2PRλR]).

For the covariance analysis, the Φ and Qd matrices were computed (seeSection 4.7) and the error covariance matrix P was propagated at 100Hz.

The 10s period of the trajectory is most evident in the plot of thestandard deviation σn of the estimate of n in the top plot. During the first8s of each 10s period, the value of σn decreases. The standard deviationσe of the estimate of e attains a steady state oscillation. Note that fort ∈ [0, 8]s or t ∈ [10, 18]s, the growth of σe is much more significant thanthe growth of σn. During these time intervals, the vehicle is traveling eithernorth or south and the yaw error δψ has a much larger effect on the lateralvariable e than the longitudinal variable n. When the vehicle is rotating

Page 372: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

9.6. PERFORMANCE ANALYSIS 349

: ? &: &? ): )?:

:*?

&

&*?

���*!�7!$

: ? &: &? ): )?:

:*&

:*)

���*�7!��

: ? &: &? ): )?:

&

)

@

�!&:(?

���*!�27!$

: ? &: &? ): )?:

&

)

@�!&:

(?

���*!��7!$

5�$�7!�7!�� *

: ? &: &? ): )?:

?

&:

&?

���*!�7!$

Figure 9.4: Covariance analysis results for GPS aided encoder-based dead-reckoning. The operating scenario is described in Section 9.6.2.

Page 373: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

350 CHAPTER 9. GPS AIDED ENCODER-BASED DR

(i.e., t ∈ [8, 10]s or t ∈ [18, 20]s), the effect of the yaw error on the northposition error is clearly indicated. The maximum rate of growth of thenorth position error is at t = 9s when the angle ψ = π

2 rad. At the sametime, the magnitude of the rate of growth of the east position error is nearzero.

The covariance analysis can be repeated with similar results for the casethat Q and the initial P are the same as above, but λR = 0 in the definitionof the F matrix. In this case, the fact that the error state δx is controllablefrom the process driving noise ω, that Q is positive definite, and none ofthe eigenvalues of F are in the left half plane — together with the fact thatthe P matrix remains small for the aided system — shows that over theperiod of the simulation, the error state is observable. A rigorous methodfor demonstrating observability of the time varying linear system over thetime interval would use the concept of an observability grammian [19].

For this simulation, for t ∈ [0, 8)s, using the method of Section 3.6.3 orthe function MATLAB function ‘obsvf’, the unobservable subspace is

[0.00, 0.00, 0.00,−0.71, 0.71].

This vector implies that for t ∈ [0, 8)s the system can estimate δRL + δRR,but not δRL − δRR. For t ∈ [8, 10)s, the unobservable subspace is

[0.00, 0.00, 0.00,−0.59, 0.81].

It is the change in the unobservable portion of the subspace over a time in-terval, as the vehicle maneuvers, that enables the aided system to maintainthe accuracy of the full state vector.

The specific definition if the unobservable subspace at each measurementtime instant is a function of the vehicle trajectory over the preceding timeinterval. It is left as an exercise, to consider the trajectory defined by

u(t) ={

1 ms for t ∈ [0, 8)s

0 ms for t ∈ [8, 10)s

and

ω(t) ={

0 rads for t ∈ [0, 8)s

π2

rads for t ∈ [8, 10)s.

These conditions result in the vehicle driving 8m north, performing a πradian rotation without changing position, driving 8m south, and perform-ing another π radian rotation without changing position. The vehicle isnow back at its original location and orientation. The process repeats ev-ery 10 seconds. In this case, for t ∈ [8, 10)s the unobservable space is twodimensional with basis vectors defined by

[0.00, 0.00, 1.00, 0.00, 0.00]

Page 374: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

9.7. GENERAL 3-D PROBLEM 351

and[0.00, 0.00, 0.00, 0.71, 0.71].

The predicted navigation accuracy for the same parameter settings is es-sentially the same as that indicated in Figure 9.4.

9.7 General 3-d Problem

The main body of this chapter has presented a GPS aided encoder-baseddead-reckoning approach built on the assumption of a planar operatingsurface. The approach is easily generalized to nonplanar surfaces when rollangle φ and the pitch angle θ can be measured. The main changes to theapproach would occur in the kinematic model derived in Section 9.3.

The kinematic model of eqn. (9.3) would be replaced by

p =

⎡⎣ cos(ψ) cos(θ)

sin(ψ) cos(θ)− sin(θ)

⎤⎦u (9.44)

ψ =cos(φ)cos(θ)

ω. (9.45)

Eqn. (9.44) was derived using vt = Rtbv

b with the assumption that vb =[u, 0, 0]�. Eqn. (9.45) is derived using eqn. (2.74) and the assumption thatthe product sin(φ)

cos(θ)q is negligibly small where q represents the angular rateabout the body frame v-axis. In addition to accounting for the cos(θ) termsin eqns. (9.9) and (9.18), an additional equation was required to propagatethe vertical position component h.

Note that attitude sensors provide the roll and pitch relative to thegeodetic frame. When the region of operation is small, the difference be-tween the tangent frame and the geodetic frame would be inconsequentialfor this approach. When the area of operation is large enough for the differ-ence to be important, the designer can either compute the tangent framerelative attitude from the geodetic frame relative attitude or modify theapproach of this chapter to work in the geodetic frame.

Page 375: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 376: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 10

AHRS

An attitude and heading reference system (AHRS) is a combination ofinstruments capable of maintaining an accurate estimate of the vehicle rollφ, pitch θ, and yaw ψ as the vehicle maneuvers. Various AHRS designapproaches are reviewed in Chapter 9 of [78]. This chapter considers asingle approach wherein gyro outputs are integrated through the attitudekinematic equations and aided with accelerometer (i.e., gravity direction inbody frame) and magnetometer (i.e., Earth magnetic field in body frame)measurements.

The vehicle attitude describes the relative orientation of the axes of thebody (b-frame) and navigation (n-frame) frames-of-reference. This bookdescribes three equivalent attitude representations. Each attitude represen-tation could be used to implement the method of this chapter: integrationof eqn. (2.54) yields the direction cosine matrix from which the Euler anglescould be computed by eqns. (2.45–2.47); integration of eqn. (2.74) yieldsthe Euler angles directly; or, integration of eqn. (D.28) yields the quater-nion representation of the rotational transformation from which the Eulerangles could be computed using eqns. (D.16–D.18). All three approachesare theoretically equivalent. In this chapter we choose to use the quater-nion approach due to its computational efficiency and lack of singularities.Various useful quaternion related results are presented in Appendix D.

A block diagram illustration of the approach described in this chapter isshown in Figure 10.1. A triad of gyros will measure the angular rate vectorωb

ib of the b-frame relative to the i-frame represented in the b-frame. Inte-gration of the gyro measurements through the attitude kinematics yields therotation matrix Rn

b from which the Euler angles can be computed. Bodyframe accelerometer and magnetometer measurements are transformed tothe navigation frame to predict the known Earth gravitational accelerationand magnetic field vectors. A Kalman filter uses the residual measurementsto estimate the attitude error and sensor calibration factors. Due to the

353

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 377: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

354 CHAPTER 10. AHRS

���� �A���$�� �

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

�����

A$�3����

��6

����

"�����$�������

�����

$�

��

$�

��

B

B

6

6

���6 6 6 6

��

$�

B

Figure 10.1: Block diagram for attitude and heading reference system.

fact that the body frame accelerometer measures specific force (i.e., kine-matic acceleration minus gravitational acceleration) the approach will bedesigned to detect when the vehicle is accelerating and to de-weight or ig-nore the accelerometer measurements during such time periods (see Section10.5.4 and eqn. (10.70)).

10.1 Kinematic Model

The angular rate of the n-frame with respect to the b-frame represented inthe b-frame can be decomposed as

ωbbn = ωb

in − ωbib

where ωbib = [p, q, r]� is the vector of body rates relative to the inertial

frame. Denote the components of ωbbn = [ω1, ω2, ω3]�.

By eqn. (D.28), the kinematic equation for the quaternion b represent-ing the rotation from n-frame to b-frame is

b =12

⎡⎢⎢⎣

−b2 −b3 −b4

b1 b4 −b3

−b4 b1 b2

b3 −b2 −b1

⎤⎥⎥⎦⎡⎣ ω1

ω2

ω3

⎤⎦ . (10.1)

Initial conditions for this set of differential equations are defined in Section10.3.

Given the quaternion b at time t, according to eqn. (D.13), the rota-tional transformation from the n-frame to the b-frame at time t is

Rbn =

⎡⎣ b2

1 + b22 − b2

3 − b24 2(b2b3 − b1b4) 2(b1b3 + b2b4)

2(b2b3 + b1b4) b21 − b2

2 + b23 − b2

4 2(b3b4 − b1b2)2(b2b4 − b1b3) 2(b1b2 + b3b4) b2

1 − b22 − b2

3 + b24

⎤⎦ (10.2)

and from eqns. (D.16–D.18) the Euler angles at the same time instant are

φ = atan2(2(b3b4 − b1b2), 1 − 2(b2

2 + b23))

(10.3)

Page 378: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.2. SENSOR MODELS 355

θ = asin (−2(b2b4 + b1b3)) (10.4)ψ = atan2

(2(b2b3 − b1b4), 1 − 2(b2

3 + b24)). (10.5)

The b-frame specific force vector is

f b = abib − gb

where abib is the acceleration of the b-frame relative to the inertial frame

represented in the b-frame and g is the gravity vector in the b-frame. Ifthe IMU position was available, then gn could be computed by eqn. (2.8).When the IMU position is unknown, as is assumed in this chapter, thengn = [0, 0, ge]� where ge is the Earth gravity constant. Using the definitionof Rb

n from eqn. (2.43), the relationship between the gravity vector in theb and the n-frames is

gb = Rbngn =

⎡⎣ − sin(θ)

sin(φ) cos(θ)cos(φ) cos(θ)

⎤⎦ ge. (10.6)

The b-frame Earth magnetic field vector is

mb = Rbnmn (10.7)

where mn is the Earth magnetic field represented in the navigation frame.

10.2 Sensor Models

Let u denote the gyro measurement. We assume that the gyro measurementmodel is

u = ωbib + xg + νg (10.8)

where νg is Gaussian white noise with PSD σ2νg

and xg is an additive error.For the purpose of discussion in this chapter, we assume that the gyro erroris a bias modeled as a first-order Gauss-Markov process:

xg = Fgxg + ωg (10.9)

where Fg = −λgI and ωg is a Gaussian white noise process with PSD σ2ωg

.Denote the accelerometer measurement as ya. The accelerometer mea-

surement model isya = ab

ib − gb + xa + ν′a (10.10)

where ν′a is Gaussian white noise with PSD σ2

ν′a

and xa is an additiveerror. For the purpose of discussion in this chapter, we assume that theaccelerometer error is a bias modeled as a first-order Gauss-Markov process:

xa = Faxa + ωa (10.11)

Page 379: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

356 CHAPTER 10. AHRS

where Fa = −λaI and ωa is a Gaussian white noise process with PSD σ2ωa

.Denote the magnetometer measurement as ym. The magnetometer

measurement model is

ym = mbe + mb

b + νm (10.12)

where νm is Gaussian white noise with PSD σ2νm

, mbe is the Earth magnetic

field vector represented in the b-frame, and mbb is the magnetic field vector

generated by the vehicle represented in body frame. We will assume thatthe magnetometer is either isolated from or compensated for the vehiclemagnetic field, so that the mb

b term can be assumed to be zero. We willalso assume that the compass has been compensated for the local magneticfield deviation from true north so that mn = [me, 0, 0]� where me is themagnitude of Earth magnetic field. Finally, we assume that the compass ismounted such that its axes align with the IMU axes. With these assump-tions, the magnetometer measurement is a function of the vehicle yaw anglerelative to true north as defined in eqn. (10.7).

10.3 Initialization

This section discusses initialization of the AHRS state vector. Initializationof the error state covariance matrix is discussed in Section 10.5.5.

10.3.1 State Initialization: Approach 1

During some initial period of time t ∈ [0, T ] when the vehicle is known to benon-accelerating, perhaps detected by program initialization or ‖ya‖ ≈ ge,the accelerometer outputs can be averaged to yield an estimate of the grav-ity vector in body frame. Based on eqn. (10.10) and assuming temporarilythat ab

ib = 0 and xa = 0, the estimate of the body frame gravity vector is

gb =1T

∫ T

0

−ya(τ)dτ. (10.13)

This estimate of the gravity vector is affected by accelerometer noise, ac-celerometer biases, and by vehicle acceleration. Sensor noise and vehiclevibrations are expected to average out during the period of integration.Sensor bias will not. For a system that in nominally level during the ini-tialization process, each milli-g of sensor bias contributes about 1 mrad oferror to the initial attitude estimate.1

1This is straightforward to show. For example, by eqn. (10.14), if xa2 repre-

sents the bias on the v-accelerometer (i.e., the second component of ya), then dφdxa2

=

ddg2

atan g2g3

dg2dxa2

determines the effect of the bias xa2 on φ. If xa2 is constant over

Page 380: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.3. INITIALIZATION 357

Denote the components of gb as [g1, g2, g3]�. Using eqn. (10.6), theinitial roll and pitch values can be computed as

φ(T ) = atan2 (g2, g3) (10.14)

θ(T ) = atan2(−g1,

√g22 + g2

3

). (10.15)

Decomposing the b-frame to n-frame rotation into its three plane rota-tions as defined in Section 2.5.3, for the Earth magnetic field in the b-frameand the n-frame, we have

mb = [φ]1[θ]2[ψ]3mn

[θ]�2 [φ]�1 mb = [ψ]3mn⎡⎣ cos(θ) sin(θ) sin(φ) sin(θ) cos(φ)

0 cos(φ) − sin(φ)− sin(θ) cos(θ) sin(φ) cos(θ) cos(φ)

⎤⎦mb =

⎡⎣ cos(ψ)

− sin(ψ)0

⎤⎦me

where we have used the facts that mn = [me, 0, 0]�, [φ]−11 = [φ]�1 , and

[θ]−12 = [θ]�2 . Given the initial conditions for φ and θ are available from eqns.

(10.14–10.15), the left-hand side of the above equation can be computedbased on the body frame magnetometer reading. We define the vectormw = [mw

1 , mw2 , mw

3 ] as

mw =

⎡⎣ cos(θ) sin(θ) sin(φ) sin(θ) cos(φ)

0 cos(φ) − sin(φ)− sin(θ) cos(θ) sin(φ) cos(θ) cos(φ)

⎤⎦ mb, (10.16)

where

mb =1T

∫ T

0

ym(τ)dτ. (10.17)

The w-frame is an intermediate frame of reference defined by the projectionof the vehicle u-axis onto the Earth tangent plane. From the above analysis,the rotation matrix Rw

n = [ψ]3; the rotation matrix Rwb = [θ]�2 [φ]�1 ; and,

Rwb Rb

n = Rwn . The initial yaw angle can be compute from the first two

components of mw as

ψ(T ) = atan2(−mw2 , mw

1 ). (10.18)

Given the initial values of the Euler angles from eqns. (10.14), (10.15),and (10.18), the initial Rb

n is then computed using eqn. (2.43). The initialvalue of the quaternion b(0) is computed from eqn. (D.15).

the period of integration, then dg2dxa2

= 1. Also, since the system is nominally level,

g2 � g3 = ge and ddg2

atan g2g3

≈ 1ge

. Therefore, dφdxa2

≈ 1ge

.

Page 381: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

358 CHAPTER 10. AHRS

During this same initialization period while the vehicle is assumed tobe non-accelerating, the gyro outputs can be averaged to provide initialestimates of the gyro biases. Ideally the earth rate ωb

ie would be subtractedfrom the gyro measurements; however, the gyros used in AHRS applicationsmay not be sufficiently accurate to resolve the Earth rate.

10.3.2 State Initialization: Approach 2

Given that the Earth gravity g and magnetic field m vectors are not havethe same direction, an alternative approach to attitude initialization canbe developed by defining the vector r = g×m which is orthogonal to bothg and m. In the navigation frame, we form the matrix

An = [mn,gn × mn,gn] =

⎡⎣ me 0 0

0 mege 00 0 ge

⎤⎦ . (10.19)

which is known. Because mb = Rbnmn, rb = Rb

nrn, and gb = Rbngn, we

have thatAb = Rb

nAn (10.20)

whereAb =

[mb,gb × mb,gb

]. (10.21)

Given the vectors gb and mb defined in eqns. (10.13) and (10.17), respec-tively, we can compute Ab = [mb, gb × mb, gb] from the accelerometer andmagnetometer measurements. From eqn. (10.20) with Ab and An known,the initial value of the rotation matrix can be computed as

Rbn = Ab (An)−1 =

[1

memb,

1mege

gb × mb,1ge

gb

]. (10.22)

With Rbn as defined in eqn. (10.22), the initial quaternion and Euler angles

can be computed by eqn. (D.15) and eqns. (2.45–2.47), respectively.

10.4 AHRS Mechanization Equations

The state vector is x = [b�, x�g , x�

a ]�. Given the initial estimate of b(0) asdiscussed in Section 10.3, the estimate of b(t) is maintained by integrationof the equation

˙b =12

⎡⎢⎢⎣

−b2 −b3 −b4

b1 b4 −b3

−b4 b1 b2

b3 −b2 −b1

⎤⎥⎥⎦ ωb

bn (10.23)

Page 382: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.5. ERROR MODELS 359

where

ωbbn = ωb

in − ωbib. (10.24)

If an external estimate of the velocity was available, then ωbin could be

computed using eqns. (2.57) and (2.39) for use in eqn. (10.24). In thischapter, we assume that such external input is not available. Withoutadditional information we define ωb

in = 0. Based on eqn. (10.8) and thegyro output u, the body angular rate is computed as

ωbib = u − xg. (10.25)

Given b at time t, the Euler angles (φ, θ, ψ) can be computed for the sametime using eqns. (10.3–10.5) and the rotational transformation Rb

n can becomputed as in eqn. (10.2).

Based on Rbn, the measured accelerometer ya and magnetometer ym

vectors can be used to predict the navigation frame vectors according to

gn = Rnb (xa − ya) (10.26)

mn = Rnb ym (10.27)

where the true values are known to be gn = [0, 0, ge]� and mn = [me, 0, 0]�.The residual between the true and computed values will be used in aKalman filter to estimate the error state.

At some periodic rate, the quaternion should be normalized to havemagnitude one, as b .= b/‖b‖, where the symbol .= should be interpretedin the algorithmic sense of “the value is replaced by.”

10.5 Error Models

This section derives both the measurement error models and the dynamicmodel for the state error. The error state vector is defined as

δx = [ρ�, δx�g , δx�

a ]�

where the vector ρ is defined below.Due to misalignment, measurement, computation, and initialization er-

rors, the body-to-navigation frame transformation will be in error. Thevector ρ = [εN , εE , εD]� contain the small-angle rotations defined with re-spect to the navigation frame to rotate the navigation frame to align withthe computed navigation frame. Of the components of ρ, εN and εE arereferred to as tilt errors and εD is referred to as the yaw error.

Three attitude mechanization approaches (i.e., direction cosine, Eulerangle, and quaternion) have previously been discussed. The vector ρ is

Page 383: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

360 CHAPTER 10. AHRS

not a new attitude mechanization approach. It is a vector convenient formodeling and correcting the attitude error. Because the three attitudemechanization approaches are all theoretically equivalent, the ρ attitudeerror representation can be used with any of the three mechanization ap-proaches.

For error analysis, the transformation from the actual to the computednavigation frame can be represented via a multiplicative small angle trans-formation (I−P) where the skew-symmetric matrix P has the representa-tion

P = [ρ×] =

⎡⎣ 0 −εD εE

εD 0 −εN

−εE εN 0

⎤⎦ . (10.28)

With the above definitions, we have that

Rnb = (I − P)Rn

b . (10.29)

The following relations are derived directly from eqn. (10.29) and will beuseful in the subsequent analysis:

Rbn = Rb

n(I + P) (10.30)

Rbn = Rb

n(I − P) (10.31)

Rnb = (I + P)Rn

b . (10.32)

Because Rnb and Rn

b are both orthogonal, P� = −P, and (I−P)−1 = (I+P)to first order, eqns. (10.30–10.32) are accurate to first order.

10.5.1 Measurement Error Model

For both the magnetometer and the accelerometer, a vector measurementis obtained in the body frame for which a value is known in the naviga-tion frame. Section 10.5.1.1 will consider that measurement scenario ingeneral, then Sections 10.5.1.2 and 10.5.1.3 will specialize the result to theaccelerometer and magnetometer measurements.

10.5.1.1 General Analysis

Let a vector r have the known value y = rn in navigation frame. A mea-surement of y is available in body frame that is modeled as

yb = rb + xy + νy (10.33)

where xy represented sensor errors that will be calibrated and νy representsother sensor errors that will be modeled as white noise. The computed valueof the measurement in navigation frame is

yn = Rnb

(yb − xy

)(10.34)

Page 384: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.5. ERROR MODELS 361

where xy is an estimate of xy if one is available. The error model for yn is

δyn = yn − yn (10.35)= yn − (I − P)Rn

b

(rb + xy + νy − xy

)= Prn − Rn

b (δxy + νy) + PRnb (δxy + νy)

= − [rn×] ρ − Rnb (δxy + νy) (10.36)

where we have used the fact that Prn = − [rn×] ρ. As defined in eqn.(B.15), the matrix [rn×] is the skew symmetric matrix form of the vectorrn. The term PRn

b (δxy + νy) is dropped because it is second order in theerror quantities.

10.5.1.2 Accelerometer Analysis

By eqn. (10.10), the accelerometer measurement is

ya = abib − gb + xa + ν ′

a. (10.37)

For the AHRS application, we are interested in using the gravity vectorto estimate attitude. We are not interested in the acceleration vector aib.Therefore, the body frame acceleration ab

ib is an error source, which canchange rapidly. Without additional information, ab

ib cannot be estimated;therefore, we treat it as a measurement error by defining νa = ν ′

a + abib so

thatya = −gb + xa + νa. (10.38)

From eqn. (10.38), the body frame estimate of the gravity vector is

gb = xa − ya. (10.39)

The measurement “noise” vector νa is not white, nor is it stationary. Themeasurement noise vector ν′

a is white and stationary. Therefore, the strat-egy that is used in the proposed Kalman filter is to select time instantstai

when aib(tai) ≈ 0 and to use accelerometer aiding only at those time

instants. By this approach νa(tai) ≈ ν ′

a(tai) and the measurement noise at

the instants of the accelerometer aiding can be modeled as white and sta-tionary. The method for defining the times tai

is defined in Section 10.5.4and eqn. (10.70).

Because the accelerometer measurement of eqn. (10.38) includes −gb,the analysis of the residual measurement of eqn. (10.36) changes slightly,but the result is similar. The residual gravity measurement in navigationframe defined as

δgn = gn − gn

where gn = Rnb gb. The residual has the error model

δgn = Haδx + Rnb νa

Page 385: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

362 CHAPTER 10. AHRS

where Ha is derived as follows:

δgn = gn − Rnb gb (10.40)

= gn − (I − P)Rnb (xa − ya)

= gn + (P − I)Rnb

(gb − δxa − νa

)= −[gn×]ρ + Rn

b (δxa + νa)

=

⎡⎣ 0 ge 0

−ge 0 00 0 0

⎤⎦ρ + Rn

b (δxa + νa) ; (10.41)

therefore, the measurement matrix is

Ha =[

[−gn×] 0 Rnb

]. (10.42)

This model indicates that this measurement does not provide useful infor-mation concerning the yaw error εD; but may allow estimation of the tilterrors εN and εE .

10.5.1.3 Magnetometer Analysis

For the residual magnetometer measurement defined as

δmn = mn − mn

where mn = Rnb ym. For the magnetometer measurement, eqn. (10.36)

specializes to

δmn =

⎡⎣ 0 0 0

0 0 me

0 −me 0

⎤⎦ρ − Rn

b νm. (10.43)

Therefore, the magnetometer residual is modeled as

δmn = Hmδx − Rnb νm

where the measurement matrix is

Hm =[ −[mn×] 0 0

]. (10.44)

This model indicates that magnetometer measurement might allow cali-bration of εE and εD. However, the accuracy of estimation of εE relies onthe accuracy of the vertical component of mn which is location dependent.When position information is not available, the magnetometer measurementmatrix will be reduced to

Hm =[

[0, 0, me] 0 0]

(10.45)

which will allow calibration of the yaw εD.

Page 386: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.5. ERROR MODELS 363

10.5.2 Attitude Error Dynamics

Section 10.5.1 derived the error state measurement models. To completethe analysis we require a model for the dynamics of the attitude error vectorρ. The general equation is derived in Section 10.5.2.1 and will be used inChapter 11. The general equation is simplified for the AHRS applicationin Section 10.5.2.2.

The analysis that follows uses the navigation frame yaw and tilt errorvector ρ. It could also be derived using a quaternion error vector as definedin Exercise D.4.

10.5.2.1 General Analysis

From Section 2.6, the differential equation for the direction cosine matrixis

Rnb = Rn

b Ωbnb. (10.46)

Based on the kinematics of eqn. (10.46), the estimate Rnb could be com-

puted as˙Rn

b = Rnb (Ωb

ib − Ωbin) (10.47)

where Ωb

ib = [ωbib×] with ωb

ib = u−xg calculated based on the gyro outputs,

Ωb

in = [ωbin×], ωb

in = Rbnωn

in, and ωnin is calculated based on quantities in

the navigation system as described in eqn. (2.57).To determine a dynamic model for ρ (or P), set the derivative of eqn.

(10.32) equal to the left side of eqn. (10.46):

PRnb + (I + P) ˙Rn

b = (I + P)Rnb (Ωb

ib − Ωbin). (10.48)

Using the definitions

δΩbib = Ωb

ib − Ωbib

δΩbin = Ωb

in − Ωbin,

eqn. (10.48) simplifies as follows,

PRnb + (I + P) ˙Rn

b = (I + P)Rnb (Ωb

ib − Ωbin + δΩb

ib − δΩbin)

= (I + P) ˙Rnb + (I + P)Rn

b (δΩbib − δΩb

in)

P = Rnb (δΩb

ib − δΩbin)Rb

n. (10.49)

The term PRnb (δΩb

ib − δΩbin)Rb

n has been dropped as it is second order inthe error quantities. In eqn. (10.49), P = [ρ×]; therefore, the equation

Page 387: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

364 CHAPTER 10. AHRS

contains only three independent terms. Using eqns. (2.23) and (B.15), eqn.(10.49) can be written in the vector form,

ρ = Rnb (δωb

ib − δωbin) (10.50)

where δωbib is the error in the gyro measurement of the body-frame inertial-

relative angular rate. From eqn. (2.57), the vector ωnin is defined as

ωnin =

⎡⎣ (λ + ωie) cos(φ)

−φ

−(λ + ωie) sin(φ)

⎤⎦ (10.51)

where λ = ve

cos(φ)(RN+h) and φ = vn

RM+h . Therefore, the vector δωbin depends

on the error in position and velocity, which are not available to AHRSapplications.

Further specialization of eqn. (10.50) is considered in Section 11.4.2 inrelation to INS applications. The following section considers the specialcase relevant to AHRS applications.

10.5.2.2 Special Case: AHRS

For an AHRS application in which position and velocity information arenot available, ωn

in = 0. In this case, eqn. (10.46) is mechanized as

˙Rnb = Rn

b Ωbib. (10.52)

Following a method similar to that of Section 10.5.2.1, to derive the dynamicmodel for P, set the derivative of eqn. (10.32) equal to the left side of eqn.(10.46):

PRnb + (I + P) ˙Rn

b = (I + P)Rnb (Ωb

ib − Ωbin) (10.53)

which simplifies as follows,

PRnb + (I + P) ˙Rn

b = (I + P)Rnb (Ωb

ib − Ωbin + δΩb

ib)

= (I + P) ˙Rnb + (I + P)Rn

b δΩbib − Rn

b Ωbin

P = Rnb δΩb

ibRbn − Rn

b ΩbinRb

n (10.54)

to first order. In vector form (using eqns. (2.23) and (B.15)), eqn. (10.54)is

ρ = Rnb

(δωb

ib − ωnin

)(10.55)

where δωbib is the error in the gyro measurement of the body-frame inertial-

relative angular rate vector. By its definition as δωbib = ωb

ib − ωbib, the

Page 388: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.5. ERROR MODELS 365

definition of ωbib in eqn. (10.25), and the definition of the gyro measurement

in eqn. (10.8), the gyro measurement error is modeled as

δωbib = −δxg − νg (10.56)

withδxg = Fgδxg + ωg.

Substituting eqn. (10.56) into eqn. (10.55) yields

ρ = −Rnb δxg − Rn

b νg − Rnb ωn

in. (10.57)

The vector ωnin, derived on p. 52 and reprinted in eqn. (10.51), is the

rotation rate of the navigation frame relative to the inertial frame repre-sented in navigation frame. Eqn. (10.57) shows that the lack of positionand velocity information affects the AHRS accuracy by the accumulationof attitude error at rates related to λ and φ. In the description that follows,ωn

in is treated as a white noise term driving the error state model. In fact,this term is not white or even stationary. Improved handling of this termcould lead to improved performance. The accumulated error is intended tobe estimated and removed by the accelerometer and magnetometer aidingsensors.

10.5.3 AHRS State Space Error Model

Based on the above analysis, with the error state vector defined as δx =[ρ�, δx�

g , δx�a ]�, we combine eqns. (10.9), (10.11), and (10.57) to obtain

the dynamic model for the state vector as⎡⎣ ρ

δxg

δxa

⎤⎦ =

⎡⎣ 0 −Rn

b 00 Fg 00 0 Fa

⎤⎦⎡⎣ ρ

δxg

δxa

⎤⎦

+

⎡⎣ −Rn

b 0 −Rnb 0

0 I 0 00 0 0 I

⎤⎦⎡⎢⎢⎣

ωnin

ωg

νg

ωa

⎤⎥⎥⎦ .

We combine eqns. (10.41) and (10.43) to obtain the error state measure-ment models as

δgn = Haδx + Rnb νa (10.58)

δmn = Hmδx − Rnb νm (10.59)

with Ha and Hm defined by eqns. (10.42) and (10.45), respectively.

Page 389: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

366 CHAPTER 10. AHRS

10.5.4 Measurement Noise Covariance

The Kalman filter measurement update computations require the varianceof the discrete-time aiding measurements. This is straightforward for themagnetometer measurements:

Rm = var(νm) = σ2νm

.

The accelerometer aiding is more interesting. In the subsequent discussion,let Ra denote the accelerometer measurement variance that will be used inthe computation of the Kalman filter gains used for accelerometer aiding.Note that Ra is not necessarily the same as var(νa), which is not known.

The challenge in using the accelerometer measurements for AHRS aidingis to limit the possibilities for the body frame acceleration ab

ib to causeinaccuracy in the attitude estimate. Consider the signal

μ(t) = ‖ya(t)‖ − ge. (10.60)

The signal μ(t) differs from zero due to noise ν ′a, biases xa, and acceleration

aib. Typical values of ν′a and xa can be characterized based on specifications

from the accelerometer manufacturer. Therefore, it is possible to use μ(t)as an indicator of the magnitude of aib. The indicator μ(t) could be usedin at least two ways.

1. The indicator μ(t) could be used to influence Ra. An example mightbe

Ra = σ2ν′

a+ Rμ. (10.61)

If Rμ is an increasing function of μ, then the Kalman gain for theaccelerometer corrections would decrease as μ (i.e., the acceleration)increases.

2. In an asynchronous measurement aiding approach, the indicator μ(t)could be used, together with additional conditions, to select timeinstants tai when the acceleration should be small. Such time instantsare expected to be appropriate for accelerometer aiding.

The second approach is somewhat more consistent with the stochastic char-acter of the Kalman filter design.

The application presented in Section 10.8 uses the asynchronous aidingapproach and computes Ra as in eqn. (10.61). The condition used to selectthe accelerometer aiding times is defined in eqn. (10.70). Many alternativeconditions could be defined. There is of course a tradeoff. If the conditionsare made too stringent, then accelerometer aiding will rarely if ever occurand the tilt errors may grow with time. If the conditions are made too loose,then the vehicle acceleration may corrupt the attitude estimate through theaccelerometer aiding.

Page 390: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.5. ERROR MODELS 367

10.5.5 Initial Error Covariance Matrix

Given the initial estimates of Section 10.3, we can approximate the initialcovariance matrix of the error state δx = [ρ�, δx�

g , δx�a ]�. The initialization

procedure assumed that the vehicle was stationary, non-accelerating, andnon-rotating, over some initial period of time t ∈ [t1, t2] with T = t2 − t1.

With the definition of the error covariance matrix there is a conflictbetween the symbols used to indicate [ρ×] and error covariance. In thebalance of this chapter, P with no subscript or superscript denotes [ρ×]while any use of P to denote an error covariance will contain a subscript ofa superscript. See for example eqns. (10.63) or (10.66).

The initial values of the gyro biases are estimated by averaging the gyrooutputs

xbg(t2) =

1T

∫ T

0

u(τ)dτ. (10.62)

With ωbib = 0 and T small relative to 1

λgso that xg can be considered

constant over the initialization period, then

E〈xbg(t2)〉 = xb

g(t2)

var(xb

g(t2))

=σ2

νg

TI (10.63)

where I is the identity in R3×3. Eqn. (10.63) is derived in the same manner

as was eqn. (4.85). The shorthand notation Pgg =σ2

νg

TI will be used

subsequently.With ab

ib = 0 and T small relative to 1λa

so that xa can be consid-ered constant over the initialization period, then with gb(t2) defined as1T

∫ T

0−ya(τ)dτ we have that

gb(t2) = gb − xa − 1T

∫ T

0

ν′a(τ)dτ ;

which has a mean value of(gb − xa

)and Pf = cov(gb(t2)) =

σ2ν′

a

T I. Giventhe available information, there is no means to distinguish the correct valuesof gb and xa. Therefore, the initial value assignments

gb(t2) = gb(t2) (10.64)xa(t2) = 0 (10.65)

are a design choice which has the correct mean value (i.e., gb(t2)− xa(t2) =gb(t2)) and corresponds to the expectation that the dominant initializa-tion error will be due to attitude not accelerometer bias. This choice wasdiscussed in Example 4.9 on page 118.

Page 391: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

368 CHAPTER 10. AHRS

Assuming that the attitude is initialized by the method of Section 10.3.1,then based on eqns. (10.14), (10.15), and (10.18) we can define a function

h(g,m) =

⎡⎢⎣ atan2 (g2, g3)

atan2(−g1,

√g22 + g2

3

)atan2(−mw

2 ,mw1 )

⎤⎥⎦

such that the initial values for the Euler angles are computed as

E = [φ, θ, ψ]� = h(g, m).

Using analysis similar to that described in Exercise 4.11 the covariance ofthe initial condition error vector [δE�, δx�

a ]� is

PE =[

Hg(Pa + Pf )H�g + HmPmH�

m −HgPa

−PaH�g Pa

]

where Pa denotes the prior covariance of the accelerometer bias xa, Hg =∂h∂g , Hm = ∂h

∂m , and Pm is the covariance of the averaged magnetometernoise over the initialization period.

Also as described in Exercise 4.11, the covariance of the initial conditionerror vector [δρ�, δx�

a ]� is

PE =[

ΩT

(Hg(Pa + Pf )H�

g + HmPmH�m

)Ω�

T −ΩT HgPa

−PaH�g Ω�

T Pa

]

where ΩT is defined in eqn. (2.80). If we define

Pρρ = ΩT

(Hg(Pa + Pf )H�

g + HmPmH�m

)Ω�

T

Pρa = −ΩT HgPa = P�aρ,

then the initial covariance matrix for the error state δx is

P+(t2) = P−(t2) =

⎡⎣ Pρρ 0 Pρa

0 Pgg 0Paρ 0 Paa

⎤⎦ . (10.66)

10.6 AHRS Approach Summary

Using either approach of Section 10.3, the initial values for the quaternionb(t2), the gyro errors xg(t2), and the accelerometer errors xa(t2) can bedefined from the sensor data. Given these initial conditions, the mechaniza-tion equations of Section 10.4 would be integrated through time to providethe reference trajectory b(t) for t > t2. In addition, at any time t thatthey are required, the quaternion can be used to compute values for either

Page 392: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.7. OBSERVABILITY AND PERFORMANCE ANALYSIS 369

the Euler angles (φ(t), θ(t), ψ(t)) or the rotation matrices Rbn(t) and Rn

b (t).The aiding with magnetometer measurements can be accomplished at adesigner specified periodic rate. The aiding via the accelerometer measure-ments will be performed asynchronously at selected time instants where theacceleration vector is deemed to be small as discussed in Section 10.5.4.

If the symbol tk for k = 1, 2, 3, . . . is used to indicate times at whichKalman filter corrections occur, then the error covariance matrix is propa-gated between these time instants according to

P−k = Φ(tk, tk−1)P+

k−1Φ�(tk, tk−1) + Qdk−1.

Because the accelerometer measurements are asynchronous, the matricesΦ and Qdk must be computed online. For t ∈ [tk−1, tk] the state transi-tion matrix Φ(t, tk−1) is accumulated as described in eqn. (7.20) and thediscrete-time process noise matrix Qdk is accumulated as described in eqn.(7.21). The integration of the state transition matrix and the discrete-timeprocess noise matrix are initiated at tk−1 according to: Φ(tk−1, tk−1) = Iand Q(tk−1, tk−1) = 0.

At time tk, the Kalman gain Kk, the state correction δx+k , and the error

covariance of matrix P+k , are each computed using the standard Kalman

filter equations. With δx+k available, it is necessary to initialize the state

vector for the next period of integration. The accelerometer and gyro biasstates are straightforward:

xa(tk)+ = xa(tk)− + δxa(tk)+

xg(tk)+ = xg(tk)− + δxg(tk)+.

The first three components of δx+k define ρ+(tk), according to eqn. (10.31)

the corrected rotation matrix is(Rb

n(tk))+

=(Rb

n(tk))−

(I − P) (10.67)

where P = [ρ+(tk)×]. The quaternion b+(tk) can be computed from(Rb

n(tk))+

. The variables b+(tk), xa(tk)+, and xg(tk)+ serve as the initialcondition for the mechanization equations over the next period of integra-tion. Given that the initial condition x+(tk) has been corrected for δx+

k ,the new best estimate for δx+

k is now the zero vector (see Section 5.10.5.3).

10.7 Observability and Performance Analysis

Given the linearized error model of Section 10.5.3, by observability anal-ysis it is straightforward to show that even over intervals containing bothmagnetometer and accelerometer measurements, the full error state is not

Page 393: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

370 CHAPTER 10. AHRS

observable unless the system is rotating. The few interesting questions re-late to levels of observability, performance analysis, and tradeoff studiesare:

• For a stationary system, what is the expected level of performance?

• For a system moving with lateral velocity, how does the lack of knowl-edge concerning ωin affect the system performance? How does thislimit the applicability of this AHRS approach?

• How much performance would be lost by eliminating the accelerom-eter biases from the model?

• How much performance could be gained by estimating scale factorerrors?

These questions are left as exercises for the reader.

10.8 Pitch and Roll Application

This section contains application results from laboratory bench testing.During the experiment, magnetometer measurements were not available.Therefore, in this experiment, only pitch θ and roll φ estimates are ofinterest. The IMU sampling rate is approximately 172 Hz. The IMU ismanipulated by hand through a sequence of maneuvers. For the first andlast few seconds, the IMU is stationary in the same position with the sameorientation. The raw IMU data is shown in Figures 10.2 and 10.3. Thenon-smooth nature of the data should not be interpreted as noise. Thestandard deviation of the gyro and accelerometer measurements are

4.0 × 10−3 rad

sand 2.2 × 10−2 m

s2.

This level of noise is too small to be resolved at the scale used in thesefigures. Instead, the lack of smoothness is caused by the gyro handling.The gyros are specified for input rates of ±90deg

s ; therefore, the roll gyromeasuring p saturates for t ∈ [148.27, 148.37]. This saturation causes errorin the compute attitude, which the system is able to estimate and remove.

The curves in the top graph in Figure 10.4 show the roll and pitch anglesas computed by the AHRS approach presented in this chapter. It is naturalto consider whether eqns. (10.14–10.15) could be used throughout insteadof the presented approach. For comparison, the curves in the bottom graphof Figure 10.4 show the roll and pitch angles computed using eqns. (10.14–10.15). Figure 10.5 magnifies a portion of the time axis to allow a moredetailed comparison. Notice the following:

Page 394: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.8. PITCH AND ROLL APPLICATION 371

0 50 100 150 200 250−100

−50

0

50

100

Ang

. rat

e, p

, dps

0 50 100 150 200 250−100

−50

0

50

100

Ang

. rat

e, q

, dps

0 50 100 150 200 250−100

−50

0

50

100

Ang

. rat

e, r

, dps

Time, t, s.

Figure 10.2: Angular rates while the IMU is being manipulated by hand asdescribed in Section 10.8. The abbreviation ‘dps’ indicates degrees per second.

• The estimates attained by integrating the angular rates are signifi-cantly less noisy than those computed from

φ(t) = atan2 (g2, g3) (10.68)

θ(t) = atan2(−g1,

√g22 + g2

3

)(10.69)

where [g1, g2, g3]� = xa(t) − ya(t).

• The presented approach works well even near 90 degrees pitch, whereeqns. (10.68–10.69) become nearly singular.

• To the extent that the designer is able to limit the Kalman filter mea-surement updates to times where the acceleration is nearly zero, theestimates obtained by integrating the angular rates are not affectedby vehicle acceleration.

Figure 10.6 displays information pertaining to the initialization of theAHRS system. Throughout the time period of operation, the system main-tains a flag which indicates true (i.e., 1) when the vehicle is considered to

Page 395: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

372 CHAPTER 10. AHRS

0 50 100 150 200 250−10

−5

0

5

10

Acc

el.,

u, m

/s2

0 50 100 150 200 250−10

−5

0

5

10

Acc

el.,

v, m

/s2

0 50 100 150 200 250−10

−5

0

5

10

Acc

el.,

w, m

/s2

Time, t, s.

Figure 10.3: Gravity estimate gb = −ya.

be non-accelerating and false (i.e., 0) when the vehicle is considered to beaccelerating. At time t, based on the IMU data, this flag is defined to betrue when the logical condition(

μ(t) < βμ

)and

(‖u(t)‖ < βg

)and

(μf (t) < βf

)(10.70)

is true. The signal μ(t) is defined in eqn. (10.60). The signal μf (t) is abandpass filtered version of μ(t). The signal u is defined in eqn. (10.8).For the results shown βμ = 0.1 m

s2, βg = 1deg

s , and βf = 0.02 m

s2. This flag

is plotted in the top graph of Figure 10.6. For t ∈ [0, 2.47]s, the systemis considered to be stationary and the system is in the initialization modedescribed in Section 10.3.1; however, due to the lack of magnetometer read-ings, the yaw angle is arbitrarily initialized to zero. At time t=2.47, motionis detected for the first time and the system switches to the mechanizationdefined in Section 10.4. For t > 2.47, the mechanization of Section 10.4 andthe Kalman filter are in operation. Note that for the purpose of producingthe figure, the residuals (and their standard deviation

√HPH� + σ2

ν′aI)

are computed at the IMU rate of 172 Hz; however, Kalman filter measure-ment updates are only implemented at selected time instants as discussed

Page 396: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.8. PITCH AND ROLL APPLICATION 373

0 50 100 150 200 250

−150

−100

−50

0

50

100

150

Atti

tude

(A

RH

S),

deg

0 50 100 150 200 250

−150

−100

−50

0

50

100

150

Atti

tude

(ac

cel.)

, deg

Time, t, s.

Figure 10.4: Attitude for t ∈ [0, 256]s. Roll φ is plotted as a solid curve.Pitch θ is plotted as a dashed curve. Top – Roll and pitch as estimated bythe presented AHRS approach. Bottom – Roll and pitch as computed by eqns.(10.68–10.69).

in Section 10.5.4. For this application, the time instants for Kalman filterupdates are selected when the non-accelerating flag is 1 and when at least0.1s has elapsed since the last measurement update. For t ∈ [2.47, 7.5]sthere are forty-three measurement updates. For each measurement update,Ra is selected according to eqn. (10.61) with

Rμ(t) = (10μf (t))2 . (10.71)

This formula is designed to decrease the Kalman gain as the accelerationmagnitude increases. For t ∈ [6.98, 7.5], the flag indicates that the systemis accelerating, which inhibits Kalman filter corrections during that timeframe. Also in that time frame, the effect of the motion is clearly evidentat least in the graph of the second residual. By inhibiting the Kalman filterwhile accelerating, the acceleration “noise” on the gravity estimate doesnot affect the AHRS attitude estimate.

Because we do not know the true roll and pitch angles, to assess theestimation accuracy, we compare the estimated angles at three times when

Page 397: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

374 CHAPTER 10. AHRS

70 80 90 100 110 120 130

−100

−50

0

50

Atti

tude

(A

RH

S),

deg

70 80 90 100 110 120 130−150

−100

−50

0

50

100

150

Atti

tude

(ac

cel.)

, deg

Time, t, s.

Figure 10.5: Attitude for t ∈ [70, 140]s. Roll φ is plotted as a solid curve.Pitch θ is plotted as a dashed curve. Top – Roll and pitch as estimated bythe presented AHRS approach. Bottom – Roll and pitch as computed by eqns.(10.68–10.69).

the IMU is placed in the same location with the same orientation as it wasinitialized. Figures 10.7 and 10.8 plot the attitude angles for two such timeranges. For Figure 10.7 the IMU is not being handled for t ∈ [140, 144]s.For Figure 10.8 the IMU is not being handled for t ∈ [248, 255]s. Themean and standard deviation of the roll and pitch in each of these timeintervals is displayed in Table 10.1. Based on those results, it is reasonableto conclude that the system is accurate to better than 0.5 degree duringthis experiment, after initialization. The only evidence to the contrary isthe near one degree roll correction at t = 138.34 seconds.

Page 398: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.8. PITCH AND ROLL APPLICATION 375���&7!$F�)

���)7!$F�)

: & ) @ < ? ; I

(:*&

:

:*&

: & ) @ < ? ; I

(:*&

:

:*&

5�$�7!�7!�*

: & ) @ < ? ; I

(&

:

&

)

��������!+�� �,7!���

: & ) @ < ? ; I:

:*?

&

���*!J��*

Figure 10.6: Data during initialization. Top – Flag designed to indicatewhether or not the vehicle is accelerating. Second – Roll φ (solid) and pitchθ (dashed). Third and Fourth – Residuals computed from the specific forceoriented along the u and v axes (solid), and the theoretical standard deviation

of that residual ±(√

HPH� + σ2ν′

aI)

(dashed).

Page 399: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

376 CHAPTER 10. AHRS

t ∈ [2.5, 6.0]s t ∈ [140.0, 144.0]s t ∈ [248.0, 255.0]smean(φ) -1.39 -1.39 -1.29

std(φ) 0.05 0.02 0.06mean(θ) -1.56 -1.69 -1.62

std(θ) 0.07 0.06 0.05

Table 10.1: AHRS accuracy during time intervals where the IMU was station-ary at the same position and attitude. All angular quantities are representedin degrees.

138 139 140 141 142 143 144−0.5

0

0.5

res 1, m

/s2

138 139 140 141 142 143 144−0.5

0

0.5

res 2, m

/s2

Time, t, s.

139 140 141 142 143 144

−1.5−1

−0.50

0.5

Atti

tude

(A

RH

S),

deg

139 140 141 142 143 1440

0.5

1

Sta

t. In

d.

Figure 10.7: Data during the experiment. Top – Flag designed to indicatewhether or not the vehicle is accelerating. Second – Roll φ (solid) and pitchθ (dashed). Third and Fourth – Residuals computed from the specific forceoriented along the u and v axes (solid), and the theoretical standard deviation

of that residual ±(√

HPH� + σ2ν′

aI)

(dashed).

Page 400: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

10.9. REFERENCES AND FURTHER READING 377

245 246 247 248 249 250 251 252 253 254 255−0.5

0

0.5

res 1, m

/s2

245 246 247 248 249 250 251 252 253 254 255−0.5

0

0.5

res 2, m

/s2

Time, t, s.

245 246 247 248 249 250 251 252 253 254−3

−2

−1

0

Atti

tude

(A

RH

S),

deg

245 246 247 248 249 250 251 252 253 2540

0.5

1

Sta

t. In

d.

Figure 10.8: Data at termination. Top – Flag designed to indicate whetheror not the vehicle is accelerating. Second – Roll φ (solid) and pitch θ (dashed).Third and Fourth – Residuals computed from the specific force oriented alongthe u and v axes (solid), and the theoretical standard deviation of that residual

±(√

HPH� + σ2ν′

aI)

(dashed).

10.9 References and Further Reading

The topic of attitude estimation is widely studied, e.g. [14, 40, 41, 42, 45,46, 49, 82, 85, 91, 120, 132, 135, 136, 145]. The main references for thischapter were [78, 143, 144]. Because the approach of this chapter uses theEarth’s gravitational and magnetic fields, successful operation is limited tothe vicinity of the Earth. Similar approaches using star sightings can bedeveloped for space vehicles.

Page 401: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 402: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 11

Aided Inertial Navigation

The topic of this chapter is aided inertial navigation. Inertial navigationitself is a large topic with a significant body of related literature. Thepresentation herein begins with a discussion of gravity and definition of theconcept of specific force. Both of these concepts and their interrelation arecritical to inertial navigation. Next, the chapter discusses the kinematicsof inertial navigation in various reference frames. The input variables tothe kinematic models are accelerations and angular rates. The accelerationvector is computed from a measured specific force vector by compensatingfor gravity and instrument errors. The dynamic evolution of the INS errorstate is a topic of detailed study. The chapter includes a detailed derivationof a state-space model, analytic analysis of simplified models, simulationanalysis of the full linear state-space model, and derivation and discussionof instrument error models. Finally, the chapter concludes with sectionsthat discuss initialization, INS aiding, and error state observability.

11.1 Gravitation and Specific Force

The purpose of this section is to distinguish between inertial and non-inertial forces and to define the concept of a specific force.

11.1.1 Gravitation

Newton’s law of gravitation states that the force of gravitational attractionof mass m1 on m2 is defined by

F12 = −Gm1m2

‖p12‖3p12 (11.1)

where G is the universal gravitational constant, and p12 = p2 − p1 is theposition of center of mass p2 with respect to the center of mass p1. For

379

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 403: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

380 CHAPTER 11. AIDED INERTIAL NAVIGATION

the purposes of this book we consider inertial and gravitational masses tobe identical. The negative sign indicates that the direction of the force isopposite that of p12 (i.e., m2 is attracted towards m1).

In particular, if m1 = Me represents the mass of Earth and the subscripton m2 is dropped, then the gravitational attraction of Earth on m2 = m is

Fe2 = −GMem

‖pe2‖3pe2 (11.2)

and the gravitational attraction of m on Earth is

F2e = −GMem

‖p2e‖3p2e. (11.3)

Using Newton’s second law, eqns. (11.2) and (11.3) yield the following twodifferential equations, respectively

pie = − Gm

‖p2e‖3pi

2e

pi2 = − GMe

‖pe2‖3pi

e2;

therefore, because pe2 = p2 − pe = −p2e we have

pie2 = −G(Me + m)

‖pe2‖3pi

e2

≈ − GMe

‖pe2‖3pi

e2 = Gi

where G is the gravitational acceleration defined as

G = − GMe

‖pe2‖3pe2.

This relatively simple model of gravitation is derived for a central forcefield. It would be approximately valid for vehicles in space. For vehiclesnear the surface of Earth more detailed gravitational models are required,see Section 2.3.2.2.

11.1.2 Specific Force

Newtonian physics applies to inertial reference frames. An inertial refer-ence frame is non-accelerating, non-rotating, and has no gravitational field.According to Newton’s second law, in an inertial reference frame, the ac-celeration pi of a mass m is proportional to the inertial (i.e., physicallyapplied) forces FI

FI = mpi. (11.4)

Page 404: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.1. GRAVITATION AND SPECIFIC FORCE 381

The quantity f = FI

m has units of acceleration and is referred to as thespecific force. The specific force is the inertial force per unit mass requiredto produce the acceleration pi.

Examples of inertial forces include spring forces, friction, lift, thrust. Anexample that is important to the understanding of accelerometer operationis the support force applied by a mechanical structure to the case of anaccelerometer. The force of gravity is not an inertial force.

When inertial forces are applied to a mass in the presence of the Earthgravitational field, the dynamic model for the position p of the mass mbecomes

mpi = FI − GMem

‖p‖3pi

pi = f i + Gi. (11.5)

Eqn. (11.5) is referred to as the fundamental equation of inertial naviga-tion in the inertial reference frame. As will be discussed in Section 11.1.3,accelerometers measure the specific force vector

f i = pi − Gi. (11.6)

The accelerometer output is represented in the accelerometer frame of ref-erence.

The accelerometer measurement of specific force, after transformationfrom accelerometer frame to inertial frame, can be used as an input toeqn. (11.5). Integration of eqn. (11.5) with f i as an input would computethe velocity pi and the position pi. Sections 11.2 and 12.1.2 will deriveequations similar to eqn. (11.5) that are applicable in alternative referenceframes that are more convenient for navigation applications.

11.1.3 Accelerometers

The objective of this section is to describe the basic operation of an idealaccelerometer. Readers interested in more detailed discussion of real ac-celerometer designs should consult references such as [37, 73, 126].

Consider an accelerometer constructed via a spring-mass-damper sys-tem as depicted in Figure 11.1. The position vector of the mass m is p.The position of the accelerometer case is pc. The case relative position ofthe mass is δpc = p − pc. For this discussion, we assume that δpc can beperfectly measured. The equilibrium position of mass m is δpc = 0.

The following discussion distinguishes between inertial (i.e., physicallyapplied) and kinematic forces (e.g., gravity). In Figure 11.1, FI representsa force physically applied to the accelerometer case.

In an inertial reference frames (i.e., the frame is not accelerating, notrotating, and has no gravitational field) by Newton’s laws, the dynamic

Page 405: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

382 CHAPTER 11. AIDED INERTIAL NAVIGATION

4 $�

�� �

��

Figure 11.1: Basic accelerometer.

equation for the inertial acceleration of the mass m is

p = − k

mδpc − b

mδpc (11.7)

where k is the spring constant and b is the viscous damping constant. Defin-ing the accelerometer output as f = − k

mδpc, then eqn. (11.7) can berewritten as

αf = −f + p (11.8)

where the parameter α = bk is the time constant of the sensor. The band-

width of the accelerometer is determined by the parameter α. When thebandwidth of the acceleration signal p(t) is less that the sensor bandwidth,then αf(t) is small and the sensor maintains the condition

f(t) = p(t). (11.9)

Note that f is a specific force with units of acceleration.In the presence of a gravitational field, the accelerometer dynamic equa-

tion isp = − k

mδpc − b

mδpc + G (11.10)

where G represents the position dependent gravitational acceleration. Itcan be shown by manipulations similar to those shown above that

αf = −f + p − G(p). (11.11)

When the acceleration signal p(t) is within the sensor bandwidth, the spe-cific force output f is

f = p − G(p). (11.12)

Eqn. (11.12) represents the accelerometer output equation (neglectingbandwidth effects). The equation does not make any assumptions aboutthe accelerometer trajectory, but does recognize that the gravitational ac-celeration is location dependent.

The above discussion states that an accelerometer measures specificforce or the relative acceleration between the case and the mass m. It doesnot detect accelerations that affect the case and mass m identically. It isuseful to consider a few special cases.

Page 406: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.1. GRAVITATION AND SPECIFIC FORCE 383

• A (non-rotating) accelerometer with no applied forces is in free-fallwith p = G; therefore, the accelerometer output is f = 0.

• An accelerometer in stable orbit around Earth, is also in free-fall. Itis constantly accelerating towards Earth with acceleration p = G;therefore, the accelerometer output is again f = 0.

• Consider an accelerometer at rest on the Earth surface. In this case,the accelerometer is subject to the Earth’s gravitational field and iscaused to rotate about the Earth at the Earth rate ωie. Defining theorigin of the inertial frame to be coincident with the Earth center ofmass, we have that p = ΩieΩiep where Ωie = [ωie×]; therefore, theaccelerometer output is

f = ΩieΩiep − G, (11.13)

which is the inertial force applied by the supporting structure to thecase to maintain the case in a stationary Earth relative position.

When using an accelerometer, the user must compensate the specificforce output for the effects of gravity. To prepare for the subsequent anal-ysis, define the local gravity vector as

g = G(p) − ΩieΩiep. (11.14)

The local gravity vector indicates the direction that a weight would hangat a location indicated by p. Figure 11.2 shows the relation of these threeaccelerations. The vector magnitudes are not drawn to scale. In reality‖ΩieΩiep‖ ≈ 1

300‖G‖. In this figure, φ and φc denotes geodetic and geo-centric latitude, respectively.

The specific force vector can be represented in any desired frame ofreference. When this is done, the analyst should be careful with terminologyand interpretation. For example, the specific force vector in the ECEF

��

(���

��

Figure 11.2: Effective gravity vector.

Page 407: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

384 CHAPTER 11. AIDED INERTIAL NAVIGATION

frame is

fe = Rei

(pi − gi

)= Re

i pi − ge

which is the inertial acceleration minus gravity both represented in ECEFframe. If we let pe represent the position vector in the ECEF frame, it isimportant to note that Re

i pi �= d2

dt2 pe, see Section 11.2.2.

11.1.4 Gravity Error

The purpose of this section is to derive an expression for the effect of po-sition error on the computed navigation frame gravity vector. The secondterm in eqn. (11.14) is straightforward; therefore, this section focuses onthe term G(p) = − GM

‖p‖3 p.The analysis of this section will be used later in this chapter; however,

on the first reading of the chapter, the majority of this section may beskipped. In that case, it is recommended that the reader proceed directlyto the final result of eqn. (11.22) and the discussion that follows it.

Denote the actual and computed vehicle locations relative to the Earthcenter of mass by p and p, respectively. The error between these locationsis δp = p − p. Using the first two terms in the Taylor’s series expansion,we obtain the linear error model

δg = G(p) − G(p) =∂G∂p

∣∣∣∣p

δp. (11.15)

where

∂G∂p

∣∣∣∣p

= −GM

[1

(p�p)32

I − 3

(p�p)52

pp�]

(11.16)

=−GM

(p�p)52

[(p�p

)I − 3pp�] (11.17)

=−GM

(p�p)52

⎡⎣ R2 − 3x2

1 −3x1x2 −3x1x3

−3x1x2 R2 − 3x22 −3x2x3

−3x1x3 −3x2x3 R2 − 3x23

⎤⎦ (11.18)

where R = ‖p‖ and p = [x1, x2, x3]�.If G, p, p, and δp are each represented along the geographic frame

north, east, and down axes, then

pn = [0, 0,−R]� (11.19)

Page 408: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.1. GRAVITATION AND SPECIFIC FORCE 385

and eqn. (11.18) reduces to

∂Gn

∂pn

∣∣∣∣pn

=−GM

R3

⎡⎣ 1 0 0

0 1 00 0 −2

⎤⎦ . (11.20)

Continuing to neglect the ΩieΩiep term from eqn. (11.14), we have

δgn =−g

R

⎡⎣ 1 0 0

0 1 00 0 −2

⎤⎦ δpn (11.21)

where g = GM

R2and δgn = [δgn, δge, δgd]�.

The effect of the gravity error on the velocity error dynamics is con-sidered in detail in Section 11.4.3. In that section, the vertical componentof the position error is height above the ellipse δh, not error in the downcomponent δd of the geodetic vector. The fact that δh = −δd inserts oneextra negative sign in the error analysis of that section

δgn =−g

R

⎡⎣ 1 0 0

0 1 00 0 2

⎤⎦⎡⎣ δn

δeδh

⎤⎦ . (11.22)

The following two paragraphs briefly discuss simple models for the horizon-tal and vertical error dynamics. The purpose is to introduce the importanteffects that gravity has on the inertial system navigation systems.

In the navigation frame, the lateral position error differential equationscan be represented as

δn = δgn + αn

δe = δge + αe

where all error sources other than those due to gravity are combined intothe terms αn and αe. The full error model that defines αn and αe will bediscussed in Section 11.4.1. From eqn. (11.22), δgn = −g

R δn and δge =−gR δe; therefore, the dependence of the lateral position error on the gravity

error has the form

δn +g

Rδn = αn

δe +g

Rδe = αe

which are forced harmonic oscillators with natural frequency equal to theSchuler frequency ωs =

√gR . If the gravity error terms were absent, then

the lateral position errors would be the pure integral of the errors αn and

Page 409: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

386 CHAPTER 11. AIDED INERTIAL NAVIGATION

αe. We see that the gravity error terms in the lateral dynamics have astabilizing effect. Because they are small and stable, they are often droppedin the error analysis.

For the vertical error dynamics, the situation is different. The verticalposition error differential equation can be written as

δd = δgd + αd

where αd represent all other error sources except for those due to gravityand from eqn. (11.21) we have δgd = 2 g

Rδd. Therefore, the vertical positionerror model is

δd − 2g

Rδd = αd.

This system has eigenvalues at ±√2 gR where the positive eigenvalue shows

that the vertical error dynamics due to gravity error are unstable. Eventhough this eigenvalue is small, because the effect of the gravity error on thesystem is destabilizing, the effect of gravity error on the vertical dynamicscannot be neglected in the overall error analysis in Section 11.4.3.

11.2 INS Kinematic Equations

Let p represent the vector from the i-frame origin to the point P. The a-frame is another arbitrary reference frame. The relative rate of rotation offrame a with respect to frame i represented in frame a is ωa

ia. The notationΩa

ia = [ωaia×] is defined in eqn. (B.15). It should be reviewed now as it will

be used frequently throughout the chapter.From eqn. (2.61) in Section 2.6.2, the second derivative of p in the i

and a frames are related by

pi = Ria

[2Ωa

iava + Ωa

iaΩaiar

a + Ωa

iara +

d2ra

dt2

](11.23)

where r represents the vector from the a-frame origin to the point P. Theρi term from eqn. (2.61) has been dropped in eqn. (11.23). In eqn. (2.61)ρ represented the vector from the i-frame origin to the a-frame origin. Inthe instances in which this equation is used in this chapter, the origins ofthe a and i frames will be coincident, so that ρ = 0. The symbol ρ will bereserved for another use later in the chapter.

From eqn. (11.5) we have that pi = f i + Gi. Solving eqn. (11.23) forthe second derivative of ra yields

d2ra

dt2= fa + Ga − 2Ωa

iava − (

ΩaiaΩ

aia + Ω

a

ia

)ra (11.24)

= Rab f

b + Ga − 2Ωaiav

a − (Ωa

iaΩaia + Ω

a

ia

)ra. (11.25)

Page 410: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.2. INS KINEMATIC EQUATIONS 387

These two equation allow a brief comparison between mechanized and strap-down inertial navigation systems.

In a mechanized INS, the accelerometers and gyros are attached to aplatform that is designed to maintain its alignment with the a-frame as thevehicle maneuvers. Assuming that the platform is initially aligned with thea-frame, a main idea of the design is to apply torques to the platform so thatthe outputs of the gyros remain at zero (i.e., platform to a-frame alignmentis maintained). This approach requires that the gyro biases be accuratelycalibrated. With the mechanized approach, the accelerometers measure thespecific force in the a-frame. Given initial conditions va(0) and pa(0) andalignment of the platform frame with the a-frame, eqn. (11.24) can beintegrated to compute va(t) and pa(t). The vehicle attitude with respectto the a-frame could be determined by measuring the angles between theplatform and the vehicle.

In a strapdown INS the accelerometers and gyros are mounted on aplatform that is rigidly attached to the vehicle. In this approach, the gyrosexperience the full rotational rate of the vehicle as it maneuvers; hencegyro scale factor accuracy (as well as bias accuracy) is important. In thestrapdown implementation, the accelerometers measure the body frame (b-frame) specific force f b which can be transformed into the a-frame usingfa = Ra

b fb. The strapdown INS approach requires initial conditions va(0)

and pa(0) and Rab (0). The gyro outputs (and navigation state) are used

to compute ωbab(t) so that the INS can maintain Ra

b (t) computationally byintegrating

Rab = Ra

bΩbab. (11.26)

The strapdown INS integrates eqn. (11.25) to compute va(t) and pa(t).The vehicle attitude is represented by Ra

b .

This chapter will focus on strapdown inertial navigation. Throughoutthe presentation, the direction cosine representation of attitude will be as-sumed. Other representations exist (e.g., Euler angles, quaternions). Read-ers are encouraged to consider the quaternion representation (see AppendixD). It may have a steeper learning curve, but provides a computationallyefficient and singularity-free attitude representation approach. The errormodeling approach presented in this chapter is applicable to any of theattitude representations.

Equations for specific choices of the a-frame will be considered in thefollowing subsections. For each frame, a differential equation will be derivedfor each of the position, velocity, and attitude.

Page 411: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

388 CHAPTER 11. AIDED INERTIAL NAVIGATION

11.2.1 Inertial Frame

If the a-frame is selected to be the inertial frame, eqn. (11.24) reduces to

d2ri

dt2= f i + Gi(r) (11.27)

because ωii = 0. Eqn. (11.27) is the same as eqn. (11.5). With knowledgeof ri(0), vi(0), and Gi(r), the specific force vector f i could be integratedto determine ri(t) and vi(t).

For strapdown inertial systems, the specific force vector would be mea-sured in body frame and transformed into the i-frame. This requires thatthe INS maintain the rotational transformation Ri

b based on integration ofthe gyro measurements. Then eqn. (11.27) can be computed as

d2ri

dt2= Ri

bfb + Gi(r).

Choosing the direction cosine attitude representation, the inertial framekinematic equations are

ri = vi (11.28)vi = Ri

bfb + Gi(r) (11.29)

Rib = Ri

bΩbib. (11.30)

The inputs are f b and ωbib.

11.2.2 ECEF Frame

Let the a-frame be selected to represent the ECEF frame of reference andlet the i-frame and e-frame origins be coincident. In this case, eqn. (11.25)reduces to

d2re

dt2= Re

bfb + Ge(r) − 2Ωe

ieve − Ωe

ieΩeier

e

where we have used the fact that ωeie can be considered to be zero for the

purpose of navigation applications. Again, choosing the direction cosineattitude representation, the e-frame kinematic equations are

re = ve (11.31)ve = Re

bfb + ge − 2Ωe

ieve (11.32)

Reb = Re

b

(Ωb

ib − Ωbie

)(11.33)

where ωbie = Rb

eωeie and the local gravity vector is ge = Ge(r)−Ωe

ieΩeier

e.Again, the inputs are f b and ωb

ib. Initial conditions would be required forre(0), ve(0), and Re

b(0).

Page 412: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.2. INS KINEMATIC EQUATIONS 389

The vector ve is the Earth relative velocity vector represented in theECEF frame. This vector can be expressed in various frames-of-reference.To avoid the confusion of double superscripts, let the symbol ve representthe Earth relative velocity. In the ECEF frame, we have that ve

e = ve. Inthe tangent and geographic1 frames, we have that

vte = Rt

eve (11.34)

vne = Rn

e ve. (11.35)

These equations will be used in Sections 11.2.3 and Section 11.2.4.

11.2.3 Tangent Frame

The tangent frame has its origin at a fixed location on the Earth. The tan-gent frame position is the integral of the Earth relative velocity representedin tangent frame:

pt = vte. (11.36)

The rate of change of vte is computed by the law of Coriolis (see p. 54)

applied to eqn. (11.34):

vte = Rt

e (Ωeteve + ve) . (11.37)

Using eqn. (11.32) to eliminate ve from eqn. (11.37), using the fact thatωte = 0, and using eqn. (2.23), we obtain

vte = Rt

bfb + gt − 2Ωt

ievt.

Therefore, with the direction cosine attitude representation, the tangentframe kinematic equations are

pt = vte (11.38)

vte = Rt

bfb + gt − 2Ωt

ievt (11.39)

Rtb = Rt

b

(Ωb

ib − Ωbie

)(11.40)

where ωie = ωit because ωbet = 0. The inputs are again f b and Ωb

ib. Initialconditions are required for pt(0), vt

e(0), and Rtb(0).

11.2.4 Geographic Frame

The origin of the geographic frame is the projection of the vehicle frameonto the Earth reference ellipsoid. Therefore, the horizontal components ofthe vehicle position vector in geographic frame are always zero. The Earth

1The geographic frame is denoted by a superscript n for navigation. This allows thesuperscript g to be reserved for use later in the chapter to represent the gyro frame.

Page 413: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

390 CHAPTER 11. AIDED INERTIAL NAVIGATION

relative vehicle position is described by the latitude φ and longitude λ ofthe geographic frame origin and the height h of the vehicle relative to theEarth ellipsoid. By eqn. (2.39),

⎡⎢⎣

φ

λ

h

⎤⎥⎦ =

⎡⎢⎢⎣

vn

RM+h

ve

cos(φ)(RN+h)

−vd

⎤⎥⎥⎦ (11.41)

where vne = [vn, ve, vd]

�. The rate of change of vn

e is computed by the lawof Coriolis applied to eqn. (11.35):

vne = Rn

e (Ωenev

e + ve) . (11.42)

Using eqn. (11.32) to eliminate ve from eqn. (11.42) and using eqn. (2.23),we obtain

vne = Rn

b f b + gn − (Ωnen + 2Ωn

ie)vn (11.43)

where, as shown in Example 2.6 on page 52,

ωnen =

⎡⎣ λ cos(φ)

−φ

−λ sin(φ)

⎤⎦ and ωn

ie =

⎡⎣ ωie cos(φ)

0−ωie sin(φ)

⎤⎦ .

The rate of change of the direction cosine matrix is

Rnb = Rn

b Ωbnb = Rn

b

(Ωb

ib − Ωbin

)(11.44)

where Ωbin = [ωb

in×], ωbin = Rn

b ωnin and ωn

in = ωnie + ωn

en, which yields

ωnin =

⎡⎣ (λ + ωie) cos(φ)

−φ

−(λ + ωie) sin(φ)

⎤⎦ . (11.45)

The kinematic equations for the geographic frame are eqns. (11.41), (11.43),and (11.44). The system of differential equations has inputs f b and ωb

ib.Initial conditions are required for p(0) = [φ(0), λ(0), h(0)]�, vn

e (0), andRn

b (0).

11.3 INS Mechanization Equations

Section 11.2 derived the kinematic equations applicable in various referenceframes for strapdown inertial navigation. This section provides slightlymore detail for the mechanization of the geographic frame implementation.

Page 414: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.3. INS MECHANIZATION EQUATIONS 391

In the following presentation, we assume that the accelerometer andgyro measurements are modeled as

f b = f b + Δf b (11.46)ωb

ib = ωbib + Δωb

ib (11.47)

where Δf b and Δωbib represent specific force and inertial relative angular

rate measurements errors. These measurement errors include both ran-dom noise terms and instrumentation calibration factors. The instrumentcalibration factors that can be estimated and compensated. Given themeasurements f b and ωb

ib and estimates of the calibration factors Δf b andΔωb

ib, the specific force and angular rate vectors for use in the navigationequations are computed as

f b = f b − Δf b (11.48)ωb

ib = ωbib − Δωb

ib. (11.49)

Possible definitions for Δf b and Δωbib are discussed in Section 11.6.

For the geographic frame, p = [φ, λ, h]� and the velocity vector is vn =vn

e = [vn, ve, vd]�. The geodetic position of the geographic frame originand the vehicle ellipsoidal height that are represented in p are computedas ⎡

⎢⎢⎣˙φ˙λ˙h

⎤⎥⎥⎦ =

⎡⎢⎣

1

RM+h0 0

0 1

cos(φ)(RN+h)0

0 0 −1

⎤⎥⎦⎡⎣ vn

ve

vd

⎤⎦ (11.50)

and the Earth relative velocity in geographic frame is computed as⎡⎣ ˙vn

˙ve

˙vd

⎤⎦ =

⎡⎣ fn

fe

fd

⎤⎦ + gn −

⎡⎣ 0 −ωd ωe

ωd 0 −ωn

−ωe ωn 0

⎤⎦⎡⎣ vn

ve

vd

⎤⎦ (11.51)

where

⎡⎣ ωn

ωe

ωd

⎤⎦ = (ωn

en + 2ωnie) =

⎡⎢⎢⎣

( ˙λ + 2ωie

)cos(φ)

− ˙φ

−( ˙λ + 2ωie

)sin(φ)

⎤⎥⎥⎦ , (11.52)

⎡⎣ fn

fe

fd

⎤⎦ = fn = Rn

b f b (11.53)

and f b is defined in eqn. (11.48).

Page 415: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

392 CHAPTER 11. AIDED INERTIAL NAVIGATION

The direction cosine matrix is computed by integration of

˙Rnb = Rn

b

b

ib − Ωb

in

)(11.54)

where Ω = [ω×], ωbib is defined in eqn. (11.49), ωb

in = Rbnωn

in, and

ωnin =

⎡⎣ ωN

ωE

ωD

⎤⎦ =

⎡⎢⎢⎣

( ˙λ + ωie

)cos(φ)

− ˙φ

−( ˙λ + ωie

)sin(φ)

⎤⎥⎥⎦ . (11.55)

11.4 INS Error State Dynamic Equations

Navigation error arises due to initial condition error and the accumulationof instrumentation errors through the integration process. The purposeof this section is to derive a state space model for the navigation errorvector. This section focuses on model development for the geographic framemechanization approach as defined in Section 11.3.

The model developed in this section will have the form⎡⎣ δp

δvρ

⎤⎦ =

⎡⎣ Fpp Fpv Fpρ

Fvp Fvv Fvρ

Fρp Fρv Fρρ

⎤⎦⎡⎣ δp

δvρ

⎤⎦ +

⎡⎣ 0 0

−Rnb 0

0 Rnb

⎤⎦[

δf b

δωbib

].

(11.56)The error vector is defined as δx = [δp, δv, ρ]�, where

δp = [δφ, δλ, δh]� (11.57)δv = [δvn, δve, δvd]� (11.58)ρ = [εN , εE , εD]�. (11.59)

The role of the attitude error vector ρ is discussed in Section 10.5. Theremaining error quantities are defined to be the actual value minus thecalculated quantity:

δp = p − p (11.60)δv = vn

e − vne (11.61)

δf b = Δf b − Δf b (11.62)δωb

ib = Δωbib − Δωb

ib. (11.63)

The subcomponents of the F matrix are each matrices in R3×3. These

submatrices will be defined in the following subsections.

Page 416: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.4. INS ERROR STATE DYNAMIC EQUATIONS 393

11.4.1 Position Error Linearization

The dynamic equations for the geodetic positions and position estimatesare given by eqns. (11.41) and (11.50), respectively. These equations canbe written as

p = fp(p,v) (11.64)˙p = fp(p, v) (11.65)

where fp is the right-hand side of eqn. (11.41). By linearization of theTaylor series expansion of eqn. (11.64) around the solution of eqn. (11.65),we obtain

p = fp(p, v) + Fppδp + Fpvδv + Fpρρ (11.66)

where

Fpp =

⎡⎢⎢⎣

0 0 −vn

(RM+h)2

ve sin(φ)

((RN+h) cos(φ)2)0 −ve

(RN+h)2cos(φ)

0 0 0

⎤⎥⎥⎦ , (11.67)

Fpv =

⎡⎢⎣

1

(RM+h)0 0

0 1

((RN+h) cos(φ))0

0 0 −1

⎤⎥⎦ , and (11.68)

Fpρ = 0 (11.69)

where dRM

dφ and dRN

dφ terms have been neglected. Because δp = p − ˙p,subtracting eqn. (11.65) from eqn. (11.66) yields the linearized positionerror differential equation

δp = Fppδp + Fpvδv + Fpρρ. (11.70)

Eqn. (11.70) provides the first row of eqn. (11.56).

11.4.2 Attitude Error Linearization

Section 10.5.2.1 analyzed the attitude dynamics to arrive at the equation

ρ = Rnb (δωb

ib − δωbin). (11.71)

The purpose of this section is to linearize eqn. (11.71) with respect to theINS error state δx and the gyro instrumentation error δωb

ib. Therefore, inthe following derivation, second order terms in these error quantities willbe dropped.

The inertial rotation rate of the geographic frame represented in theb-frame is

ωbin = Rb

nωnin (11.72)

Page 417: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

394 CHAPTER 11. AIDED INERTIAL NAVIGATION

which can be manipulated as follows to derive an expression for δωbin

ωbin + δωb

in = Rbn(I − P)(ωn

in + δωnin)

δωbin = Rb

n(δωnin − Pωn

in), (11.73)

to first order. The matrix P = [ρ×] and various relationships between Rbn

and Rbn are defined in Section 10.5. When eqn. (11.73) is substituted into

equation (11.71), the result is

ρ + Ωninρ = −δωn

in + Rnb δωb

ib. (11.74)

Section 11.6.3 discusses δωbib. The following paragraph defines δωn

in.To complete the analysis, we use the facts that

δωnin = ωn

in − ωnin

and that by Taylor’s expansion

ωnin = ωn

in(p, v) +[∂ωn

in

∂p,∂ωn

in

∂v

] [p − pv − v

]+ . . . .

Combining these equations it is clear that, to first order,

δωnin =

[∂ωn

in

∂p,∂ωn

in

∂v

] [δpδv

]. (11.75)

Combining eqns. (11.74–11.75), yields

ρ = Fρpδp + Fρvδv + Fρρρ + Rnb δωb

ib (11.76)

where

Fρp = −∂ωnin

∂p=

⎡⎢⎢⎣

ωie sin(φ) 0 ve

(RN+h)2

0 0 −vn

(RM+h)2

ωie cos(φ) + ve

(RN+h) cos(φ)20 −ve tan(φ)

(RN+h)2

⎤⎥⎥⎦

Fρv = −∂ωnin

∂v=

⎡⎢⎢⎣

0 −1

RN+h0

1

RM+h0 0

0 tan(φ)

RN+h0

⎤⎥⎥⎦ , and

Fρρ = −Ωn

in =

⎡⎣ 0 ωD −ωE

−ωD 0 ωN

ωE −ωN 0

⎤⎦

and ωnin = [ωN , ωE , ωD] as defined in eqn. (11.55). Eqn. (11.76) provides

the third row of eqn. (11.56).

Page 418: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.4. INS ERROR STATE DYNAMIC EQUATIONS 395

11.4.3 Velocity Error Linearization

From eqn. (11.51), the mechanization equation for the Earth relative ve-locity vector in geographic frame is

˙vne = fn + gn − (Ω

n

en + 2Ωn

ie)vn

which is manipulated as follows to determine the velocity error dynamics:

˙vne = Rn

b

(f b − Δf b

)+ gn − (Ωn

en + 2Ωnie)v

n

˙vne = (I − P)Rn

b f b + Rnb

(Δf b − Δf b

)+ gn − (Ωn

en + 2Ωnie)v

n

˙vne = fn − Pfn + Rn

b δf b + gn − δgn − (Ωnen + 2Ωn

ie)vn (11.77)

which is valid to first order. Subtracting eqn. (11.77) from eqn. (11.43),the linearized velocity error equation is

δv +(Ωn

en + 2Ωnie

)δv + (δΩn

en + 2δΩnie) v

n = Pfn − Rnb δf b + δgn.

After additional algebra to compute(δΩg

eg + 2δΩgie

)vg, the velocity error

dynamic equation is

δv = Fvpδp + Fvvδv + Fvρρ − Rnb δf b (11.78)

where

Fvp =

⎡⎢⎣

−2ΩNve − ρN ve

cos2(φ)0 ρEkD − ρNρD

2(ΩNvn + ΩDvd) + ρN vn

cos(φ)20 −ρEρD − kDρN

−2veΩD 0 F63

⎤⎥⎦ ,

Fvv =

⎡⎣ kD 2ωD −ρE

−(ωD + ΩD) (kD − ρE tan(φ)) ωN + ΩN

2ρE −2ωN 0

⎤⎦ , and

Fvρ =

⎡⎣ 0 fD −fE

−fD 0 fN

fE −fN 0

⎤⎦ .

Derivation of eqn. (11.78) has used the fact that Pfn = − [fn×] ρ, RN andRM have been replaced by Re, and the notation of Table 11.1 has been usedto simplify the presentation. Also, the hats over the computed variableshave been dropped to simplified the notation.

The term δgn in eqn. (11.77) deserves additional comment. This term,which was analyzed in Section 11.1.4, accounts for discrepancy between theactual and computed gravity vectors. The portion of this error term relatedto the error in altitude ∂gn

∂h is accounted for by the −2 gRe

term in F63. Note

Page 419: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

396 CHAPTER 11. AIDED INERTIAL NAVIGATION

that this term is destabilizing since δh > 0 causes δvD < 0, which causesthe δh to grow more positive. This fact can also be verified by checking theeigenvalues of the overall INS F matrix in eqn. (11.56).

The fact that the matrix coefficient of vn in eqn. (11.77) is (Ωnen+2Ωn

ie)may lead to the preconception that Fvv will equal (Ωn

en + 2Ωnie), which is

an antisymmetric matrix. As shown above, Fvv �= (Ωnen + 2Ωn

ie), is due tothe fact that Ωn

en depends of vne , which adds additional terms to the partial

derivative.

11.5 INS Error Characteristics

The linearize dynamic model for the nine primary error states is

δx(t) = F(t)δx(t) + Γq (11.79)

which has the same structure as eqn. (11.56) where

F = (11.80)⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 0 ρE

Re

1Re

0 0 0 0 0−ρD

cos(φ) 0 −ρN

Re cos(φ) 0 1Re cos(φ) 0 0 0 0

0 0 0 0 0 −1 0 0 0

F41 0 F43 kD 2ωD −ρE 0 fD −fE

F51 0 F53 F54 F55 F56 −fD 0 fN

−2vEΩD 0 F63 2ρE −2ωN 0 fE −fN 0

−ΩD 0 ρN

Re0 −1

Re0 0 ωD −ωE

0 0 ρE

Re

1Re

0 0 −ωD 0 ωN

F91 0 ρD

Re0 tan(φ)

Re0 ωE −ωN 0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

,

Γ =

⎡⎣ 0 0

−Rnb 0

0 Rnb

⎤⎦ and q =

[(δf b

)�,(δωb

ib

)�]�. The vector q is further

discussed relative to eqns. (11.104–11.105).The following two subsections consider this error model from two dif-

ferent perspectives. Subsection 11.5.1 considers the response of simplifiedsingle channel error models. These models are straightforward to analyzeanalytically which simplifies the understanding of the concepts underlyingINS error propagation. Subsection 11.5.2 numerically solves eqn. (11.79)for a few specific instances to allow consideration of the full state errormodel.

Page 420: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.5. INS ERROR CHARACTERISTICS 397

ΩN = ωie cos(φ) F41 = −2ΩNve − ρN ve

cos2(φ)

ΩD = −ωie sin(φ) F43 = ρEkD − ρNρD

ρN = ve

ReF51 = 2(ΩNvn + ΩDvd) + ρN vn

cos(φ)2

ρE = −vn

ReF53 = −ρEρD − kDρN

ρD = −ve tan(φ)Re

F54 = −(ωD + ΩD)ωN = ΩN + ρN F55 = kD − ρE tan(φ)ωE = ρE F56 = ωN + ΩN

ωD = ΩD + ρD F63 = ρ2N + ρ2

E − 2 gRe

kD = vd

ReF91 = ΩN + ρN

cos(φ)2

Table 11.1: Definition of notation for INS error equations.

11.5.1 Simplified Error Models

This section considers the initial condition and forced responses of the sim-plified error dynamics derived in Exercise 3.12 on p. 99. This simplifiederror analysis is useful for developing insight that is more difficult to discernfrom the full error analysis that is presented in Section 11.5.2.

11.5.1.1 Vertical Error Channel

From eqn. (3.104), the vertical channel error dynamics can be representedas [

hvd

]=

[0 −1(

v2n

(Re+h)2− 2GM

(Re+h)3

)0

] [hvd

].

For a constant speed vn, the eigenvalues are ±√

2GM

(Re+h)3− v2

n

(Re+h)2. For

the typical conditions where h � Re and vn � (Re + h), the eigenvalues

are near ±√

2GM

R3e

= ±√

2g

Re

. Due to the pole with positive real part,

the vertical error dynamics are unstable. Some form of feedback errormechanism such as altimeter or GPS aiding is required to stabilize thevertical errors.

11.5.1.2 Lateral Error Channel

From eqn. (3.105), the lateral channel error dynamics can be representedas ⎡

⎣ φv

θ

⎤⎦ =

⎡⎢⎣ 0 1

Re

00 0 −g0 1

Re

0

⎤⎥⎦⎡⎣ φ

⎤⎦ +

⎡⎣ 0 0

1 00 1

⎤⎦[

εa

εg

]. (11.81)

Page 421: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

398 CHAPTER 11. AIDED INERTIAL NAVIGATION

For the discussion to follow, in this simplified model, v represents northvelocity error, φ represents latitude error, and θ represents east tilt error.

Due to the fact that the error dynamics in this simplified model areindependent of the position error φ, this model can be decomposed as[

v

θ

]=

[0 −g1

Re

0

] [vθ

]+[

1 00 1

] [εa

εg

](11.82)

andφ =

1Re

v. (11.83)

In the following analysis the strategy will be to find closed-form expressionsfor v(t) and θ(t), then to integrate v(t) to determine the resulting φ(t).

For the initial condition [v(0), θ(0)] = [v0, θ0], the solution to eqn.(11.82) is[

v(t)θ(t)

]=

[cos(ωst) −√

gRe sin(ωst)1√gRe

sin(ωst) cos(ωst)

] [v0

θ0

](11.84)

+∫ t

0

[cos

(ωs(t − τ)

) −√gRe sin

(ωs(t − τ)

)1√gRe

sin(ωs(t − τ)

)cos

(ωs(t − τ)

) ] [εa(τ)εg(τ)

]dτ

where ωs represents the Schuler frequency. Eqns. (11.83) and (11.82) cannow be analyzed to determine the error response under various conditions.

Initial Velocity Error. For εa(t) = εg(t) = 0 and the initial condition[v(0), θ(0)] = [v0, 0], the solution is[

v(t)θ(t)

]=

[cos(ωst)

1√gRe

sin(ωst)

]v0 (11.85)

and φ(t) = v0√gRe

sin(ωst). Therefore, each 1.0ms of initial lateral velocity

error results in 1.3 × 10−4 rad (7 × 10−3 deg) of peak attitude error and810 m of peak position error. The velocity and attitude errors oscillate outof phase at the Schuler frequency.

The discussion related to Figure 11.3 relates to this initial condition forthe full INS error model. The position and attitude errors of this sectioncorrespond to the first and fourth subplots. The results of the analysis forthe simplified model is accurate for approximately the first hour.

Initial Attitude Error. For εa(t) = εg(t) = 0 and the initial condition[v(0), θ(0)] = [0, θ0], the solution to eqn. (11.82) is[

v(t)θ(t)

]=

[ −√gRe sin(ωst)

cos(ωst)

]θ0 (11.86)

Page 422: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.5. INS ERROR CHARACTERISTICS 399

and φ(t) = θ0 (cos(ωst) − 1). For the first several minutes, the positionerror is accurately modeled as − 1

2g

Reθ0t

2 radians or − g2θ0t

2 meters, withvelocity error −gθ0t

ms . In steady-state, each milli-radian of tilt error θ

results in approximately 7.9ms of (peak) velocity error.

The discussion related to Figure 11.4 relates to this initial condition forthe full INS. The position and attitude errors of this section correspond tothe first and fourth subplots. The results of the analysis for the simplifiedmodel is again accurate for approximately the first hour.

Constant Accelerometer Error. For εg(t) = 0, the initial condition[v(0), θ(0)] = [0, 0], and constant εa, the solution to eqn. (11.82) is[

v(t)θ(t)

]=

[1

ωssin

(ωst

)1

g(1 − cos(ωst))

]εa

and φ(t) = εa

g

(1 − cos

(ωst

)). This shows that accelerometer bias will lead

to a bias in the attitude and position errors. The initial error growth forthe position and attitude errors is εa

2Ret2. If the position error φ is expressed

in meters (x = Reφ), then the initial position error grows as εa

2 t2 whichis the error growth expected for double integration of an acceleration bias;however, due to the interaction between the velocity and tilt errors, aftertransients decay away, each error state is oscillatory and bounded.

Constant Gyro Error. For εa(t) = 0, the initial condition [v(0), θ(0)] =[0, 0], and constant εg the solution to eqn. (11.82) is[

v(t)θ(t)

]=

[Re

(cos(ωst) − 1

)1

ωssin(ωst)

]εg (11.87)

and φ(t) = εg

(1

ωssin(ωst) − t

). In this case, the gyro error leads to an

oscillatory attitude error, but the velocity error is a biased oscillation. Dueto the velocity bias, the position error grows without bound. The magnitudeof the velocity error bias, Reεg, is useful for estimating the average rate ofposition error accumulation due to the gyro bias.

The discussion related to Figure 11.6 relates to this initial conditionfor the full INS. The position, north velocity, and attitude errors of thissection correspond to the first, second, and fourth subplots. The results ofthe analysis for the simplified model is also accurate for approximately thefirst hour.

11.5.2 Full Error Model

This section analyzes numeric solutions of the unforced error dynamics

δx(t) = F(t)δx(t) (11.88)

Page 423: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

400 CHAPTER 11. AIDED INERTIAL NAVIGATION

under certain special conditions described below. Since it is not practical toinclude and explain many different simulated scenarios, the main objectiveof this section is to illustrate the methodology and to illustrate how thesolutions to the full system relate to the solutions of the simplified systemof Section 11.5.1.

It has already been stated that the vertical error dynamics are unstableand that they must be compensate with some form of error feedback. Also,the vertical error dynamics are only weakly affected by the other states.Because the vertical error dynamics will be compensated, we assume thatthe vertical position and velocity errors are small and remove those statesfrom the model. Therefore, the state vector is

δx = [δφ, δλ, δvn, δve, εN , εE , εD]�.

The reduced model has

F =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 0 1Re

0 0 0 0−ρD

cos(φ) 0 0 1Re cos(φ) 0 0 0

F41 0 kD 2ωD 0 fD −fE

F51 0 F54 F55 −fD 0 fN

−ΩD 0 0 −1Re

0 ωD −ωE

0 0 1Re

0 −ωD 0 ωN

F91 0 0 tan(φ)Re

ωE −ωN 0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

. (11.89)

For a stationary system, the F matrix can be further simplified to

F =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 0 1Re

0 0 0 0

0 0 0 1Re cos(φ) 0 0 0

0 0 0 2ΩD 0 −g 0

0 0 −2ΩD 0 g 0 0

−ΩD 0 0 −1Re

0 ΩD 0

0 0 1Re

0 −ΩD 0 ΩN

ΩN 0 0 tan(φ)Re

0 −ΩN 0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

. (11.90)

The stationary error dynamics are important during system initialization.It is the stationary system that will be briefly considered in this section.

Page 424: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.5. INS ERROR CHARACTERISTICS 401

Consider a stationary vehicle that is nominally level and at rest at 45degrees north latitude. This results in eigenvalues of

0.00.0 ± 7.2722 × 10−5j

0.0 ± 1.2915 × 10−3j ≈ 0.0 ± (ωs + ωe sin(φ)) j

0.0 ± 1.1886 × 10−3j ≈ 0.0 ± (ωs − ωe sin(φ)) j

where j =√−1. The close proximity of the second two eigenvalue pairs

results in solutions containing an oscillation (approximately) at the Schulerfrequency

ωs =√

g

Re(11.91)

with amplitude modulated2 (approximately) at the Foucault frequency

ωf = ωe sin(φ). (11.92)

The period of the Schuler oscillation is 84.4 minutes. At the latitude of thesimulation, the period of the Foucault beat is 33.9 hrs.

Figure 11.3 shows the response of the error state of the stationary INSwith F defined by eqn. (11.90) when the initial state error is 1.0m

s ofnorth velocity error. The initial north velocity error directly causes east tilterror due to error in the calculation of the Earth relative navigation frameangular rate; east velocity error due to error in Coriolis compensation; and,latitude error by direct integration. All five of the error states that areplotted attain a steady-state oscillation that is dominated by the Foucaultmodulated Schuler oscillation. Due to the simulation occurring at latitude45 degrees north, the north tilt and azimuth errors have equal magnitudes.In general, the F matrix (fourth column, fifth and seventh rows) of eqn.(11.90) indicates that the east velocity error will cause the azimuth errorto be greater than the north tilt error by a factor of tan(φ). The solutionof the reduced error model from this same initial condition was consideredin eqn. (11.85). The response for the reduced order system of eqn. (11.85)matches the full system response of Figure 11.3 well for approximately onehour, including the predicted peak errors for the north position and easttilt errors.

Figure 11.4 displays the error trajectory for the case of a one degreeinitial tilt about the east axis. The east tilt error directly causes error inthe gravity and earth rate compensation, which results in azimuth, northtilt and north velocity errors. As predicted by eqn. (11.86), the initial rateof north position error is − g

2θ0t2 m. This estimate is valid for the first

several minutes.2To see why this is true, apply the sum of angles formula to sin ωst + ωe sin(φ)t .

Page 425: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

402 CHAPTER 11. AIDED INERTIAL NAVIGATION

(&:::

:

&:::

2�*7!$

():::

:

):::

2���*7!$

(:*:&

:

:*:&

5��!+�,7!���

(:*:&

:

:*:&

5��!+",7!���

: ? &: &? ): )? @:(:*:&

:

:*:&

5�$�7!�7!���*

���$���7!���

Figure 11.3: Numeric solution of eqn. (11.88) with F from eqn. (11.90)showing the error response for a stationary INS initialized with 1.0m

s of northvelocity error.

Page 426: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.5. INS ERROR CHARACTERISTICS 403

()

:

)

�!&:?

2�*7!$

()

:

)

�!&:?

2���*7!$

(&

:

&

5��!+�,7!���

(&

:

&

5��!+",7!���

: ? &: &? ): )? @:

()

:

)

5�$�7!�7!���*

���$���7!���

Figure 11.4: Numeric solution of eqn. (11.88) with F from eqn. (11.90)showing the error response for a stationary INS initialized with 1.0 degree ofeast tilt error.

Page 427: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

404 CHAPTER 11. AIDED INERTIAL NAVIGATION

One additional set of error conditions worth discussion is shown in Fig-ure 11.5. This figure concerns an initial condition having 1.0 deg of azimutherror. The simplified models of Section 11.5.1 do not cover this situation.However, assuming that the system is stationary, a reduced order modelcan be derived by considering the third and sixth rows of the system withthe F matrix defined in eqn. (11.90):

δvn = 2ΩDδve − gεE (11.93)

εE =1Re

δvn − ΩDεN + ΩN εD. (11.94)

If the initial position and velocity errors are small and the tilt errors (εN

and εE) can be accurately calibrated, then for the first several minutes theerror growth can be modeled as

δvn = −gεE (11.95)

εE =1Re

δvn + ΩN εD(0) (11.96)

where εD(0) is the initial azimuth error. The above equation exhibits thestructure of a Schuler oscillator, which the north velocity and east tilt errorsexhibit. The non-zero average value of the north velocity error integratesinto significant latitude error, which ultimately causes the azimuth error todecrease from its maximum value and exhibit earth rate dominated oscil-lations. The physical cause of the east tilt error is error in the earth ratecalculation.

Assuming that δvn(0) = 0 and εE(0) = 0, the solutions to eqns. (11.95–11.96) are [

δvn(t)εE(t)

]= ΩN εD(0)

[Re

(cos(ωst) − 1

)1ωs

sin(ωst)

].

Based on these solutions, the north position error is modeled as

δn(t) = ΩN εD(0)R(

1ωs

sin(ωst) − t

). (11.97)

These solutions are only expected to hold for a short duration of time.Comparison with the full solution in Figure 11.5 indicates that they arevalid for at least the first half of the Schuler period. Therefore, let T = π

ωs.

At the end of an initialization period t ∈ [0, T ], according to the simplifiedmodel, the north position error relates to the azimuth error as

δn(T ) = −ΩN εD(0)ReT.

Therefore, for applications where the inertial instruments are sufficientlyaccurate and where the system can remain stationary for approximately 40

Page 428: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.5. INS ERROR CHARACTERISTICS 405

(&

:

&�!&:

?

2�*7!$

():

(&:

:

&:

��*!�7!$F�

(:*:?

:

:*:?

5��!+�,7!���

(:*:?

:

:*:?

5��!+",7!���

: ? &: &? ): )? @:()

:

)

5�$�7!�7!���*

���$���7!���

Figure 11.5: Numeric solution of eqn. (11.88) with F from eqn. (11.90)showing the error response for a stationary INS initialized with 1.0 degree ofazimuth error.

Page 429: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

406 CHAPTER 11. AIDED INERTIAL NAVIGATION

minutes, then the initial azimuth error can be estimated as

εD(0) = − 1T

δn(T )ΩNRe

.

11.6 Augmented State Equations

The purpose of this section is to discuss the instrument error terms Δf b

and Δωbib defined in eqns. (11.46) and (11.47).

Eqn. (11.78) models the effect of the uncalibrated portion of the ac-celerometer error

δf b = Δf b − Δf b (11.98)

on the velocity error. Eqn. (11.74) shows that the attitude error is drivenby the uncalibrated portion of the gyro error

δωbib = Δωb

ib − Δωbib. (11.99)

The following subsections will define vectors xa and xg and matrices Fva

and Fρg such that the instrument errors can be modeled as

Δf b = Fvaxa + νa (11.100)Δωb

ib = Fρgxg + νg (11.101)

where νa and νg represent measurement errors that can be accurately rep-resented as white and Gaussian. The matrices Fva and Fρg will be known.The vectors xa and xg contain the parameters necessary to calibrate the ac-celerometer and gyro. Specific definitions for Fva and xa will be discussedin Section 11.6.2. Specific definitions for Fvg and xg will be discussed inSection 11.6.3.

The models derived in this section have two primary purposes to the sys-tem analyst. First, the models are necessary for the specification of a ‘truthmodel’ as required for covariance analysis. Second, when it is determinedthat an error source has a significant effect on the navigation system errorand that it is possible to estimate the parameters pertinent to describing theerror source, then the parameter estimates can be augmented to the errorstate vector of the implemented filter. Common candidates for augmen-tation to the error state vector (i.e., xa and xg) include3: accelerometerbias (3), accelerometer scale factor (3), accelerometer non-orthogonality(6), accelerometer nonlinearity (18), gyro bias (3), gyro scale factor (3),gyro non-orthogonality (6), gyro acceleration sensitivity (27), and calibra-tion factors for additional sensors. The final decision as to which additional

3The number in parenthesis indicates the number of states that would be augmentedto the nominal state vector to model the listed error. These numbers are defined inSections 11.6.2 and 11.6.3.

Page 430: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.6. AUGMENTED STATE EQUATIONS 407

error states should be included in the implemented filter involves a trade-off between the cost of increased computation and the benefit of increasedaccuracy. The tradeoff results are different for each application. Quantita-tive decisions can be based on covariance or simulation analysis only if the‘truth model’ is accurate.

Given the models of eqns. (11.100–11.101), the estimates of the instru-ment calibration factors are

Δf b = Fvaxa (11.102)Δωb

ib = Fρgxg (11.103)

where xa and xg are initialized based on values determined off-line, butmay be improved during system operation using state estimation. Basedon eqns. (11.98–11.99), the instrument calibration errors are defined as

δf b = Fvaδxa + νa (11.104)δωb

ib = Fρgδxg + νg (11.105)

where δxa = xa − xa and δxg = xg − xg. The models for the derivatives ofδxa and δxg will have the structure

δxa = Faaδxa + ωa (11.106)δxg = Fggδxg + ωg. (11.107)

The spectral densities for ωa and ωg are instrument specific and oftenspecified by the manufacturer. The matrices Faa and Fgg are also instru-ment specific, but are often selected such that xa and xg are either randomconstants or random walk plus random constants.

With the above definitions, the state augmented version of eqn. (11.56)is ⎡

⎢⎢⎢⎢⎣δpδvρ

δxa

δxg

⎤⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎣

Fpp Fpv Fpρ 0 0Fvp Fvv Fvρ −Rn

b Fva 0Fρp Fρv Fρρ 0 Rn

b Fρg

0 0 0 Faa 00 0 0 0 Fgg

⎤⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎣

δpδvρ

δxa

δxg

⎤⎥⎥⎥⎥⎦

+

⎡⎢⎢⎢⎢⎣

0 0 0 0−Rn

b 0 0 00 Rn

b 0 00 0 I 00 0 0 I

⎤⎥⎥⎥⎥⎦⎡⎢⎢⎣

νa

νg

ωa

ωg

⎤⎥⎥⎦ . (11.108)

11.6.1 Instrument Error Overview

Several forms of instrumentation error can be analyzed to determine theiraffect on the errors in the nine nominal error states. The major error

Page 431: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

408 CHAPTER 11. AIDED INERTIAL NAVIGATION

sources to be discussed are: accelerometer bias, accelerometer scale factors,accelerometer alignment, accelerometer nonlinearity, gyro drift (bias), gyroscale factor, gyro alignment, and gyro g-sensitivity. These major sourcesof accelerometer and gyro error are considered in the following subsections.Enough detail is included so that the analysis can be extended to otherforms of error as may be particular to specific applications.

11.6.2 Accelerometer Error Modeling

The differential equations for the actual and computed velocity (see eqns.(11.43) and (11.51)) involved the actual navigation frame specific force (fn)and the computed navigation frame specific force (fn) respectively. Thenavigation frame velocity error is driven in part by the specific force error.This section considers the errors involved in measuring the accelerationframe specific force and computing its platform frame representation.

The actual platform specific force is determined from accelerometermeasurements as

fp = Cpaf

a. (11.109)

The platform frame to accelerometer frame transformation Cap is a non-

orthogonal transformation which accounts for accelerometer misalignment.This rotation has the form

Cap = I + Δa

p (11.110)

Δap =

⎡⎣ 0 auw −auv

−avw 0 avu

awv −awu 0

⎤⎦ (11.111)

where each element of Δap is a component of a small angle. To first order,

Cpa = (Ca

p)−1 can be shown by direct multiplication to yield

Cpa = I − Δa

p. (11.112)

The computed specific force equation is

fp = Cpaf

a. (11.113)

The accelerometer frame to platform frame transformation Cpa is often as-

sumed to be an identity, but could also have off-diagonal elements deter-mined through an off-line alignment process. This matrix is often deter-mined by the manufacturer and corrected internal to the instrument. Thisrotation matrix has the same structure as defined for Cp

a. Substituting theexpression for Cp

a into eqn. (11.113) yields

fp =(I − Δa

p

)fa. (11.114)

Page 432: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.6. AUGMENTED STATE EQUATIONS 409

The term fa represents the actual accelerometer measurements accountingfor all measurement errors. In a finite dimensional model, the designer canonly hope to account for the major sources of measurement error. Let

fa = (I − δSFa) (fa − δba − δnla − νa) (11.115)

where δSFa is a diagonal matrix representing uncompensated accelerometerscale factor error, δba represents uncompensated accelerometer bias, δnlarepresents uncompensated accelerometer nonlinearity, and νa representsrandom measurement noise.

Combining eqns. (11.114-11.115) and linearizing the result yields thefollowing equations for the actual navigation frame-specific force measure-ment and measurement error:

fp =(I − Δa

p

)fa − (δSFa) fa − (δba + δnla + νa) (11.116)

δfp = fp − fp

=(δSFa − δa

p

)fp + (δba + δnla + νa) (11.117)

where δap = Δa

p − Δap accounts for error in the alignment process and fa is

approximated by fp for a first order expression.The next step is to define parameter vectors xba

, xAa, and xka suchthat eqn. (11.117) can be rewritten as

δfp =∂fp

∂xba

xba+

∂fp

∂xAaxAa +

∂fp

∂xkaxka + νa. (11.118)

In this equation, xba contains the states needed to model δba, xAa containsthe states needed to model δSFa and δa

p, and xka contains the states neededto model δnla. Given eqn. (11.118), it is straightforward to define thefactors of eqn. (11.104) as

Fva =[

∂fp

∂xba

,∂fp

∂xAa,

∂fp

∂xka

]and δxa = [x�

ba,x�

Aa,x�ka]�.

The accelerometer error state vector δxa discussed below has dimensionthirty. In fact, the potential state order could be higher depending on thedynamic model that is appropriate for each state element (e.g., randomconstant, scalar Gauss-Markov). In any particular application, the entirevector δxa may not be required; instead, the designer must determine whicherror terms have a significant effect on performance. Those terms must beidentified either in the laboratory or during on-line operation.

Bias Error (3 States). Define the bias as xba= δba. The effect of the

bias error on the specific force error is

∂fp

∂xba

= I. (11.119)

Page 433: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

410 CHAPTER 11. AIDED INERTIAL NAVIGATION

Scale Factor and Misalignment (9 States). Define the matrixδAa =

(δSFa − δa

p

)which has the form

δAa =

⎡⎣ δSFu −δauw δauv

δavw δSFv −δavu

−δawv δawu δSFw

⎤⎦ . (11.120)

Define the auxiliary state composed of the accelerometer scale factor andmisalignment matrix parameters to be

xAa = [SFu, SFv, SFw, auw, auv, avw, avu, awv, awu]. (11.121)

The partial derivative of δfp with respect to xAa is

∂fp

∂xAa=

⎡⎣ fu 0 0 −fv fw 0 0 0 0

0 fv 0 0 0 fu −fw 0 00 0 fw 0 0 0 0 −fu fv

⎤⎦

where the elements of the platform frame specific force vector are fp =[fu, fv, fw]�.

Nonlinear Effects (18 States). Finally, because xba already accountsfor zeroth order effects and xAa already accounts for first order effects, theerror model accounting for nonlinear effects up to and including secondorder terms is

δnla =

⎡⎣ kx1f

2u + kx2f

2v + kx3f

2w + kx4fufv + kx5fvfw + kx6fwfx

ky1f2u + ky2f

2v + ky3f

2w + ky4fufv + ky5fvfw + ky6fwfx

kz1f2u + kz2f

2v + kz3f

2w + kz4fufv + kz5fvfw + kz6fwfx

⎤⎦ .

Organizing the unknown parameters into the auxiliary state vector

xka = [kx1, kx2, kx3, kx4, kx5, kx6, ky1, ky2, ky3,

ky4, ky5, ky6, kz1, kz2, kz3, kz4, kz5, kz6]�, (11.122)

the partial derivative of δfp with respect to xka is

∂fp

∂xka=

⎡⎣ Fka Z6 Z6

Z6 Fka Z6

Z6 Z6 Fka

⎤⎦ (11.123)

where Z6 is a 1 × 6 vector of zeros and

Fka = [f2u , f2

v , f2w, fufv, fvfw, fwfu]. (11.124)

Page 434: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.6. AUGMENTED STATE EQUATIONS 411

11.6.3 Gyro Error Modeling

This section considers various forms of gyro error. For each form of error,this section defines a component of an augmentation state vector and alinear model relating that component to the gyro error. These gyro errorstate equations can be augmented to the nominal error state to model theeffect of gyro error on the overall navigation solution. The derivations ofthis section are very closely related to those of Section 11.6.2.

The equation relating the actual platform angular rate to the angularrate measured in gyro frame is

ωpip = Cp

gωgip. (11.125)

The platform frame to gyro frame transformation Cgp is a non-orthogonal

transformation which accounts for gyro misalignment. This rotation hasthe form

Cgp = I + Δg

p (11.126)

Δgp =

⎡⎣ 0 gpr −gpq

−gqr 0 gqp

grq −grp 0

⎤⎦ (11.127)

where each element of Δgp is a component of a small angle. To first order,

Cpg = (Cg

p)−1 can be shown by direct multiplication to yield

Cpg = I − Δg

p. (11.128)

The computed angular rate in platform coordinates is described by

ωpip = Cp

gωgip. (11.129)

The gyro frame to platform frame transformation Cpg is often assumed to be

an identity, but could also have off-diagonal elements determined through acalibration process. This rotation matrix has the same structure as definedfor Cp

g. Substituting the expression for Cpg into eqn. (11.129) yields

ωpip =

(I − Δg

p

)ωg

ip. (11.130)

The term ωgip represents the actual gyro measurements accounting for all

measurement errors. To develop a finite dimensional error model, only bias,scale factor, noise, and g-sensitive errors will be considered. Let

ωgip = (I − δSFg)

(ωg

ip − δbg − δkg − νg

)(11.131)

where δSFg is a diagonal matrix representing uncompensated gyro scalefactor error, δbg represents uncompensated gyro bias, δkg represents un-compensated gyro g-sensitivity, and νg represents random measurementnoise.

Page 435: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

412 CHAPTER 11. AIDED INERTIAL NAVIGATION

Combining eqns. (11.130-11.131) and linearizing the result yields thefollowing equations for the actual platform frame angular rate measurementand measurement error:

ωpip = ωp

ip − Δgpω

gip − (δSFg)ωg

ip − (δbg + δkg + νg) (11.132)δωp

ip = ωpip − ωp

ip

=(δSFg − δg

p

)ωg

ip + (δbg + δkg + νg) (11.133)

where δgp = Δg

p − Δgp accounts for error in the alignment process. In the

following paragraphs, to simplify the notation, we use the symbol T todenote the platform angular rate error vector,

Tp = δωpip.

The next step is to define parameter vectors xbg, xAg, and xkg such

that eqn. (11.133) can be rewritten as

Tp =∂Tp

∂bgxbg

+∂Tp

∂xAgxAg +

∂Tp

∂xkgxkg + νa. (11.134)

In this equation, xbgcontains the states needed to model δbg, xAg contains

the states needed to model δSFg and δgp, and xkg contains the states needed

to model δkg. Given eqn. (11.134), it is straightforward to define the factorsof eqn. (11.105) as

Fρg =[∂Tp

∂bg,

∂Tp

∂xAg,

∂Tp

∂xkg

]and δxg = [x�

bg,x�

Ag,x�kg]

�.

The gyro error state vector δxg discussed below has dimension thirty-nine.The potential state order could be higher depending on the dynamic modelthat is appropriate for each state element (e.g., random constant, scalarGauss-Markov). In any particular application, the entire vector δxg maynot be required; instead, the designer must determine which error termshave a significant effect on performance. Those terms must be identifiedeither in the laboratory or during on-line operation.

Bias Error (3 States). Define the the augmentation state componentto model gyro bias as xbg

= δbg. The partial derivative of Tp with respectto xbg

is

∂Tp

∂xbg

= I. (11.135)

Page 436: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.6. AUGMENTED STATE EQUATIONS 413

Scale Factor and Misalignment Error (9 States). Define δAg =(δSFg − δg

p

), which has the structure

δAg =

⎡⎣ δSFp −δgpr δgpq

δgqr δSFq −δgqp

−δgrq δgrp δSFr

⎤⎦ . (11.136)

Define the auxiliary state composed of the gyro scale factor and misalign-ment matrix parameters to be

xAg = [SFp, SFq, SFr, gpr, gpq, gqr, gqp, grq, grp]. (11.137)

Then, the partial derivative of T with respect to xAg is

∂Tp

∂xAg= Rg

b

⎡⎣ p 0 0 −q r 0 0 0 0

0 q 0 0 0 p −r 0 00 0 r 0 0 0 0 −p q

⎤⎦ (11.138)

where ωpip = [p, q, r]�.

Acceleration Sensitivity (27 States). Finally, the error model ac-counting for the gyro acceleration sensitivity (i.e., g-sensitivity) up to andincluding second order effects is

δkg =

⎡⎢⎢⎢⎢⎢⎢⎣

kp1fu + kp2fv + kp3fw + kp4f2u + kp5f

2v

+kp6f2w + kp7fufv + kp8fvfw + kp9fwfu

kq1fu + kq2fv + kq3fw + kq4f2u + kq5f

2v

+kq6f2w + kq7fufv + kq8fvfw + kq9fwfu

kp1fu + kr2fv + kr3fw + kr4f2u + kr5f

2v

+kr6f2w + kr7fufv + kr8fvfw + kr9fwfu

⎤⎥⎥⎥⎥⎥⎥⎦ ∈ R

3×1 (11.139)

where lines have been used to clearly separate the components of the vector.Organizing the parameters into the auxiliary state xkg yields

xkg = [kp1, kp2, kp3, kp4, kp5, kp6, kp7, kp8, kp9,

kq1, kq2, kq3, kq4, kq5, kq6, kq7, kq8, kq9,

kr1, kr2, kr3, kr4, kr5, kr6, kr7, kr8, kr9]. (11.140)

The partial derivative of T with respect to xkg is

∂Tp

∂xkg=

⎡⎣ Fkg Z9 Z9

Z9 Fkg Z9

Z9 Z9 Fkg

⎤⎦ (11.141)

where Z9 is a 1 × 9 vector of zeros and

Fkg = [fu, fv, fw, f2u , f2

v , f2w, fufv, fvfw, fwfu]. (11.142)

Page 437: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

414 CHAPTER 11. AIDED INERTIAL NAVIGATION

11.6.4 Error Characteristics

This section presents a single example of the INS forced error response.Figure 11.6 is the response of the system described by eqn. (11.79) with

all initial conditions set equal to zero (i.e., δx = 0), and all the accelerom-eter and gyro error terms set equal to zero, except for the east (or pitchrate q) gyro bias having a constant value of 0.015◦/hr (i.e., δf b = 0 andδωb

ib = [0.000, 0.015, 0.000]◦/hr). For the first several minutes, this simu-lation corresponds to the analytic solution given by eqn. (11.87) for thereduced order system of eqn. (11.81).

Inspection of the F matrix in eqn. (11.90) yields the following commentson the simulation results displayed in Figure 11.6. The east gyro biascauses growth of the east tilt error. The east tilt error causes azimuth,north velocity, and north tilt error. The azimuth error develops a bias ofbg

ΩNradians (0.08◦) which cancels the effect of the gyro bias on the east

tilt error. This azimuth bias does not propagate into the remaining statessince the system is stationary and the bias is perfectly canceled in theeast tilt channel. Due to the azimuth error bias canceling the gyro bias,the north velocity error is unbiased. Therefore the latitude error does notgrow linearly with time for a stationary system. If the system were inmotion, then the azimuth error would result in errors in the remainingstates. The fact that azimuth error and east gyro bias are not separatelyobservable is one of the limiting factors in the practical application of thegyro compassing technique. The oscillations at the earth frequency in thenorth velocity and azimuth error are out of phase by 180◦, so that the earthfrequency oscillation does not affect the east tilt dynamics.

11.7 Initialization

Inertial navigation systems integrate compensated inertial measurementsto provide a position, velocity, and attitude reference trajectory. Each inte-gration introduces one constant of integration. Therefore, initialization of athree dimensional INS requires specification of the nine initial conditions forposition, velocity, and attitude plus initial conditions for the components ofxa and xg. This section is concerned with methods for determining thesevarious initial conditions. Three topics are of interest:

Calibration – The process of determining various factors to calibrate theinertial instruments.

Initialization – The process of determining the INS initial position andvelocity.

Alignment – The process of determining the relative orientation of theinertial system platform and the reference navigation frame axes.

Page 438: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.7. INITIALIZATION 415

(&

:

&�!&:

<

2�*7!$

(&

:

&

��*!�7!$F�

(?

:

? �!&:(@

5��!+�,7!���

(?

:

? �!&:(@

5��!+",7!���

: ? &: &? ): )? @:(:*)

:

:*)

5�$�7!�7!���*

���$���7!���

Figure 11.6: Numeric solution of eqn. (11.108) showing the error responsefor a stationary system. All instrument error states are zero with the exceptionof the east (or q) gyro bias that has a constant value of 0.015◦/hr. The verticalstates are assumed to be stabilized and have been removed. The driving noiseterms are zero.

Page 439: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

416 CHAPTER 11. AIDED INERTIAL NAVIGATION

Position, velocity, and attitude error estimation and correction are processeswhich occur at least at system start-up and may continue throughout sys-tem operation when aiding sources are available. Instrument calibrationmay occur off-line in a laboratory and on-line through the use of state aug-mentation and state estimation techniques. Since all three operations mayoccur simultaneously, the three topics are not completely distinct. Off-lineinstrument calibration techniques are discussed in [83, 126].

Inaccurate position initialization affects gravity and Earth rotation com-pensation. Similarly, initial velocity error integrates into position error andresults in alignment error. Alignment error results in error in the transfor-mation of platform measured quantities into the navigation frame. There-fore, accurate system initialization, alignment, and calibration are criticalto system accuracy.

The following sections present and analyze a few common initializationprocesses. Some initialization methods can be implemented as a state esti-mator (e.g., Kalman filter). Such methods are directly extendible to aidingduring normal system operation. In such situations, the same software canbe used during initialization and normal (aided) operation.

11.7.1 Self-Alignment Techniques

Self-alignment techniques use the inertial instruments together with knowl-edge of the navigation frame gravity vector and earth rate vector for align-ment of the inertial platform relative to the navigation frame. The systemis assumed to be stationary at a known position. With this information it isstraightforward to initialize the position and velocity variables. The mainremaining issue is the initialization of attitude. The methods discussedbelow are directly related to those discussed in Section 10.3.

11.7.1.1 Coarse Self-Initialization

For a stationary system, the accelerometer measurement vector will berelated to the geographic frame gravity vector by⎡

⎣ fu

fv

fw

⎤⎦ = −Rb

n

⎡⎣ 0

0g

⎤⎦ =

⎡⎣ sin(θ)

− cos(θ) sin(φ)− cos(θ) cos(φ)

⎤⎦ g (11.143)

which can be solved for θ and φ as follows[φ

θ

]=

[arctan2(−fv,−fw)

arctan2(fu,√

f2v + f2

w)

]. (11.144)

The pitch and roll angles estimated by eqn. (11.144) are accurate to approx-imately the uncompensated accelerometer bias divided by gravity. There-

Page 440: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.7. INITIALIZATION 417

fore, the level error estimation sensitivity to accelerometer bias is one milli-radian per milli-g.

The alternative method described below (see [26, 27, 125]), providesan initial estimate of Rn

b , from which roll, pitch, and yaw angles or thequaternion parameters could be determined as necessary. Let u and v betwo independent vectors. Define w = u × v. Therefore, w is orthogonalto both u and v. Assume that u and v are known in navigation frameand measured in platform frame. Then the two sets of vectors are relatedaccording to

[un,vn,wn] = Rnb

[ub,vb,wb

](11.145)

Rnb = [un,vn,wn]

[ub, vb, wb

]−1. (11.146)

In particular, if un is the gravity vector and vn is the earth rate vector,then

Rbn =

[f b, ωb, f b × ωb

]⎡⎢⎣1g tan(φ) 0 1

g1

ωie cos(φ) 0 00 1

ωieg cos(φ) 0

⎤⎥⎦ . (11.147)

Non-benign environments (i.e., environments having disturbances or vibra-tion) may result in inaccurate initialization of the attitude, which maynecessitate on-line, aided error calibration. Implementation of the aboveapproach requires high quality gyros with precision and accuracy sufficientto measure earth rate. The rotation matrix that results from the aboveprocess can be orthogonalized by the methods described in Appendix B.

When the gyros selected for a given application do not allow yaw ini-tialization using the above methods, then alternative methods are required.Eqn. (11.146) is valid for any three independent vectors. Optical sightingsare sometimes used to replace at least one of the three vectors in thatequation. Otherwise, the procedure is identical. A few other commonalternatives are magnetic direction sensing with local magnetic field com-pensation or retrieval of the last stored yaw angle for a system which isknown to have been stationary between periods of operation. In either ofthese approaches, the accuracy will normally be low enough that on-linecalibration of the azimuth error will be desirable via aiding sensors.

11.7.1.2 Fine Initialization: Physical Gyro Compassing

For a mechanized system with accurately calibrated accelerometers andgyros, alignment can be achieved by a two step process known as gyro-compassing [27, 36, 69]. In the first step, referred to as leveling, the platformis torqued to null the outputs of the north and east accelerometers. Thisstep nominally aligns the z-axis with the local gravity vector. The resulting

Page 441: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

418 CHAPTER 11. AIDED INERTIAL NAVIGATION

leveling error is directly proportional to the uncompensated accelerometerbias. Since the east component of the earth rotation rate is known to bezero, the second step of the procedure rotates the platform about the z-axis to null the output of the east gyro. The second step is referred toas azimuth alignment. At this point, at least theoretically, the north anddown gyros could be used to estimate and correct the platform latitude asφ = atan2(−ΩD, ΩN ).

11.7.1.3 Fine Initialization: Analytic Gyro-Compassing

In strap-down system applications, the platform cannot be mechanicallytorqued to cause alignment with the gravity and Earth rate vectors. In-stead, the misalignment is estimated and used to correct the variables re-quired to compute the direction cosine matrix.

The computed specific force vector in the body and navigation framesare related according to fn = Rn

b f b. The corresponding error model is

fn = (I − [ρ×])Rnb

(f b + δf b

)(11.148)

= fn − Pfn + Rnb δf b (11.149)

to first order, where δf b represents the sum of the specific force measurementerrors. For a system assumed to be stationary, the actual specific force isthe sum of gravity and disturbance accelerations. In the geographic frame,

fn =[

0 0 −g]� + fd

where fd represents the navigation frame disturbances. These disturbancescan be expected to be high frequency, but the amplitude and spectral con-tent are not accurately known and may be time varying. Disturbance mo-tion can be decreased by mechanical isolation. The residual navigationframe specific force measurement is described by

δf = fn − fn (11.150)= Pfn − Rn

b δf b + fd (11.151)

=

⎡⎣ 0 −εD εE

εD 0 −εN

−εE εN 0

⎤⎦⎡⎣ 0

0−g

⎤⎦− Rn

b δf b + fd (11.152)

=

⎡⎣ 0 −g 0

g 0 00 0 0

⎤⎦⎡⎣ εN

εE

εD

⎤⎦− Rn

b δf b + fd. (11.153)

Based on eqn. (11.153), two approaches are possible for estimating thealignment error. In the first approach, the measurement

δf = Hδx − Rnb νa + fd

Page 442: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.7. INITIALIZATION 419

could be used to drive a Kalman filter with state error dynamics as previ-ously defined, δx = [δp�, δv�,ρ�, δx�

a , δx�g ]�,

H =[

Z3 Z3 G −Rnb Fva Z3

]where Z3 is a three dimensional4 zero vector, and

G =

⎡⎣ 0 −g 0

g 0 00 0 0

⎤⎦ .

From the system description and measurement matrix, it is clear that εd

is completely unobservable. In the case where the system is nearly level,the w-axis accelerometer bias is completely observable. The accuracy withwhich the north and east alignment errors can be estimated will depend onthe accuracy of the east and north accelerometers and amount of platformmotion due to disturbances. In theory, portions of the disturbance motioncould be modeled through state augmentation techniques. In practice, thisis difficult. Therefore, vibration and disturbances will limit the achievableaccuracy. In an alternative approach, the first two components of δf couldbe passed through a simple low pass filter with gain 1

g . The outputs areinterpreted as −εE and εN , respectively. In either case, the estimates areused to adjust Rn

b (see eqn. (10.67)) until δf is zero. The accuracy of thisapproach will also be limited by instrumentation imperfections, vibration,and disturbances. At the conclusion of the process, the analytic version ofthe navigation frame is nominally in alignment with the actual navigationframe (i.e., leveling has been achieved). Again, as with the mechanizedapproach, leveling accuracy is directly proportional to the uncompensatedaccelerometer bias (1 milli-radian per 1 g bias).

Similarly, the gyro outputs can be processed to achieve azimuth align-ment. Assuming that the vehicle is stationary relative to the Earth, wehave that

ωib = (ωin + ωnb) = (ωie + ωd)ωib = ωb

in = ωbie

where the stationary assumption implies that ωin = ωie, ωin = ωie, andωb

bn = 0. The symbol ωd is used to represent ωnb which is the distur-bance angular rates of the vehicle that are in violation of the stationarityassumption. The actual and computed geographic frame rotation rates are

ωnin = Rn

b

(ωb

ib + ωbbn

)ωn

in = Rnb ωb

ib.

4Assuming that the instrument errors are modeled as biases.

Page 443: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

420 CHAPTER 11. AIDED INERTIAL NAVIGATION

These expressions can each be expanded as follows:

ωnin = (I + [ρ×]) Rn

b

(ωb

ib − ωbd

)= ωn

ib + [ρ×]ωnib − ωn

d

and

ωnin = Rn

b

(ωb

ib + δωbib

)= ωn

ib + Rnb δωb

ib.

Therefore, the residual gyro measurement in geographic frame is

δω = ωnin − ωn

in = [ρ×]ωnie − Rn

b δωbib − ωn

d

=

⎡⎣ 0 −εD εE

εD 0 −εN

−εE εN 0

⎤⎦⎡⎣ ΩN

0ΩD

⎤⎦− Rn

b δωbib − ωd

=

⎡⎣ 0 ΩD 0

−ΩD 0 ΩN

0 −ΩN 0

⎤⎦⎡⎣ εN

εE

εD

⎤⎦− Rn

b δωbib − ωd. (11.154)

Based on eqn. (11.154), two approaches are again possible. The first ap-proach is Kalman filter based, with state error dynamics as previously de-fined and the measurement matrix

H =[

Z3 Z3 W Rnb Z3

](11.155)

where

W =

⎡⎣ 0 ΩD 0

−ΩD 0 ΩN

0 −ΩN 0

⎤⎦ .

The Kalman filter approach has the advantages that both the accelerometerbased leveling and gyro based azimuth alignment can occur simultaneously,and that the approach correctly accounts for all measurement errors. Inthe second approach, after leveling has occurred, the second component ofδω can be passed through a low pass filter to generate an estimate of εD.The utility of gyro based azimuth alignment is limited to situations wherethe gyros are accurate enough to measure Earth rate and the disturbancesare small enough that Earth rate is discernible.

The main advantage of the low pass filter approach is its simplicity andlow number of computations. Although some benefits of the Kalman filterapproach have already been stated, additional benefits include:

• The initialization process uses essentially the same code (Kalman fil-ter algorithms) as any on-line aiding processes (only the H and Rmatrices change). Ultimately, this can reduce the amount of codeand debugging time.

Page 444: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.8. AIDING MEASUREMENTS 421

• The initialization process results in the correct error covariance matrixrequired for on-line aiding. If the low pass filter approach is used, thedesigner must determine a reasonable initial value for this matrix.

11.8 Aiding Measurements

While the INS is in operation, various sensors are available to serve as aidingmeasurements, for example: GPS, master-slave, optical measurements, andradar. In each case, as outlined in Chapter 7, the procedure is to predictthe aiding measurement using the navigation state, form the measurementresidual, use the residual to estimate the navigation error state, and usethe estimated error state to correct the navigation state. The followingsubsections present and discuss the prediction and residual equations for afew aiding scenarios.

11.8.1 Position Aiding

In position aiding methods, a measurement which is linearly related to theposition is compared with the same linear combination of the INS computedpositions to compute a measurement residual. The measurement residualis used to drive a Kalman filter to estimate the INS and sensor error states.

In this approach, the formulation of the measurement residual and themodel relating the measurement residual to the error state appears to bestraightforward. However, the designer should be very careful. Assumethat the position “measurement” is the computed position estimate from aGPS receiver. There are at least two important issues to consider. First,as discussed in Section 8.5, the error in the components of the GPS com-puted position at a given time instant are correlated with each other. Forproper Kalman filter implementation, this correlation should be known andused by the Kalman filter implementation. Unfortunately, this correlationmatrix is rarely an output of the GPS receiver. Second, the GPS receiverincludes various filters. The code and carrier tracking loops are filters.Also, depending on the receiver settings, the position estimate output bythe receiver might itself be the state of a Kalman filter internal to the GPSreceiver. Therefore, the error on the GPS estimate of the position mayhave significant time correlation. Without knowing the internal operationof the GPS receiver, this time correlated position error cannot be accuratelymodeled for INS aiding.

Often, GPS receivers will have an optional setting which causes theGPS receiver to output the position solutions pointwise. With this setting,the tracking loops still include filters, but the position measurements arecomputed at each time using only the GPS satellite measurements availableat that time (i.e., no Kalman filtering within the GPS receiver). This setting

Page 445: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

422 CHAPTER 11. AIDED INERTIAL NAVIGATION

significantly alleviates the second issue discussed in the previous paragraph.However, with this setting, there will be no position measurements availablewhen fewer than four satellites are being tracked. The method of Section11.8.2 allows GPS aiding of the INS even when fewer than four satellitesare available.

11.8.2 GPS Pseudorange Aiding

GPS pseudorange or phase aiding of an INS is very similar to the aidingof the encoder-based dead-reckoning system discussed in Section 9.5. Amajor issue is the receiver clock error. Either clock error states can beaugmented and estimated as discussed in Section 9.5.1 or measurementsfrom different satellites can be differenced as discussed in Section 9.5.2.Because the majority of issues related to these approaches have alreadybeen discussed in those sections, the presentation in this section will bebrief. Only the satellite differencing approach will be discussed.

11.8.2.1 Measurement Prediction Equations

Starting from the geodetic position estimate p = [φ, λ, h]� from the navi-gation systems, this section presents the equations that would be used topredict the GPS measurements.

Using the estimated vehicle geodetic position p, the vehicle ECEF posi-tion pe can be computed using eqns. (2.9–2.11). The ECEF position of thei-th satellite pi can also be computed from the ephemeris data, as discussedin Appendix C. The computed range to the i-th satellite is

R(pe, pi) =∥∥pe − pi

∥∥2. (11.156)

If information is available about the common mode GPS errors, these esti-mates of the common-mode errors could either be added to the computedranges or subtracted from the range measurements. The following uses thesame notation as in Section 9.5.2.

Assuming that m satellites are available and that measurements fromthe first satellite are subtracted from all the others, the differenced pseudor-ange and carrier phase measurements can be predicted from the navigationstate as

∇ρi =(R(pe, pi) + χi

)−(R(pe, p1) + χ1

)λ∇φi =

(R(pe, pi) + Υi

)−(R(pe, p1) + Υ1

)+(N i − N1

for i = 2, . . . , m. The same assumptions and comments apply as werediscussed following eqns. (9.26-9.27).

Page 446: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.8. AIDING MEASUREMENTS 423

11.8.2.2 Residual Measurement Equations

This section presents the GPS measurement residual equations that wouldbe used by the Kalman filter. In this approach, the measurement residualsfor the i-th satellite would be computed as

δρi(t) =(ρi(t) − ρ1(t)

)−∇ρi(t) (11.157)

δφi(t) =(φi(t) − φ1(t)

)−∇φi(t) (11.158)

which is the measured range difference between satellites i and 1 minus thepredicted difference. For i = 2, . . . , m, the error models for the measure-ment residuals are

δρi(t) = hieδp

e +(ηi − η1

)(11.159)

δφi(t) = hieδp

e +(βi − β1

). (11.160)

The quantities ηi and βi are defined for i = 1, . . . , m in eqns. (8.83–8.91).The vector hi

e is defined as

hie =

(�hi

e − �h1e

)

where �hie = (pe−pi)

‖pe−pi‖2as defined in eqn. (8.12).

Currently, there is a mismatch between eqns. (11.159–11.160) which isa function of δpe = [δx, δy, δz]� and the error state which is a function ofδp = [δφ, δλ, δh]�. These two vectors are related according to

δpe = RenDδp (11.161)

where

D =

⎡⎣ (RM + h) 0 0

0 cos(φ)(RN + h) 00 0 −1

⎤⎦ .

Eqn. (11.161) is derived from eqns. (2.9–2.11) using the results from Ex-ercise 2.6. Using eqn. (11.161), eqns. (11.159–11.160) become

δρi(t) = hieR

enDδp +

(ηi − η1

)(11.162)

δφi(t) = hieR

enDδp +

(βi − β1

). (11.163)

The residual models for use by the Kalman filter are

δρi(t) = Hinδx +

(ηi − η1

)(11.164)

δφi(t) = Hinδx +

(βi − β1

)(11.165)

Page 447: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

424 CHAPTER 11. AIDED INERTIAL NAVIGATION

where δx = [δp, δv, ρ]� as defined following eqn. (11.56),

Hin = [hi

eRenD,0,0],

and 0 is the 3 × 1 vector.In an alternative approach, a similarity transform could be used to

transform the error state, F and Φ matrices so that the error state includedδpe instead of δp. Note that the north error δn and east error δe are notthe horizontal error in vehicle position in geographic frame; instead, theyare the error in the location of the origin of the geographic frame.

11.8.2.3 Lever Arm Compensation

Aided initialization and error estimation methods are complicated by thefact that the aiding system and INS are separated by a lever arm. The leverarm adds complication in at least two forms. First, the lever arm lengthand alignment will not be perfectly known due to manufacturing tolerances,different possible system configurations, lever arm flex, and vibration. Sec-ond, the measurement prediction and residual measurement models willdepend on the lever arm offset vector. The first set of effects can only beaccommodated by changing the mechanical structure to enhance rigidity,by augmenting calibration states, or by artificially increasing the varianceof the measurement noise. Those approaches are not discussed herein. As-suming that the body frame offset vector is known, the lever arm effectsshould be modeled at the design state to determine their effect on accuracyand observability. Often the lever arm must be accounted for to achievehigh accuracy. This section discusses the topic in general. Several specificinstance are used in Chapter 12.

Consider the situation shown in Figure 11.7 where pn and pa denotethe position vectors of the navigation system and aiding sensor, respec-tively. The point O denotes the navigation frame origin. The offset vectorr between the two positions is defined as

r = pa − pn. (11.166)

The calibrated value is denoted rb and the error in the calibrated value isδrb = rb − rb. We assume that both the navigation system and the aidingsource are rigidly attached to a mounting structure so that rb ≈ 0. Thisassumption may not be valid if, for example, the navigation system were ona structure (e.g., a wing) that can flex relative to the structure on which anaiding source is mounted (e.g., the main body).The designer must determinethe reasonableness of this assumption and the effect of the violation of thisassumption on the system performance.

Page 448: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.8. AIDING MEASUREMENTS 425

� ��

��

Figure 11.7: Lever Arm Compensation.

Position Aiding. Consider the hypothetical aiding sensor that providesa measurement that is linearly related to the position of the aiding sensor

ya = h pna + ν. (11.167)

The navigation system predicts this output by combining eqns. (11.166)and (11.167),

ya = h pna (11.168)

= h(pn

n + Rnb rb

)(11.169)

where pnn and Rn

b are directly computable from the state vector of thenavigation system, and rb is the specified value of the offset vector. Ideally,rb would equal the actual value rb, but error δrb = rb − rb between the twomay exist for the reasons stated previously.

The residual aiding error, used to drive the Kalman filter, is computedas

δya = ya − ya. (11.170)

This residual error is modeled as

δya = h(pn

n − pnn + Rn

b rb − Rnb rb

)+ ν (11.171)

= h (δpnn − [rn×]ρ) + Rn

b δrb + ν (11.172)

where rn = Rnb rb. The final equation provides a linear relationship, suitable

for Kalman filter processing, between the position measurement residualand the INS error states (δpn

n and ρ). The term containing δrb representsthe error in the measurement due to error in calibration of the lever armδrb. This effect is time varying due to the matrix Rn

b changing as thevehicle maneuvers and due to possible time variation in δrb itself.

Velocity Aiding. Assume that an aiding sensor is available that outputsa measurement linearly related to velocity of the aiding system

ya = hvna + ν. (11.173)

Page 449: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

426 CHAPTER 11. AIDED INERTIAL NAVIGATION

By the law of Coriolis, for a vehicle rotating relative to navigation framewith angular rate ωn

nb, the velocity of the navigation system and aidingsource are related according to

vna = vn

n + Ωnnbr

n. (11.174)

The navigation system predicts the velocity aiding output according to

ya = hvna (11.175)

= h(vn

n + Ωn

nbRnb rb

)(11.176)

where vnn, Ωn

nb, and Rnb are directly computable from the navigation state.

The residual aiding error, used to drive the Kalman filter, is computed as

δya = ya − ya

which has the error model

δya = h(vn

n − vnn + Ωn

nbrn − Ω

n

nbrn)

+ ν

= h(vn

n − vnn + Rn

b Ωbnbr

b − Rnb Ω

b

nbrb)

+ ν

= h(δvn

n + PRnb Ωb

nbrb + Rn

b (δΩbnbr

b) + Rnb Ωb

nbδrb)

+ ν

= h(δvn

n − [(Ωnnbr

n)×]ρ − Rnb ([rb×]δωb

nb) + Rnb Ωb

nbδrb)

+ ν.

The factor δωbnb could be further expanded. The final equation provides

a linear relationship, suitable for Kalman filter processing, between themeasurement residual and the INS error state.

Inertial Measurement Aiding. Inertial measurement matching wouldrequire another derivative which would introduce terms involving Ωb

nb. Thefact that measurements of this term are not typically available limits theimplementability of inertial measurement matching procedures in situationswere the angular rate has significant variation.

This approach is limited to master-slave implementations. Master-slaveinitialization uses one accurate, previously initialized INS to calibrate asecond INS. The second INS may have been recently turned on or of lowenough quality that significant drift is expected to have occurred since thelast calibration. For example, this scenario is applicable for the initializa-tion of the INS state in weapon applications, where an expensive INS maynot be warranted on the weapon due to the short span of time over whichaccurate post-launch navigation is required and due to the expectation thatthe INS will be destroyed with the weapon. Master-slave initialization maytake a variety of forms. In one-shot alignment (or transfer alignment) the

Page 450: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.9. OBSERVABILITY ANALYSIS 427

state of the master INS is used to initialize the state of the slave INS ata particular instant of time. Alternatively, the position, velocity, or iner-tial measurements of the master INS could be differenced with the samequantities of the slave INS. The resulting residual measurements driving aKalman filter based error estimator [20].

The master INS specific force and angular rate vectors are processed toprovide a ‘correct’ navigation frame version of these vectors at the slaveINS location. This statement implies that the processing accounts for leverarm, flex, and non-common mode disturbance effects. This is of coursenot completely possible. The slave INS processes the corrected master INSvectors denoted fn and ωn in a manner similar to that described for analyticgyro-compassing.

Inertial measurement matching can theoretically outperform analyticgyro-compassing, since the master-slave system is capable of maneuvering.Due to the maneuvers, the observability properties of the system are en-hanced. However, in practice, the lever arm, flex, and disturbance effectscan make inertial measurement matching techniques difficult to implement.

11.9 Observability Analysis

Consider the situation where a velocity measurement is used as an aidingsignal to an INS. The full velocity measurement might be obtained fromGPS, Doppler radar, a master INS, or a known velocity (e.g., a nominallystationary system).

Assuming that the platform position is accurately known during theinitialization process, the error dynamics of the reduced state model incor-porating lateral velocity and orientation error is⎡

⎢⎢⎢⎢⎣δVN

δVE

εN

εE

εD

⎤⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎣

kD 2ωD 0 fD −fE

F54 F55 −fD 0 fN

0 −1Re

0 ωD −ωE1Re

0 −ωD 0 ωN

0 tan(φ)Re

ωE −ωN 0

⎤⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎣

δVN

δVE

εN

εE

εD

⎤⎥⎥⎥⎥⎦

+

⎡⎢⎢⎢⎢⎣

bN

bE

dN

dE

dD

⎤⎥⎥⎥⎥⎦ +

⎡⎢⎢⎢⎢⎣

ζN

ζE

ηN

ηE

ηD

⎤⎥⎥⎥⎥⎦ (11.177)

y =[

1 0 0 0 00 1 0 0 0

]⎡⎢⎢⎢⎢⎣

δVN

δVE

εN

εE

εD

⎤⎥⎥⎥⎥⎦ + ν (11.178)

Page 451: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

428 CHAPTER 11. AIDED INERTIAL NAVIGATION

where ν accounts for measurement noise and all uncorrected lever arm orflexure effects. The instrumentation errors are represented in this model asbiases.

The known position assumption is reasonable in several applications.In the master/slave calibration scenario, the offset vector between the twoplatforms is usually known to within a few meters (the error being dueto different stored locations and structure flex). In stationary calibrationapplications, the calibration location may be known and programmable.

The majority of the following discussion concentrates on a nominallystationary system. The analysis is also valid for low-speed, non-acceleratingvehicles. In the more general approaches, i.e., using radar, GPS, master-slave INS or other external sensors for which measurements are availablewhile the vehicle is in motion, the approach is essentially the same. The factthat the F matrix is dependent on the velocity, acceleration, and rotationrate will enhance the ability to estimate the system errors (i.e., observabil-ity) relative to the performance for a stationary system that is discussed inthe following.

11.9.1 Stationary, Level, Known Biases

When the velocity is near zero and the system is nearly level, the errordynamics reduce to⎡

⎢⎢⎢⎢⎣δVN

δVE

εN

εE

εD

⎤⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎣

0 2ωD 0 −g 0−2ωD 0 g 0 0

0 −1Re

0 ωD 01Re

0 −ωD 0 ωN

0 tan(φ)Re

0 −ωN 0

⎤⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎣

δVN

δVE

εN

εE

εD

⎤⎥⎥⎥⎥⎦

+

⎡⎢⎢⎢⎢⎣

bN

bE

dN

dE

dD

⎤⎥⎥⎥⎥⎦ +

⎡⎢⎢⎢⎢⎣

ζN

ζE

ηN

ηE

ηD

⎤⎥⎥⎥⎥⎦ . (11.179)

The observability matrix is

⎡⎣ H

HFHF2

⎤⎦ =

⎡⎢⎢⎢⎢⎢⎢⎣

1 0 0 0 00 1 0 0 00 2ωD 0 −g 0

−2ωD 0 g 0 0A 0 −3gωD 0 gωN

0 A 0 −3gωD 0

⎤⎥⎥⎥⎥⎥⎥⎦ (11.180)

where A = (ω2S −4ωD). This observability matrix has rank equal to 5. The

five nominal states are observable from the north and east velocity mea-

Page 452: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

11.9. OBSERVABILITY ANALYSIS 429

surements, denoted by y(t). Therefore, alignment is possible from velocity,in stationary conditions, if the IMU instrument biases are known.

11.9.2 Stationary, Level, Unknown Biases

When the instrument biases are not known, and calibration is required,then the observability analysis problem becomes more interesting. Whenthe five instrument biases are augmented to the error state, the systemdynamics are defined by[

δxb

]=

[F I0 0

] [δxb

]+[

ζx

ζb

](11.181)

where F is the dynamic matrix described for the basic five error statesin eqn. (11.179). In this analysis, the augmented state is b = bn =[bN , bE , dN , dE , dD] which are modeled as random constant plus randomwalk variables. For a strap-down system bn is related to bb through Rn

b .The model above assumes that Rn

b = I, which is equivalent to assuming thatthe vehicle is level and north pointing. Deviations from this assumption, aslong as Rn

b is not time varying, will change the unobservable subspace, butsimilar conclusions would apply. Applications in which Rn

b can be changedhave better observability properties.

This ten state system in not completely observable, as can be shown byanalysis of the observability matrix [17, 47, 74]. In fact, the observabilitymatrix only has rank 7. Therefore, there are three directions in the tendimensional augmented state space that are not observable. It is of interestto determine a basis for this unobservable three dimensional subspace.

Using analysis similar to that in Section 3.6.3, it is shown in [17], thata basis for the unobservable subspace Xu is given by⎡

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

0001

ωN

0−gωN

0−ωD

ωN

01

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

,

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

00001000

−ωN

0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

,

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

001g

0ωDωN

g(1+ω2N )

000

ωD

g(1+ω2N )

0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

This three dimensional unobservable subspace does not correspond identi-cally to specific states. The designer does not have the freedom to choosewhich states are observable. If the designer selects seven states to be es-timated by fixing three variables, this does not address the fundamental

Page 453: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

430 CHAPTER 11. AIDED INERTIAL NAVIGATION

issue. The seven selected variables will be estimated, but the estimates willbe biased from the true values by the amount appropriate to compensatefor the assumed values of the three neglected variables.

11.10 References and Further Reading

This chapter has focused on kinematic model derivations, navigation mech-anization, error analysis, initialization, and INS aiding. The main referencesfor this chapter were [27, 33, 37, 50, 73, 95, 110, 111, 116, 126, 129, 138].The simplifying notation in Table 11.1 is based on that defined in [138].More examples and more detailed discussion of the trajectories from the lin-earized inertial navigation system error dynamics is presented in [27, 138].Gravity is discussed in [37, 67, 73, 127].

Inertial instruments have only been discussed very briefly herein. Thevarious types of inertial instruments, their characteristics, and tradeoffsare discussed in considerable depth in, for example, [73, 83, 126]. Thedistinction between inertial and kinematic accelerations is discussed wellin, for example, [37, 73]. Detail technical descriptions of inertial sensormodeling and design can be found in [73, 126]. The sensor error modelspresented herein are drawn from [27, 93, 138].

Strap-down INS specific implementation formulas are discussed in [15,16, 115]. In particular, [115] presents numeric formulas for multi-rate imple-mentations where the highest rate loops transform the specific force mea-surements to navigation frame accounting for navigation frame rotation.The lower rate loops integrate the navigation frame velocity and positiondifferential equations. The topic of how to complete the mechanizationequation computation most efficiently by performing certain subsets of thecalculations in specific coordinate frames is addressed in [15, 16].

Page 454: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Chapter 12

LBL and DopplerAided INS

This chapter describes a navigation system designed for a small autonomousunderwater vehicle (AUV) [97, 98]. The mission for the AUV requires ma-neuvering underneath ships in a harbor environment. The AUV will oftenmaneuver relative to the ship hull which may require the AUV to assumerelatively large pitch and roll angles. The navigation system is responsi-ble for maintaining accurate estimates of the AUV position, velocity, atti-tude, angular rates, and acceleration for use by the planning and controlsystems. In addition to the sensors used for navigation, the AUV is in-strumented with various imaging sensors that are monitored remotely bya human operator. To enable ship hull relative maneuvering, rendezvous,and reacquisition of interesting imaged objects, the desired is to achievesub-meter position estimation accuracy.

The navigation sensors available on the AUV included an inertial mea-surement unit (IMU), a Doppler velocity log (DVL), an attitude and head-ing sensor, a pressure sensor, and a long baseline (LBL) transceiver. TheDVL measures velocity along four beam directions via acoustic Dopplermeasurements. The LBL measures acoustic signal round-trip travel timesbetween a transceiver mounted on the AUV and four baseline transpondersat known locations. More detailed descriptions of the characteristics of eachof these sensors are presented in Section 12.2.

Given this sensor suite, two alternative navigation approaches were ini-tially considered. One approach would use the LBL and depth measure-ments to aid a DVL based dead-reckoning system. However, due to thefact that the DVL requires at least three beams to have bottom-lock toresolve the velocity, this approach would fail in situations when the AUVoperated with sufficiently large roll and pitch angles. In addition, the DVL

431

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 455: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

432 CHAPTER 12. LBL AND DOPPLER AIDED INS

update rate (7 Hz) is slow and the DVL signal is dependent on the acousticenvironment; therefore, it may not always be available. The alternativeapproach that is presented herein uses the DVL, LBL, and depth measure-ments to aid an inertial solution computed from the IMU measurements.An extended Kalman filter is used to combine the available aiding measure-ments as they become available. The extended Kalman filter is designed toaccommodate the asynchronous and delayed-state measurements that areinherent in this application due to the LBL.

12.1 Kinematics

The purpose of this section is to define the notation that will be usedthroughout this chapter and to derive the system kinematics.

12.1.1 Notation

The navigation variables used in this chapter are summarized in Table 12.1.As in previous chapters, superscripts will be used to identify the frame ofreference in which the vectors are represented. For angular rate vectors, thenotation ωc

ab is read as the angular rate of frame b with respect to framea as represented in frame c. The matrix Ωc

ab = [ωcab×] represents the skew

symmetric form of ωcab, which is defined in Section B.15.

Symbol Units Description

p m AUV position vector

vems Earth relative velocity vector (see p. 389)

a m

s2Acceleration vector

f m

s2Specific force vector

g m

s2Gravity vector

ω rads Angular rate vector

θ rad Tangent to platform frame Euler angle three-tuple

bam

s2Accelerometer bias vector

bgrads Gyro bias vector

φ, θ, ψ rad Roll, pitch, and yaw Euler angles

φ rad Latitude

Table 12.1: Definition of navigation variables for Chapter 12.

Page 456: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.2. SENSORS 433

12.1.2 System Kinematics

Due to the fact that the AUV will be maneuvering locally in a ship relativecoordinate system defined by the LBL system, we select a fixed tangentframe implementation.

The tangent frame position pt is the integral of the Earth relative ve-locity represented in tangent frame:

pt = Rtpv

pe , (12.1)

where the symbol vpe represents the Earth relative velocity in platform

frame. By the law of Coriolis applied to vpe = Rp

evee, the rate of change vp

e

is

vpe = Rp

e

(Ωe

pevee + ve

). (12.2)

Using eqn. (11.32) and the fact that Ωep = Ωip−Ωie, eqn. (12.2) simplifiesas follows

vpe = fp + gp − (

2Ωpie + Ωp

ep

)vp

e (12.3)

= fp + gp − (Ωp

ie + Ωpip

)vp

e . (12.4)

Combining the above equations and eqn. (2.74), the system kinematicmodel is

pt = Rtpv

pe (12.5)

vpe = fp + gp − (

Ωpie + Ωp

ip

)vp

e (12.6)

θ = Ω−1E ωp

tp (12.7)

where Ω−1E is defined following eqn. (2.74). The gravity vector gp is eval-

uated according to eqn. (11.14) at the AUV position p. The vector ωptp is

the angular rate of the platform frame with respect to tangent frame andsatisfies ωp

tp = ωpip−ωp

it, where ωpip is measured by the body mounted gyros

and ωpit = Rp

t ωtit with

ωtit = ωie[cos(φ), 0,− sin(φ)]�. (12.8)

12.2 Sensors

The following subsections discuss the characteristics, utility, and modelfor each onboard sensor. The sensor configuration onboard the AUV isillustrated in Figure 12.1. The IMU is at the vehicle center of gravity anddefines the origin of the body frame. The DVL, LBL, and pressure sensorsare offset from the body frame origin by the vectors lD, lL, and lp.

Page 457: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

434 CHAPTER 12. LBL AND DOPPLER AIDED INS

�-

� 8

� �

� 2

-�2

2C2

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

J%.

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

� �

Figure 12.1: AUV sensor configuration depicting the body frame u, v, andw axes; and the sensor offsets lD, lL, lp.

12.2.1 Inertial Measurement Unit

The IMU provides measurements related to the acceleration and angularrates of the AUV. The IMU outputs are reliably available at a known fixedrate. The IMU outputs will be integrated through the kinematic modelto provide an estimate of the state of the AUV which includes attitude,velocity, and position. Due to uncertainty in the initial conditions and im-perfections in the IMU, the INS estimate of the AUV state is also imperfect.The other onboard sensor signals will be used, in a complementary filterarchitecture, to correct the INS state estimate.

The IMU outputs are compensated for scale factor, temperature, andnon-orthogonality by the manufacturer; therefore, the gyro and accelerom-eter measurements are modeled as

ua = fp + ba + ηa (12.9)ug = ωp

ip + bg + ηg (12.10)

where ba is the accelerometer bias, ηa ∼ N(0, σ2a) represents accelerometer

measurement noise, ωpip is the angular rate of the gyro relative to the inertial

frame represented in platform frame, bg represents the gyro bias, ηg ∼N(0, σ2

g) represents gyro measurement noise, and fp is the specific forcevector in platform frame. As discussed in Section 11.1.2,

fp = Rpi p

i − gp (12.11)

where pi is the acceleration of the accelerometer with respect to the inertialframe and gp is the local gravity vector at the AUV location representedin platform frame, see eqn. (11.14).

The bias vectors ba and bg are modeled as random constants plus ran-dom walks:

ba = ωa (12.12)

Page 458: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.2. SENSORS 435

bg = ωg (12.13)

where ωa ∼ N(0, σ2ba

I), ωg(0) ∼ N(0, σ2bg

I), and the initial bias valuesare distributed according to ba(0) ∼ N(0,Pba

) and bg ∼ N(0,Pbg). The

constants σbaand σbg

are both positive. The matrices Pbaand Pbg

areboth symmetric and positive definite.

12.2.2 Attitude and Yaw Sensor

The attitude and yaw sensor uses an inclinometer (gravity) sensor to mea-sure attitude and a magnetometer to measure yaw. The measurements aremodeled as

yE =[

φθ

]+ eE + ηE (12.14)

yψ = ψ + eψ + ηψ (12.15)

where ηE ∼ N(0, σ2EI) and ηψ ∼ N(0, σ2

ψ).The symbol eE represents inclinometer measurement error. The incli-

nometer is a specific force sensor. As such, it is incapable of distinguishingacceleration from gravity. Therefore, eE is a function of the vehicle ac-celeration and is not stationary. During mission execution, due to thedependence of eE on the acceleration, the attitude sensor is not used as anaiding sensor. The inclinometers are useful for initialization of the AUV rolland pitch angles at the start of the mission. During initialization, the AUVthrusters are off. In addition, due to the harbor environment, the currentsare slowly time-varying and the waves are typically not large; therefore, theacceleration vector and eE are small.

The symbol eψ represents non-stationary magnetometer measurementerror. For example, the magnetometer will measure the vector sum of theEarth, AUV, ship, and environmental magnetic fields. Only the Earthmagnetic field is the desired signal. While the AUV magnetic field canbe compensated, the ship and environmental magnetic fields are not pre-dictable and cannot be compensated. During initialization, the AUV is notnear the ship. Therefore, the magnetometer is used to initialize the AUVestimate of its yaw angle. The magnetometer is also used as an aiding sen-sor at the beginning of the mission. When the mission planner commandsthe AUV to drive toward the ship, the mission planner also turns off com-pass aiding. This prevents the ship magnetic field from affecting navigationaccuracy. The measurement model for magnetometer aiding is presentedin Section 12.5.1.

Page 459: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

436 CHAPTER 12. LBL AND DOPPLER AIDED INS

12.2.3 Doppler Velocity Log

The Doppler Velocity Log (DVL) emits encoded pulses from four transduc-ers. The instrument measures the frequency shift of the reflected pulsesto determine the relative velocity between the transducer head and thereflecting surface along each beam direction.

Let bi for i = 1, . . . , 4 denote a unit vector in the effective directionof the i-th transducer head. These directions are known in the platformframe. The i-th Doppler measurement is

yDi =(vp

e + ωptp × lpD

)�bp

i + ηDi (12.16)

where the reflecting surface is assumed to be the stationary sea floor, ηDi∼

N(0, σ2Di

), and lD is the offset vector from the platform frame origin to theDVL transducer head.

The DVL will be used as an aiding sensor. The DVL is expected toprovide observability for the velocity error and the accelerometer biases. Adetailed discussion is presented in Section 12.7. The DVL signal is expectedto be available at 7.0 Hz when the roll and pitch angles are small. Whenthe roll and pitch angles are not small, then some DVL beams may notreflect back to the transducer.

12.2.4 Pressure Sensor

For the range of depths at which the AUV is expected to operate theSaunders-Fofonoff relationship [52] between pressure and depth is essen-tially linear; therefore, the pressure measurement is modeled as

yp = s�(p + Rt

plpp

)+ bp + ηp (12.17)

where s� = [0, 0, sp], sp is a known scale factor, bp is a known bias, lpis the offset from the platform frame origin to the pressure sensor, andηp ∼ N(0, σ2

p).The pressure sensor will be used as an aiding sensor at 10 Hz rate. The

pressure sensor is expected to provide observability of the depth error, thevertical velocity error, and a one dimensional subspace of the accelerometerbiases. The pressure sensor aiding model is discussed in Section 12.5.3.

12.2.5 Long Baseline Transceiver

The acoustic long baseline (LBL) system precisely measures the time-of-flight of soundwaves through water. These time-of-flight measurementsare used to estimate position. The principle of operation is as follows.At time t0, the AUV, which is located at p(t0), initiates the process bybroadcasting an interrogation ping to a set of baseline transponders. The

Page 460: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.2. SENSORS 437

baseline transponders are at known locations pi for i = 1, . . . , 4. Whenthe i-th baseline transponder receives the interrogation ping, it waits afixed time interval Ti = 250i milliseconds, and then emits a response ping.The AUV detects the response ping at time ti. The location of the AUVat time ti is denoted by p(ti). The delay times Ti are unique and largeenough so that the AUV can identify the responding baseline transponderby its known delay time. Figure 12.2 illustrates this operation scenario.

Given the above mode of operation, the transceiver onboard the AUVmeasures the total round trip transit time yLi = ti − t0. This i-th measure-ment is modeled as

yLi =1

c(t0)‖pi − S(t0)‖ +

1c(t1)

‖S(ti) − pi‖ + Ti + ηLi (12.18)

where c(t) is the speed of sound in water at time t, ηLi∼ N(0, σ2

L), andthe AUV transceiver location S(t) and vehicle location p(t) are related by

St(t) = pt(t) + Rtp(t)l

pL.

The vector lL denotes the offset from the platform origin to the AUVtransceiver location. The speed of sound c(t) is assumed to be constantover the region of interest and to be very slowly time varying. The timevariation of c(t) is modeled as

c(t) = c0 + δc(t)

whereδc = −λcδc + ωc (12.19)

where c0 and λc are known positive constants and ωc ∼ N(0, σ2c ).

Delay is inherent in the operation of the LBL system. The measurementmodel of eqn. (12.18) is a function of the state at two distinct times.

�&�+�:,

�+�&,

�)�+�),

Figure 12.2: Physical setup for the long baseline transponder system. Thesymbol S(t0) denotes the AUV transceiver position at the time at which theinterrogation signal is broadcast by the AUV. The symbol S(ti) denotes theAUV transceiver position at the time at which the response signal from thei-th baseline transponder is received by the AUV. The symbol pi denotes thelocation of the i-th baseline transponder.

Page 461: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

438 CHAPTER 12. LBL AND DOPPLER AIDED INS

This delay-state estimation will requires special attention in the residualmodeling.

The LBL interrogation cycle repeats at 0.5 Hz.

12.3 Mechanization and IMU Processing

The purpose of this section is to describe how the IMU outputs will beprocessed to provide the inertial navigation estimate of the vehicle stateand how that estimate will be used to predict the outputs of the aidingsensors.

12.3.1 Mechanization Equations

Given the kinematic equations summarized in eqns. (12.5 –12.7), the iner-tial navigation system will propagate the state estimate through time usingthe equations

˙pt = Rtpv

pe (12.20)

˙vpe = ap −

(Ωp

ie + Ωpip

)vp

e (12.21)

˙θ = Ω−1

E ωptp (12.22)

where ωptp = ωp

ip − ωpit, ap and ωp

ip are defined in Section 12.3.2, and

ωtit = ωie[cos(ˆφ), 0,− sin(ˆφ)]� where ˆφ represents the computed latitude.

The inertial navigation system integrates at the IMU sample rate of 150Hz.

12.3.2 IMU Processing

Given the accelerometer measurements ua and gyro measurements ug, theplatform frame acceleration and angular rate vectors are computed as

ap = ua + gp − ba (12.23)

ωpip = ug − bg (12.24)

where ap = Rpi p

i is the acceleration of the platform relative to the inertialframe represented in the platform frame. The local gravity vector gp iscalculated at the estimated AUV location p. The estimated bias vectorsba and bg are computed by the Kalman filter. They are propagated throughtime according to the mean of eqns. (12.12–12.13):

˙ba = 0 (12.25)˙bg = 0. (12.26)

Page 462: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.4. ERROR STATE DYNAMIC MODEL 439

12.4 Error State Dynamic Model

The state of the system is

x =[pt,vp

e ,θ,ba,bg, c]�

. (12.27)

The state of the inertial navigation system is

x =[pt, vp

e , θ, ba, bg, c]�

. (12.28)

The error state vector is defined as

δx =[δp�, δv�,ρ�, δb�

a , δb�g , δc

]�. (12.29)

Each delta term is defined as the true value minus the computed value (e.g.,δp = pt − pt).

The attitude error is represented by the quantity ρ, which is defined inSection 10.5. The vector ρ represents the tangent plane tilt error. Usingthe vector ρ, the following useful relations between actual and computedrotation matrices can be defined:

Rtp =

(I − [ρ×]

)Rt

p (12.30)

Rpt = Rp

t

(I + [ρ×]

)(12.31)

Rpt = Rp

t

(I − [ρ×]

)(12.32)

Rtp =

(I + [ρ×]

)Rt

p. (12.33)

Each is accurate to first order.

12.4.1 Position Error Model

The position error dynamic model is defined by subtracting eqn. (12.20)from eqn. (12.5) and linearizing:

δp = p − ˙p= Rt

pvpe − Rt

pvpe

= (I + [ρ×]) Rtp (vp

e + δv) − Rtpv

pe

= Rtpδv − [vt

e×]ρ (12.34)

where the last equality is valid to first order.

Page 463: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

440 CHAPTER 12. LBL AND DOPPLER AIDED INS

12.4.2 Velocity Error Model

The velocity error dynamic model is defined by subtracting eqn. (12.21)from eqn. (12.6) and linearizing:

δv = vpe − ˙vp

e

= ap − (Ωp

ie + Ωpip

)vp

e

−(ap − gp + ba + ηa + gp − ba

)+(Ωp

ie + Ωpip

)vp

e

=(Ωp

ie + Ωpip

)vp

e − (Ωp

ie + Ωpip

)(vp

e + δv)

+Rpt (I − [ρ×])gt − Rp

t gt − δba − ηa

=(Ωp

ip − Ωpip

)vp

e +(Ωp

ie − Ωpie

)vp

e − (Ωp

ie + Ωpip

)δv

+Rpt

(gt − gt

)− Rpt [ρ×]gt − δba − ηa

= Rpt δg

t − (Ωp

ie + Ωpip

)δv − Rp

t [ρ×]gt

+Rpt Ω

tieR

tpv

pe − Rp

t (I − [ρ×])(Ωt

ie + δΩtie

)(I + [ρ×]))Rt

pvpe

+(Ωp

ip − Ωpip

)vp

e − δba − ηa

= Rpt

∂gt

∂p

∣∣∣∣p

δp −(Ωp

ie + Ωpip

)δv + Rp

t [gt×]ρ

−Rpt δΩ

tiev

te + Rp

t [ρ×]Ωtiev

te − Rp

t Ωtie[ρ×]vt

e

−δba − [vpe×]δbg − ηa − [vp

e×]ηg (12.35)

= Rpt

(∂gt

∂p+ [vt

e×]∂ωt

ie

∂p

)∣∣∣∣p

δp −(Ωp

ie + Ωpip

)δv

+Rpt

([gt×] + ωt

ie

(vt

e

)� − (ωt

ie

)�vt

eI)

ρ

−δba − [vpe×]δbg − ηa − [vp

e×]ηg (12.36)

where second order terms have been dropped. Eqn. (B.19) has been usedto simplify the last two terms that appear in the second row of eqn. (12.35),

ξ = ρ × (ωt

ie × vte

)− ωtie ×

(ρ × vt

e

),

as follows:

ξ =[(

ρ�vte

)ωt

ie −(ρ�ωt

ie

)vt

e

]− [((ωt

ie

)�vt

e

)ρ −

((ωt

ie

)�ρ)vt

e

]=

[((vt

e

)�ρ)

ωtie −

((ωt

ie

)�ρ)vt

e

]−[((

ωtie

)�vt

e

)ρ −

((ωt

ie

)�ρ)vt

e

]= ωt

ie

((vt

e

)�ρ)−((

ωtie

)�vt

e

Page 464: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.4. ERROR STATE DYNAMIC MODEL 441

=(ωt

ie

(vt

e

)� − (ωt

ie

)�vt

eI)

ρ.

The simplified expression appears as the last two terms in the second rowof eqn. (12.36).

12.4.3 Attitude Error Model

A dynamic model for the attitude error between the body and geographicframes is derived in Sections 10.5.2 and 11.4.2. This section uses an alter-native derivation approach [113] to find the dynamic model for the attitudeerror between the platform and tangent frames.

The derivative of the actual and computed rotation matrices are

Rtp = Rt

pΩptp and ˙Rt

p = RtpΩ

ptp.

Therefore, the derivative of δRtp = Rt

p − Rtp is

δRtp = Rt

p − ˙Rtp

= (I + [ρ×]) RtpΩ

ptp − Rt

pΩptp

δRtp = Rt

p

(Ωp

tp − Ωptp

)+ [ρ×]Rt

pΩptp. (12.37)

Using eqn. (12.33) the error matrix δRtp = Rt

p − Rtp satisfies

δRtp = [ρ×]Rt

p. (12.38)

A second equations for δRtp can be found by differentiation of eqn. (12.38):

δRtp = [ρ×]Rt

p + [ρ×]RtpΩ

ptp. (12.39)

Combining eqns. (12.37) and (12.39) and solving for [ρ×], we have

[ρ×]Rtp = −[ρ×]Rt

pΩptp + Rt

p

(Ωp

tp − Ωptp

)+ [ρ×]Rt

pΩptp

[ρ×] = −[ρ×]Ωttp + Rt

p

(Ωp

tp − Ωptp

)Rp

t + [ρ×]RtpΩ

ptpR

pt

= Rtp

(δΩp

ip − δΩpit

)Rp

t (12.40)

where second order terms have been dropped and eqn. (2.23) has been used.In vector form (using eqns. (2.23) and (B.15)), the equivalent equation is

ρ = Rtp

(δωp

ip − δωpit

)(12.41)

which is analogous to eqn. (11.71).

Page 465: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

442 CHAPTER 12. LBL AND DOPPLER AIDED INS

The gyro instrumentation error δωpip model is

δωpip = −δbg − ηg. (12.42)

Eqn. (12.8) defines ωtit. An expression for δωp

it can be derived as follows:

ωpit = Rp

t ωtit

ωpit + δωp

it = Rpt (I − [ρ×])

(ωt

it + δωtit

)δωp

it = Rpt δω

tit + Rp

t Ωt

itρ (12.43)

to first order. By linearization of eqn. (12.8),

δωtit = −ωie

⎡⎣ sin(φ)

0cos(φ)

⎤⎦ ∂φ

∂pδp. (12.44)

Combining eqns. (12.41), (12.42), and (12.43), we obtain

ρ = −Ωt

itρ − δωtit − Rt

pδbg − Rtpηg. (12.45)

12.4.4 Calibration Parameter Error Models

The previous discussion of this chapter has introduced three instrumentcalibration parameters: the accelerometer bias ba, the gyro bias bg, andspeed of sound in water c. Each of these is modeled as a random constantplus a random walk; therefore, the dynamic models for the error in thesecalibration parameters are

δba = ωa (12.46)δbg = ωg (12.47)

δc = −λcδc + ωc. (12.48)

The characteristics of the driving noise terms ωa and ωg are defined inSection 12.2.1 while λc and ωc are discussed in Section 12.2.5.

12.4.5 Error Model Summary

Based on the derivations of the above sections, the dynamic error model is

δx = Fδx + Gω (12.49)

where

F =

⎡⎢⎢⎢⎢⎢⎢⎢⎣

0 Rtp −[vt

e×] 0 0 0

Fvp −(Ωp

ie + Ωpip

)Fvρ −I −[vp

e×] 0

Fρp 0 −Ωtit 0 −Rt

p 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 −λc

⎤⎥⎥⎥⎥⎥⎥⎥⎦

Page 466: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.5. AIDING MEASUREMENT MODELS 443

G =

⎡⎢⎢⎢⎢⎢⎢⎣

0 0 0 0 0−I −[vp

e×] 0 0 00 −Rt

p 0 0 00 0 I 0 00 0 0 I 00 0 0 0 1

⎤⎥⎥⎥⎥⎥⎥⎦

ω =[

ηa ηg ωa ωg ωc

]�,

where

Fvp = Rpt

(∂gt

∂p+ [vt

e×]∂ωt

ie

∂p

)∣∣∣∣p

,

Fvρ = Rpt

([gt×] + ωt

ie

(vt

e

)� − (ωt

ie

)�vt

eI)

,

Fρp = ωie

⎡⎣ sin(φ)

0cos(φ)

⎤⎦ ∂φ

∂p.

The matrix Fvp is small, but the vertical term due to gravity is destabi-lizing. See Section 11.5.1.1. In this application, the unstable vertical errordynamics are stabilized by the depth sensor aiding. Matrix Fρp is derivedfrom eqn. (12.44).

In the subsequent analysis, due to their small size, Fρp, the last twoterms in Fvρ, and ∂ωt

ie

∂p will be approximated as zero. It should also benoted that ωie = ωit because ωte = 0.

12.5 Aiding Measurement Models

Each of the following subsections presents the model used to predict thevalue of an aiding measurement and derives the measurement model usedin the Kalman filter error estimation approach.

12.5.1 Attitude and Yaw Prediction

The attitude sensor is only used for initializing the roll and pitch estimates:[φ(0)θ(0)

]= yE(0). (12.50)

The yaw angle is initialized based on the output of the magnetometer as

ψ(0) = yψ(0). (12.51)

Page 467: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

444 CHAPTER 12. LBL AND DOPPLER AIDED INS

Given θ(0) = [φ(0), θ(0), ψ(0)]�, the initial rotation matrix Rpt can be com-

puted according to the definition preceding eqn. (2.43). Let var(θ(0)) =PE = diag([σ2

E , σ2E , σ2

ψ]) where σE was defined in Section 12.2.2. Then,

var(δρ(0)) = Pρ = ΩT PEΩ�T

where ΩT is defined in eqn. (2.80).After initialization is complete, the magnetometer is used as an aiding

signal until deactivated by the mission planner. As an aiding signal, themagnetometer output is predicted to be

yψ = ψ. (12.52)

Because δθ = Ω−1T δρ and δψ is the third element of δθ, the magnetometer

error model isδyψ = sψΩ−1

T δρ + ηψ (12.53)

where sψ = [0, 0, 1]. Therefore,

hψ =[

0 0 sψΩ−1T 0 0 0

](12.54)

where 0 = [0, 0, 0]. The measurement variance is

Rψ = σ2ψ. (12.55)

12.5.2 Doppler Prediction

Based on the model of Section 12.2.3, the i-th Doppler measurement ispredicted to be

yDi=(vp

e + ωptp × lpD

)�bp

i . (12.56)

Assuming that lpD and bpi are exactly known, the residual Doppler mea-

surement for the i-th beam is

δyDi = (bpi )

� (δv + [lpD×]δbg + [lpD×]ηg) + ηDi . (12.57)

Therefore,

hDi=[

0 (bpi )

� 0 0 (bpi )

� [lpD×] 0]

(12.58)

and the measurement variance is

RDi= (bp

i )� [lpD×]σ2

gI[lpD×]� (bp

i ) + σ2Di

=(‖lD‖2‖bi‖2 − |l�Dbi|2

)σ2

g + σ2Di

. (12.59)

The variance RDiis positive. The noise on the measurement δyDi

is cor-related to the process noise because the quantity ηg appears in both ex-pressions. Due to the fact that

(‖lD‖2‖bi‖2 − |l�Dbi|2)σ2

g is significantlysmaller than σ2

Di, this correlation is ignored in the Kalman filter imple-

mentation. Methods for dealing with correlation between the process andmeasurement noise are discussed in for example, [96].

Page 468: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.5. AIDING MEASUREMENT MODELS 445

12.5.3 Depth Prediction

Given the model of the pressure measurement from eqn. (12.17), the pres-sure measurement is predicted according to

yp = s�(p + Rt

plpp

)+ bp. (12.60)

Therefore, the pressure measurement residual is

δyp = s�δp − s�[ltp×]δρ + ηp (12.61)

where ltp = Rtpl

pp. This yields the measurement model

hp =[

s� 0 −s�[ltp×] 0 0 0]

(12.62)

and the measurement variance is

Rp = σ2p. (12.63)

12.5.4 LBL Prediction

Given the model from eqn. (12.18) and the measured value of ti, the LBLmeasurement is predicted to be

yLi=

1c(t0)

‖pi − S(t0)‖ +1

c(t1)‖S(ti) − pi‖ + Ti (12.64)

where the estimated AUV transceiver location S(t) and estimated vehiclelocation p(t) in tangent frame are related by

St(t) = pt(t) + Rtp(t)l

pL.

Let

di(t) =1

c(t)‖pi − S(t)‖ (12.65)

di(t) =1

c(t)‖pi − S(t)‖ (12.66)

where c(t) = c0 + δc(t) and c(t) = c0 + δc(t). The first order Taylor’s seriesexpansion for di is

di(t) = di(t) + Di(t)δx(t)where Di(t) = ∂di

∂x

∣∣x=x(t)

. With this notation, the i-th LBL residual is

δyLi= yLi

− yLi

=(di(t0) + di(ti) + Ti + ηLi

)−(di(t0) + di(ti) + Ti

)=

(di(t0) − di(t0)

)+(di(ti) − di(ti)

)+ ηLi

= Di(t0)δx(t0) + Di(ti)δx(ti) + ηLi

=(Di(t0)Φ(t0, ti) + Di(ti)

)δx(ti) + ηLi

(12.67)

Page 469: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

446 CHAPTER 12. LBL AND DOPPLER AIDED INS

where Φ(t0, ti) represents the state transmission matrix from time ti totime t0 (i.e., backward in time). Computation of Φ(ti, t0) is discussed inSection 12.6.3. From eqn. (12.67), the LBL output measurement matrix is

hLi = [Di(t0)Φ(t0, ti) + Di(ti)] (12.68)

and the measurement variance is

RLi= σ2

L. (12.69)

The row vector Di(t) is defined as

Di(t) =[

∂di

∂p

∣∣∣x(t)

0 ∂di

∂ρ

∣∣∣x(t)

0 0 ∂di

∂c

∣∣x(t)

]

where

∂di

∂p

∣∣∣∣x(t)

= − 1c(t)

(pi − S(t)

)�

∥∥∥pi − S(t)∥∥∥

∂di

∂ρ

∣∣∣∣x(t)

=1

c(t)

(pi − S(t)

)�

∥∥∥pi − S(t)∥∥∥ [ltL×]

∂di

∂c

∣∣∣∣x(t)

= − 1c2(t)

∥∥∥pi − S(t)∥∥∥

and ltL = Rtpl

pL.

12.6 EKF Sensor Integration

The KF implementation is slightly more complicated than typical in thisapplication due to the delayed-state issues involved in the LBL sensor.

Consider the time axis as depicted in Figure 12.3. The portion of thetime axis t ∈ [t0, t4] is indicated by a wide line. During this time, the LBLsystem has emitted an interrogation signal and is waiting for the repliesfrom the baseline transponders. While waiting, other sensor measurementsmay become available. Figure 12.3 indicates availability of a magnetometermeasurement at tψ, LBL measurements at ti for i = 1, . . . , 4, and a Dopplermeasurement at tD. Figure 12.3 also indicates a pressure measurementarriving at time tp which is outside the interrogation interval. The figure issignificantly simplified because Doppler measurements for each beam arriveat 7 Hz and pressure measurements arrive at 10 Hz; therefore, because(t4−t0) > 1s each LBL interrogation time interval would contain at least 17

Page 470: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.6. EKF SENSOR INTEGRATION 447

�:!��!!!!!!!!!!�&!!!!!!!�)!!!!!!�-!!!�@!!!�<!!!!!!!!��

��!!!!!!!!�:!��!!!!!!!!!!�&!!!!!!!�)!!!!!!�-!!!�@!!!�<

Figure 12.3: Possible sequence of measurements.

additional measurements. Nevertheless, the subsequent discussion relativeto Figure 12.3 will clarify the overall measurement processing approach.

At time t0, when the AUV emits the interrogation signal, a flag is setand the state vector x(t0) is saved for prediction of the LBL measurements.While the flag is set, the navigation state is not corrected by the estimateerror state vector; instead, the error state is accumulated over the interro-gation interval. At time t4 when either all four of the return signals havebeen received or have timed out, the flag is reset. While the flag is reset,the navigation state is corrected by the estimated error state vector as soonas it becomes available.

Section 12.6.1 will discuss measurement processing during the interro-gation period (i.e., the flag is set). Section 12.6.2 will discuss measurementprocessing outside the interrogation period (i.e., the flag is reset). Sections12.6.1 and 12.6.2 will not specifically discuss the time propagation of theerror covariance matrix P. Instead, those sections will assume that P canbe computed at any time of interest. Propagation of P through time willbe discussed in Section 12.6.3.

12.6.1 Measurement Updates for t ∈ [t0, t4]

For a measurement that occurs during the LBL interrogation interval t ∈[t0, t4], the estimated state error vector δx will be accumulated. Not un-til time t4 will the navigation state vector x be corrected by δx. We willconsider the corrections at times tψ, t1, . . . , t4, and tD to illustrate the pro-cess. During this time interval, the navigation state vector x(t) is availableat any time of interest because the INS is integrating eqns. (12.20–12.22)based on the IMU data.

At the beginning of the interrogation interval, it will always be thecase that δx+(t0). The reason that this is true will be made clear at theconclusion of Section 12.6.2.

At time tψ, the available information is x(tψ), δx+(t0) = 0, and P−(tψ).The fact that δx+(t0) = 0 implies that

δx−(tψ) = Φ(tψ, t0)δx+(t0) = 0.

Page 471: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

448 CHAPTER 12. LBL AND DOPPLER AIDED INS

Using yψ(tψ) the correction valid at tψ is computed as

K(tψ) = P−(tψ)hψ(tψ)(hψ(tψ)P−(tψ)hψ(tψ)� + Rψ

)−1

δx+(tψ) = K(tψ)δyψ(tψ) (12.70)P+(tψ) = P−(tψ) − K(tψ)hψ(tψ)P−(tψ).

Eqn. (12.70) deserves additional discussion. The standard EKF updateequation for this measurement is

δx+(tψ) = δx−(tψ) + K(tψ)(δyψ(tψ) − hψ(tψ)δx−(tψ)

). (12.71)

Eqn. (12.71) reduces to eqn. (12.70) because δx−(tψ) = 0.At time t1, the available information is δx+(tψ), x(t1), and P+(tψ).

Eqn. (12.75) with τ1 = tψ and τ2 = t1 computes P−(t1) and suppliesΦ(t1, tψ). The state error estimate is propagated as

δx−(t1) = Φ(t1, tψ)δx+(tψ).

Using yL1 the correction valid at t1 is computed as

K(t1) = P−(t1)hL1(t1)(hL1(t1)P

−(t1)hL1(t1)� + RL1

)−1

δx+(t1) = δx−(t1) + K(t1)(δyL1(t1) − hL1(t1)δx

−(t1))

(12.72)P+(t1) = P−(t1) − K(t1)hL1(t1)P

−(t1).

Similar processes are repeated to produce δx+(t2), δx+(tD), δx+(t3), andδx+(t4).

At time t4, the flag is reset and the navigation state will be corrected1

x+(t) = x−(t) + δx+(t) (12.73)

with t = t4. From the initial condition x+(t4), eqns. (12.20–12.22) are inte-grated over the time interval until another measurement becomes available.For the example of Figure 12.3, the time interval is t ∈ [t4, tp).

Because the navigation state vector x+(t4) has been corrected usingδx+(t4), the expected value of the state error vector is now zero; therefore,δx+(t4) is assigned the value zero:

δx+(t4).= 0.

12.6.2 Measurement Updates for t �∈ [t0, t4]

For a measurement that does not occur during the LBL interrogation inter-val, such as tp in Figure 12.3, the standard EKF time update occurs. Prior

1This equation is applied as written for all states except those related to θ and ρ.The use of ρ to correct θ is discussed in eqn. (10.67).

Page 472: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.7. OBSERVABILITY 449

to the measurement, the available information is δx−(tp) = 0, x−(tp), andP−(tp). When yp is available, the correction is computed as

K(tp) = P−(tp)hp(tp)/(hp(tp)P−(tp)hp(tp)� + Rp

)δx+(tp) = K(tp)δyp(tp) (12.74)P+(tp) = P−(tp) − K(tp)hp(tp)P−(tp)

where eqn. (12.74) has been simplified in the same manner as discussedrelative to eqn. (12.71).

Given δx+(tp), the navigation state vector is corrected as described ineqn. (12.73) with t = tp. From the initial condition x+(tp), eqns. (12.20–12.22) are integrated until another measurement arrives.

Because the navigation state vector x+(tp) has been corrected for theestimated state error δx+(tp), the expected value of the state error vectoris now zero; therefore, δx+(tp) is assigned the value zero:

δx+(tp).= 0.

12.6.3 Covariance Propagation

Given any two times τ1 and τ2 with T = τ2−τ1 positive and small relative tothe bandwidth of the vehicle and P(τ1) being known, the error covarianceat τ2 can be computed as

P(τ2) = Φ(τ2, τ1)P(τ1)Φ�(τ2, τ1) + Qd(τ2, τ1). (12.75)

In this equation, Φ(τ2, τ1) and Qd(τ2, τ1) are computed using the methodof Section 4.7.2.1. By this approach, Υ is computed as

Υ = exp

([ −F(t0) G(t0)QG�(t0)0 F�(t0)

]T

)(12.76)

for some t0 ∈ [τ1, τ2] where Φ(τ2, τ1) and Qd(τ2, τ1) are calculated as

Φ(τ2, τ1) = Υ[(n + 1 : 2n), (n + 1) : 2n]� (12.77)Qd(τ2, τ1) = Φ(t0, tp)Υ[(1 : n), (n + 1) : 2n] (12.78)

where Υ[(i : j), (k : l)] denotes the the sub-matrix of Υ composed of the ithrough j-th rows and k through l-th columns of matrix Υ.

12.7 Observability

This section analyzes the observability of the error state under variousoperating conditions. The analysis makes two simplifying assumptions.

Page 473: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

450 CHAPTER 12. LBL AND DOPPLER AIDED INS

Sensors vpe m/s ωp

ip rad/s rank(O), L = 0 rank(O)

LBL [0, 0, 0] [0, 0, 0] 9 11

LBL, p [0, 0, 0] [0, 0, 0] 12 12

LBL, p, DVL [0, 0, 0] [0, 0, 0] 12 13

LBL [1, 0, 0] [0, 0, 0] 9 12

LBL, p [1, 0, 0] [0, 0, 0] 12 13

LBL, p, DVL [1, 0, 0] [0, 0, 0] 15 15

LBL [1, 0, 0] [0, 0, 0.1] 9 12

LBL, p [1, 0, 0] [0, 0, 0.1] 12 14

LBL, p, DVL [1, 0, 0] [0, 0, 0.1] 15 15

LBL [0, 0, 0] [0, 0, 0.1] 9 11

LBL, p [0, 0, 0] [0, 0, 0.1] 12 12

LBL, p, DVL [0, 0, 0] [0, 0, 0.1] 12 13

Table 12.2: Rank of the observability matrix for various sensor combinationsand operating conditions. The column marked with L = 0 indicates that allsensor offset vectors have been set to zero. For full observability, the rank mustbe 16.

First, the stated operating conditions for each scenario are assumed to bestatic. Second, each set of measurements that is considered is assumedto occur simultaneously. This second assumption holds in the sense thata vector Kalman filter correction is assumed. For the model of the LBLcorrections, the computation of the hL matrix still accounts for differenttravel times and baseline transponder delay times Ti.

The structure of the F matrix shows that the observability may dependon the tangent plane velocity vector, the body frame velocity vector, andangular rate vector. The observability will also depend on the set of sensorsthat is considered.

The structure of the measurement matrix hLiindicates that the ob-

servability from the LBL sensor may also depend on the position of theAUV relative to the baseline transponders. In fact, given that the baselinetransponders are setup on the corners of a rectangle, the placement of theAUV relative to the baseline transponders does not affect the rank of theobservability matrix, although it does affect the structure of the unobserv-able subspace.

For various operating conditions and aiding sensor combinations, therank of the observability matrix is summarized in Table 12.2. The first

Page 474: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.7. OBSERVABILITY 451

column shows which sensor combination is being used. The second andthird columns show the operating condition. The fourth column showsthe rank of the observability matrix O with all the offsets lL, lp, andlD set to zero, for the stated sensor combination and operating condi-tion. The fifth column shows the rank of the observability matrix O withthe offsets lL = [1.000; 0.000;−0.200]�, lp = [−0.457; 0.000;−0.070]�, andlD = [0.000; 0.000; 0.159]�, for the stated sensor combination and operatingcondition.

From the table it is clear that the nonzero offset vectors increase therank of the observability matrix. In fact, the situation where all the offsetvectors are zero is not physically implementable, because the sensors cannotall be at the center of gravity of the vehicle. However, the structure of theunobservable subspace is easier to discuss with the offset vectors set to zero,which is the case for the discussion through the remainder of this section.

When vpe = [1, 0, 0]� and ωp

ip = 0, and LBL, DVL, and pressure aidingare used, the basis vector for the unobservable space is aV2 where

V2 =[

0 0 0 0 0 0 1g 0 0 0 1 0 0 0 0 0

].

and g represents the magnitude of the gravity vector. The vertical lineshave been added to clearly indicate the subvectors of V2. This subspaceindicates that for the stated sensor combination and operating condition,the system cannot discriminate between one milli-radian of roll error andone milli-g of lateral accelerometer bias error. This same unobservablespace applies to the other two scenarios indicated in Table 12.2 to havea 15 dimensional observable subspace. Each of the scenarios indicated inTable 12.2 operates with ψ = 0.

When ψ = π2 , the tangent frame velocity changes. The rank of the

observability matrix remains the same in each of the evaluated scenarios,but the unobservable subspace changes to aV2 where

V2 =[

0 0 0 0 0 0 0 1g 0 0 1 0 0 0 0 0

].

This subspace indicates that for the stated sensor combination and oper-ating condition, the system cannot discriminate between one milli-radianof pitch error and one milli-g of lateral accelerometer bias error. This in-ability to distinguish pitch error from lateral accelerometer bias appearscounterintuitive, but is due to the rotation of the body frame velocity intothe tangent frame to compute the position, as shown in eqn. (12.34).

Even though the lateral acceleration bias is in both subspace, all threevariables (roll error, pitch error, and lateral acceleration bias) can be ob-served (i.e., estimated) over time intervals when the yaw angle is not con-stant. This statement is demonstrated in the covariance analysis containedin Figure 12.5.

Page 475: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

452 CHAPTER 12. LBL AND DOPPLER AIDED INS

()? (): (&? (&: (? : ?():

(&?

(&:

(?

:

?

&:

&?

):�����("��!��������

"��

�����

���2C2!������������

��A3

Figure 12.4: AUV trajectory (dashed), estimated trajectory (solid), and LBL-only position estimates.

12.8 Simulation Performance

This section considers the system performance in simulation. The simula-tion analysis is useful as both the actual and estimated states are known.Therefore, the estimation error can be directly observed.

Figure 12.4 shows the vehicle position as a function of time in the tan-gent plane (dashed line), the estimated vehicle position (solid line), and theLBL computed positions (x’s). The sharp corners along the trajectory areachieved by commanding the forward speed u to zero at each corner whilethe yaw angle ψ changes by 90◦. Detailed analysis of data not includedherein shows the following. After approximately one minute of operation,the north and east position error standard deviations as predicted by theP matrix remain less that 0.15 m while the depth error standard devia-tion remains less that 0.01 m. The peak errors in the position errors, ascomputed by subtracting the estimated position from the true position, areon the order of [0.2, 0.4, 0.01]�m. Further analysis of the simulation datayields the performance indicators shown in Table 12.3.

Figure 12.5 shows the accelerometer bias ba (solid line) and its esti-mate ba (dots) during the first 20s of the simulation. Also shown arethe ±σ, ±2σ, and ±3σ curves, where σ represents the square root of the

Page 476: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

12.8. SIMULATION PERFORMANCE 453

: ? &: &? ):

(:*:?

:

:*:?

:*&)� �*!���!�7!$F�

5���!���"���$���!���

&�

)�

@�

: ? &: &? ):

(:*:?

:

:*:?)� �*!���!�7!$F�

: ? &: &? ):

(:*)?

(:*)

(:*&?

(:*&

(:*:?

:)� �*!���!87!$F�

5�$�+�� ,

Figure 12.5: Accelerometer bias plots, ba. Actual bias (solid); estimated bias(dotted); and ±σ, ±2σ, and ±3σ plots.

appropriate diagonal element of the P matrix. At the end of the simu-lation (t = 265s), the vector of accelerometer bias standard deviations is[0.002, 0.002, 0.001]�m/s2. The standard deviation curves in Figure 12.5are a covariance analysis demonstrating that the observability conclusionsof Section 12.7 are valid.

Figure 12.6 shows the gyro bias bg (solid line) and its estimate bg (dots)during the first 20s of the simulation. Also shown are the ±σ, ±2σ, and±3σ curves, where σ represents the square root of the appropriate diagonalelement of the P matrix. At the end of the simulation (t = 265s), thevector of gyro bias standard deviations is [0.7, 0.7, 1.5]� × 10−3deg/s.

The navigation system is operational on an AUV being used in researchrelated to ship hull inspection. For the in-water data, the actual vehiclestate is not known; therefore, the main data useful for analyzing the per-formance are the measurement residuals. In-water data is presented andanalyzed in [97, 98].

Page 477: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

454 CHAPTER 12. LBL AND DOPPLER AIDED INS

: ? &: &?

()

:

)

��!����!���7!���

5���!���

"���$���!���

&�

)�

@�

: ? &: &?

()

:

)

��� �!����!���7!���

: ? &: &?

(?

:

?

/8!����!���7!���

5�$�!+�� ,

Figure 12.6: Gyro bias plots, bg. Actual bias (solid); estimated bias (dotted);and ±σ, ±2σ, and ±3σ plots.

u, 10−2 ms v, 10−3 m

s w, 10−2 ms ρN ρE ρD

√P 1.2 1.2 0.7 0.02◦ 0.02◦ 0.22◦

Peak 3.0 3.0 1.0 0.01◦ 0.10◦ 0.25◦

Table 12.3: Velocity and attitude metrics from the simulation of Section 12.8.

Page 478: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Appendix A

Notation

This appendix summarizes the notation and constants used throughout thisbook. It is provided for the convenience of the reader as a reference.

A.1 Notation

Table A.1 summarizes the notational conventions that are used throughoutthis book. A non-bold face symbol denotes a scalar quantity. A bold facesymbol denotes either a vector (typically lower case) or a matrix (typicallyupper case). In many parts of this book, it is important to make the dis-tinction between a true value, a calculated or estimated value, or a measuredvalue. As shown in Table A.1, the true value has no additional mark; thecalculated value has a ‘hat’ on it; and, the measured value has a ‘tilde’above it. Further, the error between the true value and the estimated valuecan be defined in two different ways. In this book, the error is defined asthe true value minus the estimated value. The error quantity is indicatedwith a δ, for example δx = x − x.

x non-bold face variables denote scalarsx boldface denotes vector or matrix quantitiesx denotes the true value of xx denotes the calculated value of xx denotes the measured value of xδx denotes the error x − xRb

a denotes the transformation matrix from reference frames a to bxa denotes vector x represented with respect to frame a

Table A.1: Notational conventions.

455

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 479: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

456 APPENDIX A. NOTATION

Chapter 2 introduces several different reference frames. Vector quanti-ties are transformed between these different frames using rotational trans-formations which can be represented as matrices. The notation Rb

a denotesthe transformation matrix from reference frame a to reference frame b.When a vector is being “coordinatized” in frame a, the notation xa is used.All of the symbols representing the different reference frames are listed inTable A.2. As an example, using the notation defined in the Tables A.1 andA.2, the actual rotational matrix to transform a vector from body coordi-nates to tangent plane coordinates would be denoted Rt

b. The calculaterotational transformation for a vector from body coordinates to tangentplane coordinates would be denoted Rt

b.

a accelerometer frame (non-orthogonal)b body framee ECEF frameg gyro frame (non-orthogonal) or geographici inertial framen navigation frame (typically geographic)p platform framet tangent plane frame

Table A.2: Reference frame symbol definitions.

The text is concerned with estimating the state of a vehicle which evolvesas a function of the continuous-time variable t. The estimation routinesare implemented in discrete-time on digital computers. In addition, theestimation algorithm incorporates information from sensors that providereadings at discrete-time instants. Therefore, the estimates will evolve onthe computer using a discrete-time increment T . The discrete-time incre-ments are denoted tk = kT for positive, integer values of k. Therefore,x(tk) = x(t)|t=kT . Often, as a further shorthand, the notation xk will beused instead of x(tk). When the measurements do not occur with a fixedsample period T (i.e., asynchronous measurements), the symbol yk simplymeans the k-th measurement which will have occurred at time tk.

When considering state estimation, we are often concerned with spec-ifying the state variables either just before or after a measurement thatoccurred at time tk. We denote the value of the variable just prior to themeasurement as x−

k and the value of the variable just after the measurementas x+

k .

Page 480: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

A.2. USEFUL CONSTANTS 457

A.2 Useful Constants

Table A.3 presents various constants useful in navigation system design andanalysis. The precision on several of the presented variables is critical tosystem performance. For example, the precision presented for π is thatspecified for the GPS system in the interface communication document [6].Due to the radius of the satellite orbits, satellite position calculations aresensitive to this value.

Symbol Value Units Description

π 3.1415926535898 pi

ωie 7.2921151467 × 10−5 rad/s Earth rotation rate

μ 3.986005 × 1014 m3

s2Univ. grav. constant

c 2.99792458 × 108 ms Speed of light

F −4.442807633 × 10−10 s√m

a 6378137.0 m Earth semi-major axis

b 6356752.3 m Earth semi-minor axis

f1 1575.42 M Hz L1 carrier frequency

f2 1227.60 M Hz L2 carrier frequency

λ1c

f1≈ 19.0 cm L1 wavelength

λ2c

f2≈ 24.4 cm L2 wavelength

λwc

f1−f2≈ 86.2 cm wide lane wavelength

λnc

f1+f2≈ 10.7 cm narrow lane wavelength

Table A.3: Important constants related to GPS and the WGS-84 world geode-tic system.

A.3 Acronyms

The acronyms used in the text should be defined at their first usage whichshould be listed in the index.

Page 481: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

458 APPENDIX A. NOTATION

A.4 Other Notation

The text uses two different inverse tangent functions: arctan2(y, x) andarctan(y, x) = arctan

(yx

). The function arctan(y, x) is a two-quadrant

inverse tangent that returns the value of θ ∈ [−π2 , π

2 ] such that tan(θ) = yx .

The function arctan2(y, x) is a four-quadrant inverse tangent that returnsthe value of θ ∈ (−π, π] such that θ is the angle of the vector [x, y]� withrespect to the positive x-axis and tan(θ) = y

x .At a few locations in the book, where implementations are discussed,

the symbol .= will be used instead of =. Using this notation, the equationx

.= 3 should be read as “x is assigned the value 3.”

Page 482: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Appendix B

Linear Algebra Review

This appendix serves two purposes. First, it reviews basic linear algebraconcepts. Second, it organizes in one place, for convenient reference, variousresults from linear algebra that will be used at various places in the mainbody of the text. Throughout this appendix, unless otherwise stated, thesymbols i, j, and k are integers. The notation i ∈ [1, n] is equivalent toi = 1, . . . , n.

B.1 Definitions

A matrix A ∈ Rn×m is a tabular arrangement of real numbers with n rows

and m columns. An example for n = 2 and m = 3 is

A =[

0.20 0.00 −3.14−1.71 0.00 2.00

].

Sometimes it is necessary to name the elements of a matrix individually. Inthis case, we state that A = [ai,j ] for i = [1, n] and j = [1,m]. For examplein the above example, a2,3 = 2.00. For matrices A and B ∈ R

n×m, thenotation A = B means that ai,j = bi,j for all i ∈ [1, n] and j ∈ [1,m]. Thenull matrix Zn×m = 0 ∈ R

n×m has zi,j = 0 for all i ∈ [1, n] and j ∈ [1,m].The identity matrix A = In ∈ R

n×n has

ai,j ={

1 for i = j0 otherwise.

For example, I2 =[

1 00 1

]. Normally the subscripts on I, Z, and 0 will

be dropped, because the dimensions can be determined directly based onthe context.

459

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 483: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

460 APPENDIX B. LINEAR ALGEBRA REVIEW

When a matrix has the same number of rows and columns (i.e., n = m),the matrix is said to be square. The elements ai,i for are referred to asthe diagonal elements of A (i.e., diag(A) = [a11, . . . , an,n]�. A squarematrix A is called diagonal when aij = 0 for i �= j. The notation A =diag([a1, . . . , an]) will be used to state that A is a diagonal n×n matrix withmain diagonal elements specified by the vector [a1, . . . , an]. The identitymatrix is an example of a diagonal matrix. A square matrix A is symmetricif and only if it is square and aij = aji for all i, j ∈ [1, n]. A square matrixA is skew-symmetric if and only if aij = −aji for all i, j ∈ [1, n]. Thisimplies that a skew-symmetric matrix has diagonal elements all equal tozero. Skew symmetric matrices are useful for representing the cross productas a matrix operation, see eqn. (B.14).

There are various special classes of matrices. One type of matrix is apermutation matrix. A matrix P is a permutation matrix when each rowand column of P contains exactly one 1 and all other elements of P are 0.

The term vector can have both physical and algebraic meanings. Forexample, the line segment from point P1 to point P2 can be representedas the vector d = P2 − P1. Note that this vector is well-defined withoutany discussion of reference frames. Also, the velocity vector v of a pointhas well-defined physical interpretation. The velocity vector points in thedirection of travel and has magnitude equal to the speed of the point. If aframe-of-reference is specified, then either d or v can be represented alge-braically as a special matrix that only has one column. When representedwith respect to a specific reference frame, the i-th element of a vector v isthe projection of v onto the i-th coordinate axis of the reference frame.

Alternatively, for convenience, data or variables are sometimes orga-nized into a column matrix (or vector) without the vector having a clearphysical interpretation with respect to any single frame of reference. Anexample of this is the vector of Euler angles and the vector of Euler anglederivatives discussed in Section 2.7.21.

When we want to refer to the component in the i-th row of the vectorv, we use the notation vi instead of vi,1. Throughout the majority of thistext all vectors will be represented as column vectors. The only time that

1The following are formal definitions for scalars and vectors [90]:

Scalars are quantities that are invariant under coordinate transformation (e.g., mass);

Vectors are sets of quantities which if organized as v = [v1, v2, v3]� transform betweencoordinate frames according to vb = Rb

ava where Rb

a is a rotation matrix andthe superscript on v indicates the frame in which it is represented.

This strict definition of vectors is required to distinguish which items arranged as [a, b, c]�can be transformed between coordinate systems via vector transformation operations(i.e., rotations). Some quantities although convenient to organize in a vector-like nota-tion, are not vectors in this strict sense. In this strict sense, Euler angle 3-tuple (φ, θ, ψ)

and its derivative dφdt

, dθdt

, dψdt

are not vectors. Note for example that each element of

the Euler angle derivative 3-tuple is defined in a different reference frame.

Page 484: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.2. MATRIX AND VECTOR OPERATIONS 461

this rule will be violated is when, in the middle of text, considerable spacewould be wasted by writing out the column vector.

B.2 Matrix and Vector Operations

The transpose operation, which is indicated by a superscript �, simplyexchanges the rows and columns of a matrix. Therefore, for B = [bi,j ] ∈R

n×m, B� = [bj,i] ∈ Rm×n. Two examples may clarify this operation.

First,

A� =

⎡⎣ 0.20 −1.71

0.00 0.00−3.14 2.00

⎤⎦

is a matrix in R3×2. Second, for v =

⎡⎣ 0.00

2.00−7.14

⎤⎦,

v� =[

0.00 2.00 −7.14]

is a matrix in R1×3 which is often referred to as a row vector. When a

matrix is symmetric, it is straightforward to show that A = A�. When amatrix is skew-symmetric, A� = −A.

The addition of matrices is straightforward and is defined component-wise. When we say that C = A + B for A, B, C ∈ R

n×m we mean thatci,j = ai,j + bi,j for i ∈ [1, n] and j ∈ [1,m]. In order to add two matri-ces, their dimensions must be identical. Therefore, with the matrices givenpreviously A and v cannot be added. If we define

B =

⎡⎣ 1.00 1.71

0.03 2.000.14 2.14

⎤⎦

then A and B cannot be added or subtracted, but

A� + B =

⎡⎣ 1.20 0.00

0.03 2.00−3.00 4.14

⎤⎦ .

Subtraction of matrices is defined similarly.The symmetric part of a square matrix A is defined by

As =12(A + A�) . (B.1)

The anti-symmetric part of A is defined by

Aa =12(A − A�) . (B.2)

Page 485: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

462 APPENDIX B. LINEAR ALGEBRA REVIEW

With these definitions, any square matrix can be represented as the sum ofits symmetric and anti-symmetric parts

A = As + Aa. (B.3)

Matrix multiplication is particularly important. When A ∈ Rn×m and

B ∈ Rm×p, then their product C = AB ∈ R

n×p is defined as ci,j =∑mk=1 ai,kbk,j . Note that the number of columns in A and the number of

rows in B, referred to as the inner dimension of the product, must be iden-tical; otherwise the two matrices cannot be multiplied. Using the vectorsand matrices defined above, we have the following:

AB =[ −0.2396 −6.3776

−1.4300 1.3559

]A�B = not a valid operation.

Matrix multiplication does not commute: AB �= BA. Matrix division isundefined. Matrix multiplication does have the following useful formulas:

(AB)C = A (BC) Associative property (B.4)(A + B)C = AC + BC Distributive property (B.5)

(ABC)� = C�B�A�. (B.6)

In the certain derivations it will be convenient to insert appropriately di-mensioned identity matrices. The reader should be comfortable with for-mulas such as the following:

ABC = AImBIpC (B.7)Ax = AImx. (B.8)

The subscript denoting the dimension will typically be dropped to simplifythe notation, as it is usually clear from the context.

A square matrix A is an orthogonal matrix if and only if AA� = A�Ais a diagonal matrix. A square matrix A is an orthonormal matrix if andonly if AA� = A�A = I. Often authors use the term orthogonal to meanorthonormal. Let Rb

a represent the vector transformation from referenceframe a to reference frame b. The inverse transformation from referenceframe b to reference frame a can be shown to be Ra

b = (Rba)−1 = (Rb

a)�.Then (Rb

a)�Rba = Rb

a(Rba)� = I. This shows that Rb

a and Rab are orthonor-

mal matrix.The scalar product of two vectors u, v ∈ R

N is defined to be

u · v = u�v =n∑

i=1

uivi. (B.9)

Page 486: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.2. MATRIX AND VECTOR OPERATIONS 463

The square of the Euclidean norm of a vector is defined as the scalar productof a vector with itself: ‖u‖2 = u·u. The vector u is a unit vector if ‖u‖ = 1.A vector has both magnitude and direction, with magnitude defined by‖u‖ and direction defined by u

‖u‖ . The scalar product has the followingproperties:

u · v = v · u = u�v = v�u (B.10)u · (v + w) = u · v + u · w (B.11)

u · v = ‖u‖‖v‖ cos(α) (B.12)

where α is the angle between vectors u and v. Two vectors are orthogonalif and only if u · v = 0.

The vector product of two vectors u, v ∈ R3 is defined to be

u × v =

∣∣∣∣∣∣i j k

u1 u2 u3

v1 v2 v3

∣∣∣∣∣∣ (B.13)

=

⎡⎣ u2v3 − u3v2

u3v1 − u1v3

u1v2 − u2v1

⎤⎦ =

⎡⎣ 0 −u3 u2

u3 0 −u1

−u2 u1 0

⎤⎦⎡⎣ v1

v2

v3

⎤⎦

where | · | denotes a determinant (see eqns. (B.26–B.27))and i, j, and k areunit vectors pointing along the principal axes of the reference frame. It issometimes convenient, see for example Section 2.5.5, to express the vectorproduct of eqn. (B.13) in the matrix form

u × v = Uv (B.14)

where

U =

⎡⎣ 0 −u3 u2

u3 0 −u1

−u2 u1 0

⎤⎦ . (B.15)

This skew symmetric form of u is convenient in analysis. The equivalenceexpressed in eqn. (B.14) will be denoted U = [u × ]. The vector producthas the following properties:

u × u = 0 (B.16)u × v = −v × u (B.17)

u × (v × w) �= (u × v) × w (B.18)u × (v × w) = (u · w)v − (u · v)w (B.19)u · (v × w) = v · (w × u) (B.20)

= w · (u × v) (B.21)(u × v) · (w × z) = (u · w) (v · z) − (v · w) (u · z) . (B.22)

Page 487: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

464 APPENDIX B. LINEAR ALGEBRA REVIEW

Using eqn. (B.17) and the U = [u× ] notation, we can derive the followinguseful formula:

u × v = Uv (B.23)= −Vu (B.24)

where V = [v × ] is the skew symmetric matrix corresponding to v asdefined in eqn. (B.15).

The trace of square matrix A ∈ Rn×n is the sum of its diagonal elements

Tr(A) =n∑

i=1

ai,i. (B.25)

The trace is not defined unless its argument is square. The trace has severalconvenient properties:

1. Tr(A�) = Tr(A),

2. Tr (A + B) = Tr(A) + Tr(B),

3. Tr(ABC) = Tr(BCA) = Tr(CAB) if all required matrix productsare well defined,

4. Tr(vv�) = Tr(v�v) = ‖v‖2,

5. Tr(A) =∑n

i=1 λi

where the eigenvalues λi are defined in Section B.6.

B.3 Independence and Determinants

Given vectors ui ∈ Rn for i = 1, . . . , m, the vectors are linearly dependent if

there exists αi ∈ R, not all zero, such that∑m

i=1 αiui = 0. If the summationis only zero when all αi = 0, then the set of vectors is linearly independent.A set of m > n vectors in R

n is always linearly dependent.A set of n vectors ui ∈ R

n, i = 1, . . . , n can be arranged as a squarematrix U = [u1,u2, . . . ,un] ∈ R

n×n. Note that a matrix can always bedecomposed into its component column (or row) vectors. The rank of amatrix, denoted rank(U), is the number of independent column (or row)vectors in the matrix. If this set of vectors is linearly independent (i.e.,rank(U) = n), then we say that the matrix U is nonsingular (or of fullrank).

A convenient tool for checking whether a square matrix is nonsingularis the determinant. The determinant of A ∈ R

n×n, denoted |A| or det(A),

Page 488: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.4. MATRIX INVERSION 465

is a scalar real number that can be computed either as

|A| =n∑

j=1

akjckj which uses row expansion; or, (B.26)

|A| =n∑

k=1

akjckj which uses column expansion. (B.27)

For a square matrix A, the cofactor associated with akj is

ckj = (−1)k+jMkj (B.28)

where Mkj is the minor associated with akj . Mkj is defined as the deter-minant of the matrix formed by dropping the k-th row and j-th columnfrom A. The determinant of A ∈ R

1×1 is (the scalar) A. The determinantof A ∈ R

n×n is written in terms of the summation of the determinants ofmatrices in R

(n−1)×(n−1). This dimension reduction process continues untilit involves only scalars, for which the computation is straightforward.

If |A| �= 0, then A is nonsingular and the vectors forming the rows (andcolumns) of A are linearly independent. If |A| = 0, then A is singular andthe vectors forming the rows (and columns) of A are linearly dependent.

Determinants have the following useful properties: For A,B ∈ Rn×n

1. |AB| = |A| |B|2. |A| = |A�|3. If any row or column of A is entirely zero, then |A| = 0.

4. If any two rows (or columns) of A are linearly dependent, then |A| =0.

5. Interchanging two rows (or two columns) of A reverses the sign of thedeterminant.

6. Multiplication of a row of A by α ∈ R, yields α|A|.7. A scaled version of one row can be added to another row without

changing the determinant.

B.4 Matrix Inversion

For A ∈ Rn×n, with |A| �= 0, we denote the inverse of A by A−1 which has

the property thatA−1A = AA−1 = I.

Page 489: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

466 APPENDIX B. LINEAR ALGEBRA REVIEW

Matrix inversion is important is both parameter and state estimation. Of-ten problems can be manipulated into the form

y = Aθ

where y and A are known, but θ is unknown. When A is square andnonsingular, then its inverse exists and the unique solution is

θ = A−1y.

For A ∈ Rm×n with m > n and rank(A) = n, then the solution

θ =(A�A

)−1A�y

minimizes the norm of the error vector (y−Aθ). This least squares solutionis derived in Section 5.3.2 .

When A is a square nonsingular matrix,

A−1 =C�

|A| (B.29)

where C is the cofactor matrix for A and C� is called the adjoint of A.The matrix inverse has the following properties:

1.(A−1

)−1 = A,

2. (AB)−1 = B−1A−1,

3.∣∣A−1

∣∣ = 1|A| ,

4.(A�)−1 =

(A−1

)� which will be denoted by A−�, and

5. (μA)−1 = 1μA−1.

The inverse of an orthonormal matrix is the same as its transpose.

B.5 Matrix Inversion Lemma

Two forms of the Matrix Inversion Lemma are presented. The Lemma isuseful in least squares and Kalman filter derivations. Each lemma can beproved by direct multiplication.

Lemma B.5.1 Given four matrices P1, P2,H, and R of compatible di-mensions, if P1, P2, R, and

(H�P1H + R

)are all invertible and

P−12 = P1

−1 + HR−1H�, (B.30)

thenP2 = P1 − P1H

(H�P1H + R

)−1H�P1. (B.31)

Page 490: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.6. EIGENVALUES AND EIGENVECTORS 467

Lemma B.5.2 Given four matrices A, B, C, and D of compatible dimen-sions, if A, C, and A + BCD are invertible, then

(A + BCD)−1 = A−1 − A−1B(DA−1B + C−1

)DA−1. (B.32)

The equivalence of the two forms is shown by defining:

A = P−11 , B = H, C = R−1, D = H�,

and requiring A + BCD = P−12 .

B.6 Eigenvalues and Eigenvectors

For A ∈ Rn×n, the set of scalars λi ∈ C and (nonzero) vectors xi ∈ Cn

satisfyingAxi = λixi or (λiI − A)xi = 0n

are the eigenvalues and eigenvectors of A.We are only interested in nontrivial solutions (i.e., solution xi = 0 is not

of interest). Nontrivial solutions exist only if (λiI−A) is a singular matrix.Therefore, the eigenvalues of A are the values of λ such that |λI−A| = 0.This yields an n-th order polynomial in λ.

If A is a symmetric matrix, then all of its eigenvalues and eigenvec-tors are real. If xi and xj are eigenvectors of symmetric matrix A andtheir eigenvalues are not equal (i.e., λi �= λj), then the eigenvectors areorthogonal (i.e. xi · xj = 0).

A square matrix A is idempotent if and only if AA = A. Idempo-tent matrices are sometimes also called projection matrices. Idempotentmatrices have the following properties:

1. rank(A) = Tr(A);

2. the eigenvalues of A are all either 0 or 1;

3. the multiplicity of 1 as an eigenvalue is the rank(A);

4. A(I − A) = (I − A)A = 0; and,

5. A�, (I − A) and (I − A�) are idempotent.

Example B.1 Select a state estimation gain vector L such that the errorstate model for the discrete-time system

xk+1 =[

0.8187 0.00000.0906 1.0000

]xk +

[0.09060.0047

]fk + L(pk − pk)

pk =[

0.0000 1.0000]xk

Page 491: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

468 APPENDIX B. LINEAR ALGEBRA REVIEW

has eigenvalues as 0.9 ± 0.1j. The actual system is modeled as

xk+1 =[

0.8187 0.00000.0906 1.0000

]xk +

[0.09060.0047

]fk

pk =[

0.0000 1.0000]xk.

The observability is considered in Example 3.16 and will not be repeatedhere.

The error state δxk = xk − xk has the state space model

δxk+1 =[

0.8187 −L1

0.0906 (1 − L2)

]δxk = ΦLδxk.

The eigenvalues of the discrete-time, error-state, transition matrix are theroots of the equation

0 = |zI − ΦL|=

∣∣∣∣ (z − 0.8187) L1−0.0906 (z + L2 − 1)

∣∣∣∣= z2 + (L2 − 1.8187)z + (0.8187 − 0.8187L2 + 0.0906L1).

To achieve the desired eigenvalues, we must have

−1.8 = L2 − 1.81870.82 = 0.8187 − 0.8187L2 + 0.0906L1.

The solution is L = [0.1833, 0.0187]�. �

B.7 Positive Definite Matrices

For a square matrix B ∈ Rn×n and x ∈ R

n, the scalar mapping x�Bx iscalled a quadratic form. It is straightforward using eqn. (B.3) to show thatthe quadratic form depends only on the symmetric portion of B:

x�Bx = x�Bsx + x�Bax

= x�Bsx,

see Exercise B.14. Therefore, it is standard practice to assume that B issymmetric.

When a quadratic form is defined, the designer is often interested in thesign of the scalar output, x�Bx, which depends on the properties of thesymmetric matrix B.

Page 492: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.8. SINGULAR VALUE DECOMPOSITION 469

1. A matrix B is Positive Definite if and only if x�Bx > 0 for all non-zero x.

2. A matrix B is Positive Semi-definite if and only if x�Bx ≥ 0 for allnon-zero x.

3. A matrix B is Negative Definite if and only if x�Bx < 0 for allnon-zero x.

4. A matrix B is Negative Semi-definite if and only if x�Bx ≤ 0 for allnon-zero x.

When the matrix fails to have any of the above properties, then the matrixis sign indefinite.

Properties of the eigenvalues and inverse of a positive definite matrixare discussed further in Exercise B.15. Corresponding properties apply tonegative definite matrices, with appropriate changes to the statements.

B.8 Singular Value Decomposition

The singular value decomposition (SVD) of a matrix A ∈ Rm×n is defined

as A = UΣV� where U ∈ Rm×m and V ∈ R

n×n are orthonormal matricesand Σ ∈ R

m×n is a diagonal matrix. The diagonal of Σ is defined as(σ1, σ2, . . . , σp) where p = min(m,n). The diagonal elements of Σ areordered so that σ1 > σ2 > . . . > σp ≥ 0. The σi are the singular values ofthe matrix A. The rank of A is the smallest integer r such that σi = 0 fori > r. The first r columns of U form an orthonormal basis for the rangespace of A while the last (n − r) columns of U span the null space of A�.The first r columns of V form an orthonormal basis for the range of A�,while the last (n− r) columns of V form an orthonormal basis for the nullspace of A. Additional properties of the singular value decomposition andalgorithms for its computation can be found in [59].

B.9 Orthogonalization

Let the matrix A be orthogonal and let A be a computed version of A thatis not orthogonal due to numeric errors involved in its computation. Themain topic of this section is orthogonalization of A. The orthogonalizedversion of A will be denoted by Ao.

A traditional orthogonalization approach is calculated as

Ao = A(A�A

)−1/2

(B.33)

Page 493: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

470 APPENDIX B. LINEAR ALGEBRA REVIEW

which is optimal in the sense of minimizing trace

((Ao − A

)� (Ao − A

))subject to the constraint that A�

o Ao = I. See Exercise B.16.Given its SVD A = UΣV� with U�U = I and V�V = I, the matrix

A can be orthogonalized as

Ao = UV�. (B.34)

This SVD approach to orthogonalization is completely equivalent to thetraditional orthogonalization approach of eqn. (B.33):

Ao = A(A�A

)−1/2

(B.35)

= UΣV� (VΣU�UΣV�)−1/2

= UΣV�( (

VΣV�) (VΣV�) )−1/2

= UΣV� (VΣ−1V�)

= UV�. (B.36)

A traditional approximate solution to eqn. (B.35) is

Ao = A +12

(I − AA�

)A. (B.37)

This expression is not obvious, but can be derived by Taylor series expan-sion of eqn. (B.35), see p. 39 in [113]. Because the solution is approximate,several iterations of the solution may be required to achieve convergence.It can be shown that this manipulation orthogonalizes the rows of Ao. Thecomputation does not correct the asymmetric errors in Ao [115].

B.10 LU Decomposition

Given a matrix A ∈ Rm×m the LU decomposition computes an upper

triangular matrix U and a (unit diagonal) lower triangular matrix L suchthat A = LU. In this section, we present the LU algorithm in a non-standard form to exhibit certain properties that will be required in Section8.9.1; we will actually derive a decomposition A = PLU where P is apermutation matrix. We assume that the matrix A is known to have rankequal to r.

Given that the rank(A) = r, A has exactly r linearly independent rows.Select a permutation matrix P such that the the first r rows of the matrixA0 = P−1A are linearly independent2. For i = 1, . . . , r define the matrix

2The matrix P need not be known at the start of the algorithm. There are versionsof the LU decomposition algorithm that compute P as needed during the LU decompo-sition.

Page 494: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.10. LU DECOMPOSITION 471

Li as

Li =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1 . . . 0 . . . 0. . .

1−a(i+1),i

ai,i

.... . .

0 −am,i

ai,i1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

(B.38)

which has a unit diagonal and nonzero elements only below the diagonal inthe i-th column. The matrix

Ai = LiAi−1

will have all zero elements below the diagonal in the first i columns. Becausethe last (n− r) rows of A0 are a linear combination of the the first r rows,the last (n − r) rows of Ar will be zero. Define

U = Ar

and note that U can be expressed as

U =[

C D0 0

](B.39)

where C ∈ Rr×r is upper diagonal and invertible, and D ∈ R

r×(m−r).From the definition of each Li for i = 1, . . . , r,

U = LrAr−1

= LrLr−1Ar−2

...U = LrLr−1 . . .L1P−1A;

therefore, defining L = L−11 . . .L−1

r−1L−1r we have that

A = PLU

where L and P are nonsingular.In the case where the matrix A has rank equal to m, then for P = I,

the LU decomposition facilitates the solution for x to problems of the formy = Ax. The problem is decomposed into two subproblems

Lz = y (B.40)Ux = z. (B.41)

Due to the lower triangular structure of L, eqn. (B.40) is easily solved for z,then using the upper triangular structure of U eqn. (B.41) is easily solvedfor x.

Page 495: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

472 APPENDIX B. LINEAR ALGEBRA REVIEW

B.11 UD Decomposition

Given a positive definite symmetric matrix P, the UD decomposition com-putes an upper triangular matrix U and a diagonal matrix D such thatP = UDU�. This section outlines the computation of the UD factors inthe case where P is a 3×3 matrix. General algorithms can be found in [59].Kalman filter implementations algorithms using the UD decomposition arepresented in [60, 121].

For P ∈ R3×3, the UD factorization is

P =1 u12 u13

0 1 u23

0 0 1

d11 0 00 d22 00 0 d33

1 0 0u12 1 0u13 u23 1

=d11 + d22u

2a2 + d33u

213 d22u12 + d33u13u23 d33u13

d22u12 + d33u13u23 d22 + d33u223 d33u23

d33u13 d33u23 d33

.

This expression allows the elements of U and D to be determined oneelement at a time starting at the lower right with d33 = p33, working upthrough the third column with u23 = p23/d33 and u13 = p12/d33, thenrepeating a similar procedure on the next column to the left. For eachcolumn, the computations start with the diagonal element (e.g. d22 = p22−d33u

223) and work up through the column (e.g., u12 = (p12−d33u13u23)/d22).

B.12 Matrix Exponential

As should be evident from Section 3.5.4, the computation of matrix expo-nentials is important. Various approaches are compared in [100]. A keyconclusion of that article is that there is no universally best algorithm.An algorithm that often works very well combines the Pade approxima-tion and “scaling and squaring.” That algorithm is presented well in [60].This section presents two approaches that provide insight into the matrixexponential.

B.12.1 Power Series

The power series expansion of the scalar exponential function is

eat = 1 + at +(at)2

2!+

(at)3

3!+ . . .

for a, t ∈ R. Extension of this power series to matrix arguments serves asa definition of the matrix exponential

eFt = I + Ft +(Ft)2

2!+

(Ft)3

3!+ . . . (B.42)

Page 496: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.12. MATRIX EXPONENTIAL 473

where t ∈ R, F ∈ Rn×n, and I is the identity matrix in R

n×n.Note that by the definition of the matrix exponential, it is always true

that a matrix commutes with its exponential:

FeFt = eFtF.

Also, eFt∣∣t=0

= I.Power series expansion is usually not the best numeric technique for

the computation of matrix exponentials; however when the structure ofthe F matrix is appropriate, power series methods are one approach fordetermining closed form solutions for the matrix exponential of F. Anexample of this is contained in Example 3.13.

B.12.2 Laplace Transform

The formulaeFt = L−1

{(sI − F)−1

}(B.43)

is derived by taking the Laplace transform of both sides of eqn. (B.42),

L{eFt

}= L{

I + Ft + 0.5F2t2 + . . .}

=1sI +

1s2

F +1s3

F2 + . . .

= (sI − F)−1

eFt = L−1{

(sI − F)−1}

.

This derivation has used the fact that

(sI − F)−1 =(

1sI +

1s2

F +1s3

F2 + . . .

)

which can be shown by direct multiplication of both sides of the equationby (sI − F).

Example B.2 The purpose of this example is to clarify the application ofeqn. (B.43).

Consider computation of eFt for F =[

0 −ωn

ωn 0

]where ωn is a pos-

itive real number:

eFt = L−1{

(sI − F)−1}

= L−1

{[s ωn

−ωn s

]−1}

Page 497: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

474 APPENDIX B. LINEAR ALGEBRA REVIEW

= L−1

{[s

s2+ω2n

−ωn

s2+ω2n

ωn

s2+ω2n

ss2+ω2

n

]}

eFt =[

cos ωnt − sin ωntsin ωnt cos ωnt

].

B.13 Matrix Calculus

This section contains results related to the derivatives of vectors, scalarproducts, vector products, and matrices that will be used in the main bodyof the text.

B.13.1 Derivatives with Respect to Scalars

In the case where the vectors u and v, the matrix A, and the scalar μ arefunctions of a scalar quantity s, the derivative with respect to s has thefollowing properties:

d

ds(u + v) =

duds

+dvds

(B.44)

d

ds(u · v) =

duds

· v + u · dvds

(B.45)

d

ds(u × v) =

duds

× v + u × dvds

(B.46)

d

ds(μv) =

dsv + μ

dvds

(B.47)

d

dsA−1 = −A−1

(d

dsA)

A−1. (B.48)

B.13.2 Derivatives with Respect to Vectors

Using the convention that gradients of scalar functions are defined as rowvectors,

d

dv(u · v) =

d

dv(v · u) = u� (B.49)

d

dv(Av) = A (B.50)

d

dv

(v�A

)= A� (B.51)

d

dv

(v�Av

)= v� (

A + A�) (B.52)

= 2v�A, if A is symmetric. (B.53)

Page 498: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.14. NUMERIC ZERO FINDING & OPTIMIZATION 475

B.13.3 Derivatives with Respect to Matrices

The derivative of the scalar μ with respect to the matrix A is defined by

dA=

⎡⎢⎢⎢⎢⎣

dμda11

dμda12

. . . dμda1n

dμda21

dμda22

. . . dμda2n

......

. . ....

dμdam1

dμdam2

. . . dμdamn

⎤⎥⎥⎥⎥⎦ . (B.54)

For the scalar operation defined by the trace, the following differentiationformulas are useful:

d(trace(AB)

)dA

= B� (AB must be square) (B.55)

d(trace(ABA�)

)dA

= 2AB� (B must be symmetric). (B.56)

B.14 Numeric Zero Finding & Optimization

This section reviews the topics on numeric zero finding and numeric opti-mization. Section B.14.1 uses linear algebra to derive iterative algorithmsto approximate the value of x such that y = g(x) = 0 when x, y ∈ R

n. Thisis referred to as zero finding. Section B.14.2 uses linear algebra to extendthe results of Section B.14.1 to derive iterative algorithms to approximatethe value of x that minimizes a cost function J(x). This is referred to asnumeric optimization.

The result derived in Section B.14.2 is directly related to solving theGPS measurement equations and will be used in Section 8.2.2 and Example8.1.

B.14.1 Numerical Zero Finding

Newton’s method is a procedure for finding a value of x such that g(x) = 0.This value of x is called a zero of g. The function g is assumed to be atleast differentiable.

Let y = g(x) for x, y ∈ Rn. The Taylor series linear approximation to

g(x) at the point xk is

g(x) = g(xk) + Gk (x − xk) (B.57)

where Gk = ∂g∂x

∣∣∣x=xk

. Newton’s method solves eqn. (B.57) for the value

of x that causes the linearized function to be zero. This solution is an

Page 499: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

476 APPENDIX B. LINEAR ALGEBRA REVIEW

: :*) :*< :*; :*E &

(:*?

:

:*?

&

�&

�)

Figure B.1: The function g(x) and the linear approximations to g(x) at x1

and x2 as determined by Newton’s method in Example B.3.

improved estimate of the zero of g. Due to the nonzero higher order terms(h.o.t.’s), the result may not immediately yield a zero of g, but iteration of

xk+1 = xk − G−1k g(xk) (B.58)

results in quadratic convergence of xk toward a (simple) zero of g.

Example B.3 Figure B.1 shows the first three iterations of eqn. (B.58)for

g(x) = cos(x) − x2

with a starting condition of x = 0.5. The figure shows the function g(x), thelinear approximation at x = x1, and the linear approximation at x = x2.The sequence of estimates of the zero of g(x) is as follows:

k xk yk

1 0.50000000000000 0.627582561890372 0.92420692729320 -0.251690677076873 0.82910575599742 -0.011880973781524 0.82414613172820 -0.000032921214425 0.82413231240991 -0.000000000255836 0.82413231230252 0.00000000000000.

The convergence is faster near the final result due to the accuracy of theTaylor approximation of eqn. (B.57) improving as x approaches the locationof the zero of the g.

Page 500: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.14. NUMERIC ZERO FINDING & OPTIMIZATION 477

�&

�)

�&

�)

Figure B.2: Illustration of the scenario for Example B.4. The position oftwo satellites P1 and P2 and measurements of the ranges ‖v1‖ and ‖v2‖ areavailable.

B.14.2 Numeric Optimization

If we have a situation where y = f(x) for x ∈ Rn and y ∈ R

m where m ≥ n,then in general no exact solution will exist. As in Newton’s method we canuse iteration to find the solution that minimizes ‖y− f(x)‖. Starting at anestimate xk the Taylor’s approximation to f(x) near xk is

f(x) = f(xk) + Fk (x − xk) . (B.59)

where Fk = ∂f∂x

∣∣x=xk

is the Jacobian matrix for f(x) evaluated at xk. Theapproximate cost function is then

J(x) =∥∥y − (

f(xk) + Fk (x − xk))∥∥2

.

Taking the partial derivative of J with respect to x and setting it equal tozero yields

∂J

∂x= F�

k

(y − (

f(xk) + Fk (x − xk)))

= 0.

Using the solution of this equation as the next estimate of the minimumxk+1 yields the algorithm

xk+1 = xk +(F�

k Fk

)−1F�

k (y − f(xk)) (B.60)

assuming that the inverse matrix exists.

Example B.4 Consider the scenario depicted in Figure B.2. The goal isto find the location of the point P when the ranges ‖v1‖ and ‖v2‖ betweenthe point P and the two satellites at locations P1 and P2, respectively, areknown.

For each satellite, the figure includes a narrow solid line representingthe set of points that are at the measured range from the satellite. In the

Page 501: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

478 APPENDIX B. LINEAR ALGEBRA REVIEW

absence of measurement error, the point P must lie on each of these circles;therefore, there are two possible solutions. Notice that as the vectors v1 andv2 become nearly the linearly dependent, that is as the point P moves to-ward the line connecting the two points, the two possible solutions approacheach other. As this occurs, the matrix Fk defined in eqn. (B.61) will be-come nonsingular and the problem will not be solvable without additionalinformation.

Using the notation of the algorithm described above,

y = ρ + ν, and f(x) =

[‖v1‖‖v2‖

]=

[‖P − P1‖‖P − P2‖

]

where v1 = P−P1 and v2 = P−P2 and ν represents measurement noise.If we let Pk denote the current estimate of the minimizing value of P, then

Fk =∂f∂P

∣∣∣∣P=Pk

=

⎡⎣ v�

1

‖v�1 ‖

v�2

‖v�2 ‖

⎤⎦ (B.61)

where v1 and v2 are represented as column vectors. All terms in eqn.(B.60) are now defined and the equation can be iterated until convergence.

Let P denote the final result of the iteration of eqn. (B.60). As shown ineqn. (5.26), when ν is zero mean Gaussian noise with covarianceE⟨νν�⟩ = R = σ2I, then the error δP = P − P is a zero mean Gaussian

random variable with covariance Q = E⟨(δP)(δP)�

⟩= σ2

(F�F

)−1 whereF denotes the final value of Fk at the conclusion of the iteration. Figure B.3shows theoretical and simulation results for two instances of the scenarioof Figure B.2 that are each further described below. In both cases, σ = 3m,the radius of the satellite orbit was R = 20 × 106m, P = [0, 6]� × 106m,and the iteration was terminated when the estimated position had convergedto 0.001m. Each figure shows both a scatter plot of the position estimationerror for 400 realizations repetitions of the experiment and the ellipse thatis defined in Section 4.9.1.2 that should contain 50% of the samples.

For the simulation results shown in the plot on the left, the satellitepositions were

P1 =[ −19, 156, 525.704

5, 746, 957.711

]m and P2 =

[0.000

20, 000, 000.000

]m.

This situation, with one satellite at a high elevation and another satel-lite at a significantly lower elevation results in the matrix F�F being well-conditioned. The iteration converges rapidly to millimeter accuracy. Theposition estimation error covariance matrix is

Q =[

9.00 −0.12−0.12 9.00

]m2

Page 502: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.14. NUMERIC ZERO FINDING & OPTIMIZATION 479

(&: (? : ? &:

(&:

(?

:

?

&:

�&

�)

(@: (): (&: : &: ): @:(@:

():

(&:

:

&:

):

@:

�&

�)

7!$7!$

7!$

7!$

Figure B.3: Estimation error plots for Example B.4. The dots are 400realizations of the position estimation error from simulation. The curve is theellipse expected to contain 50% of the position estimation errors.

which shows that the errors in the components of P are expected to be almostthe same in magnitude and only weakly correlated.

For the simulation results shown in the plot on the right, the satellitepositions were

P1 =[ −17, 149, 858.514

10, 289, 915.108

]m and P2 =

[17, 149, 858.51410, 289, 915.108

]m.

This situation, with both satellites at very low elevation, results in the ma-trix F�F being poorly-conditioned; therefore, the iteration may convergeslowly. In this case, the position estimation error covariance matrix is

Q =[

4.78 0.000.00 76.42

]m2.

which shows significant magnification of the measurement noise in the esti-mation of the second component of the position vector. This is due to someportion of the state, in this case the second component of the position, onlybeing weakly observable. Note that the components of the position along thevectors v1 and v2 are accurately estimated while those orthogonal to bothv1 and v2 are not.

The fact that the accuracy of the position estimate can be reliably ex-pressed in terms of the Jacobian matrix F is used in GPS applications asis discussed in Section 8.5. �

Page 503: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

480 APPENDIX B. LINEAR ALGEBRA REVIEW

B.15 References and Further Reading

The main reference for this chapter was [59]. On the topic of orthogonal-ization of matrices, the main sources were [27, 49, 113]. For the Section onmatrix exponentials, the main reference was [100]. Additional informationabout numerical methods such as that described in Section B.14.1 can befound for example in [86, 88].

B.16 Exercises

Exercise B.1 For A =[

0.20 0.00 −3.14−1.71 0.00 2.00

], B =

⎡⎣ 1.00 1.71

0.03 2.000.14 2.14

⎤⎦,

and v =

⎡⎣ 0.00

2.00−7.14

⎤⎦, find the following products or state why the product

is not valid: Av; B�v; Bv.

Exercise B.2 Define matrices A ∈ R1×n and x ∈ R

n×1 so that the sum-mation

∑ni=1 aixi can be written as a matrix product Ax.

Exercise B.3 A set of linear equations can be written in matrix format.For example, define matrices Y ∈ R

4×1, A ∈ R4×4 and x ∈ R

4×1 so that

4 = 23x − 4y − 8s

8 = 42s + 15t + 16x

15 = 23s − 23t

16 = 42y − 8s

is equivalent to Y = Ax. Equations of this form are easily solvable usingsoftware packages such as MATLAB.

Exercise B.4 A set of first order ODE’s can be conveniently written inmatrix form. For example, define a state vector x and a matrix A suchthat the set of three scalar ordinary differential equations

v = 23v − 4y − 8z

y = 42z + 15y + 16v

z = 42y − 8z

can be written in the state space form x = Ax with order n = 3.

Page 504: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.16. EXERCISES 481

Exercise B.5 For A =

⎡⎣ 1 5 4

0 7 −13 2 7

⎤⎦, the minor M1,1 is

M11 =∣∣∣∣ 7 −1

2 7

∣∣∣∣ = (7)(7) − (2)(−1) = 51.

1. Find the other eight minors.

2. Use the row expansion formula to compute the determinant of A.

3. Use the column expansion formula to compute the determinant of A.

Exercise B.6 Use the determinant to decide whether the matrices A andB are nonsingular.

A =

⎡⎣ 1 0 0

1 1 01 1 1

⎤⎦ B =

⎡⎣ 1 0 1

1 1 01 1 0

⎤⎦ .

Exercise B.7 Show that the determinant of a permutation matrix is 1.

Exercise B.8 For A =

⎡⎣ 1 5 4

0 7 −13 2 7

⎤⎦, using the cofactor formula in eqn.

(B.28):

c11 = (−1)1+151 = 51.

c21 = (−1)2+127 = −27.

Compute the remaining seven elements of the cofactor matrix.

Exercise B.9 Let A =

⎡⎣ 1 0 6

0 4 −33 5 −1

⎤⎦.

1. Compute the cofactor matrix.

2. Compute the inverse matrix.

Exercise B.10 Use the properties of determinants to show that

∣∣A−1∣∣ =

1|A| .

Exercise B.11 Let (sI − A) =

⎡⎣ s −1 0

a s + b −c−d 0 s + f

⎤⎦. Find (sI − A)−1.

Page 505: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

482 APPENDIX B. LINEAR ALGEBRA REVIEW

Exercise B.12 Verify Lemma B.5.1 by direct multiplication of the right-hand sides of eqns. (B.30) and (B.31).

Exercise B.13 1. Let λi and vi for i ∈ [1, n] denote the eigenvaluesand eigenvectors of A ∈ R

n×n. Determine the eigenvalues and eigen-vectors of A2.

2. Determine the eigenvalues and eigenvectors of Am for any positiveinteger m.

3. Use the above property of eigenvalues to show that the only possibleeigenvalues of an idempotent matrix are 0 and 1.

Exercise B.14 For the special case of x ∈ Rn, either use direct mul-

tiplication or the properties of scalar and vector products to show thatx�Bax = 0, where Ba is an antisymmetric matrix.

Exercise B.15 Prove the following:

1. If B is a positive definite matrix, then all the eigenvalues of B arestrictly positive real numbers.

2. If B is a positive semi-definite matrix, then all the eigenvalues of Bare non-negative real numbers.

3. If B is a positive definite matrix, then B−1 exists and is also positivedefinite.

Exercise B.16 Prove eqn. (B.33) by following the outline below. Notethat the hats on the variables have been dropped to simplify the notation.

1. Consider the cost function

J(Ao,Λ) = tr((Ao − A)� (Ao − A) + Λ

(A�

o Ao − I))

where the Lagrange multiplier Λ is a symmetric matrix. Take thederivative of J with respect to Ao and show that the matrix Ao thatminimizes this expression is

Ao = A (I + Λ)−1. (B.62)

2. Substitute the result of eqn. (B.62) into the constraint

A�o Ao = I

to show that(I + Λ) = ± (

A�A) 1

2 . (B.63)

Page 506: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

B.16. EXERCISES 483

3. Complete the proof by combining eqns. (B.62) and (B.63) to obtain

Ao = A(A�A

)−1/2

.

Exercise B.17 Rederive the algorithm of Section B.14.2 for the case where

J(x) =(y − (

f(xk) + Fk (x − xk)))�

R−1(y − (

f(xk) + Fk (x − xk)))

.

Page 507: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 508: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Appendix C

Calculation of GPSSatellite Position &

Velocity

The interface between the GPS space and user segments consists of a twofrequency (L1 = 1575.42 MHz and L2 = 1227.60 MHz) radio link. Utilizingthese links, the satellites that comprise the space segment provide continu-ous Earth coverage, transmitting signals which provide to the user segmentthe ranging codes and system data needed to accomplish the GPS navi-gation mission. The transmitted satellite parameter set is computed andcontrolled by the control segment and uploaded to the satellite for broad-cast to the user. The satellite signals are received and decoded by the userGPS receiver. The decoded data is available from the receiver usually viaa serial link.

The data decoded from the satellite signal include satellite clock cali-bration parameters, satellite position calculation parameters, atmosphericcorrection parameters, reference time, and almanac and health informationfor all space segment satellites. The satellite message parameter set is dis-played in Table C.1. This book assumes that the reader will download thesatellite parameter set into a local data structure. This appendix describeshow the time variables and ephemeris data set are processed to determineclock corrections, satellite positions, and atmospheric corrections.

To clearly present the main ideas, it is important to distinguish betweenthe following time variables:

t′r – the pseudo-time at which the receiver takes a measurement,

tsv – the pseudo-time at which the satellite broadcast the signal that ismeasured at the receiver,

485

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 509: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

486 APPENDIX C. CALCULATION OF GPS SV POS. & VEL.

t′p – the propagation pseudo-time of the signal from the satellite antennato the receiver antenna.

Δtsv – the satellite clock bias,

t – the GPS time at which the satellite broadcast the signal that is mea-sured at the receiver,

b – the receiver clock bias,

tr – the GPS time at which the receiver takes a measurement,

tp – the propagation time of the signal from the satellite antenna to thereceiver antenna.

The variables t and tsv are related by tsv = t + Δtsv. The variable tsv

is called the channel time because the receiver maintains a distinct valuefor each channel. The variables tr and t′r are related by t′r = tr + b. Thevariable t′r is the user or receiver time and is common for all channels. Thepropagation time is tp = tr − t. For a receiver on the surface of the Earth,typical values for tp are 60 to 90 ms.

The above variables are listed in the order in which they could actuallybe computed by the receiver. An overview of the process is as follows,assuming that b is initially unknown:

1. At time t′r, the receiver samples all channels that are tracking a signal.

2. For each channel, based on various channel variables (z-count, bitcount, number of C/A repetitions, number of C/A code chips, andcode phase)1 the receiver determines tsv.

3. For each channel, the receiver computes the propagation pseudo-timeand pseudorange

t′p = t′r − tsv (C.1)ρ = ct′p. (C.2)

4. Based on eqn. (C.4) in Section C.1, the receiver computes Δtsv.

5. Knowledge of Δtsv allows computation of t by eqn. (C.6) in SectionC.1. Knowledge of t allows calculation of the satellite positions asdiscussed in Sections C.2 and C.3. With the satellite positions andthe pseudorange measurements from each channel the receiver cancompute its position and the clock bias b.

6. At this point, the receive could compute tr and tp.

1See p. 215 in [76].

Page 510: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

C.1. SATELLITE CLOCK CORRECTIONS 487

The details are described in the following two subsections.Within the receiver the above process works well, but for users working

with reported observables outside the receiver, the channel time variablesare usually not reported. When the receiver output stream includes a singletime stamp t′r for all pseudorange observables, then the channel time isrecovered as

tsv = t′r −ρ

c(C.3)

where ρ is computed as in eqn. (C.2). Since tsv is the first variable neededby the user, receivers frequently output the pseudorange in the form of t′pinstead of ρ, which avoids a unit transformation on the receiver that wouldjust be undone by the user.

C.1 Satellite Clock Corrections

Assume that a set of simultaneous pseudoranges are available. For eachchannel, determine the channel time tsv.

The correction Δtsv is calculated by the polynomial correction2

Δtsv = af0 + af1(tsv − toc) + af2(tsv − toc)2 + Δtr (C.4)

where toc and the polynomial coefficients are a portion of the navigationmessage. The term

Δtr = FeA1/2 sin(Ek) (C.5)

is a relativistic correction, F is a constant (see Appendix A), e and A aredefined in Table C.1, and Ek will be defined in Section C.2. Then the actualGPS system time at which the signal was sent is

t = tsv − Δtsv. (C.6)

The ground segment uses eqns. (C.6) and (C.4) as written to determinethe polynomial based estimate for the clock correction; however, this resultsin a coupled set of equations for the user. Sensitivity analysis has shown[6] that it is sufficiently accurate to approximate t by tsv in eqn. (C.4).

The parameter toc is the reference time for the applicability of the clockcorrection data. The difference (tsv − toc) is not expected to be large.In fact, the difference is assumed to lie in the interval [−302400, 302400]seconds, whose length corresponds to the number of seconds in a GPSweek. However, since toc is expressed in seconds of a given GPS week, itmay happen near the beginning or end of a week that tsv is referenced toone week while toc is referenced to a different week. In such cases |tsv − toc|

2In [6] the following equation is written in a slightly different format that implies aniterative implementation is required if Δtsv were large. Because Δtsv is normally small,the iteration is not required and the following version is typically sufficient.

Page 511: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

488 APPENDIX C. CALCULATION OF GPS SV POS. & VEL.

would be greater than 302400 s. When this occurs the user is responsiblefor reflecting (tsv−toc) back into the proper range by adding or subtracting604800 s.

The parameter IODC in Table C.1 is an integer which allows the userto detect when new clock model parameters are available. By monitoringIODC of the incoming satellite signal relative to the IODC of the clockparameters currently in use, the user can determine when to update theclock model parameters.

C.2 Satellite Position Calculations

The ephemeris parameters describe the orbit during a given interval oftime (at least one hour). The ephemeris parameters are the parameters foran extension of the orbital model predicted by Kepler. The extension isnecessary to account for non-uniformities in the Earth gravitational field.The ephemeris parameters are determined by the control segment as a curvefit to the measured satellite orbit. The parameter toe is the reference timeof applicability (local origin) of the ephemeris parameters.

The ephemeris parameters are defined in Table C.1 [6]. These param-eters are broadcast by the satellites and available after decoding on-boardthe receiver. The units of the broadcast parameters are also defined in thetable.

The ECEF coordinates for the phase center of the satellite antenna canbe calculated using a variation of the equations shown in Table C.2 [131].The main inputs to these equations are the variable tsv and the satelliteclock correction and ephemeris parameters defined in Table C.1.

The satellite antenna phase center position is very sensitive to smallperturbations in most ephemeris parameters. The sensitivity of position tothe parameters

√A, Crc, and Crs is about one meter/meter. The sensitivity

to angular parameters is on the order of 108 meters/semi-circle, and to theangular rate parameters is on the order of 1012 meters/semi-circle/second.Because of this extreme sensitivity to angular perturbations, the values ofall constants should exactly match those stated in Appendix A, from [6].

The parameter IODE is an integer which allows the user to detect whena new set of ephemeris parameters is available. By monitoring the IODEvalue for the incoming satellite signal relative to the IODE of the ephemerisdata currently in use, the user can determine when to update the ephemerismodel parameters.

A few comments are appropriate concerning Table C.2. The variabletk is the actual total time difference between the time t and the ephemerisreference time toe. The calculation must account for beginning or end ofweek crossovers. That is, if tk is greater than 302,400 seconds, subtract604,800 seconds from tk. If tk is less than -302,400 seconds, add 604,800

Page 512: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

C.2. SATELLITE POSITION CALCULATIONS 489

Parameter DescriptionTGD Group Delay, sec

IODC Issue of Data, Clocktoc Clock data reference time, secaf2 Second order correction to satellite clock, sec

sec2

af1 First order correction to satellite clock, secsec

af0 Constant correction to satellite clock, secM0 Mean anomaly at reference time, semi-circlesΔn Mean motion difference from computed value,

semi-circles/sece Eccentricity, dimensionless

A1/2 Square root of the semi-major axis,√

mΩ0 Longitude of ascension node at reference time,

semi-circlei0 Inclination angle at reference time, semi-circleω Argument of perigee, semi-circleΩ Rate of right ascension, semi-circle/sec

IDOT Rate of inclination angle, semi-circle/secCuc Amplitude of the cosine harmonic correction

to the argument of latitude, radCus Amplitude of the sine harmonic correction

to the argument of latitude, radCrc Amplitude of the cosine harmonic correction

to the orbit radius, mCrs Amplitude of the sine harmonic correction

to the orbit radius, mCic Amplitude of the cosine harmonic correction

to the angle of inclination, radCis Amplitude of the sine harmonic correction

to the angle of inclination, radtoe Ephemeris reference time, sec

IODE Issue of Data, Ephemeris

Table C.1: Clock and ephemeris parameter definitions.

Page 513: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

490 APPENDIX C. CALCULATION OF GPS SV POS. & VEL.

seconds to tk. The equation for Ek must be solved iteratively. Variousiterative solution techniques are considered in [131].

Table C.3 [44] contains a complete example set of ephemeris parameters.By using these ephemeris parameters in the equations of Table C.2 the spacevehicle (satellite) time offset and ECEF satellite antenna coordinates canbe determined. The results of these calculations are shown in Table C.4.

Page 514: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

C.2. SATELLITE POSITION CALCULATIONS 491

Equation Units Description

Δtr = Fe√

A sin(Ek) s Rel. corr. termΔtsv = af0 + af1(tsv − toc)

+af2(tsv − toc)2 + Δtr s Corr. to SV clock

t = tsv − Δtsv s Corr. mess.trans. time

A = (√

A)2 m Orbit semi-majoraxis

n0 = μA3 rps Comp’d mean

motiontk = t − toe s Time from

ref. epochn = no + Δn rps Corr. mean motion

Mk = M0 + tkn rad Mean anomalyEk = Mk + e sin(Ek) rad Kepler’s ecc.

anom. eqn.

vk = atan

√1−e2 sin(Ek)

1−e cos(Ek), cos(Ek)−e

1−e cos(Ek)rad True anomaly

φk = vk + ω rad Argument of lat.δuk = Cus sin(2φk) + Cuc cos(2φk) rad Arg. of lat. corr.δrk = Crs sin(2φk) + Crc cos(2φk) m Radius corr.δik = Cis sin(2φk) + Cic cos(2φk) rad Inclination corr.uk = φk + δuk rad Corr. arg. of lat.rk = A(1 − e cos(Ek)) + δrk m Corr. radiusik = i0 + δik + (IDOT )tk rad Corr. inclination

Xk = rk cos(uk) m Orb. plane x pos.Yk = rk sin(uk) m Orb. plane y pos.

Ωk = Ω0 + (Ω − Ωe)tk − Ωetoe rad Corr. long. ofasc. node

xk = Xk cos(Ωk) − Yk cos(ik) sin(Ωk) m SV ECEF x coord.yk = Xk sin(Ωk) + Yk cos(ik) cos(Ωk) m SV ECEF y coord.zk = Yk sin(ik) m SV ECEF z coord.

Table C.2: Equations for calculating satellite ECEF position based on naviga-tion message ephemeris parameters and time. The abbreviation rps stands forradians per second.

Page 515: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

492 APPENDIX C. CALCULATION OF GPS SV POS. & VEL.

Parameter Value Units

tsv 4.03272930 × 105 sec.wn 910 GPS week numbertow 403230 Seconds of GPS weektgd 2.3283 × 10−9 sec. (Group delay)

aodc 409 (Clock data issue)toc 410400 secaf2 0.00 sec/sec2

af1 1.819 × 10−12 sec/secaf0 3.29776667 × 10−5 sec

AODE 153 (Orbit data issue)Δn 4.3123 × 10−9 rad/secM0 2.24295542 rade 4.27323824 × 10−3 –

A1/2 5.15353571 × 103√

mtoe 410400 secCic 9.8720193 × 10−8 radCrc 282.28125 metersCis −3.9115548 × 10−8 radCrs −132.71875 metersCuc −6.60121440 × 10−6 radCus 5.31412661 × 10−6 radΩ0 2.29116688 radω −0.88396725 radi0 0.97477102 radΩ −8.025691 × 10−9 rad/sec

IDOT −4.23946 × 10−10 rad/sec

Table C.3: An example of received ephemeris information for a sample satel-lite.

Page 516: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

C.2. SATELLITE POSITION CALCULATIONS 493

Variable Value Units

A 2.6559 × 107 mn0 1.4587 × 10−4 rad/s

Δtsv 3.2965 × 10−5 sect 4.0327 × 105 sectk −7.1271 × 103 secn 1.4587 × 10−4 rad/s

Mk 1.2033 radEk 1.2073 radvk 1.2113 radφk 3.2735 × 10−1 radδuk −2.0003 × 10−6 radδrk 1.4310 × 102 mδik 5.4489 × 10−8 raduk 3.2735 × 10−1 radrk 2.6519 × 107 mik 9.7477 × 10−1 radXk 2.5111 × 107 mYk 8.5267 × 106 mΩk −2.7116 × 101 radxk −5.67841101 × 106 myk −2.49239629 × 107 mzk 7.05651887 × 106 m

Table C.4: Calculated Satellite Position in ECEF Coordinates

Page 517: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

494 APPENDIX C. CALCULATION OF GPS SV POS. & VEL.

C.3 Reference Frame Consistency

Section C.2 presented the standard equations use to compute the positionpi(ti) of the i-th satellite vehicle at the time of transmission ti as repre-sented in the ECEF frame at time ti.

A subtlety in the equations presented in Table C.2 is the fact that thecomputed position for each satellite is in a distinct frame-of-reference andare therefore not compatible. The ECEF is not an inertial frame. Due tothe rotation of the frame, the ECEF frame a time t1 is distinct from theECEF frame at time t2. Let [Pi]e(t) denote the coordinates of the pointPi with respect to the ECEF frame at time t. Even in the case that P1 isfixed in inertial space, in general [P1]e(t1) �= [P1]e(t2) for t1 �= t2.

Use of time-of-transit to measure range is premised on the fact that thespeed-of-light through a vacuum is constant relative to inertial referenceframes. Therefore, if the coordinates of two points were known in an iner-tial frame [P1]

i and [P2]i the time for light to transit between the points

through a vacuum would be

τ =

∥∥∥[P1]i − [P2]

i∥∥∥

c.

When the coordinates of the two points are known in distinct referenceframes a and b, [P1]

a and [P2]b, neither of which is an inertial frame, then

they could be transformed to an inertial frame:

τ =

∥∥∥Ria [P1]

a − RiaR

ab [P2]

b∥∥∥

c.

Because the norm of a vector is invariant under rotational transformation,this is equivalent to

τ =

∥∥∥[P1]a − Ra

b [P2]b∥∥∥

c.

There are two important points. First, to calculate the distance betweenthese two points P1 and P2, they must first be represented in the samereference frame. Second, there is not a unique best frame. The followingdiscussion will use the ECEF frame at an arbitrary time denoted as ta.Often the selected time is t′r the time at which the receiver measured thepseudoranges.

Given [P1]e(t1) and [P2]

e(t2) the coordinates of P1 and P2 with respectto the ECEF frame at time ta are

[P1]e(ta) = Re(ta)

e(t1)[P1]

e(t1)

[P2]e(ta) = Re(ta)

e(t2)[P2]

e(t2) .

Page 518: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

C.4. SATELLITE VELOCITY 495

The coordinate transformation matrix

Re(ta)e(ti)

= [ωeie(ta − ti)]3 =

⎡⎣ cos (ωe

ie(ta − ti)) sin (ωeie(ta − ti)) 0

− sin (ωeie(ta − ti)) cos (ωe

ie(ta − ti)) 00 0 1

⎤⎦

is a plane rotation that accounts for the the rotation of the Earth over thetime span (ta − ti) at angular rate ωie around the ECEF z-axis.

In the case where ta = t′r, then for the i-th satellite, its position is ro-tated by the angle (ωe

ietip) = ωe

ie(t′r−tisv) where tip and tisv are the quantities

defined in eqn. (C.1) referred to the i-th satellite. Neglecting to transformall satellite positions to the same frame-of-reference can result in rangeerrors of up to ±40m.

C.4 Satellite Velocity

Use of the GPS Doppler measurements requires knowledge of the velocityof the satellite. That issue is addressed in this section.

C.4.1 Equations from Ephemeris

Equations for the satellite position as a function of time are shown in TableC.2. The satellite velocity can be computed as the derivative of the satelliteposition as summarized in Table C.5.

Ek = n0+Δn1−e cos(Ek)

φk =

√1−e2

1−e cos(Ek)Ek

uk = (1 + 2Cus cos(2φk) − 2Cuc sin(2φk)) φk

rk = 2 (Crs cos(2φk) − Crc sin(2φk)) φk + Ae sin(Ek)Ek

Xk = rk cos(uk) − rk sin(uk)uk

Yk = rk sin(uk) + rk cos(uk)uk

dikdt

= 2 (Cis cos(2φk) − Cic sin(2φk)) φk + IDOT

Ωk = Ω − Ωe

xk = Xk cos(Ωk) − Yk cos(ik) sin(Ωk) + Yk sin(ik) sin(Ωk) dikdt

− ykΩk

yk = Xk sin(Ωk) + Yk cos(ik) cos(Ωk) − Yk sin(ik) cos(Ωk) dikdt

+ xkΩk

zk = Yk sin(ik) + Yk cos(ik) dikdt

Table C.5: Equations for calculating satellite ECEF velocity based on naviga-tion message ephemeris parameters and time.

Page 519: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

496 APPENDIX C. CALCULATION OF GPS SV POS. & VEL.

The equations of Table C.5 are derived by starting with the last threerows of Table C.2 and working up through that table computing the nec-essary derivatives to complete the computation. The only step requiringclarification is the derivation of φk.

From Table C.2 it is clear that φk = vk and

vk = atan

(√1 − e2 sin(Ek)1 − e cos(Ek)

,cos(Ek) − e

1 − e cos(Ek)

).

By the chain and quotient rule for differentiation it is straightforward toderive

vk =√

1 − e2 cos(Ek) (cos(Ek) − e) +√

1 − e2 sin2(Ek)

(cos(Ek) − e)2 +(√

1 − e2 sin(Ek))2 Ek

which simplifies as follows:

vk =√

1 − e2 (1 − e cos(Ek))e2 − 2e cos(Ek) + cos2(Ek) + sin2(Ek) − e2 sin2(Ek)

Ek

=√

1 − e2 (1 − e cos(Ek))(1 − e cos(Ek))2

Ek

=

( √1 − e2

1 − e cos(Ek)

)Ek.

C.4.2 Practical Issues

The GPS Doppler measurement is constructed as the change in the carrierphase angle over a stated time interval. Therefore the GPS Doppler mea-surement is the change in the distance between the receiver and satelliteantennae (plus clock drift) over the stated period of time. Dividing thispseudorange change by the length of the interval yields a measurement ofthe average pseudorange rate of change over the time interval.

To remove the effects of satellite motion from the Doppler measurementaccurately, the satellite velocity should be compatible with the averagepseudorange rate. This requires the average satellite velocity over the sametime interval. One approach is to compute the satellite velocity at the centerof the interval. Another approach is to compute the satellite velocity at thebeginning and end of the interval and to average their values. A thirdapproach is to difference the satellite positions at the beginning and end ofthe time interval. This third approach eliminates the need to compute theequations in Table C.5.

Page 520: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

C.5. IONOSPHERIC MODEL 497

C.5 Ionospheric Model

This section presents the Klobuchar ionospheric correction model. Thevariable definitions and units are summarized in Table C.6. This modelshould only be used by users with single frequency receivers that are notoperating in differential mode. Dual frequency users should refer to Section8.6. Differential operation requires consideration of the DGPS protocol andbase-to-user distance. If the RTCM-104 standard is being used, then thecorrections should include an atmospheric error correction.

The Klobuchar model was defined under the constraints of using onlyeight coefficients and approximately one daily model update, to providea worldwide correction for approximately 50% of the ionospheric delay atmid-latitudes. The selected form of the model was a bias plus half-cosine:

tion = F

(b + AMP cos

(2π(t − ζ)

PER

)). (C.7)

The F in this equation is a slant correction factor and is distinct fromthe constant used in eqn. (C.5). Due to the eight coefficient constraint,a study was performed to determine how to best allocate the eight GPSmessage coefficients to the four parameters of eqn. (C.7). The model wasfound to be most sensitive to the amplitude AMP and period PER terms.Therefore, b and ζ are represented by constant terms in the model. Thirdorder polynomial expansions are used for AMP and PER.

The inputs to the model are the user geodetic latitude φ and longitudeλ, the GPS time tgps, and the user relative azimuth A and elevation E ofthe satellite. The GPS message supplies four α and four β parameters. Thealgorithm proceeds as follows:

1. Based on the satellite elevation, compute the Earth central angle be-tween the user position and the Earth projection of the ionosphericintersection point:

ψ =0.0137

E + 0.11− 0.022. (C.8)

2. Based on the user location and the satellite azimuth, calculate thegeodetic latitude and longitude of the Earth projection of the iono-spheric intersection point:

φi =

⎧⎨⎩

φu + ψ cos(A) if |φi| ≤ 0.4160.416 if φi > 0.416

−0.416 if φi < −0.416(C.9)

λi = λu +ψ sin(A)cos(φi)

. (C.10)

Page 521: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

498 APPENDIX C. CALCULATION OF GPS SV POS. & VEL.

3. Calculate the local time at the Earth projection of the ionosphericintersection point:

t = 4.32 × 104λi + tgps. (C.11)

The variable t in the model is assumed to lie in the stated range. If thecomputation results in an out-of-range value, the user is responsiblefor reflecting it back in to the specified range by adding or subtracting86400.

4. Calculate the geomagnetic latitude of the Earth projection of theionospheric intersection point:

φm = φi + 0.064 cos(λi − 1.617). (C.12)

5. Used the β terms from the GPS message to calculate the period:

PER ={ ∑3

n=0 βn(φm)n if PER ≥ 7200072000 if PER < 72000.

(C.13)

6. Calculate the argument of the cosine term:

x =2π(t − 50400)

PER. (C.14)

7. Calculate the slant factor:

F = 1.0 + 16.0(0.53 − E)3. (C.15)

8. Use the α terms from the GPS message to calculate the amplitude:

AMP ={ ∑3

n=0 αn(φm)n if AMP ≥ 00 if AMP < 0.

(C.16)

9. Calculate the L1 ionospheric correction:

t1ion =

{F(5 × 10−9 + AMP (1 − x2

2 + x4

24 ))

if |x| < 1.575F × 10−9 if |x| ≥ 1.57.

A three term (fourth order) expansion of the cosine has been used.The condition |x| ≥ 1.57 indicates the time t is in the night.

10. If needed, calculate the L2 ionospheric correction:

t2ion =772

602t1ion. (C.17)

Page 522: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

C.5. IONOSPHERIC MODEL 499

Symbol Units Descriptionαn Coefficients of cubic fit to

the amplitude of vertical delayβn Coefficients of cubic fit to the

period of the modelE semi-circles User to SV elevation angleA semi-circles User to SV azimuth

(clockwise from true north)φ semi-circles User geodetic WGS-84 latitudeλ semi-circles User geodetic WGS-84 longitude

tgps sec GPS system timeψ semi-circles Earth central angle between the user position

and the Earth projection of the ionosphericintersection point

φi semi-circles Geodetic latitude of the Earth projectionof the ionospheric intersection point

λi semi-circles Geodetic longitude of the Earth projectionof the ionospheric intersection point

t sec Local time, range = [0, 86400)φm semi-circles Geomagnetic latitude of the Earth projection

of the ionospheric intersection pointPER sec Period

x radians PhaseF Slant factor

AMP sec Amplitude of cos termt1ion sec L1 ionospheric correctiont2ion sec L2 ionospheric correction

Table C.6: Ionospheric correction variable definitions.

Page 523: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

500 APPENDIX C. CALCULATION OF GPS SV POS. & VEL.

C.6 References and Further Reading

Readers interested in the details of the satellite signal format should see[6, 131]. The main source for Sections C.1–C.2 was [6]. The main referencefor Section C.3 was [13]. At the time of publication, the author is notaware of a published source for the information in Section C.4; althoughthe information is well known. The main sources for Section C.5 were[6, 79, 80].

Page 524: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Appendix D

Quaternions

While the orientation between any two frames may result from a sequenceof rotations, a theorem due to Euler states that the transformation betweenany two frames can be represented as a single rotation about a single fixedvector [61]. In the following, we will consider frames a and b. Frame b resultsfrom rotation of frame a by the angle ζ about the unit vector E ∈ R

3.For a vehicle experiencing arbitrary angular rotations, the effective axis

E and rotation angle ζ that represent the rotational transformation be-tween the body and navigation frames will evolve over time. This sec-tion introduces the quaternion method for parameterizing the effective axisand rotation angle. This section reviews the properties of quaternions[50, 61, 103, 118, 126, 129]. It presents the methods to compute the di-rection cosine matrix Rn

b and the roll φ, pitch θ, and yaw ψ angles. Fi-nally, it presents algorithms for computing quaternions based on the bodyframe angular rate vector. Quaternion parameterizations may appear lessintuitively appealing, but the quaternion approach is often the preferredimplementation approach due to the linearity of the quaternion differentialequations, the lack of singularities, the lack of trigonometric functions inthe integration routine (in comparison to Euler angle integration), and thesmall number of parameters (relative to direction cosine integration).

D.1 Quaternions Basics

A complex number has two parameters (a1, a2) ∈ R2 and can be expressed

asz = a1 + ia2

where i satisfies i2 = −1. The complex number z is the real linear combi-nation of the basis 1 and i. Complex numbers are a convenient means forexpressing rotations of vectors in a two-dimensional space.

501

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 525: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

502 APPENDIX D. QUATERNIONS

The quaternion has four parameters b = (b1, b2, b3, b4) ∈ R4 and can be

represented by a generalized (four component) complex number:

b = b1 + b2i + b3j + b4k (D.1)

where 1, i, j,k are the quaternion basis. The symbol ◦ will be used todenote the quaternion product. The product of two quaternions yields athird quaternion. The quaternion product has the following properties:

i ◦ i = −1, i ◦ j = k, i ◦ k = −j,j ◦ j = −1, j ◦ k = i, j ◦ i = −k,

k ◦ k = −1, k ◦ i = j, k ◦ j = −i.

The conjugate or adjoint of b is

b = b1 − b2i − b3j − b4k. (D.2)

Addition or subtraction of quaternions is defined as the addition and sub-traction of the corresponding components of the quaternions.

By the distributive properties of multiplication and the above proper-ties, the product of quaternions b and c is

b ◦ c = (b1c1 − b2c2 − b3c3 − b4c4) + (b1c2 + b2c1 + b3c4 − b4c3) i+ (b1c3 − b2c4 + b4c2 + b3c1) j + (b1c4 + b2c3 − b3c2 + b4c1)k

=

⎡⎢⎢⎣

b1 −b2 −b3 −b4

b2 b1 −b4 b3

b3 b4 b1 −b2

b4 −b3 b2 b1

⎤⎥⎥⎦⎡⎢⎢⎣

c1

c2

c3

c4

⎤⎥⎥⎦ (D.3)

=

⎡⎢⎢⎣

c1 −c2 −c3 −c4

c2 c1 c4 −c3

c3 −c4 c1 c2

c4 c3 −c2 c1

⎤⎥⎥⎦⎡⎢⎢⎣

b1

b2

b3

b4

⎤⎥⎥⎦ . (D.4)

It is important to note that quaternion multiplication is not commutative:b ◦ c �= c ◦ b; but is associative: a ◦ (b ◦ c) = (a ◦ b) ◦ c. The norm of aquaternion is

‖b‖ = b ◦ b = b21 + b2

2 + b23 + b2

4. (D.5)

This inverse of quaternion b is

b−1 =b

‖b‖ .

The quaternion b can also be expressed in the vector form

b = b1 + �b (D.6)

Page 526: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

D.2. ROTATIONS 503

where �b = [b2, b3, b4]�. The vector form allows compact representation ofquaternion operations. For example, the quaternion conjugate is

b = b1 − �b.

The quaternion product can be written as

b ◦ c = b1c1 − �b · �c + b1�c + c1�b + �b × �c. (D.7)

Based on the quaternion b we can form the matrices

Qb =

[b1 −�b��b (b1I + [�b×])

]and Qb =

[b1 −�b��b (b1I − [�b×])

]. (D.8)

From which it is clear that Qb = Q�b and Qb = Q�

b . Using the matricesQb and Qb, the quaternion product can be expressed as

b ◦ c = Qbc (D.9)= Qcb (D.10)

which are the same matrices written in component form in eqns. (D.3–D.4).It can also be shown, by direct multiplication, that Qb and Qc commute,QbQc = QcQb.

D.2 Rotations

Let frame a be aligned with frame b by rotating frame a by ζ radians aboutunit vector E. The quaternion b that represents the rotational transforma-tion from frame a to frame b is

b =[

cos(ζ/2)E sin(ζ/2)

].

Note that b has the normality property that ‖b‖ = 1. Therefore, forthe representation of rotational transformations, the quaternion b has onlythree degrees of freedom.

Let z = Rbav where v is coordinatized in frame a and z is the represen-

tation of v when coordinatized in frame b. Each vector can be expressedas the quaternion form as

qv =[

0v

]and qz =

[0z

].

Using quaternions, the transformation of the vector quantity v from framea to frame b is

qz = b ◦ qv ◦ b−1 = b ◦ qv ◦ b (D.11)

Page 527: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

504 APPENDIX D. QUATERNIONS

which can be written using eqn. (D.10) as

qz = QbQbqv (D.12)

=

⎡⎢⎢⎣

b1 −b2 −b3 −b4

b2 b1 −b4 b3

b3 b4 b1 −b2

b4 −b3 b2 b1

⎤⎥⎥⎦⎡⎢⎢⎣

b1 b2 b3 b4

−b2 b1 −b4 b3

−b3 b4 b1 −b2

−b4 −b3 b2 b1

⎤⎥⎥⎦[

0v

].

The product matrix QbQb is⎡⎢⎢⎣

1 0 0 00 b2

1 + b22 − b2

3 − b24 2(b2b3 − b1b4) 2(b1b3 + b2b4)

0 2(b2b3 + b1b4) b21 − b2

2 + b23 − b2

4 2(−b1b2 + b3b4)0 2(−b1b3 + b2b4) 2(b1b2 + b3b4) b2

1 − b22 − b2

3 + b24

⎤⎥⎥⎦ ,

with the desired rotation matrix being the lower right 3× 3 matrix. Basedon the above analysis, the rotation matrix for transforming vectors froma frame to b frame can be computed from the quaternion b using theexpression

R(b) =b21 + b2

2 − b23 − b2

4 2(b2b3 − b1b4) 2(b1b3 + b2b4)2(b2b3 + b1b4) b2

1 − b22 + b2

3 − b24 2(b3b4 − b1b2)

2(b2b4 − b1b3) 2(b1b2 + b3b4) b21 − b2

2 − b23 + b2

4

(D.13)

where R(b) is used as a shorthand for Rba(b) to simplify the notation below.

Using the vector form of the quaternion, Eqn. (D.13) can be compactlyexpressed as

R(b) =(b21 − �b · �b

)I + 2�b�b� + 2b1[�b×] (D.14)

where I is the identity matrix for R3 and the final simplification uses the

fact that[�b×][�b×] = �b�b� − �b��bI.

Typical applications integrate the quaternion at a high rate and onlycompute Rb

a at a lower rate as needed for other computations.

D.2.1 Direction Cosine to Quaternion

If the matrix Rba is known, then the quaternion can be computed from eqn.

(D.13) as

b =

⎡⎢⎢⎢⎢⎣

12

√1 + Rb

a[1, 1] + Rba[2, 2] + Rb

a[3, 3]Rb

a[3,2]−Rba[2,3]

4b1Rb

a[1,3]−Rba[3,1]

4b1Rb

a[2,1]−Rba[1,2]

4b1

⎤⎥⎥⎥⎥⎦ . (D.15)

Page 528: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

D.3. QUATERNION DERIVATIVE 505

Eqn. (D.15) can be useful to determine initial conditions for the quaterniondifferential equation. When the quantity under the square root is near zero,the numeric properties of eqn. (D.15) can be improved, see eqns. (166-168)in [120].

D.2.2 Quaternions to Euler Angles

In the particular case when the quaternion b represents the rotation fromtangent to body frame, the Euler angles can be calculated when required(e.g., for control) from the components of the direction cosine matrix as,by comparison of eqns. (2.43) and (D.13),

sin(θ) = −2(b2b4 + b1b3) (D.16)φ = atan2

(2(b3b4 − b1b2), 1 − 2(b2

2 + b23))

(D.17)

ψ = atan2(2(b2b3 − b1b4), 1 − 2(b2

3 + b24)). (D.18)

D.3 Quaternion Derivative

The purpose of this section is to derive an expression relating the derivativeof the quaternion to the angular rate vector ω. The derivation will bederived between generic a and c frames. Then, the result is specialized tothe body to tangent plane application.

D.3.1 General Derivation

Let r be an arbitrary constant position vector in frame a and let c beanother frame. The origins of frames a and c are coincident and the angularvelocity of frame a with respect to frame c coordinatized in frame c is ωc

ca.Let z = Rc

ar denote then representation of the vector with respect to framec. The rate of change of the vector z in frame c is

z = RcaΩ

acar

= ΩccaR

car

= ωcca × z. (D.19)

Letting b denote the unit quaternion that transforms vectors repre-sented in frame a to representations in frame c, by eqn. (D.11)

qz = b ◦ qr ◦ b

the derivative of the quaternion qz is

qz = b ◦ qr ◦ b + b ◦ qr ◦ ˙b.

Page 529: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

506 APPENDIX D. QUATERNIONS

Using the facts that qr = b◦qz◦b and that b◦b is the identity quaternions,we have that

qz = b ◦ b ◦ qz ◦ b ◦ b + b ◦ b ◦ qz ◦ b ◦ ˙b (D.20)

= b ◦ b ◦ qz + qz ◦ b ◦ ˙b. (D.21)

Using the fact that b is a unit vector, it can be shown that the scalar portionof both b◦ b and b◦ ˙b is zero. Therefore, as expected, the scalar portion ofeqn. (D.21) is zero. It can also be shown that the vector portions of thesequaternions are equal in magnitude and opposite in sign. Therefore, if welet b ◦ b = 0 + �w, then b ◦ ˙b = 0− �w. The vector portion of eqn. (D.21) is

z = 2�w × z. (D.22)

Comparing eqns. (D.19) and (D.22) we conclude that ωcca = 2�w. Writing

this in quaternion form yields

qωcca

= 2b ◦ b (D.23)

where qωcca

= 0 + ωcca. Solving eqn. (D.23) for b, by multiplying on the

right by b, yields

b =12qωc

ca◦ b (D.24)

=12Qωc

cab (D.25)

=12Qbqωc

ca. (D.26)

In particular, because the scalar part of qωcca

is zero, based on the definitionof Qb in eqn. (D.8) it is possible to reduce eqn. (D.26) to

b =12

[−�b�

(b1I − [�b×])

]ωc

ca. (D.27)

D.3.2 Body to Navigation Frame Result

The special case where b represents the rotation from navigation to bodyframe is of interest. In this case,

ωbbn = ωb

bi + ωbin

= ωbin − ωb

ib

where ωbib = [p, q, r]� are the measured body rates. For the construction of

the matrices to follow, we will use the following notation for the componentsof ωb

bn = [ω1, ω2, ω3]�.

Page 530: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

D.4. SUMMARY 507

Eqn. (D.27) specializes to

b =12Ωb

⎡⎣ ω1

ω2

ω3

⎤⎦ (D.28)

where

Ωb =

⎡⎢⎢⎣

−b2 −b3 −b4

b1 b4 −b3

−b4 b1 b2

b3 −b2 b1

⎤⎥⎥⎦ (D.29)

and the horizontal line is inserted in the matrix to facilitate comparisonwith eqn. (D.27). Similarly, eqn. (D.25) specializes to

b =12Qωb

bnb, where (D.30)

Qωbbn

=

⎡⎢⎢⎣

0 −ω1 −ω2 −ω3

ω1 0 −ω3 ω2

ω2 ω3 0 −ω1

ω3 −ω2 ω1 0

⎤⎥⎥⎦ (D.31)

where the horizontal and vertical lines are included to facilitate comparisonwith the definition of Qωb

bnin eqn. (D.8).

D.4 Summary

Given the results derived above, the quaternion approach can be definedby the following sequence of actions.

1. At t = 0, the initial attitude is estimated and Rbn(0) is computed

according to eqns. (2.43).

2. The initial value of the quaternion b(0) is computed according to eqn.(D.15).

3. Given ωbbn(t), the quaternion b(t) for t ≥ 0 is computed using either

eqn. (D.28) or (D.30).

4. The rotation matrix Rbn(t) is computed from b(t) using eqn. (D.13)

when required. Alternatively, vectors can be transformed betweenthe frames-of-reference directly by use of eqn. (D.11).

5. The attitude is computed according to eqns. (D.16-D.18) at any timethat it is needed.

Page 531: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

508 APPENDIX D. QUATERNIONS

D.5 Quaternion Integration

The quaternion approach using a four parameter vector with a unity magni-tude constraint allows three degrees of freedom. Due to the unity magnitudeconstraint, quaternions are elements of a unit sphere in four space. Thisunit sphere is not a Euclidean vector space in which the usual definitionsof vector addition and scaling apply; therefore, care must be taken in theintegration of the quaternion differential equation. Since the equations arelinear, if the sampling rate is high enough that it is accurate to consider therotation rate as constant over the sample interval T , then it is possible tofind and implement a closed form solution to eqn. (D.30). Such a solutionis presented below.

To simplify notation, let Q(t) = 12Qωb

bn(t) so that eqn. (D.30) can be

written as

b(t) = Q(t)b(t). (D.32)

Our objective is to find b(t2) when b(t1) is known and Q(t) is constant fort ∈ (t1, t2] where T = t2 − t1.

Given these assumptions, for t ∈ (t1, t2] we have that

Q(t) = Q =12

⎡⎢⎢⎣

0 −ω1 −ω2 −ω3

ω1 0 −ω3 ω2

ω2 ω3 0 −ω1

ω3 −ω2 ω1 0

⎤⎥⎥⎦ .

and we define the integrating factor

Ξ(t) = e− t

t1Q(τ)dτ

. (D.33)

Multiplying the integrating factor into eqn. (D.32) from the left and sim-plifying proceeds as follows:

e− t

t1Qdτ b − e

− tt1

QdτQb = 0d

dt

(e− t

t1Qdτb(t)

)= 0.

Integrating both sides over the interval yields

e−t2t1

Qdτb(t2) = e−t1t1

Qdτb(t1)

b(t2) = et2t1

Qdτb(t1) (D.34)

where it has been recognized that(e− t

t1Qdτ

)−1

= ett1

Qdτ .

Page 532: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

D.5. QUATERNION INTEGRATION 509

To write the solution of eqn. (D.34) in a more convenient form, wedefine w = [W1,W2, W3]� and

W =[

0 −w�

w ([w×])

]=

⎡⎢⎢⎣

0 −W1 −W2 −W3

W1 0 −W3 W2

W2 W3 0 −W1

W3 −W2 W1 0

⎤⎥⎥⎦ ,

where

W1 = 12

∫ t

t1ω1(τ)dτ, W2 = 1

2

∫ t

t1ω2(τ)dτ, W3 = 1

2

∫ t

t1ω3(τ)dτ.

With these definitions, eqn. (D.34) is equivalent to

b(t2) = eWb(t1). (D.35)

Fortunately, the state transition matrix eW allows further simplification.First, it is easily verified by direct multiplication that

W2 = −‖w‖2I.

Expanding eW using a power series

eW = I + W +W2

2!+

W3

3!+ . . .

=(I +

W2

2!+

(W2)2

4!+ . . .

)+ W

(I +

W2

3!+

(W2)2

5!+ . . .

)

= cos (‖w‖) I +sin (‖w‖)

‖w‖ W.

Therefore, because the above derivation can be repeated over any intervalof duration T for which the assumption of a constant angular rate is valid,we have the general equation

b(tk) =(

cos (‖w‖) I +sin (‖w‖)

‖w‖ W)

b(tk−1) (D.36)

where w, ‖w‖ and W involve the integral of the angular rates over the k-thsampling interval t ∈ (tk−1, tk].

Note that no approximations were made in this derivation, so the solu-tion is in closed form given the assumption that Q(t) is constant over theinterval of length T . The solution is easily verified to be norm preserving byshowing that the norm of the right side of eqn. (D.36) is equal to ‖b(tk−1)‖.The algorithm is not an exact solution to the differential equation over anyinterval where the angular rates are not constant. In [73] the algorithm ofeqn. (D.36) is shown to be second order and a third order algorithm is alsopresented. The algorithm being second order means the algorithm errorcontains terms proportional to T 3 and higher powers. Because T is small,higher order algorithms have smaller errors; however, the tradeoff is thatthey require additional computation.

Page 533: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

510 APPENDIX D. QUATERNIONS

D.6 Attitude Representation Comparison

The following example clarifies the singularity that occurs with the Eulerangle representation of attitude as θ → π

2 .

Example D.1 Consider the tangent to body direction cosine matrix corre-sponding to θ = π

2 :

Rbt =

⎡⎣ 0 0 −1

−sψcφ + cψsφ cψcφ + sψsφ 0sψsφ + cψcφ −cψsφ + sψcφ 0

⎤⎦

which is well defined for any ψ and φ. However, there are multiple valuesof ψ, φ ∈ (−π, π] that yield the same orientation.

Consider two sequences of rotations. For each, assume that the tangentand body frames are initially aligned. The first rotation sequence is definedby a rotation of π

2 rads. about the navigation frame y-axis to give (φ, θ, ψ) =(0, π

2 , 0). The second rotation sequence is defined by a rotation about thenavigation frame z-axis by π

2 rads., rotation about the body frame y-axisby π

2 rads., and then rotation about the vehicle x-axis by π2 rads to yield

(φ, θ, ψ) = (π2 , π

2 , π2 ). Both of these rotation sequences result in the same

vehicle orientation.For each of these rotation sequences the angular rate vectors in body

frame are well defined. In the first case, e.g., (p, q, r) = (0, 90, 0)deg/s for1.0s. In the second case, e.g.:

(p, q, r) =(

0, 0,π

2

)rad/s for t ∈ [0, 1)s

(p, q, r) =(

0,π

2, 0

)rad/s for t ∈ [1, 2)s

(p, q, r) =(π

2, 0, 0

)rad/s for t ∈ [2, 3)s.

In both cases, the matrix ΩE involved in the computation of the Euler anglederivatives of eqn. (2.74) on page 57 becomes singular. For θ ≈ π

2 thematrix Ω−1

E is large (potentially infinite) which can greatly magnify sensorerrors in the computation of the Euler angle derivatives. �

The following example considers the motion similar to that of the pre-vious example in the sense that the vehicle is maneuvering near θ = π

2 rad,but using a quaternion implementation.

Example D.2 For the initial condition (φ, θ, ψ) = (0, 0, 0), the initialquaternion is b(0) = [1, 0, 0, 0].

Figure D.1 shows the body frame angular rates [p, q, r]. The quaternionthat results from the integration of either eqn. (D.28) or (D.30) is plotted

Page 534: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

D.7. REFERENCES AND FURTHER READING 511

0 0.5 1 1.5 2 2.5 3 3.5 4−100

0

100P

, deg

/s

0 0.5 1 1.5 2 2.5 3 3.5 40

50

100

Q, d

eg/s

0 0.5 1 1.5 2 2.5 3 3.5 40

50

100

Time, t, sec

R, d

eg/s

Figure D.1: Angular rates for Example D.2.

in Figure D.2. The Euler angles computed from the quaternion are plottedin Figure D.3. Throughout the simulation, the gain defined by the matrixΩb in eqn. (D.29) is small. For example, due to b being a unit quaternioneach row has magnitude less than 1.0.

For an additional example of the use of quaternions, especially for atti-tudes with θ near 90 degrees, see the discussion related to Figure 10.5.

D.7 References and Further Reading

The main sources for the material in this appendix were [23, 45, 50, 103,115, 118, 137]. Attitude representations are compared in [120].

D.8 Exercises

Exercise D.1 Show that eqn. (D.7) yields the same result as eqn. (D.3).

Exercise D.2 Use the definitions of eqns. (D.6) and (D.7) with the defi-nition of quaternion products in eqn. (D.7) to verify that eqn. (D.5).

Exercise D.3 Verify that eqn. (D.14) yields the same result as eqn.(D.13).

Page 535: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

512 APPENDIX D. QUATERNIONS

0 0.5 1 1.5 2 2.5 3 3.5 4−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

Time, t, sec

Qua

tern

ion

Figure D.2: Quaternion b(t) for Example D.2: b1 is solid, b2 is dash-dotted,b3 is dashed, and b4 is dotted.

0 0.5 1 1.5 2 2.5 3 3.5 4−200

0

200

Rol

l,φ,

deg

0 0.5 1 1.5 2 2.5 3 3.5 4−100

0

100

Pitc

h,θ,

deg

0 0.5 1 1.5 2 2.5 3 3.5 4−200

0

200

Time, t, sec

yaw

,ψ, d

eg

Figure D.3: Computed attitude by eqns. (D.16-D.18) for Example D.2.

Page 536: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

D.8. EXERCISES 513

Exercise D.4 Let b and b represent a quaternion and its computed valuewhere b = 1

2qω◦b and ˙b = 12 qω◦b with qω = [0,ω�]� being the quaternion

representation of the angular rate vector ω and qω = [0, ω�]� being thequaternion representation of the measured angular rate vector ω = ω +xg + νg.

The quaternion error can be define as δb = b◦b−1 where δb ≈ [1, δξ�]�.

1. Use eqn. (D.14) to show that the small angle rotation correspondingto δb is

R(δb) = (I + 2[δξ×]) (D.37)

to first order.

2. Given the product δb = b ◦ b−1 and eqn. (D.37), show that

R(b) = (I + 2[δξ×])R(b).

3. Starting from the equation

δb = b ◦ b−1 + b ◦ ˙b−1

use the fact that ˙b−1 = −b−1 ◦ ˙b ◦ b−1 to show that

δb =12

(qω ◦ δb − δb ◦ qω) . (D.38)

4. Show that the vector portion of eqn. (D.38) reduces to

δξ = [ω×]δξ − 12xg − 1

2νg (D.39)

after all higher order terms have been dropped.

Page 537: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 538: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Bibliography

[1] N. Ackroyd and R. Lorimer. Global navigation: a GPS user’s guide.Lloyd’s of London Press, London; NewYork, 1990.

[2] D. W. Allan. Statistics of atomic frequency standards. Proceedingsof the IEEE, 54(2):221–230, 1966.

[3] W. G. Anderson and E. H. Fritze. Instrument approach system steer-ing computer. Proceedings of Institute of Radio Engineers, 41(2):219–228, February 1953.

[4] Anonymous. Phase I NAVSTAR/GPS major field test objective re-port thermostatic correction. Technical report, Navstar/GPS JointProgram Office, Space & Missile Systems Organization, Los AngelesAir Force Station, Los Angeles, California, May 4 1979.

[5] Anonymous. Recommended practice for atmospheric and space flightvehicle coordinate systems. Technical Report AIAA/ANSI R-004-1992, American Institute of Aeronautics and Astronautics, Reston,VA, 1992.

[6] Anonymous. NAVSTAR GPS space segment/navigation user inter-faces. Technical Report ICD-GPS-200, ARINC Research Corpora-tion, April 1993.

[7] Anonymous. RTCM recommended standards for differential navs-tar GPS service. Technical Report 104, RTCM Special Committee,January 1994.

[8] Anonymous. The global positioning system: A shared national as-set. Technical report, National Research Council, Washington, D.C.,1995.

[9] Anonymous. IEEE standard specification format guide and test pro-cedure for single-axis laser gyros. Technical Report IEEE Std. 647-1995, IEEE, New York, NY, 1995.

515

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 539: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

516 BIBLIOGRAPHY

[10] Anonymous. IEEE standard specification format guide and test pro-cedure for single-axis interferometric fiber optic gyros. Technical Re-port IEEE Std. 952-1997, IEEE, New York, NY, 1997.

[11] Anonymous. IEEE standard specification format guide and test pro-cedure for single-axis, nongyroscopic accelerometers. Technical Re-port IEEE Std. 1293-1998, IEEE, New York, NY, 1998.

[12] Anonymous. World Geodetic System 1984 (WGS-84)–Its definitionand relationships with local geoderic systems. Technical ReportNIMA TR 8350.2, Defense Mapping Agency, Fairfax, VA, 2000.

[13] N. Ashby and M. Weiss. Global position system receivers and relativ-ity. Technical Report NIST TN 1385, National Institute of Standardsand Technology, Boulder, CO, March 1999.

[14] I. Y. Bar-Itzack, P. Y. Montgomery, and J. C. Garrick. Algorithmsfor attitiude determination using GPS. Journal of Guidance, Control,and Dynamics, 21(6):846–852, 1998.

[15] I. Y. Bar-Itzhack. Navigation computation in terrestrial strapdowninertial navigation systems. IEEE Transactions on Aerospace andElectronic Systems, 13(6):679–689, 1977.

[16] I. Y. Bar-Itzhack. Corrections to ‘navigation computation in terres-trial strapdown inertial navigation systems’. IEEE Transactions onAerospace and Electronic Systems, 14(3):542–544, 1978.

[17] I. Y. Bar-Itzhack and N. Bergman. Control theoretic approach toinertial navigation systems. Journal Guidance, 11(3):237–245, 1988.

[18] T. Barnes. Selective availability via Levinson predictor. In Proceed-ings of the Institute of Navigation (ION) GPS–95, 1995.

[19] J. S. Bay. Fundamentals of Linear State Space Systems. WCBMcGraw-Hill, Boston, MA, 1999.

[20] J. Baziw and C. T. Leondes. In-flight alignment and calibration ofinertial measurement units–part 1: General formulation. IEEE Trans-actions on Aerospace and Electronic Systems, 8(4):439–449, 1972.

[21] H. Blomenhofer, G. Hein, E. Blomenhofer, and W. Werner. Develop-ment of a real-time DGPS system in the centimeter range. In Proc. ofthe IEEE 1994 Position, Location, and Navigation Symposium, pages532–539, 1994.

[22] Y. Bock and N. Leppard. Global Positioning System: An Overview.International Association of Geodesy Symposia, No. 102, Springer-Verlag, New York, 1989.

Page 540: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

BIBLIOGRAPHY 517

[23] J. E. Bortz. A new mathematical formulation for strapdown inertialnavigation. IEEE Transactions on Aerospace and Electronic Systems,7(1):61–66, 1971.

[24] B. Bowring. Transformation from spatial to geographical coordinates.Survey Review, XXXIII:323–327, 1976.

[25] M. S. Braasch, A. M. Fink, and K. Duffus. Improved modeling of GPSselective availability. In Proceedings of the Institute of NavigationNational Technical Meeting, pages 121–130, 1993.

[26] K. R. Britting. Self alignment techniques for strapdown inertialnavigation systems with aircraft applications. Journal of Aircraft,7(4):302–307, 1970.

[27] K. R. Britting. Inertial Navigation Systems Analysis. Wiley-Interscience, New York, 1971.

[28] W. L. Brogan. Modern Control Theory. Prentice Hall, EnglewoodCliffs, NJ, 3rd edition, 1991.

[29] R. G. Brown. Kalman filter modeling. In Proceedings of the 16thAnnual Precise Time and Time Interval (PTTI) Applications andPlanning Meeting, pages 261–272, 1984.

[30] R. G. Brown. Integrated navigation systems and Kalman filtering:A perspective. Navigation: Journal of the Institute of Navigation,19(4):355–362, Winter 1972-73.

[31] R. G. Brown and Y. C. Hwang. Introduction to random signals andapplied Kalman filtering. J. Wiley, New York, 2nd edition, 1992.

[32] R. G. Brown and D. J. Winger. Error analysis of an integratedinertial/Doppler-satellite system with continuous and multiple satel-lite coverage. Technical report, Engineering Research Institute, IowaState University, January 1971.

[33] C. Broxmeyer. Inertial navigation systems. McGraw-Hill electronicsciences. McGraw-Hill, New York, 1964.

[34] R. S. Bucy and P. D. Joseph. Filtering for Stochastic Processes withApplications to Guidance. Wiley, New York, 1968.

[35] E. Cannon. High-accuracy GPS semikinematic positioning: Model-ing and results. Navigation: Journal of the Institute of Navigation,37(1):53–64, Summer 1990.

Page 541: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

518 BIBLIOGRAPHY

[36] R. H. Cannon. Alignment of inertial guidance systems by gyrocom-passing — linear theory. Journal of Aerospace Science, 28(11):885–895, 912, 1961.

[37] A. B. Chatfield. Fundamentals of High Accuracy Inertial Navigation,volume 171 of Progress in Astronautics and Aeronautics. AIAA, Re-ston Virginia, 1997.

[38] C.-T. Chen. Linear Systems Theory and Design. Oxford UniversityPress, New York, 3rd edition, 1999.

[39] D. R. Childs, D. M. Coffey, and S. P. Travis. Error statistics fornormal random variables. Technical Report AD-A011 430, NavalUnderwater Systems Center, May 1975.

[40] C. E. Cohen. Attitude Determination Using GPS. Ph.D. dissertation,Stanford Univ., Stanford, CA, Depart. of Aeronautics and Astronau-tics, December 1992.

[41] J. L. Crassidis and F. L. Markley. New algorithm for attitude determi-nation using global positioning system signals. Journal of Guidance,Control, and Dynamics, 20(5):891–896, 1997.

[42] J. L. Crassidis and F. L. Markley. Predictive filtering for attitudeestimation without rate sensors. Journal of Guidance, Control, andDynamics, 20(3):522–527, 1997.

[43] J. J. DeAzzo and C. H. Houpis. Linear Control System Analysis andDesign: Conventional and Modern. McGraw-Hill, New York, 2ndedition, 1981.

[44] M. Djodat. Comparison of various differential global positioning sys-tems. Master’s thesis, California State University, Fullerton, July1996.

[45] W. L. Elbert. Estimating the Euler attitudes. Technical ReportJHU/APL-T-G-1329, John Hopkins Applied Physics lab, November1981.

[46] H. J. Euler and C. H. Hill. Attitude determination: Exploring allinformation for optimal ambiguity resolution. In Proc. of the IONGPS-95, pages 1751–1757, 1995.

[47] J. C. Fang and D. J. Wan. A fast initial alignment method for strap-down inertial navigation system on stationary base. IEEE Transac-tions on Aerospace and Electronic Systems, 32(4):1501–1505, 1996.

Page 542: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

BIBLIOGRAPHY 519

[48] J. A. Farrell and M. Barth. The Global Positioning and Inertial Nav-igation. McGraw-Hill, New York, 1999.

[49] J. L. Farrell. Performance of strapdown inertial attitude referencesystems. Journal of Spacecraft and Rockets, 3(9):1340–1347, 1966.

[50] J. L. Farrell. Integrated Aircraft Navigation. Academic Press, NewYork, 1976.

[51] K. Feigl, R. King, and T. Herring. A scheme for reducing the effectof selective availability on precise geodetic measurements from theglobal positioning system. Geophysical Research Letters, 18(7):1289–1292, 1991.

[52] N. P. Fofonoff and R. C. Millard Jr. Algorithms for computation offundamental properties of seawater. Technical Report 44, Unesco,Paris, France, 1983.

[53] G. F. Franklin, J. D. Powell, and A. Emami-Naeini. Feedback Con-trol of Dynamic Systems. Addison-Wesley, Reading MA, 3rd edition,1994.

[54] G. T. French. Understanding the GPS. GeoResearch, 1997.

[55] S. Frodge, S. Deloach, B. Remondi, D. Lapucha, and R. Barker. Real-time on-the-fly kinematic GPS system results. Navigation: Journalof the Institute of Navigation, 41(2):175–186, 1994.

[56] G. J. Geier. Corrections to GPSPFP memo 03-76. Technical ReportGPSPFP Memo 03-76, Intermetrics Inc., Cambridge, MA, January1976.

[57] G. J. Geier. Delayed state Kalman filter equations for delta rangemeasurement processing. Technical Report GPSPFP Memo 03-76,Intermetrics Inc., Cambridge, MA, 1976.

[58] A. Gelb. Applied Optimal Estimation. MIT Press, Cambridge, MA,1974.

[59] G. H. Golub and C. F. Van Loan. Matrix Computations. The JohnsHopkins University Press, Baltimore, MD, 2nd edition, 1989.

[60] M. S. Grewal and A. P. Andrews. Kalman Filtering: Theory andPractice using Matlab. John Wiley, New York, 2nd edition, 2001.

[61] C. Grubin. Derivation of the quaternion scheme via the Euler axisand angle. J. Spacecraft, 7(10):1261–1263, 1970.

Page 543: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

520 BIBLIOGRAPHY

[62] S. Han and C. Rizos. Integrated method for instantaneous ambiguityresolution using new generation GPS receivers. In IEEE PLANS,pages 254–261, 1996.

[63] R. Hatch. The synergism of GPS code and carrier measurements. InInternational Geodetic Symposium on Satellite Doppler Positioning,3rd, volume 2, pages 1213–1231, 1983.

[64] R. Hatch. Instantaneous ambiguity resolution. In Symposium No.107, Kinematic Systems in Geodesy, Surveying and Remote Sensing,pages 299–308. Springer Verlag, 1990.

[65] R. Hatch, J. Jung, P. Enge, and B. Pervan. Civilian GPS: The benefitsof three frequencies. GPS Solutions, 3(4):1–9, 2000.

[66] M. Heikkinen. Geschlossene formeln zur berechnung raumlichergeodaticher koordinaten aus rechtwinkligen koordinaten. Zeitschriftfur Vermessungswesen, 5:207–211, 1982.

[67] W. A. Heiskanen and H. Moritz. Physical Geodesy. W. H. Freeman,San Francisco, 1967.

[68] B. Hofmann-Wellenhof, H. Lichtenegger, and J. Collins. Global Po-sitioning System: Theory and Practice. Springer-Verlag, New York,3rd edition, 1994.

[69] J. C. Hung and H. V. White. Self-alignment techniques for inertialmeasurement units. IEEE Trans. on Aerospace and Electronic Sys-tems, 11(6):1232–1247, 1975.

[70] P. Hwang and R. Brown. GPS navigation: Combining pseudorangewith continuous carrier phase using a Kalman filter. Navigation:Journal of the Institute of Navigation, 37(2):181–196, 1990.

[71] K. Ito. Lectures on Stochastic Processes. TATA Institute of Funda-mental Research, Bombay, India, 1961.

[72] A. H. Jazwinski. Stochastic Processes and Filtering Theory, volume 4of Mathematics in Science and Engineering Series. Academic Press,San Diego, 1970.

[73] C. Jekeli. Inertial Navigation Systems with Geodetic Applications.Walter de Gruyter, Berlin, 2001.

[74] Y. F. Jiang and Y. P. Lin. Error estimation of INS ground alignmentthrough observability analysis. IEEE Transactions on Aerospace andElectronic Systems, 28(1):92–96, 1992.

Page 544: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

BIBLIOGRAPHY 521

[75] P. S. Jorgensen. Navstar/Global Positioning System 18-satellite con-stellation. In Global Positioning System, Papers published in Naviga-tion, volume II, pages 1–12. The Institute of Navigation, 1984.

[76] E. D. Kaplan, editor. Understanding GPS: Principles and Applica-tions. Artech House, Boston, MA, 2nd edition, 2006.

[77] S. Kay. Intuitive Probability and Random Processes using MATLAB.Springer, 2005.

[78] M. Kayton and W. R. Fried. Avionics Navigation Systems. JohnWiley & Sons, 2nd edition, 1997.

[79] J. A. Klobuchar. Ionospheric time-delay algorithm for single fre-quency GPS users. IEEE Transactions on Aerospace and ElectronicSystems, 23(3):325–331, 1987.

[80] J. A. Klobuchar. Ionospheric effects on GPS. In B. W. Parkinson andJ. J. Spilker, Jr., editors, The Global Positioning System: Theoryand applications, chapter 12, pages 485–516. American Institute ofAeronautics and Astronautics, Washington, DC, 1996.

[81] G. Lachapelle, M. Cannon, and G. Lu. High-precision GPS navi-gation with emphasis on carrier-phase ambiguity resolution. MarineGeodesy, 15:253–269, 1992.

[82] G. Lachapelle, M. E. Cannon, G. Lu, and B. Loncarevic. Ship-borne GPS attitude determination during MMST-93. IEEE Journalof Oceanic Engineering, 21(1):100–105, 1996.

[83] A. Lawrence. Modern Inertial Technology: Navigation, Guidance andControl. Springer-Verlag, New York, 1993.

[84] A. Leon-Garcia. Probability and Random Processes for Electrical En-gineering. Prentice Hall, 1993.

[85] G. Lu, M. E. Cannon, and G. Lachapelle. Attitude determinationusing dedicated and nondedicated multiantenna GPS sensors. IEEETransactions on Aerospace and Electronic Systems, 30(4):1053–1058,1994.

[86] D. G. Luenberger. Optimization by Vector Space Methods. WileyInterscience, New York, NY, 1969.

[87] D. G. Luenberger. Introduction to Dynamic Systems: Theory, Models,and Applications. John Wiley & Sons, New York, NY, 1979.

[88] D. G. Luenberger. Linear and Nonlinear Programming. Addison-Wesley, Menlo Park, CA, 2nd edition, 1984.

Page 545: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

522 BIBLIOGRAPHY

[89] G. Mader. Dynamic positioning using GPS carrier phase measure-ments. Manuscripta Geodetica, 11:272–277, 1986.

[90] J. B. Marion. Classical Dynamics of Particles and Systems. AcademicPress, Orlando, 2nd edition, 1970.

[91] F. L. Markley. Attitude determination using vector observations andthe singular value decomposition. Journal of the Astronautical Sci-ences, 36(3):245–258, 1988.

[92] C. W. Marquis. Integration of differential GPS and inertial naviga-tion using a complementary Kalman filter. Master’s thesis, NavalPostgraduate School, September 1993.

[93] P. S. Maybeck. Stochastic Models, Estimation, and Control. Aca-demic Press, New York, 1979.

[94] R. J. Mayhan. Discrete-time and Continuous-time Linear Systems.Addison-Wesley, Reading, MA, 1984.

[95] C. L. McClure. Theory of Inertial Guidance. Prentice-Hall, Engle-wood Cliffs, New Jersey, 1960.

[96] J. M. Mendel. Lessons in Estimation Theory for Signal Processing,Communications, and Control. Prentice Hall, Englewood Cliffs, NJ,1995.

[97] P. A. Miller, J. A. Farrell, Y. Zhao, and V. Djapic. Autonomous un-derwater vehicle navigation. Technical Report 1968, SSC San Diego,February 2008.

[98] P. A. Miller, Y. Zhao, V. Djapic, and J. A. Farrell. Autonomousunderwater vehicle navigation. In Proc. of the 15th Int’l. Symp. onUnmanned Untethered Submersibles Technologies, Durham, NH, Au-gust 2007.

[99] P. Misra and P. Enge. Global Positioning System: Signals, Measure-ments, and Performance. Ganga-Jamuna Press, Lincoln, MA, 2001.

[100] C. Moler and C. Van Loan. Nineteen dubious ways to compute theexponential of a matrix. SIAM Rev., 20:801–836, 1978.

[101] B. Moore. Principal component analysis in linear systems: Control-lability, observability, and model reduction. IEEE Transactions onAutomatic Control, 26(1):17–32, 1981.

[102] H. Moritz. Bull. Geod. Geodetic Reference System 1980, 58(3):388–398, 1984.

Page 546: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

BIBLIOGRAPHY 523

[103] R. E. Mortenson. Strapdown guidance error analysis. IEEE Trans-actions on Aerospace and Electronic Systems, 10(4):451–457, 1994.

[104] A. E. Niell. Global mapping functions for the atmosphere delay atradio wavelengths. Journal of Geophysical Research, 101(B2):3227–3246, February 1996.

[105] N. S. Nise. Control Systems Engineering. John Wiley & Sons, Hobo-ken, NJ, 4th edition, 2004.

[106] B. K. Oksendal. Stochastic Differential Equations: An Introductionwith Applications. Springer, Berlin, 2003.

[107] A. Papoulis. Probability, Random Variables, and Stochastic Processes.McGraw-Hill, New York, 2nd edition, 1984.

[108] B. W. Parkinson and J. J. Spilker, Jr., editors. The Global PositioningSystem: Theory and applications. American Institute of Aeronauticsand Astronautics, Washington, DC, 1996.

[109] D. Pietraszewski, J. Spalding, C. Viehweg, and L. Luft. U.S. CoastGuard differential GPS navigation field test findings. Navigation:Journal of the Institute of Navigation, 35(1):55–72, 1988.

[110] J. C. Pinson. Inertial guidance for cruise vehicles. In C. T. Leon-des, editor, Guidance and Control of Aerospace Vehicles, chapter 4.McGraw-Hill, 1963.

[111] G. R. Pitman. Inertial guidance. Wiley, New York, 1962.

[112] M. Pratt, B. Burke, and P. Misra. Single-epoch integer ambiguity res-olution with GPS L1-L2 carrier phase measurements. In ProceedingsION GPS-97, pages 1737–1746, 1997.

[113] R. M. Rogers. Applied Mathematics in Integrated Navigation Sys-tems. AIAA Educational Series. American Institute of Aeronauticsand Astronautics, Inc, Reston, VA, 2nd edition, 2003.

[114] C. E. Rohrs, J. L. Melsa, and D. G. Schultz. Linear Control Systems.McGraw-Hill, New York, 1993.

[115] P. Savage. Strapdown System Algorithms. Advances in StrapdownInertial Systems. AGARD Lecture Series 133, 1984.

[116] C. J. Savant. Principles of inertial navigation. McGraw-Hill, NewYork, 1961.

[117] R. Scherrer. The WM GPS Primer. Wild Heerbrugg Ltd, Heerbrugg,Switzerland, 1985.

Page 547: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

524 BIBLIOGRAPHY

[118] A. L. Schwab. Quaternions, finite rotation, and Euler parameters.May 2002.

[119] J. Shockley. Consideration of troposheric model corrections for dif-ferential GPS. Technical report, SRI International, February 1984.

[120] M. D. Shuster. Survey of attitude representations. Journal of theAstronautical Sciences, 41(4):439–517, 1993.

[121] D. Simon. Optimal State Estimation: Kalman, H∞, and NonlinearApproaches. John Wiley & Sons, Hoboken, NJ, 2006.

[122] J. J. Spilker. Tropospheric effects on GPS. In B. Parkinson, J. Spilker,P. Axelrad, and P. Enge, editors, Global Positioning System: Theoryand Applications, volume 1, pages 517–546. AIAA, 1996.

[123] P. Teunissen. A new method for fast carrier phase ambiguity estima-tion. In Proceedings of IEEE PLANS, pages 562–573, 1994.

[124] P. J. G. Teunissen. GPS carrier phase ambiguity fixing concepts. InA Kleusberg and P. Teunissen, editors, GPS for Geodesy, LectureNotes for Earth Sciences, pages 263–335. Springer, 1996.

[125] E. H. Thompson, J. L. Farrell, and J. W. Knight. Alignment methodsfor strapdown inertial systems. AIAA JSR, 3(9):1432–1434, 1966.

[126] D. H. Titterton and J. L. Weston. Strapdown inertial navigation tech-nology. Peter Peregrinis Ltd. on behalf of the Institution of ElectricalEngineers, London, UK, 1997.

[127] C. Tsuboi. Gravity. George Allen & Unwin, London, Boston, Sydney,1983.

[128] J. B.-Y. Tsui. Fundamentals of Global Positioning System Receivers:A Software Radio Approach. Wiley-Interscience, 2004.

[129] A. Van Bronkhorst. Strapdown System Algorithms, volume 95 ofAGARD Lecture Series. 1978.

[130] A. Van Dierendonck, J. McGraw, and R. Brown. Relationship be-tween Allan variances and Kalman filter parameters. In Proceedingsof the 16th Annual Precise Time and Time Interval (PTTI) Applica-tions and Planning Meeting, pages 273–293, 1984.

[131] A. Van Dierendonck, S. Russell, E. Kopitzke, and M. Birnbaum. TheGPS navigation message. In Global Positioning System: Papers pub-lished in Navigation, Vol. 1, pages 55–73. Institute of Navigation,1980.

Page 548: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

BIBLIOGRAPHY 525

[132] F. Van Graas and M. Braasch. GPS interferometric attitude andheading determination: Initial flight test results. Navigation: Journalof the Institute of Navigation, 38(4):297–316, 1991-1992.

[133] C. Van Loan. Computing integrals involving the matrix exponential.IEEE Transactions on Automatic Control, 23:395–404, 1978.

[134] R. D. J. Van Nee. GPS multipath and satellite interference. In Pro-ceedings of the Forty-eigth Annual Meeting of the Institute of Navi-gation, pages 167–178, 1992.

[135] G. Wahba. A least squares estimate of spacecraft attitude. SIAMReview, 7(3):409, 1965.

[136] J. R. Wertz, editor. Spacecraft Attitude Determination and Control.Kluwer Academic Publishers, Boston, 1978.

[137] S. A. Whitmore, M. J. Fife, and L. A. Brashear. Development of aclosed-loop strapdown attitude system for the high altitude aerody-namic performance experiment. In Proc. of the 35th AIAA AerospaceSciences Conference, 1997.

[138] W. S. Widnall and P. A. Grundy. Inertial navigations system errormodels. Technical Report TR-03-73, Intermetrics Inc., May 1973.

[139] N. Wiener. Extrapolation, Interpolation, and Smoothing of StationaryTime Series. Wiley, New York, 1949.

[140] J. Williams. From Sails to Satellites: The Origin and Developmentof Navigation Science. Oxford Press, Oxford, 1992.

[141] W. H. Wirkler. Aircraft course stabilization means. U.S. Patent2,548,278, April 10, 1951.

[142] S. Wu, W. Bertiger, and J. Wu. Minimizing selective availabilityerror on satellite and ground global positioning system measurements.Journal Guidance, 15(5):1306–1309, 1992.

[143] Y. Yang. Personnal Communication, 2007.

[144] Y. Yang. Method and apparatus for adaptive filter based attitudeupdating. U.S. Patent 2005/0240347 A1, October 27, 2005.

[145] Y. Yang and J. A. Farrell. Two antennas GPS-aided INS for attitudedetermination. IEEE Transactions on Control Systems Technology,11(6):905–918, 2003.

Page 549: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

This page intentionally left blank

Page 550: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

Index

2drms, 152

Accelerometer error model, 408AHRS, 353Aided navigation system, 6Allen variance, 156Altitude, 30Atan, 50, 458Atan2, 458Attitude, 353Autocorrelation function, 121Autocovariance function, 122AUV, 431

Body frame, 26

C/A, 265C/A-code, 265CDMA, 265Central limit theorem, 117CEP, 149Circular error probable, 149Code-carrier divergence, 290Cofactor matrix, 465Complementary filter, 161, 208, 247Controllable canonical form, 68Coriolis, Law of, 54Correlation, 117Correlation coefficient, 117Correlation time, 136CORS, 322Covariance, 117Covariance analysis, 217Cross correlation function, 121Cross covariance function, 122

Dead-reckoning, 335Delta function, Dirac, 124Delta function, Kronecker, 125Delta pseudorange, 278Density, χ-squared, 164Density, Erlang, 164Density, exponential, 112Density, Gaussian, 112, 120Density, joint, 116Density, probability, 110Density, uniform, 163Detrending, 156DGPS, 263, 312DGPS, relative, 313Diag, 460Diagonal matrix, 460Differential equation, 64Differential GPS, 312Dilution of Precision, 302Direction cosine matrix, 38, 41Dispersive medium, 288Distribution, joint, 115DOP, 302Doppler observable, 278Drms, 152DVL, 431, 436

Eccentricity, 31ECEF frame, 24ECEF transformations, 33ECI, 23Eigenvalues, 77, 467EKF, 208Ellipsoid, reference, 30Energy spectrum, 126

527

Copyright © 2008 by The McGraw-Hill Companies. Click here for terms of use.

Page 551: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

528 INDEX

Ergodic, 123, 156Error budgeting, 224Estimator gain, 83, 169Euler angles, 41, 46, 56, 460Expected value, 111Exponential, matrix, 472

Flatness, 31FLOP, 176Foucault frequency, 401Fundamental solution, 79

Gauss-Markov process, 129, 130, 136,140

Gaussian random variable, 112, 120Geocentric frame, 24Geodetic height, 32Geographic frame, 24Geoid, 22, 24, 29Geoid height, 32GNC, 5GNSS, 7GPS, 6, 263GPS Atmospheric delay, 287GPS Baseband, 296GPS Channel time, 277, 486GPS Double difference, 323GPS Ephemeris error, 292GPS errors, 280GPS Integer ambiguity, 295GPS Ionospheric delay, 289GPS Multipath, 294GPS observables, 277GPS Receiver, 295GPS Receiver clock error, 283GPS Receiver noise, 295GPS Receiver time, 276, 282, 486GPS Satellite Clock Bias, 282GPS Tropospheric delay, 290GPS User time, 486Gravitation, 379Gravity, 32, 383Great circle, 32Great normal, 32

Gyro g-sensitivity, 413Gyro compassing, 417Gyro error model, 411

H.o.t., 72Heading angle, 46Height, geoid, 32Height, orthometric, 32

I.i.d., 117Impulse response, 81IMU, 99, 431Independent random variables, 117Inertial frame, 23Information matrix, 176Input signal, 64INS, 19INS, mechanized, 387INS, strapdown, 387Instrument frame, 27Instrument specifications, 154Integer ambiguity, 300Integer ambiguity resolution, 215, 325Integrated navigation system, 6Ionospheric pierce point, 287

Jacobian matrix, 477Joseph form, 187

Kalman filter, 169, 185Kalman filter, extended, 207Kalman filter, linearized, 207Kinematic model, 8

Latitude, 30, 43LBL, 431, 436Least squares, 176, 466Leibnitz rule, 80Linear system, time invariant, 75, 77,

80Linear system, time varying, 75Linearization, 72Linearly independent, 464Local tangent frame, 25Longitude, 30, 43

Page 552: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

INDEX 529

LS, 176LTI, 65

Matrix, 459Matrix Inversion Lemma, 466Matrix, cofactor, 465Matrix, definiteness, 468Matrix, determinant, 464Matrix, exponential, 472Matrix, idempotent, 467Matrix, inverse, 465Matrix, minor, 465Matrix, nonsingular, 464Matrix, orthogonal, 462Matrix, orthonormal, 462Matrix, rank, 464, 469Matrix, rotation, 40Matrix, skew-symmetric, 460Matrix, symmetric, 460Matrix, trace, 464Matrix, transpose, 461Maximum likelihood estimate, 175,

176Maxwell random variable, 148Mean squared error, 172Measurement noise, 131Measurement residual, 84, 185Measurement, asynchronous, 432Measurement, delayed-state, 432, 438,

446Mechanization equations, 8, 238, 340,

358, 390, 438Meridian, 32Meridian radius, 32MLE, 175, 176Model, design, 138Model, truth, 138Moment, statistical, 111

Navigation, 5NCO, 297Newton’s method, 475Noise, measurement, 131Noise, process, 131

Normal radius, 32Normal random variable, 112North, magnetic, 24North, true, 24

Observability, 85Observable canonical form, 87Observable subspace, 92ODE, 64Odometry, 335Order, ODE, 64Order, state space, 75Order, transfer function, 65Orthogonal random variables, 118Orthometric height, 32Output signal, 64

Parallel, 32Permutation matrix, 460Phase lock loop, 296Pitch angle, 46Plane rotation, 41Platform frame, 27PLL, 296Pole placement, 87Pole, transfer function, 65, 77Power spectral density, 122PPS, 265Prime vertical radius of curvature,

32Probability density, 110Probability distribution, 110Process noise, 131Projection matrix, 467PSD, 122Pseudorange, 266

Quadratic form, 468Quaternion, 41, 50, 501

R95, 149Random constant, 133Random variable, 105Random walk, 134

Page 553: Aided Navigation : GPS With High Rate Sensorsdl.booktolearn.com/ebooks2/engineering/gps/...aided_navigation_d02… · GPS with High Rate Sensors (McGraw-Hill, 2008). He is ... 9 GPS

530 INDEX

Rayleigh random variable, 150Recursive least squares, 179Residual measurement, 84, 145, 185RF, 264, 295Right-hand rule, 20Right-handed reference frame, 21Roll angle, 46Rotation, 36Rotation, small angle, 50RSS, 301

Schuler frequency, 66, 103, 385, 398,401

SEP, 149Similarity transformation, 75, 98Singular value decomposition, 95, 469Specific force, 100, 381Specification, instrument, 154Spectral factorization, 130Spherical error probable, 149SPS, 265Standard deviation, 111State, 74State augmentation, 13, 69, 132, 238State estimation, 14, 82, 170State space, 66State space order, 75State space, continuous-time, 75State space, discrete-time, 74State space, transformation to trans-

fer function, 76State transition matrix, 80State variables, 75State vector, 75Stationary stochastic process, 122SV, 264SVD, 95, 469

TEC, 290TP, 42Transfer function, 65, 81Transfer function, transformation to

state space, 67Translation, 36

Truth model, 217

UDU decomposition, 472UERE, 269, 280, 301Uncorrelated random variables, 118URE, 269, 280, 301USNO, 282

Variance, 111Variance, Allan, 286Vector, 460Vector product, 463Vector, norm, 463Vector, orthogonal, 463Vector, scalar product, 462Vector, unit, 463

WAAS, 322Weighted least squares, 174White noise, 123Wide sense stationary, 122Wiener filter, 249WLS, 174WSS, 122

Yaw angle, 46

Zero, transfer function, 65