A complex Morlet wavelet looks like this:

$$\psi(t) = C \cdot e^{i \omega t} \cdot e^{-t^2/2}$$

Here $\omega$ is the frequency and $C$ is some normalization constant. The first exponential represents the oscillation, and the second exponent is the Gaussian-like envelope. However, what should $C$ be?

First, why is $C$ even necessary? Admissibility of a wavelet is based on finite support (which the Morlet wavelet has practically, if not really) and its integral over its whole range summing to $0$, which is does regardless of $C$'s value.

Torrence and Compo's A Practical Guide to Wavelet Analysis, on whose work mlpy's wavelets are based, argue for the constant $\pi^{-\frac{1}{4}}$ to "ensure a total energy of unity". Wikipedia's Morlet wavelet page gives the more complicated coefficient $\pi^{-\frac{1}{4}} \left(1 + e^{-\sigma^2} - 2e^{-\frac{3}{4}\sigma^2}\right)^{-\frac{1}{2}}$, where $\sigma$ is a parameter allowing some kind of tradeoff between time and frequency resolution. I'm having a hard time rectifying these two different approaches.

Finally, does $C$'s value have any relation to whether you want the resulting frequencies to be on a logarithmic scale, or a linear scale?


1 Answer 1


Your $C$ is here for the wavelet energy normalization: it is chosen such that:

$$ \int \psi(t)^2dt = 1\,,$$

the most common framework for wavelets. It ensures that wavelet coefficients can more or less directly be interpreted in energy. The problem is that, as is, the wavelet is not admissible. If you take $\omega \simeq 0$, it reduces to a Gaussian, and does not oscillate enough to have zero-mean.

However, when $\omega$ becomes "big enough", some say $\omega>5$ (a common choice is $\omega = \pi\sqrt{2/\log2} $), one usually considers that it is "numerically admissible" (with high precision).

A more proper version (with $\omega_0$ instead of $\omega$ to avoid strange interpretations) is:

$$ \psi_{\omega_0} = \frac{C_{\omega_0}}{\pi^{1/4}} e^{-t^2/2}(e^{i\omega_0 t} -e^{-\omega_0^2/2})$$

and then you get:

$$ 1/C_{\omega_0}^2 = 1+e^{-\omega_0^2} -2e^{-3 \omega_0^2/4} \,,$$

which is very close to $1$ when $\omega_0$ is big enough.

  • $\begingroup$ That makes sense, thank you. However, I think that there might be some confusion between the $\omega$ and $\sigma$ parameters--which I might have introduced myself, due to some odd notational differences between the Wikipedia page and the article I mentioned above. When you use $\omega$ above, is this frequency, or is this some kind of parameter to indicate the number of side waves used by the Morlet transform (and hence adjust the time/frequency tradeoff)? $\endgroup$
    – Adam Smith
    May 30, 2017 at 20:48
  • $\begingroup$ I have now used $\omega_0$, to avoid confusion with frequency $\endgroup$ May 30, 2017 at 20:52
  • $\begingroup$ What is $\omega_0$? If it's not a frequency, then what does it represent? $\endgroup$
    – Adam Smith
    May 30, 2017 at 21:00
  • $\begingroup$ It is like a constant frequency, not the variable one you use in frequency analysis $\endgroup$ May 30, 2017 at 21:06
  • $\begingroup$ I'll add a reference later. Je vous en prie $\endgroup$ May 30, 2017 at 21:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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