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 MontgomerySmith Oct 9 at 21:28

$\begingroup$ Since you said that measurement noise is $\delta$correlated, your observations seem to be continuoustime. 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 discretetime 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 MontgomerySmith Oct 10 at 6:40

$\begingroup$ I'm asking for clarification because the mathematical literature on filtering considers a continuoustime 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 maximumlikelihood (ML) parameter estimation for continuouscontinuous linear partially observed stochastic systems can be performed with the expectationmaximization (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.25176161.1977.tb01600.x
[2] Charalambous, C. D., & Logothetis, A. (2000). Maximum likelihood parameter estimation from incomplete data via the sensitivity equations: the continuoustime 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 MontgomerySmith Oct 11 at 16:27