3
$\begingroup$

I'm new to Kalman filters and my extensive web search about them has helped me understand the majority of it (or so I think). However I still need some light shed on my problem formulation.

I have a set of points $(x,y)$ provided by some other part of my program that correspond to the coordinates of a target whose position is being estimated. Let's assume the coordinates have have error with known variances $\sigma_x$ and $\sigma_y$, zero mean and are normally distributed. I have no other information (for example, regarding velocity or acceleration). The path of the target is completely random as it modeled by a walking person and it can remain long periods of time just standing still. The samples $(x,y)$ are obtained with a well defined and constant time interval $\Delta t$.

  • Is a Kalman filter the best approach to smooth the path in my case? It seems to me that, although the person can walk freely and apparently randomly, their movements still have a high correlation in a small scale, so a Kalman filter could be a choice.

  • There is an example in Wikipedia on Kalman filtering with a truck whose velocity is not known and where its unknown acceleration is modeled by the noise vector $\boldsymbol{w_k}$. Is this the best approach to solve my problem?

  • Also, how would the system be formulated in the case of two dimensions $(x,y)$?

  • Is there any harm in feeding the same coordinates $(x,y)$ to the filter for long periods of time? (Meaning the person is standing still)

  • How does the Kalman filter differ from, for example, the Savitzy-Golay approach to data smoothing?

Thank you in advance!

$\endgroup$

2 Answers 2

2
$\begingroup$

Just a slight nit $\sigma^2$ is a variance $\sigma$ is a standard deviation.

Let me answer your last question first. In a KF, one has measurements and states, and they are not usually the same. In a Savasky Golay filter, one is estimating the derivatives of the measurement, not the state. In your case the measurements are trivially related to the states.

I'm guessing but I think you want something like $$ \left| \begin{array}{c} x \\ y \\v_x \\ v_y \end{array}\right| = \left| \begin{array}{cc} 1 & 0 & \Delta_t & 0 \\ 0 & 1 & 0 &\Delta_t \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{array} \right| + \left| \begin{array}{c} 0 \\ 0 \\ w_1 \\ w_2 \end{array} \right| $$ for the state model $\Delta_t$ is your time step and $w_1, w_2$ iid Normal noise.

If this model is your problem, yes the KF is what is wanted.

What you will need to figure out, is what is process noise and what is measurement noise.

A KF needs measurement noise to work, process noise is optional, but you would need a different state model if you want to just use measurement noise.

$\endgroup$
0
$\begingroup$

I'm new to Kalman filters

I'm new too.

I have no other information (for example, regarding velocity or acceleration).

This is a common situation.

The path of the target is completely random as it modeled by a walking person and it can remain long periods of time just standing still.

It seems to me that, although the person can walk freely and apparently randomly, their movements still have a high correlation in a small scale,

In general all objects in the real world moved randomly. But usually dynamic model approximated by some deterministic (quasi-deterministic) model. For example dynamic model of plains approximated by polynomial of degree 1 to describe uniform motion (when this is necessary used polynomial of degree 2 to describe uniformly accelerated motion). Obviously that such models doesn't allow perfectly describe the dynamic model and can be used only for pieces of path without maneuver. To detect maneuver (by speed or heading) used other techniques for example IMM (Interacting Multiple Model). This allow switch current model to more appropriate another. But! Every time you use well defined (not random) dynamic model.

Is a Kalman filter the best approach to smooth the path in my case?

I don't know, I haven't had such experience.

Is this the best approach to solve my problem?

As far you use discrete time and measurement without non-linear transformation this should solve you problem in my opinion.

Also, how would the system be formulated in the case of two dimensions (x,y)?

It would be called the Multivariate Kalman Filter (or may be Two-variate Kalman Filter).

Is there any harm in feeding the same coordinates (x,y) to the filter for long periods of time? (Meaning the person is standing still)

It is not a problem. It just mean that first derivation of $x$ and $y$ is zero.

How does the Kalman filter differ from, for example, the Savitzy-Golay approach to data smoothing?

I don't know, I haven't had such experience.

$\endgroup$

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.