22

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)

Figure 3: 1D Gabor Wavelet

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)

Morlet wavelet

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.

endolith
  • 15,759
  • 8
  • 67
  • 118

2 Answers2

13

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.

datageist
  • 4,897
  • 4
  • 32
  • 53
  • 3
    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 – endolith Apr 20 '12 at 00:48
  • 1
    Is there a short answer for what the wavelet 'admissibility condition' is? Simply the conservation of energy during transformations? – Spacey Apr 20 '12 at 03: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." – endolith May 07 '12 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 – fr_andres Mar 16 '22 at 01:49
7

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
OverLordGoldDragon
  • 8,912
  • 5
  • 23
  • 74
fr_andres
  • 170
  • 1
  • 5
  • 1
    Nice addition! Thank-you. – Peter K. Mar 16 '22 at 16:15
  • 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. – OverLordGoldDragon Mar 16 '22 at 23:51
  • Thanks for the note! But unfortunatelly I don't quite follow: if xi is lower for same sigma, there will be more overlap at zero freq, right? Same if sigma decresases for the same xi. This should also hold in continuous t, unless I'm missing something else. Note that I assume beta is real – fr_andres Mar 17 '22 at 00:11
  • 1
    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) – OverLordGoldDragon Mar 17 '22 at 05: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. – kkm -still wary of SE promises Jun 01 '22 at 02:45
  • @kkm Width can certainly be well-defined. What I'm saying is the continuous-to-discrete correspondence is tricky. – OverLordGoldDragon Jun 01 '22 at 20:30
  • @OverLordGoldDragon Ah, I think I grok what you mean! In a Morlet $\psi_j$ filterbank, the closer the $\xi$ gets to zero, the more squeezed the filters become at the lower end to avoid spilling into the the $\phi$ LPF band. The $\sigma_j$ is thus no longer a honest width measure. /P.S. You have quite interesting highlights listed in your profile! Are you perchance working on Kymatio? I've been scattering audio since the 2012 Mallat lecture at UCLA, and am trying to make sense of three subtly different implementations. Four, if I count mine. And Lostanlen has the 5th on Github, maintained. :) – kkm -still wary of SE promises Jun 01 '22 at 21:04