Filter Design Toolbox    

Advanced IIR Filter Designs

Many digital filters use both input values and previous output values from the filter to calculate the current output value. FIR filters can be implemented with feedback, although this is unusual. Cascaded integrated comb filters are one example.

For IIR filters, the transfer function is a ratio of polynomials:

Filter Design Toolbox introduces three functions: iirlpnorm, iirlpnormc, and iirgrpdelay for designing IIR filters that design optimal solutions to your filter requirements. With these new filter functions, you can design filters to meet your specifications that you could not design using the IIR filter design functions in Signal Processing Toolbox.

Function iirlpnorm uses a least-pth norm unconstrained optimization algorithm to design IIR filters that have arbitrary shape magnitude response curves. iirlpnormc uses a least-pth norm optimization algorithm as well, only this version is constrained to let you restrict the radius of the poles of the IIR filter.

To let you design allpass IIR filters that meet a prescribed group delay specification, iirgrpdelay uses a least-pth constrained optimization algorithm. For basic information about the least-pth algorithms used in the IIR filter design functions, refer to Digital Filters by Antoniou [1].

This section uses examples to introduce the IIR filter design functions in the toolbox. As you review these examples, you may notice that the IIR design functions use the same syntax, input, and output arguments. Because the design functions use very similar algorithms, common input and output arguments apply. Arguments are used in the same way, and carry the same defaults and restrictions. That said, if an example of one IIR function uses a syntax that does not appear under another IIR design function, chances are you can use the first syntax in the other design function as well.

Examples -- Using Filter Design Toolbox Functions to Design IIR Filters

Filter Design Toolbox provides new capabilities for IIR filter design. Because of the comprehensive nature of the new IIR design functions, learning by example is the best way to discover what you can do with them. This section presents a series of examples that investigate the filters you can implement through IIR filter design in Filter Design Toolbox. You can view these examples as a demonstration program in MATLAB by opening the MATLAB demos and selecting Filter Design from Toolboxes. Listed there you see a number of demonstration programs. Select one of the following demos to see the IIR filter design functions being used to design a variety of filters:

To Open the IIR Filter Design Demos

Follow these steps to open the IIR filter design demos:

  1. Start MATLAB.
  2. At the MATLAB prompt, enter demos.
  1. The MATLAB Demo Window dialog opens.

  1. On the list on the left, double-click Toolboxes to expand the directory tree.
  1. You see a list of the toolbox demonstration programs available in MATLAB.

  1. Select Filter Design.
  2. From the list on the right, select one of the following demonstration programs:

A few examples include comparisons to other filter design functions and analysis notes. For details about using the IIR design functions iirlpnorm, iirlpnormc, and iirgrpdelay, refer to Function Reference. While this set of examples covers many of the options for the functions, more options exist that do not appear in these examples. Examples cover common or interesting IIR design options to highlight some of the capabilities of the design functions.

In these examples, you can see that iirlpnorm, iirlpnormc, and iirgrpdelay use many of the input arguments used by gremez, plus others such as the denominator order. At the most basic level, each IIR filter design function uses the input arguments N, D, F, Edges, and A -- the filter order for the numerator and denominator (so you can specify different order numerators and denominators), the vector containing the filter cutoff frequencies, the band edge frequencies, and the filter response at each frequency point. F and A must have matching numbers of elements; they can exceed the number of elements in Edges. You use this feature to specify a gain contour within a band defined by the entries in Edges. Every frequency that appears in Edges must also be an element of F. Also, the first band edge must equal the first frequency and the last band edge must equal the last frequency in F.


  firlpnorm Examples iirlpnorm Examples