I have a noisy signal x(t) that I want to differentiate in time, in order to obtain x'(t). Though numerical finite difference approximantion does not work well on noisy signal, I would like to differentiate its continuous wavelet transform (cwt) and to reconstruct the derivative from its wavelet transform. Is it possible to do so? Given the wavelet transform of the original signal, how do I differentiate it in order to get the wavelet transform of its derivative? I am using complex Morlet wavelet. Please bear in mind that I no matematician, so please be as human as you can in your answer.

  • $\begingroup$ Since you are saying your signal is noisy and you want to get an analytical expression for its derivative, what is your signal model? May be $x(t) = s(t) + n(t)$, where $n(t)$ is the noise? It's kind of contradictory to me that you talk about numerical finite difference approximation and then about using a continuous wavelet transform. What do yo have? An analytical expression for $x(t)$ or just its samples? $\endgroup$ – Carlos Mendoza Nov 13 '15 at 22:55

I usually work more with Discrete Wavelet Transforms, but I will give it a go. I base this guide below on an own rewritten version of Matlab source implementation of the Morlet wavelet.

$$ W(X) = ((\pi F_B)^{-0.5})\exp(2i\pi\cdot F_C \cdot X)\exp\left(-\frac{X^2}{F_B}\right)$$

It seems to me that the real and imaginary parts of the Morlet wavelet are in quadrature. This means they measure the whole phase range for a range of fourier frequencies. The first order derivative will be parts of the odd component, since a first order differential operator is, well odd. You have a bunch of parameters:

  • Spatial size of filter (range of $X$)
  • Center frequency ($F_C$)
  • Gaussian window ($F_B$) $\sigma^2$

What is important if you want to create a differential approximator is to fine tune the bandwidth parameter. Too narrow band width and the wave will be very long, including many zero-crossings.

enter image description here

Example of Morlet wavelet where the wave is too long. We need to narrow it down in the time-domain, i.e. choose a shorter Gaussian window. The black envelope is the shape of our broad gaussian.

enter image description here

Here we can see that with a tighter Gaussian black envelope we pick out just one zero crossing for the odd part, which would be suitable to measure a derivative.

  • $\begingroup$ I think this does not answer my question. The question is how do I get the derivative x'(t) of my signal x(t) starting from the continuous wavelet transform W(x) of x(t)? $\endgroup$ – fmonegaglia Oct 21 '15 at 15:24
  • $\begingroup$ I answered how to design your wavelet for the imaginary component of the filter response to perform a first order differentiation. Many wavelets have parameters and in this case the easiest way is to choose the parameter directly to measure what you want. $\endgroup$ – mathreadler Oct 21 '15 at 16:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.