I want to build a navigation system with gyroscope/odemeter and gps. I have konwn there is a famous method called kalman filter for this application. And now, I have done some experiment in matlab with kalman filter to get hide state vector which included vehicle's current postion/velocity/heading etc. But out of my expection, the result is not very good even more bad than origin data which comes from gps. May be you could guess the reason why they are so so bad. Yes, gyroscope and odemeter have uncertained error also as gps, so that's why you use kalman filter to deal with them. In some case that's useful enough. But in some scenario case that's not working. Because the character of original data can't match with requriment of kalman filter. As I probably know, it suppose that filter works under the condition of which your data noise is white gaussian or some other types. so many artical tell me you must have good knowledge to character of this noise, but on the other hand they don't tell me how to know it. that's just my problem and ask you in here. how to do it and how to deal with it for kalman filter?


Kalman filter have basic requirements that the random processes like input signal, measurement signal,process noise and measurement noises all should be white Gaussian in nature.what Kalman filter actually do is that it uses the system model and input signal and generates its own output which is actually a predicted value now using the observation from the system it calculate the correction to be applied to the predicted output and hence final results are better than observations obtained from the system. Hence very first step- is that you need a system model. i am totally disagree with @Deniz notion that in non-linear case you should use particle filter. particle filter is used when the random process as mentioned above are not white Gaussian. Even if your system is non linear you can use Extended kalman filter or unscented kalman filter. As ur case is concerned i think you should apply extended or unscented kalman filter as velocities for navigation will keep on changing.

  • $\begingroup$ I can't agree with you anymore $\endgroup$
    – DarkHorse
    Jan 21 '14 at 9:58
  • $\begingroup$ Please state your point $\endgroup$
    – Amit_DSP
    Jan 21 '14 at 11:52
  • $\begingroup$ In fact I want to say I can't agree with you any more. your answer is very good. Thanks $\endgroup$
    – DarkHorse
    Jan 22 '14 at 2:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.