Embedded Signal Processing Laboratory

Department of Electrical and Computer Engineering

The University of Texas at Austin, Austin, TX 78712-1084

- Software accompanying the book
*Filter Design for Signal Processing*(2001) - Applets for Filter Optimization provide a Web-based interface to the filter optimization packages
- Version 1.1, June 23, 1998: simultaneously optimizing analog filter designs for any combination of magnitude, phase, and step responses, and quality factors, based on pole-zero locations
- Version 1.0, November 21, 1997: simultaneously optimizing all-pole analog filter designs for any combination of magnitude, phase, and step responses, and quality factors, based on pole locations

A key technology-independent measure of a filter's robustness under implementation is a quality factor. A quality factor is associated with each conjugate pair of poles. For analog filters, the quality factor is the radius of the pole divided by -2 times its real part. The quality factor varies from 0.5 (purely real pole; 100% damping) and infinity (imaginary pole; 100% oscillator). The approximate technology limits are 10 (low-end breadboard components and 8-bit microcontrollers), 25 (high-end breadboard components and 16-bit digital signal processor), and 40 (switched capacitor).

A recurring problem in filter implementation is that the conventional filter design formulas yield filters with quality factors in the 40-80 range, even for low filter orders. For example, using the elliptic filter design formulas, Matlab returns a 4th-order elliptic filter with quality factors 1.7 and 61 for a given magnitude specification. This filter can only be realized with expensive custom integrated circuitry or 32-bit floating-point processors (using sampling and quantization). Using the Filter Optimization Packages, we have developed Matlab code that can take this filter as the initial guess, and in less than a minute, return a 4th-order filter that meets the original specifications but with quality factors of 0.68 and 10. The optimized design can now be easily implemented in a wide variety of technologies.

We formulate filter optimization as a Sequential Quadratic Programming (SQP) problem. SQP requires real-valued, continuous, twice differentiable cost function and constraints. Provided that the solution space is convex, SQP in theory always converges to the global optimum. In practice, one must supply closed-form expressions for the gradients of the objective function and constraints. We use Mathematica to derive analytic objective functions and constraints, compute the gradients of the objective function and constraints, and convert the algebraic formulation into correct Matlab code.

- N. Damera-Venkata and
B. L. Evans,
"An Automated Framework for Multi-criteria Optimization of
Analog Filter Designs",
*IEEE Transactions on Circuits and Systems II: Analog and Digital Signal Processing*, vol. 46, no. 8, pp. 981-990, Aug. 1999. - N. Damera-Venkata,
B. L. Evans,
M. D. Lutovac, and
D. V. Tosic,
"Joint Optimization of Multiple Behavioral and Implementation
Properties of Analog Filter Designs",
*Proc. IEEE Int. Sym. on Circuits and Systems*, vol. 6, pp. 286-289, Monterey, CA, May 31 - Jun. 3, 1998. - B. L. Evans,
D. R. Firth,
K. D. White, and
E. A. Lee,
"Automatic
Generation of Programs That Jointly Optimize Characteristics
of Analog Filter Designs",
*Proc. of European Conference on Circuit Theory and Design*, pp. 1047-1050, Istanbul, Turkey, August 27-31, 1995.