+ All Categories
Home > Documents > KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB /...

KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB /...

Date post: 13-Jun-2020
Category:
Upload: others
View: 17 times
Download: 2 times
Share this document with a friend
30
Transcript
Page 1: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.
Page 2: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.
Page 3: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

KALMAN FILTERING

Page 4: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.
Page 5: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

KALMAN FILTERING

Theory and Practice Using MATLAB®

Fourth Edition

MOHINDER S. GREWAL

ANGUS P. ANDREWS

Page 6: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

Copyright © 2015 by John Wiley & Sons, Inc. All rights reserved

Published by John Wiley & Sons, Inc., Hoboken, New Jersey

Published simultaneously in Canada

No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or

by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as

permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior

written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to

the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax

(978) 750-4470, or on the web at www.copyright.com. Requests to the Publisher for permission should

be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ

07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permission.

Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in

preparing this book, they make no representations or warranties with respect to the accuracy or

completeness of the contents of this book and specifically disclaim any implied warranties of

merchantability or fitness for a particular purpose. No warranty may be created or extended by sales

representatives or written sales materials. The advice and strategies contained herein may not be suitable

for your situation. You should consult with a professional where appropriate. Neither the publisher nor

author shall be liable for any loss of profit or any other commercial damages, including but not limited to

special, incidental, consequential, or other damages.

For general information on our other products and services or for technical support, please contact our

Customer Care Department within the United States at (800) 762-2974, outside the United States at

(317) 572-3993 or fax (317) 572-4002.

Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may

not be available in electronic formats. For more information about Wiley products, visit our web site at

www.wiley.com.

MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does

not warrant the accuracy of the text or exercises in this book. This book’s use or discussion of

MATLAB® software or related products does not constitute endorsement or sponsorship by The

MathWorks of a particular pedagogical approach or particular use of the MATLAB® software.

Library of Congress Cataloging-in-Publication Data:

Grewal, Mohinder S.

Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. –

Fourth edition.

pages cm

Includes index.

ISBN 978-1-118-85121-0 (cloth)

1. Kalman filtering. 2. MATLAB. I. Andrews, Angus P. II. Title.

QA402.3.G695 2015

629.8′312–dc23

2014020208

Printed in the United States of America

10 9 8 7 6 5 4 3 2 1

Page 7: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

CONTENTS

Preface to the Fourth Edition ix

Acknowledgements xiii

List of Abbreviations xv

1 Introduction 11.1 Chapter Focus, 1

1.2 On Kalman Filtering, 1

1.3 On Optimal Estimation Methods, 6

1.4 Common Notation, 28

1.5 Summary, 30

Problems, 31

References, 34

2 Linear Dynamic Systems 372.1 Chapter Focus, 37

2.2 Deterministic Dynamic System Models, 42

2.3 Continuous Linear Systems and their Solutions, 47

2.4 Discrete Linear Systems and their Solutions, 59

2.5 Observability of Linear Dynamic System Models, 61

2.6 Summary, 66

Problems, 69

References, 71

v

Page 8: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

vi CONTENTS

3 Probability and Expectancy 733.1 Chapter Focus, 73

3.2 Foundations of Probability Theory, 74

3.3 Expectancy, 79

3.4 Least-Mean-Square Estimate (LMSE), 87

3.5 Transformations of Variates, 93

3.6 The Matrix Trace in Statistics, 102

3.7 Summary, 106

Problems, 107

References, 110

4 Random Processes 1114.1 Chapter Focus, 111

4.2 Random Variables, Processes, and Sequences, 112

4.3 Statistical Properties, 114

4.4 Linear Random Process Models, 124

4.5 Shaping Filters (SF) and State Augmentation, 131

4.6 Mean and Covariance Propagation, 135

4.7 Relationships Between Model Parameters, 145

4.8 Orthogonality Principle, 153

4.9 Summary, 157

Problems, 159

References, 167

5 Linear Optimal Filters and Predictors 1695.1 Chapter Focus, 169

5.2 Kalman Filter, 172

5.3 Kalman–Bucy Filter, 197

5.4 Optimal Linear Predictors, 200

5.5 Correlated Noise Sources, 200

5.6 Relationships Between Kalman and Wiener Filters, 201

5.7 Quadratic Loss Functions, 202

5.8 Matrix Riccati Differential Equation, 204

5.9 Matrix Riccati Equation in Discrete Time, 219

5.10 Model Equations for Transformed State Variables, 223

5.11 Sample Applications, 224

5.12 Summary, 228

Problems, 232

References, 235

6 Optimal Smoothers 2396.1 Chapter Focus, 239

6.2 Fixed-Interval Smoothing, 244

6.3 Fixed-Lag Smoothing, 256

6.4 Fixed-Point Smoothing, 268

Page 9: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

