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.
Name | Type | Annotation |
---|---|---|
outputfileUpdatedState | filename | estimated state x+ (nx1-matrix) |
outputfileUpdatedStateCovarianceMatrix | filename | estimated state' s covariance matrix Cov(x+) |
inputfileNormalEquations | filename | normal equations input file |
inputfileInitialState | filename | initial state x0 |
inputfileInitialStateCovarianceMatrix | filename | initial state's covariance matrix Cov(x0) |
inputfileAutoregressiveModel | filename | file name of autoregressive model |