Digital Filter Design Demo
While this program is available primarily as a demonstration, since the core algorithms are bound in python accessible modules, their functionality can be extended for use in other python programs. The python source code for the GUI is available to allow customization. How to use the included python functions will become obvious from examining the relationship of the input parameters to the way the modules are called in the main pythoncard application (later some documentation may also be provided). Using python, more exact numbers can be fed to the various filter designs and the restrictions on ranges of input value inherent in the freeware application are removed. A linux version that runs on Ubuntu Edgy Eft/Dapper Drake is also available. You'll need PythonCard installed and possibly libboost_python. You are on your own as far as installing it. At this time, the underlying source code is NOT available, although I will consider licensing it.
Spuc2.3 tar gz release file (this is older and unsupported release also available on sourceforge)
Download Windows XP setup program - Version 1.431 with bug fixes. Good until Aug-17-08. After then, please e-mail or recheck this website for newer version. No additional downloads required.
Download Windows XP setup program for Bireciprocal wave filter
Download Windows XP Pyspuc compiled library for Python 2.4 (please e-mail regarding licensing and source availability) - good until Jul-25,2008. May require dlls from Main Application for use.
Download Ubuntu Edgy Eft tarball
Download Red Hat RHEL4 tarball
Older main python program as example of how to use pyspuc package
Pythoncard resource file for main program
Email: <info AT SPAMFREE pyspuc DOT com>
Example Screenshot
This program, written in both C++ and python, is for designing a variety of low pass digital filters. It currents support the design of
Classic IIR filters
- Butterworth
- Chebyshev
- Elliptic
These filters typically will consist of a number of 2nd order sections of the form shown in the figure below
Classic FIR filters
- Maxflat FIR
- Remez FIR
- Raised Cosine FIR (truncated ideal impulse response)
- Root Raised Cosine FIR (truncated ideal impulse response)
- Gaussian FIR (truncated ideal impulse response)
Block Diagram of FIR filter
A hardware-efficient elliptic based halfband IIR filter consisting of 1st order allpass sections
Halfband IIR filter block diagram consisting of 2 first order allpass sections
Audio-type filters
- Notch filter based on IIR biquad
- Cut / Boost filter (also based on IIR biquad)
Slider bars allows one to move the passband edge, the order of the filters for IIRs, the number of taps for FIRs, etc, In addition to providing the coefficients in a text area, the effect of quantization of the coefficients on the filter performance can be seen.



