Friday, November 1, 2019

wavelet - Complex Morlet coefficient


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?



Answer




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.


No comments:

Post a Comment

digital communications - Understanding the Matched Filter

I have a question about matched filtering. Does the matched filter maximise the SNR at the moment of decision only? As far as I understand, ...