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 and data type.
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 R2015bSee Also
Functions
freqz
|freqzmr
|filterAnalyzer
|info
|cost
|polyphase
|outputDelay
|designHalfbandIIR