# What's the difference between the Gabor and Morlet wavelets?

The Gabor wavelet is a kind of the Gaussian modulated sinusoidal wave (source)

Gabor wavelets are formed from two components, a complex sinusoidal carrier and a Gaussian envelope. (source)

and

In fact, the wavelet shown in Figure 2a (called the Morlet wavelet) is nothing more than a Sine wave (green curve in Figure 2b) multiplied by a Gaussian envelope (red curve). (source)

Are these just different names for the same thing?

Update:

Not to be confused with the "Gabor transform", which seems to be just another name for "STFT with a Gaussian window". There's also the Gabor atom, which I guess is the same as the Gabor wavelet?

Since asking this on math.SE, I've also found terms like "Gabor/Morlet wavelet" and "Gabor-Morlet transform", implying that they are the same thing.

Also this has been asked before: Gabor transform/wavelet vs. Morlet wavelet but the answers are not clear to me.

• They have different formulas. dsprelated.com/showmessage/122107/1.php Commented Oct 4, 2011 at 10:19
• @pharmine: Those are just different ways to write the same thing, though, no? Commented Oct 4, 2011 at 15:14
• @endolith Is it possible to put up the plots they are referring to? Commented Apr 19, 2012 at 19:02
• @endolith Based on this evidence they certainly appear to be the exact same... Commented Apr 19, 2012 at 19:31

The Gabor wavelet is basically the same thing. It's apparently another name for the Modified Morlet wavelet. Quoting from Wavelets and Signal Processing:

[The Modified Morlet wavelet] does not satisfy the admissibility condition but is nonetheless commonly used. Sometimes this wavelet is called the "Gabor wavelet," but that term is improper because Gabor had nothing to do with wavelets. He was ... one of the founders of time-frequency analysis.

That book is a collection of papers, and that paper ("The Wavelet Transform and Time-Frequency Analysis") is by Leon Cohen (of time-frequency distribution "Cohen class" fame), so I think it's reasonably authoritative.

At the very least, it sounds like the confusion is just a naming disagreement. According to A Friendly Guide to Wavelets (pg. 114), Gabor was the first person to propose the use of Gaussian windows for time-frequency localizations, so his name tends to get attached anytime they're involved.

• Aha! "We distinguish between the Gabor function (non­zero-mean function) and the Gabor kernel (zero-mean function). The Gabor kernel satisfies the admissibility condition for wavelets, thus being suited for multi-resolution analysis. Apart from a scale factor, it is also known as the Morlet Wavelet." Pattern Recognition and Image Analysis: Proceedings Commented Apr 20, 2012 at 0:48
• Commented Apr 20, 2012 at 0:56
• Is there a short answer for what the wavelet 'admissibility condition' is? Simply the conservation of energy during transformations? Commented Apr 20, 2012 at 3:47
• @Mohammad: "It is important to note that, for this to be a wavelet, the positive and negative areas under' the curve must cancel out. This is known as the admissibility condition." "The admissibility condition ensures that the inverse transform and Parseval formula are applicable." Commented May 7, 2012 at 14:40
• While this entry contains very informative bits, it doesn't provide a valid answer to the question. The so-called Gabor and the Morlet wavelets are in general not the same thing, and this is not a naming disagreement. Also, as @endolith pointed out, in this case the issue is that the Gabor wavelet wouldn't integrate to zero. Please see my answer for more details Commented Mar 16, 2022 at 1:49

For those looking for a compact description, I found this nice docstring while inspecting the kymatio GitHub repository:

A Morlet filter is the sum of a Gabor filter and a low-pass filter to ensure that the sum has exactly zero mean in the temporal domain. It is defined by the following formula in time:
$$\qquad \qquad \psi(t) = g_{\sigma}(t) (e^{i \xi t} - \beta)$$
where $$g_{\sigma}$$ is a Gaussian envelope, $$\xi$$ is a frequency and $$\beta$$ is the cancelling parameter.

## Explanation:

• From this description it follows that the admissibility condition is broken when the time-domain wavelet doesn't have zero mean, and the cancelling parameter $$\beta$$ is explicitly introduced to fix that.
• Using the distributive property, we see that the Gabor filter is the Gaussian times the exponential, and the low-pass is the same Gaussian times a constant. In the Fourier domain, the former is a Gaussian tanslated at freq=$$\xi$$, and the latter is a Gaussian centered at freq=0.
• We can further observe the effect of $$\beta$$:
• It is a real-valued number
• It doesn't affect the location of the Gaussian envelope $$g_\sigma$$
• It affects the intensity of $$g_\sigma$$, but this effect vanishes as we get away from $$t=0$$. Therefore, it doesn't alter the fact that the asymptotic value at the extremes is zero (as it would if we subtracted $$\beta$$ directly from $$\psi$$)
• It doesn't affect the phase of the complex exponential $$e^{i \xi t}$$ (i.e. it doesn't "twist the spiral")
• As the frequency $$\xi$$ increases or the time-localization $$\sigma$$ decreases, the correction $$\beta$$ needed vanishes and the Gabor approximates the Morlet. This can be seen on the Fourier domain: the translated Gaussian will have a smaller zero-freq component in those cases.

You can think of this process as "softly curbing" the Gabor into a zero-mean. This effect is stronger whenever we have a small window (large $$\sigma$$) and low frequencies. Also, the effect happens more strongly at $$t=0$$, and then vanishes "rapidly, but softly".

## Implementation:

The kymatio` library is a substantial effort to implement the Scattering transform. Here is the corresponding JMLR (for instance Mallat is a coauthor).

The code permalinked above computes the Morlet directly on the Fourier domain:

1. Creates a translated and a centered Gaussian
2. Numerical discretization
3. Subtracts the centered Gaussian from the translated one, ensuring that the zero-frequency component ends up being zero (i.e., the time-domain signal will have zero mean).
4. L1-normalizes the time-domain wavelet
• Worth noting, wavelet "width" is a tricky concept. In the standard continuous-time formulation, $\beta$ is independent of $\sigma$, see Wiki and simulation, so "effect is stronger when we have a small window $\sigma$" doesn't hold. The "low frequencies" is also tricky - to be exact, it's the mother wavelet's frequencies. However, your statements are true in Kymatio's discretization formulation, as higher $\sigma$ (freq bandwidth) is equivalently lower mother wavelet's frequency. Commented Mar 16, 2022 at 23:51
• Sure, so again, depends on our perspective; note that changing $s$ in the simulation changes frequency without affecting the severity of "distortion" (beta). It works out in Kymatio because sigma and mother's xi ($m$ in simul) are directly tied; the sampling grid shifts such that higher sigma equivalently samples lower $m$ at lower "scale" (note, continuous xi's limitless, but discrete is Nyquist-bound). More intuitively, higher $m$ -> more oscillations under envelope, which is higher xi, but we also get higher xi from lower scale. -- btw, @ to notify of replies (except on who posted) Commented Mar 17, 2022 at 5:14
• @OverLordGoldDragon, I would say that there are, arguably, definitions of the wavelet width, e.g. related to the Gaussian FWHM; but the main point is that, from integrating the Morlet form, you recover $\beta \sim \xi^2/\sigma^2$, which perhaps renders the concept of width moot. Commented Jun 1, 2022 at 2:45