Hi - I will say right up - I really suck at maths

Also - I don't have anywhere near the grasp of Kalman that some of the other guys working on the Nunchuk/MP integration have.

But, from my lucid understanding.. if you want to smooth *just* an accelerometer, then... "This is not the filter you are looking for "....

It can work with just one input - but its a lot of work and Im not sure how much benefit it would bring to a single input versus iterative integrations of two.

This is all *very* lay terminology - so forgive me maths geniuses

Kalman smooths 'noisy' samples, and does that by integrating another set of samples from a sensor that is 'more accurate' over shorter times based on 'weighting' the results between the two.

The best example I can give is with the accelerometers and the gyro.

The accelerometers suffer very little drift over time compared to the gyro but are very sensitive, even at rest. Small movements can be lost. The Gyro's are very accurate in short bursts, but rapidly (compared to accelerometer drift) get distorted by drift... One could say the two sensors exhibit the complimentary behavior of each other.

So by using Kalman, we can predict an accurate result and cancel out noisy (i.e, not fitting within the prediction matrix for that particular sample ), thus smoothing the input from each and then combine the results to produce a set of very accurate numbers - using one sensor to cancel out the other sensors issues. In this instance, the Kalman wants to 'prefer' the gyro in the first instance, but as sampling continues, it wants to shift that weight to preferring the now more accurate accelerometer data. This produces a "smooth" plot of movement, without confusing plots based on 'noise' or 'drift' within each particular sensor. The hard part is tweaking those 'weightings' to produce smooth data - thats all the tuning that people refer to with Kalman. Not only the weighting of the integration, but also the weighting of the first stage of 'smoothing'..

One could also modify GPS data to interpolate with the accelerometers - I say modify because to the best of my knowledge, you need everything in the same "units of measure", thus you need to compute the acceleration between two GPS sample points and the Heading as discreet values and then use them to integrate in Kalman (i.e, you can't just plonk in the lat/lng and use that as an Int

)

If you haven't seen Tom Pykes excelent MAV-blog, then thats probably one of the more comprehensive explanations of how to apply Kalman filters to IMU's..

http://tom.pycke.be/mav/71/kalman-filtering-of-imu-dataI'd love to have a better understanding of the actual Maths... but like I said originally.. I suck at maths ;D My apologies if I have really butchered this explanation....