CONTENTS vii

6.5 Summary, 275

Problems, 276

References, 278

7 Implementation Methods 2817.1 Chapter Focus, 281

7.2 Computer Roundoff, 283

7.3 Effects of Roundoff Errors on Kalman Filters, 288

7.4 Factorization Methods for “Square-Root” Filtering, 294

7.5 “Square-Root” and UD Filters, 318

7.6 SigmaRho Filtering, 330

7.7 Other Implementation Methods, 346

7.8 Summary, 358

Problems, 360

References, 363

8 Nonlinear Approximations 3678.1 Chapter Focus, 367

8.2 The Affine Kalman Filter, 370

8.3 Linear Approximations of Nonlinear Models, 372

8.4 Sample-and-Propagate Methods, 398

8.5 Unscented Kalman Filters (UKF), 404

8.6 Truly Nonlinear Estimation, 417

8.7 Summary, 419

Problems, 420

References, 423

9 Practical Considerations 4279.1 Chapter Focus, 427

9.2 Diagnostic Statistics and Heuristics, 428

9.3 Prefiltering and Data Rejection Methods, 457

9.4 Stability of Kalman Filters, 460

9.5 Suboptimal and Reduced-Order Filters, 461

9.6 Schmidt–Kalman Filtering, 471

9.7 Memory, Throughput, and Wordlength Requirements, 478

9.8 Ways to Reduce Computational Requirements, 486

9.9 Error Budgets and Sensitivity Analysis, 491

9.10 Optimizing Measurement Selection Policies, 495

9.11 Summary, 501

Problems, 501

References, 502

10 Applications to Navigation 50310.1 Chapter Focus, 503

10.2 Navigation Overview, 504

Page 10: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

viii CONTENTS

10.3 Global Navigation Satellite Systems (GNSS), 510

10.4 Inertial Navigation Systems (INS), 544

10.5 GNSS/INS Integration, 578

10.6 Summary, 588

Problems, 590

References, 591

Appendix A Software 593A.1 Appendix Focus, 593

A.2 Chapter 1 Software, 594

A.3 Chapter 2 Software, 594

A.4 Chapter 3 Software, 595

A.5 Chapter 4 Software, 595

A.6 Chapter 5 Software, 596

A.7 Chapter 6 Software, 596

A.8 Chapter 7 Software, 597

A.9 Chapter 8 Software, 598

A.10 Chapter 9 Software, 599

A.11 Chapter 10 Software, 599

A.12 Other Software Sources, 601

References, 603

Index 605

Page 11: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

PREFACE TO THE FOURTH EDITION

This book is designed to provide our readers a working familiarity with both the

theoretical and practical aspects of Kalman filtering by including “real-world” prob-

lems in practice as illustrative examples. The material includes the essential technical

background for Kalman filtering and the more practical aspects of implementation:

how to represent the problem in a mathematical model, analyze the performance of

the estimator as a function of system design parameters, implement the mechanization

equations in numerically stable algorithms, assess its computational requirements,

test the validity of results, and monitor the filter performance in operation. These are

important attributes of the subject that are often overlooked in theoretical treatments

but are necessary for application of the theory to real-world problems.

In this fourth edition, we have added a new chapter on the attributes of probabil-

ity distributions of importance in Kalman filtering, added two sections with easier

derivations of the Kalman gain, added a section on a new sigmaRho filter imple-

mentation, updated the treatment of nonlinear approximations to Kalman filtering,

expanded coverage of applications in navigation, added many more derivations and

implementations for satellite and inertial navigation error models, and included many

new examples of sensor integration. For readers who may need more background in

matrix mathematics, we have included an Appendix B as a pdf file on the companion

Wiley web site at www.wiley.com/go/kalmanfiltering.

We have also updated the problem sets and incorporated helpful corrections and

suggestions from our readers, reviewers, colleagues, and students for the overall

improvement of the textbook.

All software has been provided in MATLAB®, so that users can take advantage

of its excellent graphing capabilities and a programming interface that is very close

to the mathematical equations used for defining Kalman filtering and its applications.

The MATLAB development environment also integrates with the Simulink® simu-

lation environment for code verification on specific applications and code translation

ix

Page 12: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

x PREFACE TO THE FOURTH EDITION

to C for the many applications microprocessors with C compilers. Appendix A has

descriptions of the MATLAB software included on the companion Wiley web site.

The inclusion of the software is practically a matter of necessity, because Kalman

filtering would not be very useful without computers to implement it. It is a bet-

ter learning experience for the student to discover how the Kalman filter works by

observing it in action.

The implementation of Kalman filtering on computers also illuminates some of

the practical considerations of finite-wordlength arithmetic and the need for alterna-

tive algorithms to preserve the accuracy of the results. If the student wishes to apply

