Skip to content Skip to navigation

Connexions

You are here: Home » Content » Interactive Digital Filter Design - Online Tool for IIR Filter and FIR Filter Design

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • NSF Partnership display tagshide tags

    This module is included inLens: NSF Partnership in Signal Processing
    By: Sidney Burrus

    Click the "NSF Partnership" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • National Instruments display tagshide tags

    This module is included in aLens by: National Instruments

    Comments:

    "The Digital Filter Design Utility is software that allows you to interactively specify and design floating point digital filters. This utility was created with LabVIEW and the LabVIEW Digital […]"

    Click the "National Instruments" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

Also in these lenses

  • Lens for Engineering

    This module is included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

  • richb's DSP display tagshide tags

    This module is included inLens: richb's DSP resources
    By: Richard Baraniuk

    Comments:

    "An excellent interactive LabVIEW-based FIR and IIR filter design tool."

    Click the "richb's DSP" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

  • NI Signal Processing display tagshide tags

    This module is included inLens: Digital Signal Processing with NI LabVIEW and the National Instruments Platform
    By: Sam Shearman

    Comments:

    "Digital Filter Design Utility for FIR / IIR design. Runs through your browser and offers an interactive user interface with immediate feedback based on the parameters you set. The utility was […]"

    Click the "NI Signal Processing" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Interactive Digital Filter Design - Online Tool for IIR Filter and FIR Filter Design

Module by: Erik Luther, Jim Cahow. E-mail the authorsEdited By: Sam Shearman

Summary: The Digital Filter Design Utility is software that allows you to interactively specify and design floating point digital filters. This utility was created with LabVIEW and the Digital Filter Design Toolkit and compiled into a stand-alone application for your use. The full Digital Filter Design Toolkit contains a complete set of filter design tools for designing a wide range of floating point and fixed point digital filters within an open environment, using an easy-to-learn interactive graphical programming language.

Digital Filter Design

Introduction to Digital Filter Design in LabVIEW

The Interactive Digital Filter Design Utility is a compiled LabVIEW applicaiton that allows you to interactively specify and design floating point digital IIR filters and FIR filters online. This utility was created with LabVIEW 8 and the LabVIEW Digital Filter Design Toolkit to provide an interacive tool for digital filter design. Only a portion of the functionality available in the LabVIEW Digital Filter Design Toolkit is used in this utility. The full toolkit contains a complete set of filter design tools for designing a wide range of floating point and fixed point digital filters. Once the LabVIEW plug-in has been installed, the Interactive Digital Filter Design utility will run within the box below.

Download LabVIEW Source

Download the full source code for the LabVIEW Interactive Digital Filter Design Utility here. This allows you to run the same Interactive Digital Filter Design Utility from your Windows PC without being connected to the web.

Requirements

The Digital Filter Design Utility can be run on Windows OS within this web page or downloaded for offline use. You will need to download and install the free LabVIEW Runtime Engine and enable the browser plug-in for local execution. Visit the following link for instructions on installing the LabVIEW Runtime Engine and configuring the browser plug-in to enable the Interactive Digital Filter Design Utility and other online web based LabVIEW applications.

How to Use the Digital Filter Design Utility

The Digital Filter Design Utility provides two filter design tools for either classical design or design by pole-zero placement.

Classical design mode allows you to specify a FIR or IIR filter design by setting design parameters such as filter type, sampling frequency, passband/stopband edge frequencies, passband and stopband ripple levels, and stopband attenuation. You can select from design methods that include Butterworth, Chebyshev, Inverse Chebyshev, Elliptic, Kaiser Window, Dolph-Chebyshev, and Equi-Ripple. LabVIEW will then use the design parameters to suggest a filter meeting as many of those specifications as possible. You are then free to optimize the design to meet your needs.

The pole-zero placement interface allows you specify the location of multiple poles and zero either by entering the coordinate locations directly or graphically by clicking on the z-plane. The resulting filter is then displayed using the Bode Plot.

The resulting filter coefficients can then be saved to a text file to facilitate deploying your design on real hardware or for further analysis.

Getting Started

