Smoothing a roughly sinusoidal signal
조회 수: 5 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Daniel M
2019년 11월 8일
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
Daniel M
2019년 11월 9일
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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Digital Filtering에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!