what she or he learns, then it is essential that she or he experience its workings and

failings—and learn to recognize the difference.

The book is organized for use as a text for an introductory course in stochastic pro-

cesses at the senior level and as a first-year graduate-level course in Kalman filtering

theory and application. It could also be used for self-instruction or for purposes of

review by practicing engineers and scientists who are not intimately familiar with the

subject. Chapter 1 provides an informal introduction to the general subject matter by

way of its history of development and application. Chapters 2–4 cover the essential

background material on linear systems, probability, stochastic processes, and ran-

dom process modeling. These chapters could be covered in a senior-level course in

electrical, computer, and systems engineering.

Chapter 5 covers linear optimal filters and predictors, with derivations of the

Kalman gain and detailed examples of applications. Chapter 6 is a tutorial-level

treatment of optimal smoothing methods based on Kalman filtering models, includ-

ing more robust implementations. Chapter 7 covers the more recent implementation

techniques for maintaining numerical accuracy, with algorithms provided for

computer implementation.

Chapter 8 covers approximation methods used for nonlinear applications, includ-

ing “extended” Kalman filters for “quasilinear” problems and tests for assessing

whether extended Kalman filtering is adequate for the proposed application. We also

present particle, sigma point, and the “unscented” Kalman filter implementation

of Kalman filtering for problems failing the quasilinearity test. Applications of

these techniques to the identification of unknown parameters of systems are given

as examples. Chapter 9 deals with more practical matters of implementation and

use beyond the numerical methods of Chapter 7. These matters include memory

and throughput requirements (and methods to reduce them), divergence problems

(and effective remedies), and practical approaches to suboptimal filtering and

measurement selection.

As a demonstration of how to develop and evaluate applications of Kalman filter-

ing, in Chapter 10, we show how to derive and implement different Kalman filtering

configurations for Global Navigation Satellite System (GNSS) receivers and inertial

navigation systems (INS) and for integrating GNSS receivers with INS.

Chapters 5–9 cover the essential material for a first-year graduate class in Kalman

filtering theory and application or as a basic course in digital estimation theory and

application.

Page 13: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

PREFACE TO THE FOURTH EDITION xi

The organization of the material is illustrated by the following chapter-level depen-

dency graph, which shows how the subject of each chapter depends upon material in

other chapters. The arrows in the figure indicate the recommended order of study.

Boxes above another box and connected by arrows indicate that the material repre-

sented by the upper boxes is background material for the subject in the lower box.

Dashed boxes indicate materials on the Wiley companion web site.

B: A matrix refresher

1: Introduction 2: Linear dynamic systems

5: Linear optimal filters and predictors

4: Random processes3: Probability distribution

6: Optimal smoothers 7: Implementation methods

8: Nonlinear extension 9: Practical consideration 10: Application to navigation

A: Software descriptions

Matlab m-files

Prof. M. S. Grewal, Phd, PE

California State University at Fullerton

Angus P. Andrews, Phd

Senior Scientist (ret.), Rockwell Science Center, Thousand Oaks, California

Page 14: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.
Page 15: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

ACKNOWLEDGEMENTS

The authors express their appreciation to the following individuals for their contri-

butions during the preparation of the core material for this book: E. Richard Cohen,

Thomas W. De Vries, Reverend Joseph Gaffney, Thomas L. Gunckel II, Dwayne

Heckman, Robert A. Hubbs, Thomas Kailath, Rudolf E. Kalman, Alan J. Laub,

Robert F. Nease, John C. Pinson, John M. Richardson, Jorma Rissanen, Gerald E.

Runyon, Joseph Smith, and Donald F. Wiberg.

We also thank the following individuals for their review, corrections, and sugges-

tions for improving the second and third editions: Dean Dang, Gordon Inverarity, and

Kenneth W. Fertig.

For this fourth edition, we thank Jeffrey Uhlmann and Simon Julier for their assis-

tance on the new material in Chapters 1 and 8, Andrey Podkorytov for his correc-

tions to the Schmidt–Kalman filter, Professor Rudolf E. Kalman for the epigraph to

Chapter 1, the late Robert W. Bass (1930–2013) for his corrections to Chapter 1,

James Kain for proofreading parts of Chapter 7, John L. Weatherwax for his contri-

butions to the problem set solutions, and Edward H. Martin for providing some early

history on GNSS/INS integration.

Most of all, for their dedication, support, and understanding through all editions,

we dedicate this book to Sonja Grewal and Jeri Andrews.

—M. S. G., A. P. A

xiii

Page 16: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.
Page 17: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

LIST OF ABBREVIATIONS USED

ANSI, American National Standards Institute

arc-sec, second of arc

BMFLS, Biswas–Mahalanabis fixed-lag smoother

bps, bits per second

CEP, circular error probable, the radius of a circle centered at the mean of a probabil-

