Logo   Information, Signal, Images et ViSion C.N.R.S.   GdR   M.E.S.R.

The Gabor Representation

The reconstruction (synthesis) formula of the STFT is given in the discrete case by

\begin{displaymath}x(t) = \sum_n \sum_m F_x[n,m;h]\ g_{n,m}(t)\end{displaymath}

where $g_{n,m}(t)=g(t-nt_0)\ \exp{[j2\pi m \nu_0 t]}$ defines the Gabor representation. Originally, the synthesis window $g(t)$ was chosen by Gabor as a gaussian window, because it maximizes the concentration in the time-frequency plane. But now we speak of Gabor representation for any normalized window $g$.

The atoms $g_{n,m}(t)$ are called the Gabor logons, and the coefficients $F_x[n,m;h]$, noted $G_x[n,m]$ in the following, the Gabor coefficients. Each coefficient contains an information relative to the time-frequency content of the signal around the time-frequency location $(n t_0,m \nu_0)$. The logon $g_{n,m}$ is associated in the time-frequency plane to a rectangular unit area centered on $(n t_0,m \nu_0)$.

What about completeness of the Gabor logons $g_{n,m}(t)$ ? As we have seen before, a necessary but not sufficient condition is that $t_0\
\nu_0\leq 1$. At the critical sampling case $t_0\ \nu_0=1$, the logons are linearly independent, but are not orthogonal in general (Balian-Low obstruction). This means that the Gabor coefficients $G_x[n,m]$ are not simply the projections of $x(t)$ onto the corresponding logons $g_{n,m}(t)$ (i.e. the analysis and synthesis windows $h$ and $g$ can not be the same). A theoretical solution to this problem is obtained if the windows $g$ and $h$ are chosen biorthonormal, i.e. if they validate the biorthonormal condition

\begin{displaymath}\int_{-\infty}^{+\infty} g_{n,m}(t)\ h^*_{n',m'}(t)\ dt = \delta_{n-n'}\
\ \delta_{m-m'}\end{displaymath}

Then the analysis formula given before (expression (3.1)) allows the computation of the Gabor coefficients, and the synthesis formula (expression (3.2)) the reconstruction of the signal $x(t)$ (to compute the biorthonormal window $h$ associated to a given synthesis window $g$, one can use the Zak transform [AGT91] : this is the approach followed in the file tfrgabor, and the file zak.m computes this transform). From an implementation point of view, this solution is not fully satisfactory since the computation of the biorthonormal window $h$ is numerically unstable. So in general, some degree of oversampling is considered $(t_0\times \nu_0<1)$, which introduces redundancy in the coefficients, in order to "smooth" the biorthonormal window $h$, for the sake of numerical stability. These considerations are closely connected to the theory of frames.

Example

Let us consider the Gabor coefficients of a linear chirp of N1=256 points at the critical sampling case, and for a gaussian window of Ng=33points:

     >> N1=256; Ng=33; Q=1; % degree of oversampling.
     >> sig=fmlin(N1); g=window(Ng,'gauss'); g=g/norm(g);
     >> [tfr,dgr,h]=tfrgabor(sig,16,Q,g);
(tfrgabor generates as first output the squared modulus of the Gabor representation, as second output the complex Gabor representation, and as third output the biorthonormal window). When we look at the biorthonormal window $h$ (see fig. 3.10),
     >> plot(h);
Figure 3.10: Biorthonormal window corresponding to the critical sampling case and to a gaussian synthesis window : numerically unsteady
\begin{figure}
\epsfxsize =10cm\epsfysize =6cm
\centerline{\epsfbox{figure/at3fig1.eps}}\end{figure}
we can see how "bristling" this function is. The corresponding Gabor decomposition contains all the information about sig, but is not easy to interpret (see fig. 3.11):
     >> t=1:256; f=linspace(0,0.5,128); imagesc(t,f,tfr(1:128,:)); 
     >> xlabel('Time'); ylabel('Normalized frequency'); axis('xy'); 
     >> title('Squared modulus of the Gabor coefficients');
Figure 3.11: Gabor representation of a chirp, at the critical sampling rate : we have as many coefficients in the time-frequency plane as in the signal (no redundancy)
\begin{figure}
\epsfxsize =10cm\epsfysize =8cm
\centerline{\epsfbox{figure/at3fig2.eps}}\end{figure}
If we now consider a degree of oversampling of Q=4 (there are four times more Gabor coefficients than signal samples), the biorthogonal function is then smoother (the greater $Q$, the closer $h$ from $g$) (see fig. 3.12),
     >> Q=4; [tfr,dgr,h]=tfrgabor(sig,32,Q,g);
     >> plot(h);
Figure 3.12: Biorthonormal window $h$ corresponding to an oversampling of $Q=4$, and to a gaussian synthesis window $g$ : the greater $Q$, the closer $h$ from $g$
\begin{figure}
\epsfxsize =10cm\epsfysize =6cm
\centerline{\epsfbox{figure/at3fig3.eps}}\end{figure}
and the Gabor representation is much more readable (see fig. 3.13):
     >> imagesc(t,f,tfr(1:128,:)); 
     >> xlabel('Time'); ylabel('Normalized frequency'); axis('xy'); 
     >> title('Squared modulus of the Gabor coefficients');
Figure 3.13: Gabor representation of the same chirp, but with a degree of oversampling of 4 : some redundancy improve the readability of the representation
\begin{figure}
\epsfxsize =10cm\epsfysize =8cm
\centerline{\epsfbox{figure/at3fig4.eps}}\end{figure}

Eric Chassande-Mottin 2005-10-26

© GdR ISIS - Contact