I am trying to understand how the complementary filter works. I did some research and i found this: enter image description here

I am confused about the noise and drift before any filter is applied. I have 2 questions:

  1. In the accelerometer, the noise is high frequency signals which is caused by the environment or maybe within the sensor itself. But in the gyroscope, before it is integrated, it should be low frequency noise? Is this the same as drift? Or is the noise causing the drift or vice-versa?

  2. In the figure above, it shows that the angular velocity is a direct data output from the gyroscope without any computation done. So, this data should contain low frequency signals due to environmental impact but is there any drift present?


1 Answer 1


First I 'll try to answer to your second question.

So from the gyroscope you get the angular velocity (without any computation). The drift is produced when you integrate. To be more clear in each step you integrate from the angular velocities to find the position/movement and an error is produced, as you keep adding these values the error increases over time and at some point it is really big resulting to wrong heading estimation.

For the first question you are right about the accelerometers. They are sensitive to vibration, high frequency noise. But the gyroscopes' main "problem" is the integration, that's where noise is added to the system. You can check out this site for a bit more detailed explanation.

  • $\begingroup$ Don't you mean: "But the gyroscopes' main "problem" is the integration, that's where drift is added to the system." I'm just trying to get a proper understanding without getting even more confused. BTW, thanks for the link. $\endgroup$
    – DryRun
    Oct 14, 2019 at 14:09
  • 1
    $\begingroup$ I meant that the continuous integration is the problem for having wrong heading estimation. But see the drift not as a cause of the problem but as the result of the problem. $\endgroup$
    – nionios
    Oct 14, 2019 at 14:19

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.