pg 1 of 64 agi process noise r. hujsak

Post on 25-Dec-2015

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pg 1 of 64AGI www.agiuc.com

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

Pg 3 of 64AGI www.agiuc.com

The estimation problem is:

Pg 4 of 64AGI www.agiuc.com

How to best fit data?

Pg 5 of 64AGI www.agiuc.com

The right model improves the fit

Pg 6 of 64AGI www.agiuc.com

and improves the prediction

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

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

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

Pg 10 of 64AGI www.agiuc.com

In the limit a sequential estimate

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

Pg 11 of 64AGI www.agiuc.com

Any process should

••

… recognize and reject “bad” data.

X

X

X

X

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?

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

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

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

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

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

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

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

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

Pg 21 of 64AGI www.agiuc.com

Questions on scalar state process noise

?

Pg 22 of 64AGI www.agiuc.com

Next level of complexity:

Random errors in slope of a curve

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

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

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

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?

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

Pg 28 of 64AGI www.agiuc.com

Questions on position & slope

?

Pg 29 of 64AGI www.agiuc.com

Next level of complexity:

Random acceleration errors

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)

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

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?

Pg 33 of 64AGI www.agiuc.com

Questions on Singer's model

?

Pg 34 of 64AGI www.agiuc.com

In orbit determination … … it gets more complicated

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

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

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

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

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

Pg 40 of 64AGI www.agiuc.com

Force models & error equations

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

Pg 42 of 64AGI www.agiuc.com

Identify model & model error

CIR

GCIR

G

M

iea

model model error

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

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

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

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!

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

Pg 48 of 64AGI www.agiuc.com

Examine a simple example

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

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

Pg 51 of 64AGI www.agiuc.com

How to do the math? It’s complicated!

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

Pg 53 of 64AGI www.agiuc.com

But it is possible to do the ugly math

…approximately

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

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

Pg 56 of 64AGI www.agiuc.com

Tips for tuning our filters

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

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

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

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

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

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

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

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– support@agi.com

• 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

top related