dsp.IIRHalfbandInterpolator
Interpolate by a factor of two using polyphase IIR
Description
The dsp.IIRHalfbandInterpolator
System object™ performs efficient polyphase interpolation 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 dsp.IIRHalfbandInterpolator object to implement the
synthesis portion of a two-band filter bank to synthesize a signal from lowpass and highpass
subbands.
To upsample and interpolate your data:
Create the
dsp.IIRHalfbandInterpolatorobject 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
iirhalfbandinterp = dsp.IIRHalfbandInterpolator returns an IIR
halfband interpolation filter, iirhalfbandinterp, with the default
settings. Under the default settings, the System object upsamples and interpolates the input data using a halfband frequency of
22050 Hz, a transition width of 4100 Hz, and a
stopband attenuation of 80 dB.
returns an IIR halfband interpolator, with additional properties specified by one or more
iirhalfbandinterp = dsp.IIRHalfbandInterpolator(Name=Value)Name-Value pair arguments.
Example: iirhalfbandinterp = dsp.IIRHalfbandInterpolator(Specification="Filter
order and stopband attenuation") creates an IIR halfband interpolator object
with filter order set to 9 and stopband attenuation set to
80 dB.
Properties
Usage
Description
implements a halfband synthesis filter bank for the inputs y = iirhalfbandinterp(x1,x2)x1 and
x2. x1 is the lowpass output of a halfband
analysis filter bank and x2 is the highpass output of a halfband
analysis filter bank. dsp.IIRHalfbandInterpolator implements a synthesis
filter bank only when the FilterBankInputPort property is
true.
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








