Consider an object moving in 2D space with constant speed $v_x$,$v_y$. If its acceleration is modelled as zero-mean Gaussian $ a_x \sim N(0,\sigma_{a_x}^2)$ and $ a_y \sim N(0,\sigma_{a_y}^2)$ within each time step $\Delta t$.

In my understanding it means that if we were to take samples of either $a_x$ or $a_y$ several times within the same time step $\Delta t$, the mean of the sampled values will be approximately zero, and the variance will be approximately $\sigma_{a_x}^2$ or $\sigma_{a_y}^2$.

Is my interpretation right?

If the interpretation is right then how should the equation for updating the position be written? $$ x_{new} = x_{old} + v_x * \Delta t \\ y_{new} = y_{old} + v_y * \Delta t $$


$$ x_{new} = x_{old} + v_x * \Delta t + {1 \over 2} a_x*\Delta t^2 \\ y_{new} = y_{old} + v_y * \Delta t + {1 \over 2} a_y*\Delta t^2 $$

As I understand it, the mean value of the accelerations is zero, so the accelerations should have no overall impact on the position. However the variances are non-zero so the variances should affect the variances of the position, let's call them $\sigma_x^2$ and $\sigma_y^2$.

$$ \sigma_{x_{new}}^2 = \sigma_{x_{old}}^2 + {1 \over 4}\sigma_{a_x}^2*\Delta t^4 \\ \sigma_{y_{new}}^2 = \sigma_{y_{old}}^2 + {1 \over 4}\sigma_{a_y}^2*\Delta t^4 $$

  • $\begingroup$ Generally, what you say is just the statement that $a$ follows a Gaussian distribution when sampled. $\endgroup$ – Marcus Müller Sep 10 '17 at 7:23
  • $\begingroup$ You need to decide where you model starts: does it start in continuous-time? Or does it start in discrete-time? If it starts in continuous-time, you will then have to decide how you are converting all the system parameters and measurements from continuous-time to discrete-time. IMHO, the acceleration feeds into the velocity as an additive noise term; you only need to model the impact of velocity on your displacement... and there will be similar equations for converting from $v_{old}$ to $v_{new}$ as you have for converting from $x_{old}$ to $x_{new}$. $\endgroup$ – Peter K. Sep 14 '17 at 14:43

First, a disclaimer: I am not a Kalman-expert guy, but since this question remains unanswered, I will try to provide my intuition here.

Abstract ideas follow: Kalman filter deals with two types of data: certain (measured data and derived calculations from that data) and uncertain (properties of underlying processes, which we cannot observe, that generate that data). To model uncertainty, probability is used: we do not know how a process generates its outcomes, but we know something, the probability density function of its outcomes. In the figure C is the underlying process and $X_i$ follows a $\mathcal{N}(\mu_{a_x},\sigma_{a_x})$.

C is the underlying process. $X_i$ follows a $\mathcal{N}(\mu_{a_x},\sigma_{a_x})$

Following your reasoning, if we were to take N samples of $a_x$ within the time step, we could construct an estimator of $\mu_{a_x}$ and $\sigma_{a_x}$ : named $\hat{\mu_{a_x}}$ and $\hat{\sigma_{a_x}}$. Note that $\hat{\mu_{a_x}}$ has its own uncertainty provided by the estimation procedure: $\sigma_{a_x}/N$, let's call it $\theta$. As $N \rightarrow \infty$, they converge to the underlying process statistics (i.e. under Gaussian assumption, it converges to $\mathcal{N}(\mu_{a_x},\sigma_{a_x})$), in particular, $\hat{\mu_{a_x}}$ converges to $\mu_{a_x}$ with total certainty because $\theta \rightarrow 0$. Now, the mistake is to assume that $\hat{\mu_{a_x}}$ is the value of $a_x$ at the update instant, indeed, this wrong in two ways (at least):

  1. Formally, the probability of $a_x$ (following $\mathcal{N}(\hat{\mu_{a_x}},\hat{\sigma_{a_x}})$) being $\hat{\mu_{a_x}}$ is zero (every single value of a continuous pdf has zero probability).

  2. If $a_x$ samples are iid (you do not say anything about the whiteness, but it is a common assumption), there is no information about the current sample in any other sample (given the underlying process statistics, which you have because you computed an estimator).

Also, if it were true (it is not), then, $\sigma_{a_x}$ would be zero because you have total certainty about the value of $a_x$ at that instant (it would be as certain as velocity in your case and would deserve the same treatment).

In short: $a_x$ can not be inferred from $\hat{\mu_{a_x}}$, if it could, then $\hat{\sigma_{a_x}}$ should be zero, which is not.

Kalman filter keeps track of these two types of information to perform a weighted update of the state variables and to provide information about the remaining amount of uncertainty in those values.

| improve this answer | |
  • $\begingroup$ I understand almost everything you said here including the fact that $a_x$ cannot be inferred from $\hat \mu_{a_x} $. My confusion stems from having seen two formulations of Kalman filter. Both assumed white, zero-mean Gaussian acceleration noise, but one added the product of noise and time to the state co-variance matrix $P$ only while the other added the product of noise and time to to the mean state vector $x$ as well as added the variance of the noise (no multiplication by time) to the co-variance matrix $P$. $\endgroup$ – farhanhubble Sep 16 '17 at 8:58
  • $\begingroup$ Based on more detailed reading of the lecture slides, I've asked the question in my comment above on Cross Validated. $\endgroup$ – farhanhubble Sep 16 '17 at 10:03

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.