Butterworth / Bessel / Chebyshev Filters


This is an interactive filter design package, for designing digital filters by the bilinear transform or matched z-transform method. Fill in the form and press the ``Submit'' button, and a filter will be designed for you.


  1. Select filter type:

    • Butterworth
      Bessel
      Chebyshev
      Lowpass
      Highpass
      Bandpass
      Bandstop

  2. If you specified ``Chebyshev'' above, enter ripple in dB here:

    • (The ripple, if specified, must be a negative number. For other filter types, leave this field blank.)
  3. Enter the filter order:

    • (For lowpass and highpass, this is the number of poles. For bandpass and bandstop, the number of poles is twice the order.)
  4. Sample rate, in samples per second:

  5. Enter corner frequency/ies, in Hz.

    Corner frequency 1: Hz
    Corner frequency 2: Hz

    • (For Butterworth and Bessel lowpass designs, the corner frequency is the frequency at which the magnitude of the response is -3 dB. For Chebyshev lowpass designs, the corner frequency is the highest frequency at which the magnitude of the response is equal to the specified ripple. For highpass, bandpass and bandstop, the above definition is modified in an obvious way.

    • For lowpass and highpass, one corner frequency is required: enter this in the first slot and leave the second one blank. For bandpass and bandstop, two corner frequencies are required.)

  6. If you wish, you can add one additional zero at a particular frequency, normally in the stop-band, to give infinite attenuation at that frequency. For a standard Butterworth / Bessel / Chebyshev design, leave this field blank.
    Additional zero at: Hz

  7. By default, the filter is designed by the bilinear transform method, which is recommended for most applications. Tick (check) here: and the matched z-transform will be used instead. Warning: inspect the frequency response carefully if you use this option. Click here for further information about the matched z-transform, and about Bessel filters in particular.

  8. By default, the frequency response graph has a linear magnitude scale. If that is what you want, leave the following box blank. If you want a logarithmic magnitude scale in dB, enter the lower limit of the magnitude scale in dB here (e.g. -80).
    Lower limit (dB), or blank for linear scale:

  9. Submit form:     Reset form:


Tony Fisher / fisher@minster.york.ac.uk
Executables for 32 bit Windows: mkfilter.exe, gencode.exe.(right click and copy links, then edit to add .exe. Can't directly link without getting banned by av programs). These will work under wine on Linux.
chmod +x *.exe
then in
wine cmd
e.g.
mkfilter.exe -Bu -Lp -o 4 -a 0.1 -l | gencode.exe