I want to be use kalman filter for the state estimation but I don't know about process and measurement noise. How can I estimate process and measurement noise and use this information for kalman filter?
-
1$\begingroup$ Glib suggestion: suck it and see! By that I mean choose some reasonable values for the process and measurement noise variance and "tune them" (change them) to get what you consider a good state estimate. $\endgroup$– Peter K. ♦Mar 10 at 17:34
1 Answer
Actually adjusting the parameters of the Kalman filter to get things correct is complicated [1]. I'm not going to go into that.
When you do get them correct, however, the difference between the filter's current prediction and the current measurement will be white and will have a covariance that matches the filter's paremeters.
Specifically, the Kalman filter's innovation is defined as
$$y_k - H_k \hat x_k^- \tag 1$$
where $y_k$ is the measured value, $\hat x_k^-$ is the filter's a-priori (before correction) predicted state, and $H_k$ is the filter's output matrix.
If the filter is correctly formulated, then the innovations will be (quoting from [1]) a zero-mean white stochastic process with covariance
$$H_k P_k^- H_k^T + R_k \tag 2$$
For a simple system, you can try adjusting the parameters until (1) and (2) are met or nearly so, or until you're satisfied with your state estimates for other reasons.
For a complicated system, there are techniques for multivariate system identification out there (referenced in [1]). You might search on "identify variances for Kalman filters", or see this Mathematics stackexchange post.
[1] "Optimal State Estimation", Dan Simon, Wiley, 2006, chapter 10