ity distribution such that is equally likely that a random sample is inside or outside

the circle (also called circle of equal probability)

CDMA, code-division multiple access (communications protocol)

dB, decibel

ed., editor or edition

EKF, extended Kalman filter

ENU, east-north-up (coordinates)

f, foot (0.3048 m)

FDMA, frequency-division multiple access (communications protocol)

flops, floating-point operations per second

FLS, fixed-lag smoother

FPS, fixed point smoother

g, 9.80665 m/s2

gHz, gigahertz

GMLE, Gaussian maximum-likelihood estimator

GNSS, global navigation satellite system

GPS,Global Positioning Service, a GNSS operated by the US Department of Defense

xv

Page 18: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

xvi LIST OF ABBREVIATIONS USED

h, hour

Hz, hertz (cycles per second)

IEEE, Institute of Electrical and Electronic Engineers

IEKF, iterated extended Kalman filter

IIR, infinite impulse response

INS, inertial navigation system

ISA, inertial sensor assembly

KF, Kalman filter

km, kilometer

kph, kilometer per hour

LGMLE, linear Gaussian maximum-likelihood estimator

LMSE, least-mean-square estimator

LQ, linear quadratic [estimator]

m, meter

MAP, maximum a posteriori probability (estimator).

max, maximum

mHz, megahertz

mi, mile

min, minute of time, or minimum

ML, maximum likelihood

MLE, maximum likelihood estimator

mph, mile per hour

NED, north-east-down (coordinates)

NMi, nautical mile (1852 m)

ppm, part per million

PSD, power spectral density

RMS, root mean squared

RP, random process

RPY, roll–pitch–yaw (vehicle coordinates)

RS, random sequence

RV, random variable

s, second of time

SKF, Schmidt–Kalman filter

SLRD, Schweppe likelihood-ration detection

SPKF, sigma-point Kalman filter

STM, state-transition matrix

SVD, singular value decomposition

UKF, unscented Kalman filter

Page 19: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

LIST OF ABBREVIATIONS USED xvii

UT, unscented transform

vs, versus

WSS, wide-sense stationary

𝜇, micrometer (10−6 m) or micro (10−6 [units])

Page 20: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.
Page 21: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

1INTRODUCTION

Once you get the physics right, the rest is mathematics.

—Rudolf E. Kalman

Kailath Lecture, Stanford University, May 11, 2009

1.1 CHAPTER FOCUS

This chapter presents a preview of where we are heading, some history of how others

got there before us, an overview showing how all the material fits together, and a

common notation and nomenclature to make it more apparent.

1.2 ON KALMAN FILTERING

1.2.1 First of All: What Is a Kalman Filter?

Theoretically, it has been called the linear least mean squares estimator (LLMSE)

because it minimizes the mean-squared estimation error for a linear stochastic sys-

tem using noisy linear sensors. It has also been called the linear quadratic esti-mator (LQE) because it minimizes a quadratic function of estimation error for a

linear dynamic system with white measurement and disturbance noise. Even today,

more than half a century after its discovery, it remains a unique accomplishment in

Kalman Filtering: Theory and Practice Using MATLAB®, Fourth Edition.Mohinder S. Grewal and Angus P. Andrews.© 2015 John Wiley & Sons, Inc. Published 2015 by John Wiley & Sons, Inc.

1

Page 22: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

2 INTRODUCTION

the history of estimation theory. It is the only practical finite-dimensional solution

to the real-time optimal estimation problem for stochastic systems, and it makes

very few assumptions about the underlying probability distributions except that they

have finite means and second central moments (covariances). Its mathematical model

has been found to represent a phenomenal range of important applications involv-

ing noisy measurements for estimating the current conditions of dynamic systems

with less-than-predictable disturbances. Although many approximation methods have

been developed to extend its application to less-than-linear problems, and despite

decades of dedicated research directed at generalizing it for nonlinear applications,

no comparable general solution1 for nonlinear problems has been found.

Practically, the Kalman filter is one of the great discoveries of mathematical engi-neering, which uses mathematical modeling to solve engineering problems—in the

much same way that mathematical physics is used to solve physics problems, or

computational mathematics is used for solving efficiency and accuracy problems in

computer implementations.

Its early users would come to consider the Kalman filter to be the greatest dis-

covery in practical estimation theory in the twentieth century, and its reputation has

continued to grow over time. As an indication of its ubiquity, a Google®; web search

for “Kalman filter” or “Kalman filtering” produces more than a million hits. One rea-

son for this is that the Kalman filter has enabled human kind to do many things that

could not have been done without it, and it has become as indispensable as silicon in

the makeup of many electronic systems. Its most immediate applications have been

for the monitoring and control of complex dynamic systems such as continuous man-

