Cancel Drift after numerical integration 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?
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:
.