mfilt.iirwdfinterp
IIR wave digital filter interpolator
mfilt.iirwdfinterp
will be removed in a future release. Use
dsp.IIRHalfbandInterpolator
instead.
Syntax
hm = mfilt.iirwdfinterp(c1,c2,...)
Description
hm = mfilt.iirwdfinterp(c1,c2,...)
constructs an IIR wave digital interpolator given the coefficients specified in the cell
arrays c1
, c2
, and so on. The IIR interpolator
hm
is a polyphase IIR filter where each phase is a cascade wave
digital allpass IIR filter.
Each cell array ci
contains a set of vectors representing a cascade
of allpass sections. Each element in one cell array is one section. For more information
about the contents of each cell array, refer to
dfilt.cascadewdfallpass
. The contents of the cell arrays are
the same for both filter constructors and mfilt.iirwdfinterp
interprets them same way as mfilt.cascadewdfallpass
.
The following exception applies to interpreting the contents of a cell array —
if one of the cell arrays ci
contains only one vector, and that
vector comprises a series of 0s and one element equal to 1, that cell array represents a
dfilt.delay
section with latency equal to the number of zeros,
rather than a dfilt.cascadewdfallpass
section. This exception occurs
with quasi-linear phase IIR interpolators.
Usually you do not construct IIR wave digital filter interpolators explicitly. Rather, you obtain an IIR wave digital interpolator as a result of designing a halfband interpolator. The first example in the following section illustrates this case.
Examples
Design an elliptic halfband interpolator with interpolation factor equal to 2. At the end of the design process, hm is an IIR wave digital filter interpolator.
tw = 100; % Transition width of filter, 100 Hz. ast = 80; % Stopband attenuation of filter, 80 dB. fs = 2000; % Sampling frequency after interpolation. l = 2; % Interpolation factor. d = fdesign.interpolator(l,'halfband','tw,ast',tw,ast,fs);
The specification object d
stores the interpolator design
requirements. Now use d
to design the actual filter
hm
.
hm = design(d,'ellip','filterstructure','iirwdfinterp');
If you have Simulink® installed, you can realize your filter as a model built from DSP System Toolbox™ blocks.
% Note that realizemdl requires Simulink realizemdl(hm) % Build model of the filter.
For variety, design a linear phase halfband interpolator with an interpolation factor of 2.
tw = 100; % Transition width of filter, 100 Hz. ast = 80; % Stopband attenuation of filter, 80 dB. fs = 2000; % Sampling frequency after interpolation. l = 2; % Interpolation factor. d = fdesign.interpolator(l,'halfband','tw,ast',tw,ast,fs);
Now perform the actual design process with d
. Filter
hm
is an IIR wave digital filter interpolator. As in the previous
example, realizemdl
returns a Simulink model of the filter if you have Simulink installed.
hm = design(d,'iirlinphase','filterstructure',... 'iirwdfinterp'); % Note that realizemdl requires Simulink realizemdl(hm) % Build model of the filter.
Version History
Introduced in R2011a