29

Is this a valid way of introducing speed estimates into the process? If you choose your state appropriately, then the speed estimates come "for free". See the derivation of the signal model below (for the simple 1-D case we've been looking at). Signal Model, Take 2 So, we really need to agree on a signal model before we can move this forward. From your ...


18

For some context, let's go back to the Kalman Filter equations: $\mathbf{x}(k+1) = \mathbf{F}(k) \mathbf{x}(k) + \mathbf{G}(k) \mathbf{u}(k) + \mathbf{w}(k) \\ \mathbf{z}(k) = \mathbf{H}(k) \mathbf{x}(k) + \mathbf{v}(k)$. In short, for a plain vanilla KF: $\mathbf{F}(k)$ must be fully defined. This comes straight from the differential equations of the ...


17

Roughly speaking, they are the amount of noise in your system. Process noise is the noise in the process - if the system is a moving car on the interstate on cruise control, there will be slight variations in the speed due to bumps, hills, winds, and so on. Q tells how much variance and covariance there is. The diagonal of Q contains the variance of each ...


16

The answer is simple: if your system is linear, then a (regular) Kalman filter will do just fine. A very brief summary of the differences between the two: The extended Kalman filter (EKF) is an extension that can be applied to nonlinear systems. The requirement of linear equations for the measurement and state-transition models is relaxed; instead, the ...


15

Many years ago I wrote this tutorial on the Kalman filter. It derives the filter using both the conventional matrix approach as well as showing it's statistical assumptions as an 'optimal' least squares filter.


12

The Kalman gain tells you how much I want to change my estimate by given a measurement. ${\bf S}_k$ is the estimated covariance matrix of the measurements ${\bf z}_k$. This tells us the "variability" in our measurements. If it's large, it means that the measurements "change" a lot. So your confidence in these measurements is low. On the other hand, if ${\...


12

One approach would be to cast the problem as least-squares smoothing. The idea is to locally fit a polynomial with a moving window, then evaluate the derivative of the polynomial. This answer about Savitzky-Golay filtering has some theoretical background on how it works for nonuniform sampling. In this case, code is probably more illuminating as to the ...


10

You would not make a constant-acceleration assumption in this case. You would typically do that if you had no means of measuring the system's acceleration, but you say that it is observable for your case. The most obvious way to model this system would be using the state vector $$ \mathbf{x_k} = \left [ \begin{array}{c}x_k \\ \dot{x}_k \\ \ddot{x}_k \end{...


9

I'm the author of the textbook linked to above. This is a new account and thus I am not allowed to reply to that answer. Anyway, the Gaussian chapter covers the definition of a covariance matrix. In general though your Q matrix will be full, not a diagonal, because there is correlation between the state variables. For example, suppose you are tracking ...


7

If you can do it that way, it makes it straight forward to implement the Kalman filter. As an example - consider a constant velocity model in Cartesian coordinates, but the only thing you are measuring is the position (not velocity) and you are measuring the position in a Cartesian coordinate system. Then your $\mathbf{H}$ matrix will only pick off the ...


7

I think the confusion comes from the authors not parameterizing things clearly. Furthermore, by switching to geometric algebra rather than quaternions, some additional confusion can be cleared up. The main difference between normal vector algebra and geometric algebra is that we can multiply vectors. So of $e_x$, $e_y$, and $e_z$ are our (orthonormal) ...


7

The Kalman filter is the optimal filter under various assumptions. You need to check whether those assumptions hold in your case: a) the model perfectly matches the real system, b) the entering noise is white and Gaussian and c) the covariances of the noise are exactly known. Without further detail I can't say whether your statement My experiments ...


6

My answer is that if it's linear system you should use KF; if it's nonlinear system with weak nonlinearity you should use EKF, if the nonlinear system with high nonlinearity you may consider the well-known UKF. I draw a graph for this, hopefully, it's useful.


6

First and foremost I really recommend this great textbook project about Kalman filtering. You can find some words about setting the process noise here. There is also a pdf version of it. In every step the filter estimates a multivariate normal distribution with parameters $\mu = x$ (state vector) and $\sigma = P$ (covariance matrix). By looking the Kalman ...


6

Well, in continuous time, a sinusoid with a bias can be seen as the output of the linear system \begin{align*} \begin{bmatrix}\dot x_1\\\dot x_2\\\dot x_3\end{bmatrix} &= \begin{bmatrix}0 & 1 & 0\\-\omega^2&0&0\\0 &0 &0\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}\\ y &= \begin{bmatrix}1&0&1\end{bmatrix} \...


