Function: gabdual
GABDUAL  Canonical dual window of Gabor frame
  Usage:  gd=gabdual(g,a,M);
          gd=gabdual(g,a,M,L);
          gd=gabdual(g,a,M,'lt',lt);

  Input parameters:
        g     : Gabor window.
        a     : Length of time shift.
        M     : Number of channels.
        L     : Length of window. (optional)
        lt    : Lattice type (for non-separable lattices).
  Output parameters:
        gd : Canonical dual window.

  GABDUAL(g,a,M) computes the canonical dual window of the discrete Gabor
  frame with window g and parameters a, M.

  The window g may be a vector of numerical values, a text string or a
  cell array. See the help of GABWIN for more details.

  If the length of g is equal to M, then the input window is assumed
  to be an FIR window. In this case, the canonical dual window also has
  length of M. Otherwise the smallest possible transform length is chosen
  as the window length.

  GABDUAL(g,a,M,L) returns a window that is the dual window for a system
  of length L. Unless the dual window is a FIR window, the dual window
  will have length L.

  GABDUAL(g,a,M,'lt',lt) does the same for a non-separable lattice
  specified by lt. Please see the help of MATRIX2LATTICETYPE for a
  precise description of the parameter lt.

  If a>M then the dual window of the Gabor Riesz sequence with window
  g and parameters a and M will be calculated.

  Examples:
  ---------

  The following example shows the canonical dual window of the Gaussian
  window:

    a=20;
    M=30;
    L=300;
    g=pgauss(L,a*M/L);
    gd=gabdual(g,a,M);
    
    % Simple plot in the time-domain
    figure(1);
    plot(gd);

    % Frequency domain
    figure(2);
    magresp(gd,'dynrange',100);

Url: http://ltfat.github.io/doc/gabor/gabdual.html

See also: gabtight, gabwin, fir2long, dgt.

Package: ltfat