pg 1 of 64 agi process noise r. hujsak

64
Pg 1 of 64 AGI www.agiuc.com Process Noise R. Hujsak

Upload: jessica-merritt

Post on 25-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 1 of 64AGI www.agiuc.com

Process Noise

R. Hujsak

Page 2: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 2 of 64AGI www.agiuc.com

Topics

The Problem

A scalar state

Force model errors Force model process noise

Filter Equations & State Space

What “design” make sense? How to simplify analyst’s task?

Tips on setting process noise inputs.

Measurement models Meas. model process noise

Scalar process noise

Position and rate states Process noise on rate

Pos rate & acceleration Process noise on acceleration

Orbit Errors

Page 3: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 3 of 64AGI www.agiuc.com

The estimation problem is:

Page 4: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 4 of 64AGI www.agiuc.com

How to best fit data?

Page 5: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 5 of 64AGI www.agiuc.com

The right model improves the fit

Page 6: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 6 of 64AGI www.agiuc.com

and improves the prediction

Page 7: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 7 of 64AGI www.agiuc.com

How do you model elephants?

What happens if the model is not available?

This is the scalar state estimation problem

Page 8: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 8 of 64AGI www.agiuc.com

If you solve for a constant “state”

… then a global least squares fit can be pretty bad.

FITPREDICT

Page 9: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 9 of 64AGI www.agiuc.com

So you might want to segment the fit

… and allow the “state” to vary from fit-to-fit. This is better, but still not great.

PREDICT

Page 10: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 10 of 64AGI www.agiuc.com

In the limit a sequential estimate

… of the “state” might provide the best possible fit.

Page 11: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 11 of 64AGI www.agiuc.com

Any process should

••

… recognize and reject “bad” data.

X

X

X

X

Page 12: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 12 of 64AGI www.agiuc.com

How to characterize the state?

How much can the state change in any step?

How rapidly can the state

change?Is this a bounded process?

Page 13: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 13 of 64AGI www.agiuc.com

• Exponentially-correlated “stationary” process:

, = time correlation half-life and standard deviation

Choose a process model for a scalar

state, white noiseX

• Then the covariance time update is defined by:

kkkkkkk ttXtX 2,1,11 1

kk

ttkk ttTe kk

