Interactive Digital Filter Design Using Java

Researchers: Bicheng William Wu
Advisor:Edward A. Lee

The World Wide Web not only provides a place for students to obtain important information, but also a virtual lab for students to learn with interactive software. One tool that benefits EE students is a filter design tool. In 1993 Kennard White wrote an X-Window based interactive filter design program called Xpole [1]. It allows users to make graphical changes on a pole-zero plot, impulse response and frequency response plot. However it was architected as a monolithic C program that is poorly suited to web-based interactivity. Also it only supports IIR filter design using Bilinear transform method, and does not provide FIR filter design.

This project is to build a modular and web-based architecture using Java language. The architecture consists of a filter, a design manager, and views. This uses a model-view design pattern [2]. A view is a representation of the data, like a plot. A view can not only display the data but also change the data. In this case the views are a pole-zero plot, a frequency response, an impulse response of the filter, specification for the filter (bilinear transform or impulse invariant transform, lowpass or highpass, etc.) and the transfer function of the underlying filter model. The filter model can update views with new values, while views can change the parameters of the model.

Currently the application can handle designing Butterworth and Chebyshev I IIR filters using bilinear transformation. Four band limit filter types are supported: lowpass, highpass, bandpass, and bandstop. Future work includes implementing FIR filter design.

[1] Kennard White, "XPole: An Interactive, Graphical Signal Analysis and Filter Design Tool," Master's thesis, University of California at Berkeley, 1993

[2] James Rumbaugh, "OMT Insights", p.297-308, SIG Books, New York, 1996

Last updated 11/22/98. Send comments to