ufacturing processes, aircraft, ships, or spacecraft. To control a dynamic system, you

must first know what it is doing. For these applications, it is not always possible or

desirable to measure every variable that you want to control, and the Kalman filter

provides the mathematical framework for inferring the unmeasured variables from

indirect and noisy measurements. The Kalman filter is also used for predicting the

likely future courses of dynamic systems that people are not likely to control, such

as the flow of rivers during flood, the trajectories of celestial bodies, or the prices

of traded commodities and securities. It has become a universal tool for integrating

different sensor and/or data collection systems into an overall optimal solution.

As an added bonus, the Kalman filter model can be used as a tool for assessing the

relative accuracy of alternative sensor system designs for likely scenarios of dynamic

system trajectories. Without this capability, development of many complex sensor

systems (including Global Navigation Satellite Systems) may not have been possible.

From a practical standpoint, the following are the perspectives that this book will

present:

1. It is only a tool. It does not solve any problem all by itself, although it can

make it easier for you to do it. It is not a physical tool, but a mathematicalone. Mathematical tools make mental work more efficient, just as mechanical

tools make physical work more efficient. As with any tool, it is important to

1However, a somewhat limited finite-dimensional nonlinear solution has been found [1].

Page 23: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

ON KALMAN FILTERING 3

understand its use and function before you can apply it effectively. The purpose

of this book is to make you sufficiently familiar with and proficient in the use

of the Kalman filter that you can apply it correctly and efficiently.

2. It is a computer program. It has been called “ideally suited to digital computer

implementation” [2], in part because it uses a finite representation of the estima-

tion problem—by a finite number of variables. It does, however, assume that

these variables are real numbers—with infinite precision. Some of the prob-

lems encountered in its use arise from the distinction between finite dimension

and finite information and the distinction between “finite” and “manageable”

problem sizes. These are all issues on the practical side of Kalman filtering that

must be considered along with the theory.

3. It is a consistent statistical characterization of an estimation problem. It is

much more than an estimator, because it propagates the current state of knowl-edge of the dynamic system, including the mean-squared uncertainties arising

from random dynamic perturbations and sensor noise. These properties are

extremely useful for statistical analysis and the predictive design of sensor

systems.

If these answers provide the level of understanding that you were seeking, then

there is no need for you to read the rest of the book. If you need to understand Kalman

filters well enough to use them effectively, then please read on!

1.2.2 How It Came to Be Called a Filter

It might seem strange that the term filter would apply to an estimator. More com-

monly, a filter is a physical device for removing unwanted fractions of mixtures.

(The word felt comes from the same Medieval Latin stem and was used to denote

the material that was used as a filter for liquids.) Originally, a filter solved the prob-

lem of separating unwanted components of liquid–solid mixtures. In the era of crystal

radios and vacuum tubes, the term was applied to analog circuits that “filter” elec-

tronic signals. These signals are mixtures of different frequency components, and

these physical devices preferentially attenuate unwanted frequencies.

This concept was extended in the 1930s and 1940s to the separation of “signals”

from “noise,” both of which were characterized by their power spectral densities.

Kolmogorov and Wiener used this statistical characterization of their probability dis-

tributions in forming an optimal estimate of the signal, given the sum of the signal

and noise.

With Kalman filtering, the term assumed a meaning that is well beyond the original

idea of separation of the components of a mixture. It has also come to include the

solution of an inversion problem, in which one knows how to represent the measurable

variables as functions of the variables of principal interest. In essence, it inverts this

functional relationship and estimates the independent variables as inverted functions

of the dependent (measurable) variables. These variables of interest are also allowed

to be dynamic, with dynamics that are only partially predictable.

Page 24: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

4 INTRODUCTION

Kalmanfiltering

Least meansquares

Stochasticsystems

Dynamicsystems

Probabilitytheory

Leastsquares

Mathematical foundations

Figure 1.1 Foundational concepts in Kalman filtering.

1.2.3 Its Mathematical Foundations

Figure 1.1 depicts the essential subjects forming the foundations for Kalman filtering

theory. Although this shows Kalman filtering as the apex of a pyramid, it is itself but

part of the foundations of another discipline, “modern” control theory, and a proper

subset of statistical decision theory.

We will examine only the top three layers of the pyramid in this book, and a little

of the underlying mathematics2 (matrix theory, in Appendix B on the Wiley web

site).

1.2.4 What It Is Used for

The applications of Kalman filtering encompass many fields, but its use as a tool

is almost exclusively for two purposes: estimation and performance analysis of

estimators.

1. Estimating the State of Dynamic Systems. What is a dynamic system? Almost

everything, if you are picky about it. Except for a few fundamental physi-

cal constants, there is hardly anything in the universe that is truly constant.The orbital parameters of the dwarf planet Ceres are not constant, and even

the “fixed” stars and continents are moving. Nearly all physical systems are

dynamic to some degree. If one wants very precise estimates of their char-

acteristics over time, then one has to take their dynamics into consideration.

The problem is that one does not always know their dynamics very precisely

either. Given this state of partial ignorance, the best one can do is expressing

our ignorance more precisely—using probabilities. The Kalman filter allows

us to estimate the state of dynamic systems with certain types of random behav-

ior by using such statistical information. A few examples of such systems are

listed in the second column of Table 1.1.

2It is best that one not examine the bottommost layers of these mathematical foundations too carefully,

anyway. They eventually rest on human intellect, the foundations of which are not as well understood.

Page 25: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

ON KALMAN FILTERING 5

TABLE 1.1 Examples of Estimation Problems

Application Dynamic System Sensor Types

Process control Chemical plant Pressure

Temperature

Flow rate

Gas analyzer

Flood prediction River system Water level

Rain gauge

Weather radar

Tracking Spacecraft Radar

Imaging system

Navigation Ship Sextant

Log

Gyroscope

Accelerometer

GNSSa receiver

aAbbreviation: GNSS, Global Navigation Satellite System.

2. Performance Analysis of Estimation Systems. The third column of Table 1.1

lists some possible sensor types that might be used in estimating the state of

the corresponding dynamic systems. The objective of design analysis is to

determine how best to use these sensor types for a given set of performance

criteria. These criteria are typically related to estimation accuracy and system

cost.

The Kalman filter uses a parametric characterization of the probability distri-

bution of its estimation errors in determining the optimal filtering gains, and these

parameters may be used in assessing its performance as a function of the “design

parameters” of an estimation system, such as

1. the types of sensors to be used,

2. the locations and orientations of the various sensor types with respect to the

system to be estimated,

3. the allowable noise characteristics of the sensors,

4. the prefiltering methods for smoothing sensor noise,

5. the data sampling rates for the various sensor types, and

6. the level of model simplification to reduce implementation requirements.

The analytical capability of the Kalman filter formalism also allows a system

designer to assign an “error budget” to subsystems of an estimation system and to

trade off the budget allocations to optimize cost or other measures of performance

while achieving a required level of estimation accuracy.

Page 26: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

6 INTRODUCTION

1.3 ON OPTIMAL ESTIMATION METHODS

The Kalman filter is the result of an evolutionary process of ideas from many creative

thinkers over many centuries. We present here some of the seminal ideas in this pro-

cess, the discoverers of which are listed in historical perspective in Figure 1.2. This

list is by no means exhaustive. There are far too many people involved to show them

all, but the figure should give some idea of the time periods involved. The figure cov-

ers only half a millennium, and the study and development of mathematical concepts

goes back beyond history. Readers interested in more detailed histories of optimal

estimation are referred to the survey articles by Kailath [8, 30], Lainiotis [3], Mendel

and Gieseking [4], and Sorenson [55, 56] and the personal accounts of Battin [5] and

Schmidt [6]. More recent contributions from the last five discoverers on this list are

discussed in Chapters 7 and 8.

1.3.1 Beginnings of Optimal Estimation Theory

The first method for forming an optimal estimate from noisy data is the methodof least squares. Its discovery is generally attributed to Carl Friedrich Gauss

(1777–1855) in 1795. The inevitability of measurement errors had been recognized

since the time of Galileo (1564–1642), but this was the first formal method for deal-

ing with them. Although it is more commonly used for linear estimation problems,

Gauss first used it for a nonlinear estimation problem in mathematical astronomy,

which was part of an interesting event in the history of astronomy. The following

16001500

Cardano

Galileo

Fermat

Pascal

Huygens

Newton

Bernoulli

Riccati

Bayes

Laplace

Legendre

Gauss

Maxwell

Thiele

Markov Julier

Uhlmann

Carlson

Bierman

Potter

Bucy

Stratonovich

Kalman

Swerling

Schmidt

Kolmogorov

Wiener

Fisher

Cholesky

Itô

Kailath

De Moivre

1700 1800 1900 2000

16001500 1700 1800 1900 2000

Figure 1.2 Lifelines of some important contributors to estimation technology.

Page 27: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

ON OPTIMAL ESTIMATION METHODS 7

account was put together from several sources, including the account by Baker and

Makemson [7].

On January 1, 1801, the first day of the nineteenth century, the Italian astronomer

Giuseppe Piazzi was checking an entry in a star catalog. Unbeknown to Piazzi,

it included an error by the printer. While searching for the “missing” star, Piazzi

discovered, instead, something that moved. It was the “dwarf planet” Ceres—the

largest body in the asteroid belt and the first to be discovered—but Piazzi did not

know that yet. He was able to track and measure its apparent motion against the

“fixed” star background during 41 nights before it moved too close to the sun and

