What is the best way to compute the derivatives of noisy data?

What is the best way to compute the derivatives of noisy data?

Tuned the width of the Gaussian to emphasize the feature (s) I wanted to align. however, simpler approach is to do smoothing filter to alleviate the noise, then do the derivatives. What I do is to obtain a Fourier transform of noisy data, then apply Wiener filter (strongly depressing higher harmonics).

How to smooth the derivative of a signal?

By choosing different “sigma” (width) of your gaussian, you can smooth your signal, hence its derivative. You could start with a small sigma of 5-10 and see if the smoothing is sufficient for you. Thanks for contributing an answer to Signal Processing Stack Exchange!

What happens when you convolve data with a normalized Gaussian?

If you convolve your original data with a Gaussian (normalized) of a given size, then you are effectively smoothing your signal and looking at a “larger scale”. By choosing different “sigma” (width) of your gaussian, you can smooth your signal, hence its derivative.

How is numerical differentiation used in signal processing?

The numerical differentiation of digitized signals is an application of this concept that has many uses in analytical signal processing.

How to calculate the delay of a derivative?

Divide the derivative by dt, the time interval between consecutive samples, to set the correct units. dt = t(2)-t(1); vdrift = filter(d,drift)/dt; The filtered signal is delayed. Use grpdelay to determine that the delay is half the filter order.

How to find the derivative of a signal?

Use findpeaks to verify that the maxima and minima of the drift correspond to the zero crossings of its derivative. Differentiate the drift speed to find the acceleration. The lag is twice as long. Discard twice as many samples to compensate for the delay, and the same number to eliminate the transient. Plot the speed and acceleration.

How to calculate the speed of a derivative?

Differentiate the drift to find the speed. Divide the derivative by dt, the time interval between consecutive samples, to set the correct units. dt = t(2)-t(1); vdrift = filter(d,drift)/dt; The filtered signal is delayed.