To start a design, you first choose from one of the two available interactive design tools by making a selection from the tree control on the left side of the interface. Select Classical Design to design a filter based on specifications such as passband / stopband edge frequencies, passband ripple, and stopband attenuation. Select Pole-Zero Placement to design a filter by specifying the locations of poles and zeros on the complex plane.

The following sections detail how to work with each alternative.

Classical Filter Design

This tool allows you to design multiple digital filter types by adjusting the filter specifications manually or by interactively changing the passband and stopband cursors in the magnitude vs. frequency graph. As the cursors move, the pole/zero plot and the text based interface change dynamically to set the values for the desired filter.

Figure 1: The Classical Filter Design Interface
Digital Filter Design Utility
Digital Filter Design Utility (DFD1.JPG)

Classical Filter Parameter Descriptions

  • Filter Type: Specifies the type of filter you want. The default is a lowpass filter type. You also can select a highpass, bandpass, or bandstop filter type.

Filter Specification

  • Sampling Frequency [Hz]: Specifies the sampling frequency of the filter in hertz
  • Passband Edge Frequency [Hz]: Specifies the first passband edge frequency of the filter in hertz.
  • Passband Edge Frequency [Hz]: Specifies the second passband edge frequency of the filter in hertz. This option does not appear for lowpass or highpass filters.
  • Passband Ripple: Specifies the passband ripple of the filter in units determined by the Magnitude in dB option.
  • Stopband Edge Frequency [Hz]: Specifies the first stopband edge frequency of the filter in hertz.
  • Stopband Edge Frequency [Hz]: Specifies the second stopband edge frequency of the filter in hertz. This option does not appear for lowpass or highpass filters.
  • Stopband Attenuation: Specifies the stopband attenuation of the filter in units determined by the Magnitude in dB option.
  • Design Method: Specifies the method of filter design. The default is Elliptic. You also can select Butterworth, Chebyshev, Inverse Chebyshev, Kaiser Window, Dolph Chebyshev Window, and Equi Ripple FIR filter designs. Elliptic, Butterworth, Chebyshev, and Inverse Chebyshev designs are IIR filter designs. Kaiser Window, Dolph Chebyshev Window, and Equi Ripple FIR designs are FIR filter designs.

Design Feedback

  • Filter Order: Returns the order of the designed filter. For FIR filters, order +1 equals the number of coefficients or filter taps.
  • Error Message: Contains details about errors that occur during filter creation.
  • Magnitude in dB: Specifies whether the VI uses decibels or a linear scale to express the magnitude response and for entry of the Passband and Stopband Attenuation input parameters. If checked, the VI converts linear magnitude response to decibels.
  • Passband: Specifies the color of the lines in the magnitude plot that represent the passband response and the passband frequencies. The default is blue. Click the color box next to the parameter name to select a different color.
  • Stopband: Specifies the color of the lines in the magnitude plot that represent the stopband attenuation and the stopband frequencies. The default is red. Click the color box next to the parameter name to select a different color.
  • Magnitude: Contains the plot of the magnitude response. You can drag the cursors in the plot to change the specifications. The color you specify in passband represents the passband response and the passband frequencies. The color you specify in stopband represents the stopband attenuation and the stopband frequencies. The green vertical line in the graph represents the half sampling frequency, also known as the Nyquist frequency.
  • Z Plane: Contains the plot of the zeroes and poles of the filter in the Z plane.

Pole/Zero Placement Design

The Pole-Zero Placement Option allows you to interactively place and move poles and zeros on the z-plane. To do so, you can enter complex value coordinates to specify exact values or click on a graph of the complex half plane to move or place them with the mouse. The magnitude response of the resulting filter updates immediately as you place or move poles / zeros.

Figure 2: The Pole-Zero Placement Filter Design Interface
Digital Filter Design Utility
Digital Filter Design Utility (DFD2.JPG)

Zeroes

  • Real: Specifies the real part value if coordinates are rectangular, or the radius value if coordinates are polar.
  • Imag: Specifies the imaginary part value if coordinates are rectangular, or the angle value if coordinates are polar.
  • Is Real?: Makes the specified pole or zero point real if you place a checkmark in the checkbox.
  • Is Linear Phase Pair?: Makes the specified pole or zero a linear phase pair if you place a checkmark in the checkbox.
  • On Unit Circle?: Places the pole or zero point on the unit circle if you place a checkmark in the checkbox.
  • Order: Specifies the order of the pole or zero.

