This is where navigation should be.

GABTIGHT - Canonical tight window of Gabor frame

Usage

gt=gabtight(a,M,L);
gt=gabtight(g,a,M);
gt=gabtight(g,a,M,L);
gd=gabtight(g,a,M,'lt',lt);

Input parameters

g Gabor window.
a Length of time shift.
M Number of modulations.
L Length of window. (optional)
lt Lattice type (for non-separable lattices).

Output parameters

gt Canonical tight window, column vector.

Description

gabtight(a,M,L) computes a nice tight window of length L for a lattice with parameters a, M. The window is not an FIR window, meaning that it will only generate a tight system if the system length is equal to L.

gabtight(g,a,M) computes the canonical tight window of the 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 a 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.

gabtight(g,a,M,L) returns a window that is tight for a system of length L. Unless the input window g is a FIR window, the returned tight window will have length L.

gabtight(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 an orthonormal window of the Gabor Riesz sequence with window g and parameters a and M will be calculated.

Examples:

The following example shows the canonical tight window of the Gaussian window. This is calculated by default by gabtight if no window is specified:

a=20;
M=30;
L=300;
gt=gabtight(a,M,L);

% Simple plot in the time-domain
figure(1);
plot(gt);

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