Smoothing a roughly sinusoidal signal
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
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.
Best wishes,
Richard
0 comentarios
Respuestas (1)
Daniel M
el 8 de Nov. de 2019
So are you saying you want to remove the frequency of the blue signal from the brown signal? Fairly easy, just use a notch/bandstop filter. You can find examples on these pages
7 comentarios
Daniel M
el 9 de Nov. de 2019
Are you using the DSP System toolbox? They have real time filters that you can do on individual samples at a time. But you'll have to look more into it, because I'm not too familiar.
Ver también
Categorías
Más información sobre Digital Filtering en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!