1
$\begingroup$

Suppose I have some process which is governed by:

$$ \vec{x_{k+1}} = A\vec{x_k} + B\vec{u_k} + w_k$$

where $u_k$ is the input, and $w_k$ is process disturbance.

This process is continuous time in nature, but I am modelling it in discrete time, and don't have access to $A$.

Suppose I have some estimate of the model, $\hat{A}$, which I want to use in order to estimate the current state, $\vec{x_k}$.

The problem is that I have some non-negligible sampling error. I have a nominal sampling interval of $\bar{\Delta t}$, but for each individual interval between $x_k$ and $x_{k-1}$, I have an interval of $\Delta t_k$.

Question 1: Supposing that $\Delta t_k$ is distributed normally, does this just come out naturally as disturbance? i.e. could I account for this with my Kalman gain

Question 2: Suppose that $\Delta t_k$ is not distributed normally, and instead has an asymmetric distribution, possibly even pareto. Is there any way to account for this?

Thank you.

$\endgroup$
6
  • $\begingroup$ I do like your user logo :) $\endgroup$ Commented Jan 10, 2022 at 9:19
  • $\begingroup$ thanks, marcus :) $\endgroup$
    – fpf3
    Commented Jan 10, 2022 at 18:36
  • $\begingroup$ I just realized something -- is the sampling error unknown, or is your sampling interval randomly varying but known at the point of sampling? If the latter, then you could do much better than by modeling it as an unknown variation. $\endgroup$
    – TimWescott
    Commented Jan 10, 2022 at 19:01
  • $\begingroup$ I'm curious about both cases, but the real-life problem that led me to post this is one where I can measure the current Δt_k, yes. $\endgroup$
    – fpf3
    Commented Jan 10, 2022 at 19:06
  • 1
    $\begingroup$ I think you'd find that you'd just need to change the state evolution matrix ($\mathbf A$) and possibly the input matrix, but not the output matrix. And, depending on the eigenvalues of $\mathbf A_c$, you may be able to use $\mathbf A \simeq I + \Delta t \mathbf A$ instead of the matrix exponential. $\endgroup$
    – TimWescott
    Commented Jan 10, 2022 at 20:41

1 Answer 1

2
$\begingroup$

I'm just making this up on the fly. There's got to be at least one paper out there on this, or sections in Kalman filtering books.

Supposing that Δtk is distributed normally, does this just come out naturally as disturbance? i.e. could I account for this with my Kalman gain

Nope.

Take the continuous-time model of the system: $$\begin{aligned} \dot x(t) &= \mathbf A_c x(t) + \mathbf B_c u(t) \\ y(t) &= \mathbf C x(t) \end{aligned} \tag 1$$

For a sample at $t = T_s k + \Delta t$ and for a $\dot x(t)$ that doesn't change significantly over a span of $\Delta t$, $y_k$ is close to $y_k \simeq \mathbf C \left(x(T_s k) + \Delta t\ \dot x(T_s k)\right)$ or $$y_k \simeq \mathbf C \left(x(T_s k) + \Delta t\ \mathbf A_c\ x(T_s k)\right) \tag 2$$.

That condition on $\dot x(t)$ can be satisfied if the eigenvalues of $\mathbf A_c$ are significantly smaller than $\frac{1}{\Delta t}$.

So the effect of $\Delta t$ is multiplicative.

A good start on this, if your $\mathbf A_c$ meets the eigenvalue criterion above and if the pdf of $T_s$ is Gaussian with deviation $\sigma_{T_s}$, is to make an unscented Kalman, where everything is "normal" Kalman filtering except that at each step you compute $$\mathbf R_k = \mathbf R_m + \sigma_{T_s}^2 \mathbf C \mathbf A_c x_{k-1} x_{k-1}^T \mathbf A_c^T \mathbf C^T, \tag 3$$ where $\mathbf R_m$ is the "actual" measurement noise and $\sigma_{T_s}^2 \mathbf C \mathbf A_c x_{k-1} x_{k-1}^T \mathbf A_c^T \mathbf C^T$ is an estimate of the measurement noise added by the variation in the sampling time.

Note that you could, at the cost of longer settling times, just take $\mathbf R$ as constant, and equal to some worst-case version of (3) assuming an as-high-as-possible $\dot x(t)$. This would get you back to a plain-old Kalman though.

Suppose that Δtk is not distributed normally, and instead has an asymmetric distribution, possibly even pareto. Is there any way to account for this?

Yes, but. To the extent that the probability of $\dot x(t)$ changes much over the worst-case $\Delta t$, the approxmation in (2) holds -- it's just that the resulting measurement error has a distribution that's close to the distribution of $\Delta t$. However, you now have noise that's not just multiplicative, but which is non-Gaussian.

If your filtering is still close enough using a Gaussian assumption for your non-Gaussian noise, then (3) should still work. If not, then you'd have to go to something fancier, like Baysian filters or particle filters.

$\endgroup$
3
  • $\begingroup$ Yes, I've realized that the discrete-time version COMES from e^(A*dt), so varying dt is going to have a multiplicative effect, not additive. $\endgroup$
    – fpf3
    Commented Jan 9, 2022 at 3:18
  • $\begingroup$ "I'm just making this up on the fly. There's got to be at least one paper out there on this, or sections in Kalman filtering books."... Surprisingly, I've found very little on the matter. Maybe I'm using the wrong keywords. Kalman filtering was invented for engineering applications but has been applied to tons of other things like quantitative finance, so I know someone must have looked into this before. $\endgroup$
    – fpf3
    Commented Jan 9, 2022 at 3:24
  • $\begingroup$ I just can't imagine the Kalman filter being around for so long and no one has developed a theory for uneven sampling. $\endgroup$
    – TimWescott
    Commented Jan 10, 2022 at 19:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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