Function: blfilter
BLFILTER  Construct a band-limited filter
  Usage:  g=blfilter(winname,fsupp,fc);
          g=blfilter(winname,fsupp,fc,...);

  Input parameters:
     winname  : Name of prototype
     fsupp    : Support length of the prototype

  BLFILTER(winname,fsupp) constructs a band-limited filter. The parameter
  winname specifies the shape of the frequency response. The name must be
  one of the shapes accepted by FIRWIN. The support of the frequency
  response measured in normalized frequencies is specified by fsupp.

  BLFILTER(winname,fsupp,fc) constructs a filter with a centre
  frequency of fc measured in normalized frequencies.

  If one of the inputs is a vector, the output will be a cell array
  with one entry in the cell array for each element in the vector. If
  more input are vectors, they must have the same size and shape and the
  the filters will be generated by stepping through the vectors. This
  is a quick way to create filters for FILTERBANK and UFILTERBANK.

  BLFILTER accepts the following optional parameters:

    'fs',fs     If the sampling frequency fs is specified then the support
                fsupp and the centre frequency fc is specified in Hz.

    'complex'   Make the filter complex valued if the centre frequency
                is non-zero. This is the default.

    'real'      Make the filter real-valued if the centre frequency
                is non-zero.

    'delay',d   Set the delay of the filter. Default value is zero.

    'scal',s    Scale the filter by the constant s. This can be
                useful to equalize channels in a filter bank.

    'pedantic'  Force window frequency offset (g.foff) to a subsample 
                precision by a subsample shift of the firwin output.
                

  It is possible to normalize the transfer function of the filter by
  passing any of the flags from the NORMALIZE function. The default
  normalization is 'energy'.

  The filter can be used in the PFILT routine to filter a signal, or
  in can be placed in a cell-array for use with FILTERBANK or
  UFILTERBANK.

  Output format:
  --------------

  The output g from BLFILTER is a structure. This type of structure can
  be used to describe any bandlimited filter defined in terms of its
  transfer function. The structure contains the following fields:

    g.H     This is an anonymous function taking the transform length L as
            input and producing the bandlimited transfer function in the
            form of a vector.

    g.foff  This is an anonymous function taking the transform length L as
            input and procing the frequency offset of H as an integer. The
            offset is the value of the lowest frequency of H measured in
            frequency samples. foff is used to position the bandlimited
            tranfer function stored in H correctly when multiplying in the
            frequency domain.

    g.delay  This is the desired delay of the filter measured in samples.

    g.realonly
            This is an integer with value 1 if the filter defined a
            real-valued filter. In this case, the bandlimited transfer
            function H will be mirrored from the positive frequencies to
            the negative frequencies. If the filter is a natural lowpass
            filter correctly centered around 0, realonly does not need
            to be 1.

    g.fs    The intended sampling frequency. This is an optional parameter
            that is *only* used for plotting and visualization.

Url: http://ltfat.github.io/doc/sigproc/blfilter.html

See also: firfilter, firwin, pfilt, filterbank.

Package: ltfat