I've found good literature for offline proccesses, and I've gotten good results. However, when it comes to online applications, I've found nothing good. Applying any filter without a linear phase response will give me too much distortion once I get to displacement. However, any filter I've used with linear phase response gives me way too much "time lag" (apart that it's very high order). Below is the proccess most people apply:

Raw Acc --> [High Pass Filter (HPF)] --> [Integrate (Int)] --> [HPF] --> [Int] --> [HPF] --> Displacement Signal

As you can imagine, this procces is trivial if you use non-causal filters... But I've not gotten a good solution for the online proccess.

My current conclusion is that I need a "low order, linear phase, causal filter." There is active research in these types of filters, but they are somewhat complicated to apply. So before I start making leeway, I decided to ask this in a forum to see if anybody could give some input or fresh ideas.

  • 5
    $\begingroup$ The usual way to do this is using a Kalman filter. $\endgroup$
    – Peter K.
    Commented Aug 15, 2013 at 19:50

1 Answer 1


Any filter within your chain can remove useful information. The kalman filter way is applicable when you have/use a good model of the error, and you have some auxiliary sensor (like GPS, or images) to confront to the result of the double integration (DI). I dont know how good your acc is, but a military one, for example, can drift so few after the DI, that it doesnt need any auxiliary sensor. However, you cannot expect the same result using this cell-phone acc, though. The limit of goodness is defined by your application and the type of sensor you have.

  • 1
    $\begingroup$ The typical GPS unit uses the same Kalman filter on its output. Its error sources are unrelated so the two sensors can be effectively combined even after separate filtering. $\endgroup$
    – MSalters
    Commented Nov 18, 2013 at 15:32

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.