I am trying to extract the decay properties of an oscillating time history. The obvious method for doing this is to use a Hilbert transform. The figure shows an example of a theoretical decay and the envelope calculated using the Hilbert transform.
My problem is that the envelope has oscillations (Gibbs oscillations) due to the fact that there is a discontinuity in the sudden start of the data.
The extracted decay rate, below, which should be a constant in this theoretical case, is unacceptably corrupted by the oscillations.
I have considered filtering the envelope with a low pass filter but as the oscillations are the same order as the original frequency I will spoil the decay data. Alternatively I could create a mirror image of the data and thus remove the starting step. However, this requires finding the starting phase of the time history. Could these methods work or can you suggest another method?
Edit As suggested by Olli Niemitalo I have had another look at filtering the envelope signal. The filtered envelope is added here
The filtered envelope signal now has no oscillations but has dropped down from the peaks. This is fine for my application were I need the rate of decay. The next figure compares the decay calculated from the filtered envelope to the unfiltered envelope
This is success! Thanks to Olli.
Thanks
zi
input to thefilter
command. $\endgroup$