Gabor transform

The Gabor transform, named after Dennis Gabor, is a special case of the short-time Fourier transform. It is used to determine the sinusoidal frequency and phase content of local sections of a signal as it changes over time. The function to be transformed is first multiplied by a Gaussian function, which can be regarded as a window function, and the resulting function is then transformed with a Fourier transform to derive the time-frequency analysis. The window function means that the signal near the time being analyzed will have higher weight. The Gabor transform of a signal x(t) is defined by this formula:

 G_x(t,f) = \int_{-\infty}^\infty e^{-\pi(\tau-t)^2}e^{-j2\pi f\tau}x(\tau)\,d\tau
Magnitude of Gaussian function.

The Gaussian function has infinite range and it is impractical for implementation. However, a level of significance can be chosen (for instance 0.00001) for the distribution of the Gaussian function.

 \begin{cases}
e^{-{\pi}a^2} \ge 0.00001;  & \left| a \right| \le 1.9143  \\
e^{-{\pi}a^2} < 0.00001;   & \left| a \right| > 1.9143
\end{cases}

Outside these limits of integration (\left| a \right| > 1.9143 ) the Gaussian function is small enough to be ignored. Thus the Gabor transform can be satisfactorily approximated as

 G_x(t,f) = \int_{-1.9143+t}^{1.9143+t} e^{-\pi(\tau-t)^2} e^{-j2\pi f\tau} x(\tau) \, d\tau

This simplification makes the Gabor transform practical and realizable.

The window function width can also be varied to optimize the time-frequency resolution tradeoff for a particular application by replacing the  {-{\pi}(\tau-t)^2} with  {-{\pi}\alpha (\tau-t)^2} for some chosen alpha.

Inverse Gabor transform


The Gabor transform is invertible. The original signal can be recovered by the following equation

 x(t) = \int_{-\infty}^\infty \int_{-\infty}^\infty G_x(\tau,f) e^{j2\pi tf}\,df  \,d\tau

Compare this inversion formula with property No. 5 below.

Properties of the Gabor transform

The Gabor transform has many properties like those of the Fourier transform. These properties are listed in the following tables.

Signal Gabor transform Remarks
 x(t)\,  G_x(t,f)=\int_{-\infty}^\infty e^{-\pi(\tau-t)^2}e^{-j2\pi f\tau}x(\tau)\,d\tau
1 a\cdot x(t) + b\cdot y(t)\, a\cdot G_x(t,f) + b\cdot G_y(t,f)\, Linearity property
2  x(t-t_0)\,  G_x(t-t_0,f)e^{-j2\pi ft_0}\, Shifting property
3  x(t)e^{j2\pi f_0 t}\,  G_x(t,f-f_0)\, Modulation property
Remarks
1  \int_{-\infty}^\infty \left| G_x(t,f) \right|^2\,df = \int_{-\infty}^\infty e^{-2\pi (\tau-t)^2}\left| x(\tau) \right|^2 d\tau \approx \int_{u-1.9143}^{u+1.9143}e^{-2\pi (\tau-u)^2}\left| x(\tau) \right|^2 d\tau Power integration property
2  \int_{-\infty}^\infty \int_{-\infty}^\infty G_x(t,f)G_y^*(t,f)\,df\,dt = \int_{-\infty}^\infty x(\tau)y^*(\tau)\, d\tau Energy sum property
3  \begin{cases} \displaystyle
\int_{-\infty}^\infty \left| G_x(t,f) \right|^2df < e^{-2\pi(t-t_0)^2}\int_{-\infty}^\infty \left| G_x(t_0,f) \right|^2\,df;  & \text{if } x(t) =0 \text{ for }t>t_0   \\[12pt]
\displaystyle
\int_{-\infty}^\infty \left| G_x(t,f) \right|^2\,dt < e^{-2\pi(f-f_0)^2}\int_{-\infty}^\infty \left| G_x(t,f_0) \right|^2\,dt;  & \text{if } X(f) =FT[x(t)] = 0 \text{ for }f>f_0
\end{cases} Power decay property
4  \int_{-\infty}^\infty G_x(t,f) e^{j2\pi ktf}\,df = e^{-\pi (k-1)^2 t^2} x(kt) Integration property
5  \int_{-\infty}^\infty G_x(t,f) e^{j2\pi tf}\,df = x(t) Recovery property

Application and example

Time/frequency distribution.

The main application of the Gabor transform is used in time frequency analysis. Take the following equation as an example. The input signal has 1Hz frequency component when t  0 and has 2Hz frequency component when t > 0

 
x(t) = \begin{cases}
\cos(2\pi t) & \text{for } t \le 0, \\
\cos(4\pi t) & \text{for } t> 0.
\end{cases}

But if the total bandwidth available is 5Hz, other frequency bands except x(t) are wasted. Through time frequency analysis by applying the Gabor transform, the available bandwidth can be known and those frequency bands can be used for other applications and bandwidth is saved. The right side picture show the input signal x(t) and the output of the Gabor transform. As was our expectation, the frequency distribution can be separated into two parts. One is t  0 and the other is t > 0. The white part is the frequency band occupied by x(t) and the black part is not used.

Discrete Gabor-transformation

A discrete version of Gabor representation

 y(t)= \sum_{m = - \infty}^ \infty \sum_{n=- \infty}^ \infty C_{nm} \cdot g_{nm} (t)

with g_{nm} (t) = s(t-m \tau_0 ) \cdot e^{j\Omega nt}

can be derived easily by discretizing the Gabor-basis-function in these equations. Hereby the continuous parameter t is replaced by the discrete time k. Furthermore the now finite summation limit in Gabor representation has to be considered. In this way, the sampled signal y(k) is split into M time frames of length N. According to \Omega \le \tfrac{2\pi}{\tau_0}, the factor Ω for critical sampling is \Omega = \tfrac{2\pi}{N}

Similar to the DFT (discrete Fourier transformation) a frequency domain split into N discrete partitions is obtained. An inverse transformation of these N spectral partitions then leads to N values y(k)for the time window, which consists of N sample values. For overall M time windows with N sample values, each signal y(k) contains K=N  \cdot M sample values: (the discrete Gabor representation)

 y(k)= \sum_{m=0}^ {M-1} \sum_{n=0}^{N-1} C_{nm} \cdot g_{nm} (k)

with g_{nm} (k) = s(k-mN) \cdot e^{j\Omega nk}

According to the equation above, the N \cdotM coefficients C_{nm} correspond to the number of sample values K of the signal.

For over-sampling \Omega is set to \Omega \le \tfrac{2\pi}{N} = \tfrac{2\pi}{N^\prime} with N' > N, which results in N' > N summation coefficients in the second sum of the discrete Gabor representation. In this case, the number of obtained Gabor-coefficients would be M \cdotN'>K. Hence, more coefficients than sample values are available and therefore a redundant representation would be achieved.

See also

References