Main Content

Nyquist Filter

Design Nyquist filter


Filtering / Filter Designs


  • Nyquist Filter block


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

This block supports SIMD code generation. For details, see Code Generation.

Dialog Box

See Nyquist 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.

Parameters of this block that do not change filter order or structure are tunable.

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.


Specifies the location of the center of the transition region between the passband and the stopband. The center of the transition region, Fc, is calculated using the value for Band:

Fc = Fs/(2·Band).

The default value, 2, corresponds to a halfband filter.

Impulse response

Select either FIR or IIR from the drop-down list. FIR is the default. When you choose an impulse response, the design methods and structures you can use to implement your filter change accordingly. These options are both available only when Band is 2. For values of Band greater than 2, only FIR designs are supported.


The design methods and structures for FIR filters are not the same as the methods and structures for IIR filters.

Filter order mode

Select either Minimum (the default) or Specify from the drop-down list. Selecting Specify enables the Order option (see the following sections) so you can enter the filter order.

Filter type

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.


Enter the filter order. This option is enabled only if Specify was selected for Filter order mode.

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.

Frequency Specifications

The parameters in this group allow you to specify your filter response curve.

Frequency constraints

Select the filter features that the block uses to define the frequency response characteristics.

Frequency units

Use this parameter to specify whether your frequency settings are normalized or in absolute frequency. Select Normalized (0–1) to enter frequencies in normalized form. This behavior is the default. To enter frequencies in absolute values, select one of the frequency units from the drop-down list—Hz, kHz, MHz, or GHz. Selecting one of the unit options enables the Input sample rate parameter.

Input sample rate

Fs, specified in the units you selected for Frequency units, defines the sampling frequency at the filter input. When you provide an input sampling frequency, all frequencies in the specifications are in the selected units as well. This parameter is available when you select one of the frequency options from the Frequency units list.

Transition width

Specify the width of the transition between the end of the passband and the edge of the stopband. Specify the value in normalized frequency units or the absolute units you select in Frequency units.

Magnitude Specifications

Parameters in this group specify the filter response in the passbands and stopbands.

Magnitude units

Specify the units for any parameter you provide in magnitude specifications. From the drop-down list, select one of the following options:

  • Linear — Specify the magnitude in linear units.

  • dB — Specify the magnitude in decibels (default)

  • Squared — Specify the magnitude in squared units.

Stopband attenuation

Enter the filter attenuation in the stopband in the units you choose for Magnitude units, either linear or decibels.


The parameters in this group allow you to specify the design method and structure of your filter.

Design Method

Lists the design methods available for the frequency and magnitude specifications you entered. When you change the specifications for a filter, such as changing the impulse response, the methods available to design filters changes as well. The default IIR design method is Butterworth, and the default FIR method is Kaiser window.

Scale SOS filter coefficients to reduce chance of overflow

Selecting this parameter directs the design to scale the filter coefficients to reduce the chances that the inputs or calculations in the filter overflow and exceed the representable range of the filter. Clearing this option removes the scaling. This parameter applies only to IIR filters.

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. The following options represent some of the most common ones available.

Density factor

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 20 represents a reasonable trade between the accurate approximation to the ideal filter and the time to design the filter.

Minimum order

When you select this parameter, the design method determines and design the minimum order filter to meet your specifications. Some filters do not provide this parameter. Select Any, Even, or Odd from the drop-down list to direct the design to be any minimum order, or minimum even order, or minimum odd order.

Stopband Shape

Stopband shape lets you specify how the stopband changes with increasing frequency. Choose one of the following options:

  • Flat — Specifies that the stopband is flat. The attenuation does not change as the frequency increases.

  • Linear — Specifies that the stopband attenuation changes linearly as the frequency increases. Change the slope of the stopband by setting Stopband decay.

Stopband Decay

When you set Stopband shape, Stopband decay specifies the amount of decay applied to the stopband. the following conditions apply to Stopband decay based on the value of Stopband Shape:

  • When you set Stopband shape to Flat, Stopband decay has no affect on the stopband.

  • When you set Stopband shape to Linear, enter the slope of the stopband in units of dB/rad/s. The block applies that slope to the stopband.

  • When you set Stopband shape to 1/f, enter a value for the exponent n in the relation (1/f)n to define the stopband decay. The block applies the (1/f)n relation to the stopband to result in an exponentially decreasing stopband attenuation.

Filter Implementation


For the filter specifications and design method you select, this parameter lists the filter structures available to implement your filter.

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.

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


  • Double-precision floating point

  • Single-precision floating point


  • Double-precision floating point

  • Single-precision floating point

Extended Capabilities

Version History

Introduced in R2006b