Filtering Jerk from data

10 次查看(过去 30 天)
Kunal Tiwari
Kunal Tiwari 2018-9-23
I am having force data from an experimental setup. The experimental data is having jerk force being added due to inefficient mechanical design of the setup. Is there any way to remove the 'jerk' force from the data.
below is the figure of computational and experimental forces comparison.
you can find the jerk being found 0.1, 0.5. 1.1 and 1.5 cycle no.
I have plotted the computational data just as reference for showing where jerk occurs. I would not be able to use the computational data for filtering/reconstructing the data obtained from experiment.
A frequency dependent filter cannot be applied because the jerk happens almost at the fundamental frequency of experiment.

回答(2 个)

Image Analyst
Image Analyst 2018-9-23
What you could do is to find the difference between the signals and replace the experimental signal with the computation signal wherever the difference is too great:
diffSignal = abs(experimental - computational);
mask = diffSignal > 10; % Or whatever you want.
experimental(mask) = computational(mask); % Replace bad values with computational signal.
  2 个评论
Kunal Tiwari
Kunal Tiwari 2018-9-23
I plotted the computational signal just as reference. I cannot use computational data to modify/filter the experimental data. I will update the question to make it more clear.
Thanks for the reply.

请先登录,再进行评论。


Star Strider
Star Strider 2018-9-23
I would first do a Fourier transform (using the fft (link) function) to determine visually the frequency content of your signal, then use the lowpass (link) or related bandpass (linked to at the end of that page) functions to filter your data. (These were introduced in R2018a. You can design similar filters yourself with the ellipord and ellip functions.)
You will likely have to experiment to get the result you want. Your signal appears to be relatively ‘clean’ otherwise, and you can probably get good frequency separation with the elliptic filter.
  2 个评论
Kunal Tiwari
Kunal Tiwari 2018-9-23
The problem is the jerk occurs at the same frequency as the force. only there is a slight phase shift. So using the fourier transform does not work for me.
Star Strider
Star Strider 2018-9-23
Have you done the fft and then designed and used the filter?
It looks to me that the jerk consists of a higher-frequency signal added to the underlying low-frequency force signal. The filter should easily be able to separate them, producing a relatively ‘clean’ force signal.

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by