I am trying to integrate GPS and IMU but as a first step I am trying to use just 1d gyro and 2d accelerometer to work. Below is my model -

State model and propagation

state transition and process noise

So, my question is .. after implementing this EKF, if I sigma_u for accelerometer is reduced to like 0.1 or less or in fact any lesser value, the error in comparison to GPS solution grows. It becomes around 50 m!! If I put in a higher value the error decreases. What am I missing in the model? Can anyone help me, please?


1 Answer 1


Low cost accelerometers have a bias that varies with temperature and from startup to startup. Your model does not appear to have a state to simulate these accelerometer bias offsets. Note that in order to compare the results of accelerometers with position sensors like GPS, the accelerometer data must be double-integrated. If there is any un-modeled bias offset, this double integration causes position errors to grow quadratically over time. If you give accelerometers a high noise value in your model, then the filter can "explain away" some of this error as the result of random noise. When you tell the filter that accelerometers are very low noise, however, this forces the filter to believe the accelerometers are telling the truth, so your filter will follow the erroneous output in preference to the GPS position.


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.