gt=gabtight(a,M,L); gt=gabtight(g,a,M); gt=gabtight(g,a,M,L); gd=gabtight(g,a,M,'lt',lt);
g | Gabor window. |
a | Length of time shift. |
M | Number of modulations. |
L | Length of window. (optional) |
lt | Lattice type (for non-separable lattices). |
gt | Canonical tight window, column vector. |
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.
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);