I am trying to integrate angular acceleration obtained from a set of accelerometers positioned specifically at opposite corners of a cube, based on the paper EcoIMU: A Dual Triaxial-Accelerometer Inertial Measurement Unit for Wearable Applications

I am getting the angular acceleration on each axis. This signal is quite noisy.

Then after integrating angular acceleration to angular velocity using the trapezoidal rule, I get signals which drifts heavily and randomly.

I understand that noise and also numerical integration are causing the effect. Other than low pass filtering the data, are there any other methods to reduce noise?

And the major factor for the drift is numerical integration, how can this be handled?


1 Answer 1


Numerical integration may reduce noise under some conditions: the noise is zero-average, ergodic, its properties do not vary too much over time. Since numerical integration seems linear, pre-filtering the acceleration with a linear filter, or post-filtering after integration are likely to yield very similar results (up to border effects), since linear operations commute.

The separation of a useful signal from a complicated drift is a complicated topic, without further information of the signal, the noise and the drift. These are a few venues you can use, alone or combined, to improve your signal:

  • filter the acceleration with more efficient (nonlinear) filters. For signals with time dynamics, Kalman filters may embed integration drift (Kalman filter: Modeling integration drift). In econometrics, people use a family of Holt-Winters filters to smooth or extrapolate time series with noise, drift or seasonality.
  • use more advanced numerical integration methods, like Simpson that can filter more noise or taking into account the dynamics, see for instance in Direct numerical integration methods, the Wilson Theta method:

    the Wilson Theta method assumes that the acceleration of the system varies linearly between two instants of time

  • post-correct the drift (called trend, wander, baseline in other domains), with specific techniques based on sparsity of derivatives (BEADS: baseline placement) or using piecewise linear models like LOWESS: LOWESS.
  • $\begingroup$ Thanks Duval....Can I use kalman filter for this purpose? Will this be effective?? $\endgroup$
    – Nithin G A
    Sep 22, 2016 at 7:01
  • 1
    $\begingroup$ This site is awesome for both intuitive and math wise explanations. Thanks a lot Duval. $\endgroup$
    – Nithin G A
    Sep 22, 2016 at 9:05

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.