dsp.IIRHalfbandDecimator
Decimate by factor of two using polyphase IIR
Description
Thedsp.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 thedsp.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, seeWhat 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 of22050
Hz, a transition width of4100
Hz, and a stopband attenuation of80
dB.
returns an IIR halfband decimator, with additional properties specified by one or moreiirhalfbanddecim
= 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 to9
and stopband attenuation set to80
dB.
Properties
Usage
Description
[
computes theylow
,yhigh
] = iirhalfbanddecim(x
)ylow
andyhigh
, of the analysis filter bank,iirhalfbanddecim
for inputx
. AKi-by-Ninput matrix is treated asNindependent channels. The System object generates two power-complementary output signals by adding and subtracting the two polyphase branch outputs respectively.ylow
andyhigh
are of the same size (Ko-by-N) and data type.Ko=Ki/2, where2
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 namedobj
, 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.