[g,info] = filterbankwin(g,a,L);
[g,info]=filterbankwin(g,a,L) computes a window that fits well with time shift a and transform length L. The window itself is as a cell array containing additional parameters.
The window can be specified directly as a cell array of vectors of numerical values. In this case, filterbankwin only checks assumptions about transform sizes etc.
[g,info]=filterbankwin(g,a) does the same, but the windows must be FIR windows, as the transform length is unspecified.
filterbankwin(...,'normal') computes a window for regular filterbanks, while filterbankwin(...,'real') does the same for the positive-frequency only filterbanks.
The window can also be specified as cell array. The possibilities are:
- {'dual',...}
- Canonical dual window of whatever follows. See the examples below.
- {'realdual',...}
- Canonical dual window for a positive-frequency filterbank of whatever follows. See the examples below.
- {'tight',...}
- Canonical tight window of whatever follows. See the examples below.
- {'realtight',...}
- Canonical tight window for a real-valued for a positive frequency filterbank of whatever follows.
The structure info provides some information about the computed window:
info.M | Number of windows (equal to the number of channels) |
info.longestfilter | |
Length of the longest filter | |
info.gauss | True if the windows are Gaussian. |
info.tfr | Time/frequency support ratios of the window. Set whenever it makes sense. |
info.isfir | Input is an FIR window |
info.isdual | Output is the dual window of the auxiliary window. |
info.istight | Output is known to be a tight window. |
info.auxinfo | Info about auxiliary window. |
info.gl | Length of windows. |
info.isfac | True if the frame generated by the window has a fast factorization. |