Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Variable bandwidth IIR filter

The `dsp.VariableBandwidthIIRFilter`

object filters each channel of the
input using IIR filter implementations. It does so while having the capability of tuning the
bandwidth.

To filter each channel of the input:

Create the

`dsp.VariableBandwidthIIRFilter`

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? (MATLAB).

`vbwIIR = dsp.VariableBandwidthIIRFilter`

`vbwIIR = dsp.VariableBandwidthIIRFilter(Name,Value)`

returns a System
object™, `vbwIIR`

= dsp.VariableBandwidthIIRFilter`vbwIIR`

, which independently filters each channel of
the input over successive calls to the algorithm. This System
object uses a specified IIR filter implementation. The filter’s passband frequency
may be tuned during the filtering operation. The variable bandwidth IIR filter is designed
using the elliptical method. The filter is tuned using IIR spectral transformations based
on allpass filters.

returns a variable bandwidth IIR filter System
object, `vbwIIR`

= dsp.VariableBandwidthIIRFilter(`Name,Value`

)`vbwIIR`

, with each property set to the specified value.
You can specify additional name-value pair arguments in any order as
(`Name1,Value1,...,NameN,ValueN`

).

**For versions earlier than R2016b, use the step
function to run the System object algorithm. The arguments to
step are the object you created, followed by
the arguments shown in this section.**

**For example, y = step(obj,x) and y = obj(x) perform equivalent operations.**

`y = vbwIIR(x)`

filters
the real or complex input signal `y`

= vbwIIR(`x`

)`x`

using a variable bandwidth IIR
filter to produce the output `y`

. The variable bandwidth IIR filter
object operates on each channel, which means the object filters every column of the input
signal independently over successive calls to the algorithm.

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)

This filter covers frequency transformations. A lowpass IIR
prototype is designed, using the elliptical method by specifying its
order, passband frequency, passband ripple and stopband attenuation.
The passband ripple and stopband attenuation are equal to the values
of the `PassbandRipple`

and `StopbandAttenuation`

properties.
The prototype passband frequency is set to 0.5. If the `FilterType`

property
is `'Lowpass'`

or `'Highpass'`

,
the prototype’s order is equal to the value of `FilterOrder`

.
If the `FilterType`

property is `'Bandpass'`

or `'Bandstop'`

,
the prototype filter order is equal to `FilterOrder/2`

.
The prototype is a Direct Form II Transposed cascade of second-order
sections (Biquad filter). The prototype is transformed into the desired
filter using the algorithms used in Digital Frequency Transformations. Each prototype
SOS section is transformed separately. When `FilterType`

is `'Lowpass'`

or `'Highpass'`

,
the resulting filter remains a Direct Form II Transposed cascade of
second order sections. If the `FilterType`

is `'Bandpass'`

or `'Bandstop'`

,
the resulting filter is a cascade of Direct Form II Transposed cascade
of fourth order sections.

[1] A. G. Constantinides. “Spectral transformations for digital filters”, Proc. Inst. Elect. Eng. Vol. 117, No. 8, 1970, pp. 1585-1590.

`dsp.AllpoleFilter`

|`dsp.BiquadFilter`

|`dsp.FIRFilter`

|`dsp.IIRFilter`

|`dsp.VariableBandwidthFIRFilter`