disappeared.

On January 24, Piazzi had written of his discovery to Johann Bode. Bode is best

known for Bode’s law, which states that the distances of the planets from the sun, in

astronomical units, are given by the sequence

dn = 1

10(4 + 3 × 2n) for n = −∞, 0, 1, 2, ?, 4, 5, … . (1.1)

Actually, it was not Bode, but Johann Tietz who first proposed this formula, in

1772. At that time, there were only six known planets. In 1781, Friedrich Herschel

discovered Uranus, which fit nicely into this formula for n = 6. No planet had

been discovered for n = 3. Spurred on by Bode, an association of European

astronomers had been searching for the “missing” eighth planet for nearly 30 years.

Piazzi was not part of this association, but he did inform Bode of his unintended

discovery.

Piazzi’s letter did not reach Bode until March 20. (Electronic mail was discov-

ered much later.) Bode suspected Piazzi’s discovery might be the missing planet, but

there was insufficient data for determining its orbital elements by the methods then

available. It is a problem in nonlinear equations that Newton, himself, had declared

as being among the most difficult in mathematical astronomy. Nobody had solved it

and, as a result, Ceres was lost in space again.

Piazzi’s discoveries were not published until the autumn of 1801. The possible

discovery—and subsequent loss—of a new planet, coinciding with the beginning of

a new century, was exciting news. It contradicted a philosophical justification for there

being only seven planets—the number known before Ceres and a number defended

by the respected philosopher Georg Hegel, among others. Hegel had recently pub-

lished a book in which he chastised the astronomers for wasting their time in searching

for an eighth planet when there was sound philosophical justification for there being

only seven. The new celestial object became a subject of conversation in intellec-

tual circles nearly everywhere. Fortunately, the problem caught the attention of a

24-year-old mathematician at Góttingen named Carl Friedrich Gauss.

Gauss had toyed with the orbit determination problem a few weeks earlier but

had set it aside for other interests. He now devoted most of his time to the problem,

produced an estimate of the orbit of Ceres in December, and sent his results to Piazzi.

The new “planet” (later reclassified as an asteroid), which had been sighted on the

first day of the year, was found again—by its discoverer—on the last day of the year.

Page 28: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

8 INTRODUCTION

Gauss did not publish his orbit determination methods until 1809.3 In this publi-

cation, he also described the method of least squares that he had discovered in 1795,

at the age of 18, and had used it in refining his estimates of the orbit of Ceres.

Although Ceres played a significant role in the history of discovery and it still

reappears regularly in the nighttime sky, it had faded into obscurity as an object of

intellectual interest until the 2007 launch of scientific probe Dawn for a 2015 ren-

dezvous with Ceres. The method of least squares, on the other hand, has been an

object of continuing interest and benefit to generations of scientists and technologists

ever since its introduction. It has had a profound effect on the history of science. It was

the first optimal estimation method, and it provided an important connection between

the experimental and theoretical sciences: it gave experimentalists a practical method

for estimating the unknown parameters of theoretical models.

1.3.2 Method of Least Squares

The following example of a least-squares problem is the one most often seen, although

the method of least squares may be applied to a much greater range of problems.

Example 1.1 (Least-Squares Solution for Overdetermined Linear Systems)Gauss discovered that if he wrote a system of equations in matrix form, as

⎡⎢⎢⎢⎢⎣h11 h12 h13 … h1nh21 h22 h23 … h2nh31 h32 h33 … h3n⋮ ⋮ ⋮ ⋱ ⋮

hl1 hl2 hl3 … hln

⎤⎥⎥⎥⎥⎦⎡⎢⎢⎢⎢⎣x1

x2

x3

⋮xn

⎤⎥⎥⎥⎥⎦=

⎡⎢⎢⎢⎢⎣z1

z2

z3

⋮zl

⎤⎥⎥⎥⎥⎦(1.2)

or

Hx = z, (1.3)

then he could consider the problem of solving for that value of an estimate x̂ (pro-

nounced “x-hat”) that minimizes the “estimated measurement error” Hx̂ − z. He could

characterize that estimation error in terms of its Euclidean vector norm |Hx̂ − z|, or,

equivalently, its square:

𝜀2(x̂) = |Hx̂ − z|2 (1.4)

=m∑

i=1

[n∑

j=1

hijx̂j − zi

]2

, (1.5)

3In the meantime, the method of least squares had been discovered independently and published by

Andrien-Marie Legendre (1752–1833) in France and Robert Adrian (1775–1855) in the United States

[8]. It had also been discovered and used before Gauss was born by the German-Swiss physicist

Johann Heinrich Lambert (1728–1777). Such Jungian synchronicity (i.e., the phenomenon of multiple,

near-simultaneous discovery) was to be repeated for other breakthroughs in estimation theory, as well—for

the Wiener–Kolmogorov filter and the Kalman filter.

Page 29: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

ON OPTIMAL ESTIMATION METHODS 9

which is a continuously differentiable function of the n unknowns x̂1, x̂2, x̂3, … , x̂n.This function 𝜀2(x̂) → ∞ as any component x̂k → ±∞. Consequently, it will achieveits minimum value where all its derivatives with respect to the x̂k are zero. There aren such equations of the form

0 = 𝜕𝜀2

𝜕x̂k(1.6)

= 2

m∑i=1

hik

[n∑

j=1

hijx̂j − zi

](1.7)

for k = 1, 2, 3, … , n. Note that in this last equation, the expression

n∑j=1

hijx̂j − zi = {Hx̂ − z}i, (1.8)

the ith row of Hx̂ − z, and the outermost summation are equivalent to the dot productof the kth column of H with Hx̂ − z. Therefore, Equation 1.7 can be written as

0 = 2HT[Hx̂ − z] (1.9)

= 2HTHx̂ − 2HTz (1.10)

or

HTHx̂ = HTz,

where the matrix transpose HT is defined as

HT =

⎡⎢⎢⎢⎢⎣h11 h21 h31 … hm1

h12 h22 h32 … hm2

h13 h23 h33 … hm3

⋮ ⋮ ⋮ ⋱ ⋮h1n h2n h3n … hmn

⎤⎥⎥⎥⎥⎦. (1.11)

The equationHTHx̂ = HTz (1.12)

is called the normal equation or the normal form of the equation for the linearleast-squares problem. It has precisely as many equivalent scalar equations asunknowns.

1.3.2.1 The Gramian of the Linear Least-Squares Problem The normal equationhas the solution

x̂ = (HTH)−1HTz,

provided that the matrix

Page 30: KALMANFILTERING - download.e-bookshelf.de · Kalman filtering : theory and practice using MATLAB / Mohinder S. Grewal, Angus P. Andrews. – Fourth edition. pages cm Includes index.

10 INTRODUCTION

= HTH (1.13)

is nonsingular (i.e., invertible). The matrix product = HTH in this equation is called

the Gramian matrix.4 The determinant of the Gramian matrix characterizes whether

or not the column vectors of H are linearly independent. If its determinant is zero, the

column vectors of H are linearly dependent and x̂ cannot be determined uniquely. If

its determinant is nonzero, then the solution x̂ is uniquely determined.

Example 1.2 (The Gramians of Guier and Weiffenbach) Development of satel-

lite navigation started just after the world’s first artificial satellite, Sputnik I, was

launched from the Soviet Union on Friday, October 4, 1957. On the following Mon-

day, William Guier (1926–2011) and George Weiffenbach (1921–2003), two scien-

tists at the Applied Physics Laboratory (APL) of Johns Hopkins University, started

recording and analyzing the 20 MHz carrier signals from Sputnik I. These signals

exhibited noticeable patterns of Doppler shift as the satellite passed from horizon

to horizon. Weiffenbach was able to use a spectrum analyzer to track the Doppler

frequency shift as the satellite passed from horizon to horizon, generally within a

period of several minutes. Curious to understand how the satellite orbit influenced the

observed patterns of Doppler shift, Guier and Weiffenbach calculated partial deriva-

tives of Doppler shift with respect to orbital parameters.

For any parameter pk of the satellite orbit, Guier and Weiffenbach could obtain

numerical partial derivatives of the measurable Doppler frequency shift fDop(t) at the

known receiver location to that parameter be generating an orbit with perturbed value

pk + 𝛿p,k and calculating the resulting perturbations 𝛿f , k(ti) in the Doppler shifts at the

receiver at sample times ti during a satellite pass by, as

𝜕fDop(ti)𝜕pk

≈𝛿f ,k(ti)𝛿p,k

.

Small variations Δp,k in the orbit parameters should then be approximately related

to observable deviations ΔDop(ti) of Doppler shift during one satellite pass by the

4Named after the Danish mathematician Jørgen Pedersen Gram (1850–1916). This matrix is also related to

what is called the unscaled Fisher information matrix, named after the English statistician Ronald Aylmer

Fisher (1890–1962). Although information matrices and Gramian matrices have different definitions and

uses, they can amount to almost the same thing in this particular instance. The formal statistical definition

of the term information matrix represents the information obtained from a sample of values from a known

probability distribution. It corresponds to a scaled version of the Gramian matrix when the measurement

errors in z have a joint probability distribution, with the scaling related to the uncertainty of the measured

data. The information matrix is a quantitative statistical characterization of the “information” (in some

sense) that is in the data z used for estimating x. The Gramian, on the other hand, is used as an qualitative

algebraic characterization of the uniqueness of the solution.


Recommended