Function: frame
FRAME  Construct a new frame
  Usage: F=frame(ftype,...);

  F=FRAME(ftype,...) constructs a new frame object F of type
  ftype. Arguments following ftype are specific to the type of frame
  chosen.

  Time-frequency frames
  ---------------------

  FRAME('dgt',g,a,M) constructs a Gabor frame with window g,
  time-shift a and M channels. See the help on DGT for more
  information.

  FRAME('dgtreal',g,a,M) constructs a Gabor frame for real-valued
  signals with window g, time-shift a and M channels. See the help
  on DGTREAL for more information.

  FRAME('dwilt',g,M) constructs a Wilson basis with window g and M*
  channels. See the help on DWILT for more information.

  FRAME('wmdct',g,M) constructs a windowed MDCT basis with window g*
  and M channels. See the help on WMDCT for more information.

  FRAME('filterbank',g,a,M) constructs a filterbank with filters g,
  time-shifts of a and M channels. For the ease of implementation, it
  is necessary to specify M, even though it strictly speaking could be
  deduced from the size of the windows. See the help on FILTERBANK for
  more information on the parameters. Similarly, you can construct a
  uniform filterbank by selecting 'ufilterbank', a positive-frequency
  filterbank by selecting 'filterbankreal' or a uniform
  positive-frequency filterbank by selecting 'ufilterbankreal'.

  FRAME('nsdgt',g,a,M) constructs a non-stationary Gabor frame with
  filters g, time-shifts of a and M channels. See the help on
  NSDGT for more information on the parameters. Similarly, you can
  construct a uniform NSDGT by selecting 'unsdgt', an NSDGT for
  real-valued signals only by selecting 'nsdgtreal' or a
  uniform NSDGT for real-valued signals by selecting 'unsdgtreal'.

  Wavelet frames
  --------------

  FRAME('fwt', w, J) constructs a wavelet frame with wavelet definition 
  w and J number of filterbank iterations. Similarly, a redundant time 
  invariant wavelet representation can be constructed by selecting 'ufwt'.
  See the help on FWT and UFWT for more information.

  FRAME('wfbt', wt) constructs a wavelet filterbank tree defined by
  the wavelet filterbank tree definition wt. Similarly, an undecimated
  wavelet filterbank tree can be constructed by selecting 'uwfbt'. See the
  help on WFBT and UWFBT for more information.

  FRAME('wpfbt', wt) constructs a wavelet packet filterbank tree 
  defined by the wavelet filterbank tree definition wt. Similarly, an
  undecimated wavelet packet filterbank tree can be constructed by selecting
  'uwpfbt'. See the help on WPFBT and UWPFBT for more information.

  Pure frequency frames
  ---------------------

  FRAME('dft') constructs a basis where the analysis operator is the
  DFT, and the synthesis operator is its inverse, IDFT. Completely
  similar to this, you can enter the name of any of the cosine or sine
  transforms DCTI, DCTII, DCTIII, DCTIV, DSTI, DSTII,
  DSTIII or DSTIV.

  FRAME('dftreal') constructs a normalized FFTREAL basis for
  real-valued signals of even length only. The basis is normalized
  to ensure that is it orthonormal.

  Special / general frames
  ------------------------

  FRAME('gen',g) constructs a general frame with a synthesis matrix g.
  The frame atoms must be stored as column vectors in the matrix.

  FRAME('identity') constructs the canonical orthonormal basis, meaning
  that all operators return their input as output, so it is the dummy
  operation.

  Container frames
  ----------------

  FRAME('fusion',w,F1,F2,...) constructs a fusion frame, which is
  the collection of the frames specified by F1, F2,... The vector
  w contains a weight for each frame. If w is a scalar, this weight
  will be applied to all the sub-frames.

  FRAME('tensor',F1,F2,...) constructs a tensor product frame, where the
  frames F1, F2,... are applied along the 1st, 2nd etc. dimensions. If
  you don't want any action along a specific dimension, use the identity
  frame along that dimension. Any remaining dimensions in the input
  signal are left alone.

  Wrapper frames
  --------------

  Frames types in this section are "virtual". They serve as a wrapper for
  a different type of frame.

  FRAME('erbletfb',fs,Ls,...) constructs an Erb-let filterbank frame for
  a given samp. frequency fs working with signals of length Ls. See
  ERBFILTERS for a description of additional parameters as all 
  parameters other than the frame type string 'erbletfb' are passed to it.
  NOTE: The resulting frame is defined only for a single signal length
  Ls. Shorter signals will be zero-padded, signals longer than Ls*
  cannot be processed.
  The actual frame type is 'filterbank' or 'filterbankreal'.

  FRAME('cqtfb',fs,fmin,fmax,bins,Ls,...) constructs a CQT filterbank 
  frame for a given samp. frequency fs working with signals of length 
  Ls. See CQTFILTERS for a description of other parameters.
  NOTE: The resulting frame is defined only for a single signal length
  Ls. Shorter signals will be zero-padded, signals longer than Ls*
  cannot be processed.
  The actual frame type is 'filterbank' or 'filterbankreal'.
 
  Examples
  --------

  The following example creates a Modified Discrete Cosine Transform frame,
  analyses an input signal and plots the frame coefficients:

     F=frame('wmdct','gauss',40);
     c=frana(F,greasy);
     plotframe(F,c,'dynrange',60);

Url: http://ltfat.github.io/doc/frames/frame.html

See also: frana, frsyn, plotframe.

Package: ltfat