1,1 ,/)5.0ln(,1

kkT

kkkkkkkk QPP |1,1|,1|1

2,1

2,1 1 kkkkQ

Page 14: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 14 of 64AGI www.agiuc.com

What does this process look like?

• Generate a random sequence using

• Setting = 1

• Pick

• Graph sequence

kkkkkkk ttXtX 2,1,11 1

Page 15: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 15 of 64AGI www.agiuc.com

0 100 200 300 400

Time (sec)

-1

0

1

2

Autocorrelation Half-Life = 10 sec

Exponentially correlated process (1 of 3)

Sampled at one-second intervals

Page 16: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 16 of 64AGI www.agiuc.com

0 100 200 300 400

Time (sec)

-1

0

1

Autocorrelation Half-Life = 100 sec

Exponentially correlated process (2 of 3)

Sampled at one-second intervals

Page 17: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 17 of 64AGI www.agiuc.com

0 100 200 300 400

Time (sec)

-1

0

1

2

Autocorrelation Half-Life = 1000 sec

Exponentially correlated process (3 of 3)

Sampled at one-second intervals

Evaluate “process state equation” using random draws from Gaussian distribution

Page 18: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 18 of 64AGI www.agiuc.com

Choose model values to characterize the process

Choose to quantify the magnitude of change

Choose to quantify the speed of change

, = time correlation constant and standard deviation

1

Page 19: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 19 of 64AGI www.agiuc.com

0 100 200 300 400

Time (sec)

-1

0

1

2

Autocorrelation Half-Life = 25 sec

Potential settings to “model” elephants

Sampled at one-second intervals

Page 20: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 20 of 64AGI www.agiuc.com

Tuning a scalar random processes

• Easy to “tune” if states relate to physical properties– Rate of change in a “quantity” – Amplitude of change in a “quantity”

• The exponentially-correlated stationary process is versatile– Characterizes a bounded process– Can be used for other independent variables (elevation)– Is intuitive

Page 21: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 21 of 64AGI www.agiuc.com

Questions on scalar state process noise

?

Page 22: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 22 of 64AGI www.agiuc.com

Next level of complexity:

Random errors in slope of a curve

Page 23: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 23 of 64AGI www.agiuc.com

Suppose the slope is “well behaved”

You might want to estimate slope to predict position, but slope changes over time

You would not want to match the average slope, but model it as random process in slope

Estimate two states, position and slope, and constrain the correction to the slope with and rate of change with

Page 24: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 24 of 64AGI www.agiuc.com

Position & slope estimation

• Assume slope is an exponentially-correlated stationary process (same equations)– All of the error on position is due to random nature of slope– Position does not “wiggle”, unless driven by slope

• Define = position, v = slope. The new State becomes:

k

kk v

X

kj

k

k

ttkj

kkjkkjj

t

t

kk

e

kjttvtv

dv

,

2,,

1

,1)()(

)(1

Page 25: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 25 of 64AGI www.agiuc.com

• For arbitrary T and :

Position & slope process noise

2,1

2

22,12

2,1

1,1

111

11

2341

,

kkk1,k

k1,kkkk1,k

kk

kk

k1,k

kk

φ

φTφQ

ttTφ0

T1T1

Page 26: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 26 of 64AGI www.agiuc.com

• For T << :

Position & slope process noise

TT

TT

Q

T

kk

kk

2

232

101

2

23

2

,1

,1

In sigma-correlation form :

T

T

Q kk 2

32

,12

87.

87.3

2

How would an analyst ever guess the cross correlations?

Page 27: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 27 of 64AGI www.agiuc.com

The quandary for estimation design

• Allow analyst to specify and :– Software implements analytic calculation of Q

• Require the analyst enter the 2x2 Q directly– But the analyst has to guess the cross-correlations

• If the analyst fails to set the cross-correlations correctly– The Q will have to be “retuned” frequently

Page 28: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 28 of 64AGI www.agiuc.com

Questions on position & slope

?

Page 29: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 29 of 64AGI www.agiuc.com

Next level of complexity:

Random acceleration errors

Page 30: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 30 of 64AGI www.agiuc.com

• Singer used a time-correlated stationary process:

= accelerationa

krkaka 21)(1

1, Te

, = time correlation constant and standard deviation

T = sampling interval

Singer’s Solution (1970)

Page 31: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 31 of 64AGI www.agiuc.com

Singer’s Solution (cont.)

• The general state transition function is

100

)1(1

10

11

12

TT

• But if T << then

100

2110

21

2

T

T

TT

Page 32: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 32 of 64AGI www.agiuc.com

T

T

T

2

32

52

2866.745.

866.3

2968.

745.968.20

2

Singer’s Solution (cont.)

• And Q for T <<

2

23

234

345

2

26

238

6820

TTT

TTT

TTT

Q

or in sigma-correlation form:

How would an orbit analyst ever guess the cross correlations?

Page 33: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 33 of 64AGI www.agiuc.com

Questions on Singer's model

?

Page 34: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 34 of 64AGI www.agiuc.com

In orbit determination … … it gets more complicated

Page 35: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 35 of 64AGI www.agiuc.com

Force model errors we control

• Truncate Earth’s gravity model

• Use a sphere for body model– When satellite shape and alignment are more complex

• Use an impulse (V) for a maneuver– When the real burn has short duration

• Use simplified Earth shadow model for eclipsing– Ignore refraction & attenuation of sunlight

• Ignore attitude profile

All of these errors contribute time-correlated acceleration errors that are bounded

Page 36: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 36 of 64AGI www.agiuc.com

Force model errors out of our control

• Variable equipment performance– Thrusters running “hot” or “cold”, ramp up & sputter

• Limitations in knowledge– Attitude & alignment knowledge during thrusting– Error in each gravity field coefficient

• Unpredictable events– Solar flares– Unknown maneuvers (Space Control problem)– Outgassing

• State of the art is limited– Atmospheric density models (error ~ 15%), some are worse– Albedo (actual cloud cover is unknown)

These errors also contribute time-correlated acceleration errors that are bounded

Page 37: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 37 of 64AGI www.agiuc.com

Measurement model errors (1 of 3)

• Hardware provides unmodeled offsets– Thermal transients

• Time-varying biases at facilities and on satellite (transponder)

– Alignment changes – stuff wears out• Biases change

• Manufacturers do you favors– Convert integrated Doppler counts to range-rate– Convert round trip range to geometric range– Filter raw data and provide filter estimates as

measurements

These errors might be modeled as time-correlated bias errors that are bounded

Page 38: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 38 of 64AGI www.agiuc.com

• Environmental modeling issues– Single frequency systems subject to ionospheric delays

• Empirical models have large errors

– Tropospheric models • Do not have azimuth dependencies• Facilities do not collect TPH readings

• Misuse of calibration data – Use manufacturer’s bench calibration for transponder delay– Instead of solving for the on-orbit delay

• Man-in-the-loop– Daily checklist to recalibrate site clocks

• Perfectly good setting replaced by a poorer setting

– Fat-fingered offsets

Measurement model errors (2 of 3)

More bounded time-correlated bias errors

Page 39: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 39 of 64AGI www.agiuc.com

• Model choices– Ignore facility locations motion

• Tectonic plate motion, tidal uplift & ocean loading• Atmospheric loading

• Space based measurements have more issues– Treating tracking platform with a reference ephemeris

• Are orbit and attitude errors ignored?

Measurement model errors (3 of 3)

Systematic measurement errors are represented by scalar processes

Page 40: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 40 of 64AGI www.agiuc.com

Force models & error equations

Page 41: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 41 of 64AGI www.agiuc.com

The complete force model

• Is expressed in differential equations:

(classical elements used only for purposes of illustration)

CIR

GCIR

MM

ieeaa

M

iea

IR

CIR

C

C

IR

IR

0

0000

00

Page 42: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 42 of 64AGI www.agiuc.com

Identify model & model error

CIR

GCIR

G

M

iea

model model error

Page 43: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 43 of 64AGI www.agiuc.com

duGttXtttXt

t)()(),()(),()(

0000

)()()(

)()()(

tXtHty

tutGXtFdt

dX

Examine the Kalman Filter (1 of 3)

• Given a linear dynamical system with model error

• Then state transition is defined by the form:

• And the covariance is defined by the expectation:

tXtXEtP T)(

Page 44: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 44 of 64AGI www.agiuc.com

Tt

t

t

t

TTt

t

Tt

t

TTT

duGtduGtE

tttXduGtE

duGttXttE

tttXtXEtttXtXE

)()(),()()(),(

),()()()(),(

)()(),()(),(

),()()(),()()(

00

0

0

00

00

0000

• Define the covariance by taking the expectation

Kalman Filter (2 of 3)

Q

Page 45: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 45 of 64AGI www.agiuc.com

Kalman Filter (3 of 3)

• Kalman said: IF u() is white E{u()}=0, E{u()u()}=( ,)

Tt

t

t

t

TTt

t

Tt

t

duGtduGtE

tttXduGtE

duGttXttEttQ

)()(),()()(),(

),()()()(),(

)()(),()(),(),(

00

0

0

00

000

• And Q is defined by Ricatti Equation

Page 46: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 46 of 64AGI www.agiuc.com

But acceleration errors u(t) are biased and are not white!

So we cannot use Kalman’s zero mean white noise!

Page 47: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 47 of 64AGI www.agiuc.com

• IF we can identify the non-white acceleration errors–

• And IF we can integrate the equations for Q

• And IF we can take the expectation

• THEN we can define the process noise Q for the error source

CIR ,,

Formulation of orbit process noise

Page 48: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 48 of 64AGI www.agiuc.com

Examine a simple example

Page 49: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 49 of 64AGI www.agiuc.com

UGLY math (1 of 2)

• Examine solar pressure on a sphere

• Where– S direction along Sun-to-satellite LOS

– E direction orthogonal to S and directed along the earth’s velocity vector

– N completes r.h.s. S x E = N

R

R

R

R

R

CMMM

C

C

NC

EC

S

N

z

E

z

S

zN

y

E

y

S

yN

x

E

x

S

x

z

C

y

C

x

Cz

I

y

I

x

Iz

R

y

R

x

R

CIR

321

Page 50: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 50 of 64AGI www.agiuc.com

Tt

t

t

t

TTt

t

Tt

t

duGtduGtE

tttXduGtE

duGttXttEttQ

)()(),()()(),(

),()()()(),(

)()(),()(),(),(

00

0

0

00

000

UGLY math (2 of 2)

• Substitute

• Into

RCMMMu 321

• And choose an exponentially-correlated process for CR

Page 51: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 51 of 64AGI www.agiuc.com

How to do the math? It’s complicated!

Page 52: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 52 of 64AGI www.agiuc.com

• Many Kalman Filter developers give up.– The derivation is too difficult or numerical double integrals are

intractable.

– Textbook Riccati equation assumes white acceleration errors – not appropriate

– Every time you add a new error process, you have to do more UGLY math.

• So many filter implementations– Let the analyst enter a manual Q.

– Most analysts only enter a diagonal Q.

– And Q must be “tuned” frequently• Because the analyst cannot guess the full structure of the Q

UGLY math yields an ugly design

Page 53: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 53 of 64AGI www.agiuc.com

But it is possible to do the ugly math

…approximately

Page 54: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 54 of 64AGI www.agiuc.com

Integration of acceleration QA for CR

t0 tt1 t2 t3 t4 t5 ---

),(),()(),()(

),(),()(),()(

),,(0

00),(

),(),()(),()(

12121122

01

01

01010011

kAkT

kk

AT

R

A

AT

ttQtttPtttP

ttQtttPtttP

ttCqttQ

ttQtttPtttP

),( Defined by Variational Equations

Acceleration integration into position takes 2 steps

Page 55: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 55 of 64AGI www.agiuc.com

Consequence of doing the ugly math:

• User has easy to use “knobs” for process noise– Intuitive settings

• Automatic accumulation of uncertainty into position and velocity covariance

• User freed from setting a manual Q

• Penalty is a slight lag in integration into position– User controls frequency of process noise application

Page 56: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 56 of 64AGI www.agiuc.com

Tips for tuning our filters

Page 57: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 57 of 64AGI www.agiuc.com

0 100 200 300 400

Time (sec)

-1

0

1

2

Autocorrelation Half-Life = 1000 sec

Remember these graphs …

Sampled at one-second intervals

Page 58: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 58 of 64AGI www.agiuc.com

0 100 200 300 400

Time (sec)

-1

0

1

Autocorrelation Half-Life = 100 sec

…varying the correlation half-life…

Sampled at one-second intervals

Page 59: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 59 of 64AGI www.agiuc.com

0 100 200 300 400

Time (sec)

-1

0

1

2

Autocorrelation Half-Life = 25 sec

…will change the characteristics…

Sampled at one-second intervals

Page 60: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 60 of 64AGI www.agiuc.com

0 100 200 300 400

Time (sec)

-1

0

1

2

Autocorrelation Half-Life = 10 sec

… and help match real-world phenomena

Sampled at one-second intervals

Page 61: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 61 of 64AGI www.agiuc.com

Tuning Tips for ODTK

• Set parameters and according to physical behavior

• Examples– Local tropospheric day/night variations are significant

• Range and elevation bias half-life = 12 hours

– GEO orbit, body cross section periodic @24 hrs• SRP half-life = 12 hours

– North thrusters run hot, south thrusters run cold• Group North & South thrust events separately using

PermanentStates

Page 62: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 62 of 64AGI www.agiuc.com

Walk before you run

• Problem: Simultaneously estimate 10 GEO orbits and 12 ground stations, use 30 days of data, which contains 2 NS & 1 EW station-keeping maneuvers– Calibrate 10 transponder biases

– Calibrate 36 facility biases (range and angles)

– Calibrate 3 maneuvers

• Do not throw everything into the filter and say “run”

• Start with one satellite – with the most tracking data– Refine biases and transponder

– Take out biggest errors one at a time

– Do not get greedy and crank sigmas way down• Until you have all satellites & facilities tuned

Page 63: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 63 of 64AGI www.agiuc.com

During preliminary tuning

Percentage Found Normal Density Percentage Predicted

0.00

2.00

4.00

6.00

8.00

10.00

12.00

14.00

16.00

18.00

20.00

22.00

24.00

0.00

0.10

0.20

0.30

0.40

0.50

0.60

0.70

0.80

-2.850 -2.250 -1.650 -1.050 -0.450 0.150 0.750 1.350 1.950 2.550 3.000

Pe

rce

nta

ge

Fo

un

d No

rma

l De

ns

ity

HistogramHistogram

Number of Sigmas

A peaked histogram is a good idea

Page 64: Pg 1 of 64 AGI  Process Noise R. Hujsak

Pg 64 of 64AGI www.agiuc.com

Tips

• The “fit span” is critical, a filter gets better with time– All OD methods have problems with short data spans– A filter will excel over longer fit spans

• Bad stuff happens– [email protected]

• Never fat-finger in data

• Maneuvers are a “problem”– Plan the maneuver for the day shift– Avoid phone calls in the middle of the night

• The solution to any problem…– Is the last place you looked