noisy plot after calculating first derivative
8 views (last 30 days)
Fahime Sokhangou on 17 May 2022
I have a problem.
I have a very smooth plots in MATLAB (fisrt capture which is the original y). I ataach one of them. whenever, I calculate the first, sencon and ... derivative of these data with finite differemnce equations, the graphs are not smooth anymore (first deivative=y').
all data are from numerical model (Abaqus).
what should I do?
is smoothing the soulution? if yes, which type of smoothing
John D'Errico on 17 May 2022
You should recognize that differentiation is a noise amplification operator. So any small amounts of noise in your signal, even a tiny amount, will translate into a noisier mess in the derivative. Second derivativves are yet more difficult to estimate.
Should you try to smooth the derivative estimate? NO!!! (Was that a sufficiently emphatic no?) Instead, you need to smooth the signal itself, since that is where the noise lies. Why is that?
Suppose that your noisy function values are each corrupted with noise. Then when you compute the derivative, the noise is still there, and is amplified. But worse, now the noise in the derivative estimates is no longer what is called white noise, but now the neighboring points will be correlated with each other. Anyway, it is best if you just smooth the data itself, and then compute a derivative signal from that. You might use the function smooth, or perhaps a smoothing spline would be a good idea. Without having your data itself, it is difficult to know what may be best, but either of those tools would be a good choice.