Interactive Digital Filter Design

Most recent changes:   If you've come here by mistake and are looking for an analogue (LC) filter designer, look here instead.

A companion page designs digital (i.e. software) phase-locked loops (PLLs).

If you like this page and are interested in analogue electronics, you might also like my educational circuit simulator.

Important - are you using the right URL?  

The URL of this page is

(you may add a trailing slash if you wish). If you've arrived here through any other URL, please update your links or bookmarks now! In particular, the host Dcpu1 will not be alive for much longer. Thank you.

This is an interactive filter design package, for designing digital filters. Fill in the form and press the ``Submit'' button, and a filter will be designed for you. You can specify the following types of filter:

I've been advised to say that, although I believe the package to be bug-free, you use the results at your own peril, and you're advised to check them for correctness before using them. Don't blame me if your aircraft falls out of the sky!

The ``C'' code generated by this package is the way it is for pedagogic reasons, and could easily be ``tightened up''.

The source code (in C++) for the programs that do the work (i.e. not the WWW front end) is available for browsing or down-loading, and PostScript documentation for these programs is available. If your browser uses GhostView to display PostScript, select ``magstep -1'' and ``paper A4'' for best effect.

The graphs are produced with the help of the excellent gd GIF manipulation library, originally from Quest Protein Database Center.

Here are some references to textbooks which will tell you about digital filters, the differences between the various types, the bilinear transform method, etc.

A companion page generates digital (i.e. software) phase-locked loops (PLLs).

An email message, saying what you like and don't like about this package, will be appreciated.

Please choose a filter type from the list:

Tony Fisher /