Contenido principal

hexagon.IIRInterpolator

R2026b

Interpolate signals using cascaded biquad IIR filter optimized for QHL

Since R2026b

Description

The hexagon.IIRInterpolator System object™ performs infinite impulse response (IIR) interpolation on input samples using cascaded biquad filters optimized for Qualcomm® Hexagon® library (QHL) with a specified interpolation factor.

To perform IIR interpolation:

  1. Create the hexagon.IIRInterpolator object and set its properties.

  2. Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects?

You can deploy the code generated using the hexagon.IIRInterpolator System object to one of these boards that are available under the Hardware board parameter in Configuration Parameters:

  • Qualcomm Hexagon Android Board

  • Qualcomm Hexagon Linux Board

Creation

Description

obj = hexagon.IIRInterpolator(InterpolationFactor=interpolationfactor) creates an IIR interpolator System object with the specified interpolation factor.

example

Properties

expand all

Unless otherwise indicated, properties are nontunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the release function unlocks them.

If a property is tunable, you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects.

Interpolation factor, specified as a positive scalar.

Data Types: single | double

Usage

Description

y = obj(in,coeff) interpolates the input signal in using cascaded biquad filters.

Input Arguments

expand all

Input signal samples, specified as a column vector, or matrix. The input length must be less than 512/interpolation factor.

If the input signal is a matrix, the block treats each column of the matrix as an independent channel.

Data Types: single

IIR filter coefficients, specified as a vector of biquad section coefficients formatted for QHL execution. Specify each biquad section using five coefficients in the following order:

[b0,b1,a1,b2,a2]
The coefficient a0 is 1, and the block normalizes all other coefficients with respect to a0.

To use multiple biquad sections, concatenate the coefficients for each section into a single row vector in the specified order.

Note

The length of the IIR filter coefficient vector must remain constant during each System object execution.

Data Types: single

Output Arguments

expand all

Output of the interpolator, returned as a column vector or a matrix.

Data Types: single

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)

expand all

stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset internal states of System object

Examples

collapse all

Create an IIR interpolator object and set the interpolation factor.

obj = hexagon.IIRInterpolator(InterpolationFactor = 2);

Create input signal samples and filter coefficients for the IIR filter.

in = rand(240,10,'single');
coeff = single([
    0.238129, 0.476258, -0.267690, 0.238129, 0.281005, ...
    0.238129, 0.476258, -0.267690, 0.238129, 0.281005, ...
    0.238129, 0.476258, -0.267690, 0.238129, 0.281005]);

Interpolate the input signal samples.

y = obj(in,coeff);

Version History

Introduced in R2026b