Today is...
Monday, March 19, 2018
Welcome to, the global online
community of automation professionals.
Featured Video...
Featured Video
EtherCAT with CTC’s master lets your multivendor network play well together...
Our Advertisers
Help keep our servers running...
Patronize our advertisers!
Visit our Post Archive
Kalman Filtering
Need to implement (or at least it seems to be so) the Kalman algorithm in order to get a measure estimation. This is because the measure coming from sensors are sometimes affected by drift or offset errors.


I am new here and I am not used to the Kalman theory and algorithm implementation. I need some help with the Kalman algorithm implementation. I need to control a process where the measure can be affected by drift. I believe that Kalman could be the solution for this. But I do not know how to do.

Let's suppose I need to control the best known example of the mass and the spring from physics books where the differential equation driving the process is the following

m*a(t) + c*v(t) + k*s(t) = u(t)
m = mass
a = acceleration
c = friction coeff.
v = speed
K = spring constant
s = position
u(t) is the input

Now let's suppose that any measure (s or v or a) is affected, after some time, by a drift or offset (I am not sure about my english). Then I need to remove the drift to get the proper measure. Looking in the internet it seemed to me that the most effective system is the Kalman algorithm in order to make proper estimation of this error affecting measure.

Is it so? And, even if I can transform the differential equation into the Laplace domain, and then in the discrete domain and so implement in the sw, I do not know how to integrate the "Kalman" within this implementation.

Best regards

With "flawed" sensing, no amount of filtering will solve the problem you are dealing with.

filtering only works when you have random or pseudo-random disturbances that are "additive" to the sensor signal.

Even if I know that the mean value "must" be 0?

Then, after this, with another very roughly way I could apply a high pass filter? The result is not fantastic, but is just a little more than nothing in my opinion.


If you don't care about the drift presumably near static, and it has no merits to your measurement, are you only interested in the high frequency components?

>If you don't care about the drift presumably near static,
>and it has no merits to your measurement, are you only
>interested in the high frequency components?

The drift is causing the regulator to try to correct an error that is only in the measurement not in the reality.

A ship moving in the water needs to be stabilized, let's say 0 degree roll. If system measures a constant (example 1 roll) due not to the position, but to the error implicit in the sensor, system itself tries to correct but that is wrong.

So at the end we can say that frequencies > 0 are interesting. You are suggesting a high pass probably but I would like to know the entity of the error.

The only reference handy, automatica vol 22(2) pp.155-169 (1986), refers to supertanker mooring, where the use of multiple sensors are characterized by broadband white noise (wave-induced) relative to the natural frequencies of the ship and mooring.

In this case the authors use Kalman filtering to reduce the effect of the white noise and allow gradual reduction in the sway and yaw motion of the ship without damaging the lateral thrusters or the mooring.

The main issue is the drift forces due to nonlinear ship-wave dynamics...

simple answers, no, and quite a bit of work just to characterize the system.

you'll have to check more recent literature to sort out current control strategies

good luck