Talk:Kalman filter/Archive 1

message: In the "Relationship to recursive Bayesian estimation" section, the three distributions below "The remaining probability density functions are" show the multivariate normal distribution with three arguments. I am confused as to what the third argument (aside from the mean vector and covariance matrix) is for? I would very much appreciate it if someone could clarify this for me. Thank you.
It seems that the first argument is the same as the random variable not being conditioned on . Clearly this makes no sense. I will remove it from the main article.
: Thanks a lot for detecting the errors in the formulas. Great work! :-) A little tip: Please remember to sign your entries on the discussion page. --Fredrik Orderud 22:19, 20 April 2006 (UTC)
thread_title: Question regarding notation

message: The article says the following when talking about measurements in the example:
----
At each time step, a noisy measurement of the true position of the truck is made.  Let us suppose the noise is also normally distributed, with mean 0 and standard deviation σz.
:\textbf{z}_{k} = \textbf{H x}_{k} + \textbf{v}_{k}
where
:\textbf{H} = \begin{bmatrix} 1 & 0 \end{bmatrix} 
and
:\textbf{R} = \textrm{E}[\textbf{v}_k \textbf{v}_k^{T}] = \begin{bmatrix} \sigma_z^2 \end{bmatrix} 
----
Shouldn't it say something like:
----
At each time step, a noisy measurement of the position and speed of the truck is made.  Let us suppose the noise is also normally distributed, with mean 0 and covariance matrix R.
:\textbf{z}_{k} = \textbf{H x}_{k} + \textbf{v}_{k}
where
:\textbf{H} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} 
and
:\textbf{R} = \textrm{E}[\textbf{v}_k \textbf{v}_k^{T}] = \begin{bmatrix} \sigma^2_z & 0 \\ 0 & \sigma^2_\dot{z} \end{bmatrix} 
----
This is because the measurement, as explained in the article, is done over the x vector, not just it's first component. Also, maybe there could be some discussion about the values I assigned to the covariance matrix. Anyway, anybody agrees/disagrees?
--Armando Serrano 23:22, 4 March 2006 (UTC)
thread_title: Slight error in example?

