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