Bode plot · Frequency response · Pole-zero · FIR/IIR · Real-time filtering
Digital filters are at the core of all modern signal processing — from audio equalisation and speech recognition to medical imaging and software-defined radio. This simulator lets you design FIR and IIR filters interactively, watching the Bode plot (magnitude and phase) and pole-zero diagram update in real time as you move the sliders.
Digital filters selectively pass or block frequency ranges. FIR (Finite Impulse Response) filters use only feedforward taps — they are always stable and have linear phase (meaning all frequencies are delayed equally, preserving waveform shape). IIR (Infinite Impulse Response) filters use feedback, requiring fewer taps to achieve the same roll-off steepness, but they can become unstable (poles must stay inside the unit circle) and introduce non-linear phase. The Bode plot shows magnitude response (how much each frequency is attenuated) and phase response (how much it is delayed). The pole-zero diagram in the Z-plane shows stability: poles outside the unit circle → unstable.
Select a filter type (low-pass, high-pass, band-pass) and design method (FIR windowed-sinc or IIR Butterworth/Chebyshev). Move the Cutoff Frequency slider and watch the Bode plot update in real time. Increase the Filter Order to get a steeper roll-off (sharper transition from passband to stopband) at the cost of more computation. Switch to Chebyshev and adjust the ripple — you get a steeper initial roll-off in exchange for ripple in the passband. Try the white noise test signal and observe how the filter removes high or low frequencies from the waveform preview.
Your smartphone audio codec applies dozens of digital filters every millisecond — equaliser, noise cancellation, echo removal, and anti-aliasing. MP3 compression uses a 32-band polyphase filter bank to split audio into frequency subbands. The FIR windowed-sinc method was popularised by Fred Harris in his landmark 1978 IEEE paper “On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform”. Modern FPGA-based software-defined radios (SDRs) run FIR filters with thousands of taps at GHz sample rates using pipelined multiplier-accumulator (MAC) units.
This tool designs digital filters and shows their behaviour in real time. It computes the frequency response by evaluating the transfer function H(z) = B(z)/A(z) around the unit circle z = e^(jw), drawing a Bode plot of magnitude (in dB) and phase (in degrees), plus a pole-zero diagram in the Z-plane found with a Durand-Kerner root solver. The sample rate is fixed at 44.1 kHz.
You choose a response type (low-pass, high-pass, band-pass, band-stop) and a design method: FIR windowed-sinc (Hamming-windowed ideal impulse response, up to order 64), IIR Butterworth or IIR Chebyshev (biquad cascades, capped at order 8). Sliders set the cutoff frequency, second cutoff for band filters, and Chebyshev passband ripple. A test signal is filtered live so you can see the effect on the waveform. Such filters underpin audio equalisers, noise removal and radio receivers.
What is a digital filter?
A digital filter is an algorithm that selectively passes or attenuates parts of a sampled signal according to frequency. It works by combining present and past input samples, and for feedback filters past output samples, using a fixed set of numeric coefficients. The result is a new signal with chosen frequencies emphasised or removed.
What is the difference between FIR and IIR filters?
FIR (Finite Impulse Response) filters use only feedforward taps, so their denominator A(z) is just 1; they are always stable and can have exactly linear phase. IIR (Infinite Impulse Response) filters add feedback through A(z), reaching a given roll-off with far fewer coefficients, but they can become unstable and have non-linear phase. This simulator offers FIR windowed-sinc and IIR Butterworth and Chebyshev designs.
What do the controls actually do?
The Filter Type buttons pick low-pass, high-pass, band-pass or band-stop. The Design Method buttons switch between FIR windowed-sinc, IIR Butterworth and IIR Chebyshev. The Filter Order slider sets steepness, the Cutoff sliders set the transition frequencies, and the Ripple slider (Chebyshev only) sets allowed passband ripple in dB. The Test Signal buttons feed a 440 Hz sine, white noise or a 20 Hz to 8 kHz chirp through the filter.
Internally the cutoff is a normalised value between 0.05 and 0.45, where 0.5 corresponds to the Nyquist frequency (half the 44.1 kHz sample rate). The display converts this to hertz by multiplying by 44100, so a normalised value of 0.10 reads as roughly 4410 Hz. This normalised convention is standard in DSP because the design maths is independent of the actual sample rate.
The ideal low-pass filter has a sinc-shaped impulse response that is infinitely long. The windowed-sinc method truncates this to N+1 taps and multiplies by a Hamming window (0.54 minus 0.46 cosine) to suppress ripple from abrupt truncation. High-pass, band-pass and band-stop versions are built by spectral inversion and by adding or subtracting low-pass prototypes, giving a linear-phase, always-stable filter.
The Z-plane plot shows the roots of the numerator (zeros, circles) and denominator (poles, crosses) of the transfer function. Zeros pull the magnitude response down at nearby frequencies; poles push it up. For a filter to be stable, every pole must lie strictly inside the unit circle. FIR filters have no poles away from the origin, which is why they are unconditionally stable.
IIR filters achieve steep roll-off with very few coefficients, so order 8 already gives a sharp transition, and high-order IIR cascades become numerically delicate. FIR filters need many more taps for the same steepness because each tap contributes only a small amount, so the tool permits up to 64 taps. Switching from FIR to an IIR method automatically caps the order at 8.
A Type I Chebyshev filter trades a controlled amount of ripple in the passband for a steeper transition than a Butterworth filter of the same order. The Ripple slider sets that allowance in decibels, from 0.1 up to 3.0 dB. Larger ripple buys a sharper cutoff; the Butterworth design instead gives a maximally flat passband with a gentler roll-off.
Yes, within the limits of a teaching tool. The frequency response is the exact discrete-time Fourier transform of the coefficients, the biquad sections use standard bilinear-transform designs, and filtering uses a direct-form II transposed structure. The pole and zero locations come from a genuine polynomial root finder. Minor visual smoothing is applied when sliders move, but the underlying numbers are correct DSP.
They are everywhere in modern electronics: audio equalisers and crossovers, noise cancellation and echo removal in phone calls, anti-aliasing before analogue-to-digital conversion, ECG and EEG cleaning in medical devices, and channel selection in software-defined radios. MP3 and similar codecs use filter banks to split audio into subbands, and high-rate FIR filters run on dedicated FPGA or DSP hardware.