message: I thought this was the formula for the covariance matrix:
\textbf{Q}_{k} = E[\textbf{w}_{k} \textbf{w}_{k}^{T}]
But the article has
\textbf{Q}_{k} \delta(k-j) = E[\textbf{w}_{k} \textbf{w}_{j}^{T}]
What does it mean?  — ciphergoth 10:17, 2005 Apr 18 (UTC)
:It means that Q_k \delta(k-j) has to be diagonal for if k \ne j then \delta(k-j) = 0. Cburnett 14:03, Apr 18, 2005 (UTC)
::Not quite - it's trying to say that wk and wj are uncorrelated where k \ne j.  I think it'd be much more readable to say that explicitly! — ciphergoth 14:23, 2005 Apr 18 (UTC)
:::I clarified my previous statement, but yes, diagonal covariance matrix <==> uncorrelated. Cburnett 14:32, Apr 18, 2005 (UTC)
::::OK, but it's not saying that each element in w is uncorrelated - it's saying that successive samples are uncorrelated.  Have edited article to make that explicit. — ciphergoth 15:03, 2005 Apr 18 (UTC)
:::::Bah, this is why I put the cleanup notice on the article.  Even I, who's at least familiar with Kalman filters, gets fouled up on the notation.... Cburnett 18:17, Apr 18, 2005 (UTC)
::::::\textbf{Q}_{k} = E[\textbf{w}_{k} \textbf{w}_{k}^{T}], E[\textbf{w}_{k} \textbf{w}_{k'}^{T}] = 0, k \ne k' is definately better. \textbf{Q}_{k} \delta(k-j) = E[\textbf{w}_{k} \textbf{w}_{j}^{T}] This was one of the original equations which i left unchanged, although i've never particularly cared for it much. Chrislloyd 18:30, 18 Apr 2005 (UTC)
replies: text: I have to admit that I was the one who defined the noise covariance using the Dirac delta function. My motivation for doing so was to express the properties of this covariance elegantly using a singe equation (opposed to the two currently used), thinking the readers of this article would have a solid background in linear algebra and digital signal processing. I still think that the single equation approach is more elegant, but acknowledges that the dual equation approach proposed may be more easily understood for new readers. --Fredrik Orderud 23:28, 18 Apr 2005 (UTC)
replies: text:  The way i've seen this defined most often is with the kronecker delta function \textbf{Q}_{k} \delta_{kj} = E[\textbf{w}_{k} \textbf{w}_{j}^{T}] where  \delta_{kj}  is 1 if k = j else is 0. To be honest i think this is unnecessary obfuscation. Chrislloyd 05:30, 19 Apr 2005 (UTC)
thread_title:  And what does this formula mean? 

message: Chi is used several times as a intermediate step in the calculation of the covariance for the posterior state-estimate. I think this is unfortunate, since chi also is used to denote sigma-points in SPKF. Very few of my Kalman resources actually use this intermediate step, so my proposal is therefore to remove this intermediate step.
:Sure - I took that from the example.  The only advantage in using Chi is that it avoids repeating (I - KkHk) but I'll be led by you. — ciphergoth 19:42, 2005 Apr 19 (UTC)
::Few texts associate a label with the Chi term, and as such is probably non-standard. We could remove the term altoghter, or use a different letter to represent it. Chrislloyd 23:39, 19 Apr 2005 (UTC)
thread_title:  Usage of Chi in intermediate steps 

message: Could you be a bit clearer about the problems with my text for the derivation?  There are stylistic, idiomatic, and clarity problems with the current text, but given your rather harsh words in the change logs, I don't want to try and fix them without learning what was wrong with my last go? I know I slightly misstated what was being minimized, but what problems were there apart from that that called for a total revert? — ciphergoth 20:16, 2005 Apr 19 (UTC)
: My consern with your rewrite was that you turned the text into an introduction to stochastic estimation (in general) by introducing sentences like  we must define precisely what we mean by "best possible estimate". The Kalman article is not the place to describe what MMSE is. However, I agree with you in that the section definetely needs to be rephrased.
: What about stating that the method is based on an MMSE solution to the (quadratic)  E \{ \textbf{e}_{k|k} \textbf{e}_{k|k}^T \}  error metric? (or something simmilar to that)
: Please don't take this personally. My intension was only to make the article appear more in conformancea with the Kalman introductions found in the litterature. --Fredrik Orderud 09:22, 20 Apr 2005 (UTC)
thread_title:  Text for derivation 

message: I took these variables Sk and \tilde{\textbf{y}}_{k} from the example and moved them into the main presentation of how the filter works.  Are they in standard use?  If not, they should go.  If so, however, we can use Sk to simplify some of the formulae in "Derivation" considerably, especially the simplification of the posterior error covariance formula. — ciphergoth 09:14, 2005 Apr 27 (UTC)
:These variables are certainly in standard use in the target tracking community. Chrislloyd 17:10, 27 Apr 2005 (UTC)
replies: text: You could even add another variable  \hat{\textbf{z}}_k = \textbf{H}_k \hat{\textbf{x}}_k  which is the predicted measurement. Chrislloyd 17:23, 27 Apr 2005 (UTC)
thread_title:  S and ~y 

message: From what User:Orderud says, the shorter and faster formula for posterior error covariance is nearly always used, which suggests that it usually does not suffer from serious numeric instability problems except under very special circumstances.   I will therefore remove the discussion of alternatives from the main "The Kalman Filter" section, and put it all in the "Derivation" section, on the grounds that there's already a partial retread of this ground in that section, and anyone planning on doing the sort of weird stuff that would call for using the other formula should understand that section anyway.  It can of course be reverted if it's a problem. — ciphergoth 08:43, 2005 Apr 28 (UTC)
: Sounds like a reasonable suggestion, since the alternative/extended form is now covered in the derivation. --Fredrik Orderud 20:05, 28 Apr 2005 (UTC)
thread_title:  Posterior error covariance and numeric stability 

message: I have seen different versions of the EKF covariance matrix P update. I'm not too much into this thing but they don't look equal to me: we have : \textbf{P}_{k|k} = (I - \textbf{K}_{k} \textbf{H}_{k}) \textbf{P}_{k|k-1} (I - \textbf{K}_{k} \textbf{H}_{k})^{T} + \textbf{K}_{k} \textbf{R}_{k}\textbf{K}_{k}^{T}
as stated in the article and also
: \textbf{P}_{k|k} = (I - \textbf{K}_{k} \textbf{H}_{k}) \textbf{P}_{k|k-1}
from e.g. , which seem to be missing some part.
: They are in fact equal when the optimal Kalman gain is used, which is almost always the case. Consult the "Derivations"-section for proof of this. I've now changed the EKF covariance update to the simple version, which makes it consistent with your reference :). --Fredrik Orderud 13:19, 21 May 2005 (UTC)
thread_title: EKF

message: Does anyone have a good reference on the information filter formulation of the Kalman filter? I'm especially interested in proofs of the validity of summing information matrices and vectors, as can be done here.
I've examined the Kalman books of: Gelb, Bar-Shalom, and Brown & Hwang, but none properly treat summing of information in information space.
Thanks i advance. --Fredrik Orderud 22:24, 12 January 2006 (UTC)
thread_title:  Information filter references 

message: The section "The Kalman Filter" says a recursive estimator depends only on the current measurement and the previous output.  Is that standard use of the terminology?  In general (e.g. for conventional linear filters) it's not really right; it's usual to describe an IIR filter as 
y_n = a_1y_{n-1}+a_2y_{n-2}+\cdots+a_ky_{n-k} + b_0x_n + b_1x_{n-1}\cdots
for some k, i.e. use an arbitrary number of previous outputs.  Maybe in the Kalman filter that's implied in the internal state but in general the sentence should be either corrected or an explanation added.  I don't want to do it myself because I'm not that familiar with this stuff and would probably make an error and the discussion on the point is extensive.  71.141.251.153 11:39, 16 January 2006 (UTC)
thread_title:  recursive filter