5

A quick literature survey tells me that the EKF is commonly used in GPS, location/navigation systems and also in unmanned aerial vehicles. [See for instance ``Application of Extended Kalman Filter Towards UAV Identification,'' Abhijit G. Kallapur, Shaaban S. Ali and Sreenatha G. Anavatti, Springer (2007)]. If you have reason to believe that a linear ...


5

Kalman filters are useful when your input signal consists of noisy observations of some linear dynamical system's state. Given a series of observations of the system state, the Kalman filter aims to recursively provide better and better estimates of the underlying system's state. In order to apply it successfully, you need to have a model for the dynamics of ...


5

Your derivations are correct. $\bar P = P(t|t-1)$ and $K(t) = A \bar K$ Is this your confusion: Why didn't they have the term $t|t-1$ in the Kalman Gain and Covariance Matrix Expressions? How can this be "stationary" when your derivation shows that it is time varying? Bad choice of notation on the book's part Let's look at the expression: $ \bar P =...


5

It depends on what you mean by a "randomly moving object". If you are trying to track something that truly moves around in a totally uncorrelated manner from sample to sample (like, say, a laser pointer that flickers on and off and randomly changes position in your camera images) then a linear tracker will not give you insight into the object's state. ...


5

I'm unsure if this is the answer you are looking for, but why not save and share $|H_i|^2$ in addition to the least squares estimates? If you have $w_1^*=\frac 1 {|H_1|^2} H_1^t d_1$, $w_2^*=\frac 1 {|H_2|^2} H_2^t d_2$, and also know $|H_1|^2$ and $|H_2|^2$, you get the total least squares estimate with: $w^*=\frac 1 {|H_1|^2+|H_2|^2} (H_1^t d_1 + H_2^t ...


5

Well, let's look at the two issues: 1) linearity and 2) Gaussianity. Linearity If you're imaging moving 3D objects (people) with a single camera, then you're working with a 2D projection of those 3D objects. That dimensionality reduction can cause non-linearities to appear. Take a 2D to 1D example: an object moving in a circle in 2D. The object is ...


5

In addition to Peter's answer, if you have a nonlinear system that is well-behaved in a sense of being only mildly nonlinear or at least exhibiting no discontinuities, special variants of the Kalman filter can still be applied. Extended Kalman Filter This filter linearizes the system at the current state of the system using a first order Taylor Series ...


5

as the first answer (with the most votes) says, the kalman filter is better in Any case when signal is changing. Notice the problem statement These use the algorithm to estimate some constant voltage. How could using a Kalman filter for this be better than just keeping a running average? Are these examples just oversimplified use cases of the filter? using a ...


5

So this is just the start of an answer. I'll have to keep updating it as I go. The first attempt is to say that the quantities you are interested in are the location of the center of the four LEDs, and the roll, pitch, and yaw (rotation angles) of the LEDs. That means your Kalman FIlter state will be: $$ \mathbf{x}_k = \left[x_k\ y_k\ \alpha_k\ \beta_k\ \...


5

Is this so far a reasonable scenario / approach to the Kalman filter? Answer 1: Yes, your model looks reasonable. You're treating the acceleration as constant, however. If it will change in your experiment, you should include that in your system error matrix $Q$. How do I choose the initial uncertainty covariance matrix $P_0 \in \mathbb{R}^{4 \times 4}$ ...


5

First of all let us assure that a Kalman filter (estimator) does not only remove Gaussian noise, but can remove (with certain success) any other type of noise as long as it's designed accordingly. However, what lies at the heart of the standard Kalman filter is the linear estimator; and that linear estimator will be the optimum minimum mean square error ...


5

Kalman filters really aren't that special, and you seem to be missing the point of a Kalman filter. A Kalman filter is really just a generally time-varying, generally IIR, generally multi-input multi-output filter that's been designed using a specific procedure. Can we deem that traditional filters such as FIR and low-pass filter are designed to be used ...


4

A lot has been said already, allow me to add some comments: Kalman filters are an application of Bayesian probability theory, which means that "a priori information" or "prior uncertainty" can (and must) be specified. As I understand, this is not the case with traditional least-squares fitting. While observations (data) can be weighted with probabilities in ...


4

If I understood it correctly, you have something that is moving and you can observe the speed and this speed is noisy. From your measurements, you observe 2 kinds of variations.\ Variations caused by the noise Variations because the object is truly changing the speed (e.g. turning) The reason your Kalman gain goes to zero is that you have implicitly ...


Only top voted, non community-wiki answers of a minimum length are eligible