Main Content

Arbitrary Response Filter

(To be removed) Design arbitrary response filter

The Arbitrary Response Filter block will be removed in a future release. Use the Discrete FIR Filter (Simulink) block or the Second-Order Section Filter block instead.

Library

Filtering / Filter Designs

dspfdesign

  • Arbitrary Response Filter block

Description

This block brings the filter design capabilities of the filterBuilder function to the Simulink® environment.

This block supports C/C++ code generation and SIMD code generation. For details, see Code Generation.

Dialog Box

See Arbitrary Response Filter Design — Main Pane for more information about the parameters of this block. The Data Types and Code Generation panes are not available for blocks in the DSP System Toolbox™ Filter Designs library.

View filter response

This button opens the Filter Visualization Tool (FVTool) from the Signal Processing Toolbox™ product. You can use the tool to display:

  • Magnitude response, phase response, and group delay in the frequency domain.

  • Impulse response and step response in the time domain.

  • Pole-zero information.

The tool also helps you evaluate filter performance by providing information about filter order, stability, and phase linearity. For more information on FVTool, see the Signal Processing Toolbox documentation.

Filter Specifications

In this group, you specify your filter format, such as the impulse response and the filter order.

Impulse response

Select either FIR or IIR from the drop down list, where FIR is the default. When you choose an impulse response, the design methods and structures you can use to implement your filter change accordingly.

Order mode

Select Minimum or Specify from the drop-down list. Selecting Specify enables the Order option so you can enter the filter order. When you set the Impulse response to IIR, you can specify different numerator and denominator orders. To specify a different denominator order, you must select the Denominator order check box.

Order

Enter the order for FIR filter, or the order of the numerator for the IIR filter.

Denominator order

Select the check box and enter the denominator order. This option is enabled only if IIR is selected for Impulse response.

Filter type

This option is available for FIR filters only. Select Single-rate, Decimator, Interpolator, or Sample-rate converter. Your choice determines the type of filter as well as the design methods and structures that are available to implement your filter. By default, the block specifies a single-rate filter.

  • Selecting Decimator or Interpolator activates the Decimation Factor or the Interpolation Factor options respectively.

  • Selecting Sample-rate converter activates both factors.

Decimation Factor

Enter the decimation factor. This option is enabled only if the Filter type is set to Decimator or Sample-rate converter. The default value is 2.

Interpolation Factor

Enter the interpolation factor. This option is enabled only if the Filter type is set to Interpolator or Sample-rate converter. The default value is 2.

Response Specification

Number of Bands

Select the number of bands in the filter. Multiband design is available for both FIR and IIR filters.

Specify response as

Specify the response as Amplitudes, Magnitudes and phases, Frequency response, or Group delay. Group delay is only available for IIR designs.

Frequency units

Specify frequency units as either Normalized, which means normalized by the input sampling frequency, or select from Hz, kHz, MHz, or GHz.

Input sample rate

Enter the input sampling frequency in the units specified in the Frequency units drop-down list. When you select the frequency units, this option is available.

Band Properties

These properties are modified automatically depending on the response chosen in the Specify response as drop-down list. Two or three columns are presented for input. The first column is always Frequencies. The other columns are Amplitudes, Magnitudes, Phases, or Frequency Response. Enter the corresponding vectors of values for each column.

  • Frequencies and Amplitudes — These columns are presented for input if the response chosen in the Specify response as drop-down list is Amplitudes.

  • Frequencies, Magnitudes, and Phases — These columns are presented for input if the response chosen in the Specify response as drop-down list is Magnitudes and phases.

  • Frequencies and Frequency response — These columns are presented for input if the response chosen in the Specify response as drop-down list is Frequency response.

Algorithm

Design Method

Select the design method for the filter. Different methods are enabled depending on the defining parameters entered in the previous sections.

Design Options

The options for each design are specific for each design method. This section does not present all of the available options for all designs and design methods. There are many more that you encounter as you select different design methods and filter specifications.

  • Window — Replace the square brackets with the name of a window window function or function handle. For example, hamming or @hamming. If the window function takes parameters other than the length, use a cell array. For example, {'kaiser',3.5} or {@chebwin,60}.

  • Density factor — Valid when the Design method is Equiripple. Density factor controls the density of the frequency grid over which the design method optimization evaluates your filter response function. The number of equally spaced points in the grid is the value you enter for Density factor times (filter order + 1).

    Increasing the value creates a filter that more closely approximates an ideal equiripple filter but increases the time required to design the filter. The default value of 16 represents a reasonable trade-off between the accurate approximation to the ideal filter and the time to design the filter.

  • Phase constraint — Valid when the Design method is Equiripple, you have the DSP System Toolbox installed, and Specify response as is set to Amplitudes. Choose one of Linear, Minimum, or Maximum.

  • Weights — Valid when the Design method is Equiripple. Uses the weights in Weights to weight the error for a single-band design. If you have multiple frequency bands, the Weights design option changes to B1 Weights, B2 Weights to designate the separate bands.

Filter Implementation

Structure

Select the structure for the filter, available for the corresponding design method.

Use basic elements to enable filter customization

Select this check box to implement the filter as a subsystem of basic Simulink blocks. Clear the check box to implement the filter as a high-level subsystem. By default, this check box is cleared.

The high-level implementation provides better compatibility across various filter structures, especially filters that would contain algebraic loops when constructed using basic elements. On the other hand, using basic elements enables the following optimization parameters:

  • Optimize for zero gains — Terminate chains that contain Gain blocks with a gain of zero.

  • Optimize for unit gains — Remove Gain blocks that scale by a factor of one.

  • Optimize for delay chains — Substitute delay chains made up of n unit delays with a single delay by n.

  • Optimize for negative gains — Use subtraction in Sum blocks instead of negative gains in Gain blocks.

Optimize for unit-scale values

Select this check box to scale unit gains between sections in SOS filters. This parameter is available only for SOS filters.

Input processing

Specify how the block should process the input. The available options may vary depending on he settings of the Filter Structure and Use basic elements for filter customization parameters. You can set this parameter to one of the following options:

  • Columns as channels (frame based) — When you select this option, the block treats each column of the input as a separate channel.

  • Elements as channels (sample based) — When you select this option, the block treats each element of the input as a separate channel.

Rate options

When the Filter type parameter specifies a multirate filter, select the rate processing rule for the block from following options:

  • Enforce single-rate processing — When you select this option, the block maintains the sample rate of the input.

  • Allow multirate processing — When you select this option, the block adjusts the rate at the output to accommodate an increased or reduced number of samples. To select this option, you must set the Input processing parameter to Elements as channels (sample based).

Use variable names for coefficients

Select this check box to enable the specification of coefficients using MATLAB® variables. The available coefficient names differ depending on the filter structure. Using symbolic names allows tuning of filter coefficients in generated code. By default, this check box is cleared.

Supported Data Types

PortSupported Data Types

Input

  • Double-precision floating point

  • Single-precision floating point

Output

  • Double-precision floating point

  • Single-precision floating point

Extended Capabilities

Version History

Introduced in R2009b

collapse all

R2024a: Arbitrary Response Filter block will be removed

The Arbitrary Response Filter block will be removed in a future release. Use the Discrete FIR Filter (Simulink) block or the Second-Order Section Filter block instead.