Poles

  • Specifies the properties for each pole in the filter. Contains the following options:
  • Real: Specifies the real part value if coordinates are rectangular, or the radius value if coordinates are polar.
  • Imag: Specifies the imaginary part value if coordinates are rectangular, or the angle value if coordinates are polar.
  • Is Real?: Makes the specified pole or zero point real if you place a checkmark in the checkbox.
  • Is Linear Phase Pair?: Makes the specified pole or zero a linear phase pair if you place a checkmark in the checkbox.
  • On Unit Circle?: Places the pole or zero point on the unit circle if you place a checkmark in the checkbox.
  • Order: Specifies the order of the pole or zero.

Filter Settings

  • Gain: Sets the gain of the filter manually. You can use this control only if you remove the checkmark from the Normalized Gain checkbox.
  • Normalized Gain: Specifies whether the VI automatically adjusts the gain of the filter. The default contains a checkmark in the checkbox, in which the VI adjusts the gain so the maximum response is 1.0 (0 dB). Remove the checkmark from the checkbox to adjust the gain manually with the Gain control.
  • fs [Hz]: Specifies the sampling frequency in hertz. The input must contain a value greater than zero.
  • Coordinates: Specifies whether the VI displays poles and zeroes in rectangular or polar coordinates. The default is rectangular coordinates.
  • Load Filter from File: Opens a file dialog you can use to select a file of a filter that loads into the Express VI.
  • Zero: Specifies the color of the zeroes in the Z Plane plot. The default is blue. Click the color box next to the parameter name to select a different color.
  • Pole: Specifies the color of the poles in the Z Plane plot. The default is red. Click the color box next to the parameter name to select a different color.
  • Delete selected: Deletes the selected pole or zero from the filter.
  • Add Zero: Adds a zero to the filter.
  • Add Pole: Adds a pole to the filter.
  • Z Plane: Plots the number and location of poles and zeroes.
  • Magnitude: Plots the filter magnitude response.
  • Magnitude in dB: Specifies whether the VI uses decibels or a linear scale in the magnitude plot. If a checkmark is in the checkbox, the VI converts linear magnitude response to decibels.

LabVIEW Resources

To simplify working in LabVIEW with the filters that you design with the interactive utility on this page, we have posted several utility VIs for LabVIEW that allow you to import and export the designs that you save or load using the "Save Filter Spec" or "Load Filter Spec" buttons from the utility. You can download a zip file containing these utilities here.

What is LabVIEW?

LabVIEW is a graphical programming & mathematics environment for designing, prototyping, and deploying systems. The Interactive Digital Filter Design Utility included on this site was built using LabVIEW 8 and the LabVIEW Digital Filter Design Toolkit.

The LabVIEW Digital Filter Design Toolkit is a software add-on for LabVIEW that facilitates specification, design, analysis, and implementation of digital filters. Without prior knowledge about programming in LabVIEW, you can use the Digital Filter Design Toolkit Express VIs to interact graphically with filter specifications to design digital filters. For more information on the LabVIEW Digital Filter Design toolkit, view the online web event Designing Digital Filters with NI LabVIEW and the Digital Filter Design Toolkit.

The LabVIEW Digital Filter Design Toolkit provides VIs that you can use to design a digital IIR or FIR filter, analyze the characteristics of the digital filter, change the implementation structure of the digital filter, and process data with the digital filter. Besides the floating point support, the LabVIEW Digital Filter Design Toolkit provides a set of VIs that you can use to generate a fixed point digital filter model, analyze the characteristics of the fixed point digital filter, simulate the performance of the fixed point digital filter, and generate integer C or LabVIEW code for a specific fixed point target. In addition to tools that help you create conventional digital filters, the LabVIEW Digital Filter Design Toolkit includes tools for multirate digital filter design.

Visit ni.com for more information about the LabVIEW Digital Filter Design Toolkit and other NI products and resources.

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks