KalmanFilter

The program computes time variable gravity fields using the Kalman filter approach of

Kurtenbach, E., Eicker, A., Mayer-Gürr, T., Holschneider, M., Hayn, M., Fuhrmann, M., and Kusche, J. (2012). Improved daily GRACE gravity field solutions using a Kalman smoother. Journal of Geodynamics, 59–60, 39–48. https://doi.org/10.1016/j.jog.2012.02.006.

The updated state $\mathbf{x}_t^+$ is determined by solving the least squares adjustment \[ \mathbf{l}_t = \mathbf{A}_t \mathbf{x}_t + \mathbf{e}_t \hspace{25pt} \mathbf{e}_t \sim \mathcal{N}(0, \mathbf{R}_t)\\ \mathbf{B} \mathbf{x}^+_{t-1} = \mathbf{I} \mathbf{x}_t + \mathbf{v}_t\hspace{25pt} \mathbf{v} \sim \mathcal{N}(0,\mathbf{Q} + \mathbf{B} \mathbf{P}^+_{t-1}\mathbf{B}^T). \]In normal equation form this can be written as \[ \hat{\mathbf{x}}_t = \mathbf{x}^+_t = (\mathbf{N}_t + \mathbf{P}^{-^{-1}}_t)^{-1}(\mathbf{n}_t + \mathbf{P}^{-^{-1}}_t \mathbf{x}^-_t), \]where $\mathbf{x}_t^- = \mathbf{B} \mathbf{x}^+_{t-1}$ and $\mathbf{P}_t^{-} = \mathbf{Q} + \mathbf{B} \mathbf{P}^+_{t-1}\mathbf{B}^T$ are the predicted state and its covariance matrix.

The process dynamic $\mathbf{B}, \mathbf{Q}$ is represented as an autoregressive model, and passed to the program through inputfileAutoregressiveModel. The sequence of normal equations $\mathbf{N}_t, \mathbf{n}_t$ are given as list of inputfileNormalEquations, which can be generated using loops. In the same way, the matrix files for outputfileUpdatedState and inputfileUpdatedStateCovariance can also be specified using loops.

If no inputfileInitialState is set, a zero vector with appropriate dimensions is used. The inputfileInitialStateCovarianceMatrix however must be given.

See also KalmanBuildNormals, KalmanSmoother.

NameTypeAnnotation
outputfileUpdatedState
filenameestimated state x+ (nx1-matrix)
outputfileUpdatedStateCovarianceMatrix
filenameestimated state' s covariance matrix Cov(x+)
inputfileNormalEquations
filenamenormal equations input file
inputfileInitialState
filenameinitial state x0
inputfileInitialStateCovarianceMatrix
filenameinitial state's covariance matrix Cov(x0)
inputfileAutoregressiveModel
filenamefile name of autoregressive model