# dsp.VariableBandwidthIIRFilter

Variable bandwidth IIR filter

## Description

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?

## Creation

### Description

returns a variable bandwidth IIR filter object which independently 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 passband frequency
can 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.`vbwIIR`

= dsp.VariableBandwidthIIRFilter

returns a variable bandwidth IIR filter with additional properties specified by one or
more `vbwIIR`

= dsp.VariableBandwidthIIRFilter(`Name=Value`

)`Name=Value`

pair arguments. `Name`

is the
property name and `Value`

is the corresponding value. For example,
`PassbandFrequency=512`

sets the passband frequency to 512 Hz.

## Properties

## Usage

### Syntax

### Description

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.

### 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

This filter covers frequency transformations. The algorithm designs a lowpass IIR prototype
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 algorithm sets the prototype passband frequency to 0.5. If the
`FilterType`

property is `'Lowpass'`

or
`'Highpass'`

, the order of the prototype filter is equal to the value
of `FilterOrder`

. If the `FilterType`

property is
`'Bandpass'`

or `'Bandstop'`

, the order of the
prototype filter 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.

## References

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

## Extended Capabilities

## Version History

**Introduced in R2014a**

## See Also

### Functions

`freqz`

|`filterAnalyzer`

|`impz`

|`info`

|`coeffs`

|`cost`

|`grpdelay`

|`outputDelay`