I want to implement a Kalman Filter for the system: $$ \dot x = Ax + Bu + w_p, \qquad y = Cx + w_m $$ where $w_p$ and $w_m$ are the plant noise and measurement noise respectively, which are both white noise with covariance matrices $$ E(w_p(t) w_p^T(t+\tau)) = S_p \delta(\tau), \qquad E(w_m(t) w_m^T(t+\tau)) = S_m \delta(\tau) .$$ Before I can implement the filter, I need to know $A$, $B$, $C$, $S_p$ and $S_m$. I think I have figured out a way to do this empirically using chirp data. I am interested in a reference to this kind of method, or any other method, for obtaining these matrices (and in particular the covariance matrices).

  • $\begingroup$ Based on what data do you want to estimate these parameters? Do you have complete data ($x$ and $y$ trajectories) or incomplete data (only $y$ trajectories)? It seems to me that a dot is missing in the observation equation. $\endgroup$ – S.Surace Oct 9 at 21:24
  • $\begingroup$ Based upon knowledge of only $y$. Also, where is the missing dot? $\endgroup$ – Stephen Montgomery-Smith Oct 9 at 21:28
  • $\begingroup$ Since you said that measurement noise is $\delta$-correlated, your observations seem to be continuous-time. Another way to write this stochastic system is with Itô SDEs: $dX_t=AX_tdt+Bu_tdt+dW^{(p)}_t$, $dY_t=CX_tdt+dW^{(m)}_t$. Now things can be worked out using stochastic calculus. I can write an answer if this is indeed the measurement model you want to consider. If you want discrete-time measurements with Gaussian noise, it can work as well but the calculations will be different. $\endgroup$ – S.Surace Oct 10 at 6:26
  • $\begingroup$ First, I'm not looking for a solution - I'm looking for a reference. Second, there really isn't a dot in the second equation. Google "continuous time Kalman filter" to see. $\endgroup$ – Stephen Montgomery-Smith Oct 10 at 6:40
  • $\begingroup$ I'm asking for clarification because the mathematical literature on filtering considers a continuous-time observation model which is given by an SDE as in my previous comment. The notation you are using is seen in certain sources, but it is ambiguous and can be misleading for mathematical analysis. Another question: are you interested in online or offline estimation? $\endgroup$ – S.Surace Oct 10 at 9:29

The offline maximum-likelihood (ML) parameter estimation for continuous-continuous linear partially observed stochastic systems can be performed with the expectation-maximization (EM) algorithm. The general EM algorithm is due to [1]. Ref [2] deals with the computations that have to be performed in order to use the EM algorithm for such a stochastic system (actually Ref [2] is more general as it deals with some classes of nonlinear problems as well). Note that the noise covariances cannot be estimated with the ML approach, but are estimated separately from the quadratic variations. This is discussed in [2], Section IV.B.

[1] Dempster, A. P., Laird, N. M., & Rubin, D. B. (1977). Maximum Likelihood from Incomplete Data via the EM Algorithm. Journal of the Royal Statistical Society: Series B (Methodological), 39(1), 1–22. https://doi.org/10.1111/j.2517-6161.1977.tb01600.x

[2] Charalambous, C. D., & Logothetis, A. (2000). Maximum likelihood parameter estimation from incomplete data via the sensitivity equations: the continuous-time case. IEEE Transactions on Automatic Control, 45(5), 928–934. https://doi.org/10.1109/9.855553

Please also note that when only $y$ is observed, the model is not identifiable as multiple parameter combinations lead to the same $p(y)$. For example, a scaling in $x$ can be absorbed by an inverse scaling of $C$.

  • $\begingroup$ So far I have briefly looked at [1]. I need to wait for my library to send me [2], as I don't have electronic access. Their method is completely different to my proposed method. $\endgroup$ – Stephen Montgomery-Smith Oct 11 at 16:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.