I am trying to understand how the complementary filter works. I did some research and i found this:
I am confused about the noise and drift before any filter is applied. I have 2 questions:
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?
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?
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.