Digital Filter Calculator — Advanced

❓Filter 🏠Home 🧮Basic Video
📘 How to use this — copy and paste CSV, TSV, or spreadsheet data

What this page adds. The basic calculator runs a Butterworth filter in your browser, on up to three columns. This page takes any number of columns and adds five more designs - Chebyshev I, Chebyshev II, elliptic, Bessel and FIR - and shows the phase of the response as well as its gain. To do that it sends your table to the server, computes there, and sends the numbers back. Nothing is stored, but the data does leave your machine. If that matters for your data, use the basic page. The digital filter article compares the six designs.

A filter needs evenly spaced samples, within 0.1%, in every column; t must be time in seconds, so fs = 1 / Δt. Uneven t is refused, naming the first t that breaks the step. Every cutoff must stay below the Nyquist frequency, fs / 2.

  1. Paste your data into the Input grid — straight from a spreadsheet, or as CSV/TSV text — or import a file. First column is t (s), then one column per series: y1, y2, … Rows are sorted by t.
  2. Pick a method. Only its own parameters are shown.
    • Butterworth, Bessel: order 1 to 10. The cutoff is where one pass has fallen to 0.7071 (−3 dB).
    • Chebyshev I: order, and the passband ripple, 0.01 to 3 dB. The cutoff is the end of the passband.
    • Chebyshev II: order, and the stopband attenuation, 10 to 120 dB. The cutoff is where the stopband starts, not where the passband ends.
    • elliptic: order, ripple and attenuation. The cutoff is the end of the passband.
    • FIR: taps, 3 to 1001, odd, and a window. The cutoff is where the gain is 0.5 (−6 dB), once there are enough taps: the transition is about 3.3 fs / taps wide.
  3. Pick a type - low-pass, high-pass, band-pass, band-stop - and set the cutoff in Hz, or the low and high edge for a band.
  4. Pick the phase. Zero-phase runs the filter forward and back: no delay, and the gain is applied twice. Causal runs once, forward, and delays the output.
  5. Real time range — try settings live on the order, cutoff, ripple, attenuation and taps boxes.
    • ▲▼ buttons or the mouse wheel over a box: the value moves and the result is recomputed shortly after the last step - one request to the server, not one per step.
    • Digit wheel: over a box, the wheel steps the digit just left of the mouse pointer. Before the first digit, the wheel multiplies or divides by 10.
    • Limits: each value stays within its range; a typed value outside it is set to the nearest limit. Taps step by 2, odd only.
    • Typing or the arrow keys change the box only; press filter to recompute.
  6. Press filter. The upper chart shows your data as dots and each filtered column as a line in the same colour. The lower chart shows the response the filter applies: gain or phase, on a linear or a dB axis. The server's time shows beside the button.
  7. Read the result. The Output grid lists t, then the filtered value for each y column. Export saves it as a CSV/TSV file.

Input

Output

Signal

Frequency response