pg 1 of 64 agi process noise r. hujsak
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
2τ
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– [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