I have position data coming from a high resolution angular position sensor and I need to improve the accuracy of the data by removing a regular sinusoid from it.
The below graph shows three plots of angular position error against time:
- The brown plot is the position error which needs to be corrected (ideal is a zero error horizontal line).
- The blue plot is the position error of a very high accuracy reference angular position sensor (for testing only and not present in the deployed application).
- The green plot is the difference between the brown and blue plots.
Common to both the brown and blue plot is a fast in phase ~2 sec error which can be ignored.
In the brown plot there's a ~24 sec error which I need to remove (the green difference plot more clearly shows this as it removes the faster ~2 sec error). The solution algorithm eventually needs to be deployed to run in realtime on a 32 bit microcontroller.
The dataset is in .csv format which I can post for analysis.
I've Googled various examples which lead me to believe a solution to this problem should be possible. The issue is I don't have sufficient signal processing experience to know how to implement a solution and would be very grateful for any help in solving this problem.