Home > On-Demand Archives > Talks >
Exploring Digital Filters with Low-Cost Hardware and Open-Source Tools
Mark Thoren - Watch Now - DSP Online Conference 2025 - Duration: 53:21
This presentation and live demonstration explores a cross section of affordable hardware and open-source tools for hands-on exploration of digital filters.
Hardware & Capture
- 40 Msps, 20-bit ADC with an internal data-capture buffer
- Built-in digital filters: SINC1, SINC5, and brick-wall
- No FPGA required — the internal buffer lets a basic microcontroller transfer data to a host
Data Path & Software
- Industry-standard IIO (Industrial Input/Output) framework for streaming
- Compatible with C, C++, C#, MATLAB, and Python
Demos & Analysis
- Short Python scripts and Jupyter notebooks using NumPy and SciPy
- Low-cost USB instruments generate test signals: sinewaves, steps, wavelets, and noise bands
- Analysis verifies filter properties and behavior
- USB sound cards explored as budget sources/sinks vs. benchtop instruments
This guide was created with the help of AI, based on the presentation's transcript. Its goal is to give you useful context and background so you can get the most out of the session.
What this presentation is about and why it matters
This talk demonstrates how to explore and understand digital filters by combining inexpensive hardware and open-source software. Instead of a deep theoretical lecture, the speaker shows practical experiments you can run on a bench: capture signals from an ADC with built-in digital filters, generate controlled test signals (sine, steps, wavelets, shaped noise) and inspect how different filters affect noise, tones, settling and aliasing. The emphasis is on hands-on learning — running short Python or MATLAB scripts, using a simple microcontroller or USB instruments, and leveraging industry-standard frameworks so results are reproducible across platforms.
Why this matters: digital filters are central to every measurement chain that involves analog-to-digital conversion. Choosing and understanding a filter changes noise, settling time, spectral leakage and how out-of-band interferers alias into your band. Seeing these effects on real hardware (and low cost hardware at that) builds intuition that equations alone often don’t provide.
Who will benefit the most from this presentation
- Practicing engineers who design mixed-signal front ends and need practical tests for filter selection and anti-aliasing.
- Students and instructors who want lab-ready examples that illustrate sampling, aliasing, and the behavior of common digital filters.
- Developers building data-acquisition systems who want to learn tools and workflows (IIO, Python/MATLAB, short embedded examples) for rapid prototyping.
- Anyone who prefers learning by doing — experimenting with real ADCs, USB sound cards or low-cost instruments rather than only simulation.
What you need to know
To get the most out of the demos, a basic grounding in the following topics is helpful:
- Sampling & Nyquist: understand sampling frequency f_s and the concept of Nyquist zones (0–f_s/2 is the first Nyquist zone). Aliasing occurs when energy from higher Nyquist zones folds into the first zone.
- Fourier basics: how time-domain windowing/impulse responses map to frequency-domain magnitude and nulls.
- Digital filter types: simple averaging (sinc), higher-order sinc (sinc5), and the idea of passband flattening. The sinc(·) shape often appears — e.g. for a simple averaging filter the magnitude is proportional to $\mathrm{sinc}(\pi f)=\frac{\sin(\pi f)}{\pi f}$.
- Effective noise bandwidth (ENBW): when a filter attenuates frequency components, the total output noise equals the input noise PSD integrated against the squared magnitude of the filter. Compactly: $\mathrm{ENBW}=\frac{\int_{-\infty}^{\infty}|H(f)|^2\,df}{|H(0)|^2}$, which gives the equivalent rectangular bandwidth that passes the same noise power.
- ADC architectures: difference between SAR (successive-approximation) and sigma-delta converters, and why a SAR at tens of MS/s can let you select arbitrary digital filters independent of the modulator.
- Basic software & tools: Python (NumPy/SciPy/Jupyter), MATLAB, and IIO (Industrial I/O) for cross-platform access to ADC hardware. Familiarity with small scripts that capture a buffer and compute FFTs or standard deviations will let you reproduce experiments quickly.
Glossary
- ADC (Analog-to-Digital Converter): a device that measures an analog voltage and outputs digital samples; key specs include resolution, sample rate and linearity.
- SAR (Successive-Approximation Register): an ADC architecture that converts by binary search per sample; often used for high linearity and moderate-to-high sample rates.
- Sinc filter: a filter whose frequency response follows a sinc shape; simple averaging is a SINC1, higher orders (SINC5) have deeper nulls and narrower main lobes.
- Passband flattening: a filter stage that compensates passband ripple to produce an especially flat response in the band of interest.
- FIFO (First-In, First-Out) buffer: on-chip memory used to capture blocks of samples so a low-cost microcontroller can transfer data to a host without an FPGA.
- IIO (Industrial Input/Output): a Linux/kernel framework and user-space libraries for streaming and controlling data-converter devices across hosts.
- Nyquist zone: frequency intervals of width f_s/2; signals above f_s/2 appear aliased into lower zones unless filtered.
- Aliasing: the folding of spectral content from higher frequencies into the sampled band when no adequate anti-alias filter is present.
- ENBW (Effective Noise Bandwidth): the bandwidth of an ideal rectangular filter that would pass the same noise power as the real filter.
- ADALM2000 / USB sound cards: low-cost signal sources/sinks (bench-friendly) used in demos; they are practical but have performance limits compared with lab-grade instruments.

Excellent presentation and choice of useful hands-on topics. You've stimulated my interest in pursuing more digital filter projects. I'm very interested in the ADALM-MMSC when ADI releases it for sale. Thank you, Brad Barnicoat