dsp.IIRHalfbandDecimator
Decimate by factor of two using polyphase IIR
Description
The dsp.IIRHalfbandDecimator
System object™ performs efficient polyphase decimation of the input signal by a factor of two.
To design the halfband filter, you can specify the object to use an elliptic design or a
quasi-linear phase design. The object uses these design methods to compute the filter
coefficients. To filter the inputs, the object uses a polyphase structure. The allpass filters
in the polyphase structure are in a minimum multiplier form.
Elliptic design introduces nonlinear phase and creates the filter using fewer coefficients than quasi linear design. Quasi-linear phase design overcomes phase nonlinearity at the cost of additional coefficients.
Alternatively, instead of designing the halfband filter using a design method, you can specify the filter coefficients directly. When you choose this option, the allpass filters in the two branches of the polyphase implementation can be in a minimum multiplier form or in a wave digital form.
You can also use the dsp.IIRHalfbandDecimator
object to implement the
analysis portion of a two-band filter bank to filter a signal into lowpass and highpass
subbands.
To filter and downsample your data:
Create the
dsp.IIRHalfbandDecimator
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Syntax
Description
returns a halfband decimator, iirhalfbanddecim
= dsp.IIRHalfbandDecimatoriirhalfbanddecim
, with the default
settings. Under the default settings, the System object filters and downsamples the input data with a halfband frequency of
22050
Hz, a transition width of 4100
Hz, and a
stopband attenuation of 80
dB.
returns an IIR halfband decimator, with additional properties specified by one or more
iirhalfbanddecim
= dsp.IIRHalfbandDecimator(Name,Value
)Name,Value
pair arguments.
Example: iirhalfbanddecim = dsp.IIRHalfbandDecimator('Specification','Filter
order and stopband attenuation')
creates an IIR halfband decimator object with
filter order set to 9
and stopband attenuation set to
80
dB.
Properties
Usage
Description
[
computes the ylow
,yhigh
] = iirhalfbanddecim(x
)ylow
and yhigh
, of the analysis
filter bank, iirhalfbanddecim
for input x
. A
Ki-by-N input matrix is treated as
N independent channels. The System object generates two power-complementary output signals by adding and subtracting
the two polyphase branch outputs respectively. ylow
and
yhigh
are of the same size
(Ko-by-N) and data type. Ko =
Ki/2, where 2
is the decimation factor.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
Examples
Algorithms
References
[1] Lang, M. Allpass Filter Design and Applications. IEEE Transactions on Signal Processing. Vol. 46, No. 9, Sept 1998, pp. 2505–2514.
[2] Harris, F.J. Multirate Signal Processing for Communication Systems. Prentice Hall. 2004, pp. 208–209.
[3] Regalia, Phillip A., Sanjit K. Mitra, and P. P. Vaidyanathan. "The Digital All-Pass Filter: A Versatile Signal Processing Building Block." Proceedings of the IEEE. Vol. 76, Number 1, 1988, pp. 19-37.
Extended Capabilities
Version History
Introduced in R2015b