Note: This page has been translated by MathWorks. Please click here

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

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

Interpolate by a factor of two using polyphase IIR

`dsp.IIRHalfbandInterpolator`

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. This object supports ARM^{®}
Cortex^{®} code
generation.

To upsample and interpolate your data:

Define and set up your halfband interpolator. See Construction.

Call

`step`

to filter the input signal according to the properties of`dsp.IIRHalfbandInterpolator`

. The input signal can be a real- or complex-valued column vector or matrix. If the input signal is a matrix, each column of the matrix is treated as an independent channel.

Starting in R2016b, instead of using the `step`

method
to perform the operation defined by the System
object™, you can
call the object with arguments, as if it were a function. For example, ```
y
= step(obj,x)
```

and `y = obj(x)`

perform
equivalent operations.

`IIRHalfbandInterp = dsp.IIRHalfbandInterpolator`

returns
an IIR halfband interpolation filter, `IIRHalfbandInterp`

,
with the default settings. Calling `step`

with the
default property settings upsamples and interpolates the input data
using a halfband frequency of `11025`

Hz, a transition
width of `4100`

Hz, and a stopband attenuation of `80`

dB.

sets
each property Name to the specified Value. Unspecified properties
have default values.`IIRHalfbandInterp`

= dsp.IIRHalfbandInterpolator(`Name,Value`

)

reset | Reset internal states of IIR halfband interpolator |

step | Filter input with IIR halfband interpolator |

For additional methods, see Analysis Methods for Filter System Objects.

For a complete list of analysis methods supported for the `dsp.IIRHalfbandInterpolator`

object,
enter `dsp.IIRHalfbandInterpolator.helpFilterAnalysis`

at
the MATLAB^{®} command prompt.

Common to All System Objects | |
---|---|

`clone` | Create System object with same property values |

`getNumInputs` | Expected number of inputs to a System object |

`getNumOutputs` | Expected number of outputs of a System object |

`isLocked` | Check locked states of a System object (logical) |

`release` | Allow System object property value changes |

[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.

IIR Halfband Interpolator | `dsp.FIRHalfbandDecimator`

| `dsp.FIRHalfbandInterpolator`

| `dsp.IIRHalfbandDecimator`

Was this topic helpful?