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.IIRHalfbandInterpolator
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
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 R2015b