EmbeddedRelated.com
Books

Digital Filters for Everyone: Third Edition

Allred, Rusty ● 2015

Performing such functions as noise mitigation and signal conditioning, digital filters are everywhere: in your car, in your TV, in your music player, in your phone, everywhere. But an engineering degree or expensive software is not required to design and analyze them. In fact, whoever you are and whatever your background, this book will help you understand, design, analyze and use digital filters. This book was written to make digital filters more accessible to everyone. Practicing engineers will appreciate its straightforward approach and the simple formulas that readily lend themselves to real-time applications. Others will find that digital filter design and analysis is really not as difficult as they may have thought. For each IIR filter type (Butterworth, Linkwitz-Reilly, Bessel, Chebychev I & II, Variable Q, Allpass, Equalization, Notch and Shelf), the reader will find one equation for each coefficient. Plug in what you know – cutoff frequency, sample rate – and the equations will give you the coefficient values; no expensive software, transforms or complicated manipulations are needed. This approach does have its limitations. Although the book does explain how to create higher orders by combining lower orders, there are no equations for IIR filters larger than fourth order. Several FIR methods (Fourier Series and Frequency Sampling Methods) are included and they do apply to any order. Since elliptical (Cauer) IIR filters and the Remez and Parks-McClellan algorithms for equiripple FIR design require specialized software and do not lend themselves to simple formulas, they are not included. The third edition includes a new chapter on two-dimensional (2D) filters and a new section on software filter implementation. In addition, there are language and formatting changes aimed at making the book clearer and easier to use. As with the first and second editions, the book gives the simplest possible equations for the design of IIR and FIR filters and examples for their use. Nothing from the earlier editions has been omitted.


Why Read This Book

You will learn how to design, analyze, and implement practical digital filters without getting lost in heavy theory — the book emphasizes simple formulas and real-time, embedded-friendly techniques. It shows you how to choose filter types and convert designs into efficient C or fixed‑point code, so you can solve real-world noise, sensor, and signal‑conditioning problems on microcontrollers and small processors.

Who Will Benefit

Embedded and firmware engineers, hardware designers, and practicing signal-processing engineers who need hands-on, implementation-focused digital filter techniques for real-time systems.

Level: Intermediate — Prerequisites: Basic algebra and trigonometry, an understanding of sampling/ADC concepts and frequency (Hz), and some experience with programming (C or Python recommended); no advanced math or DSP theory is required.

Get This Book

Key Takeaways

  • Design IIR filters (Butterworth, Chebyshev, Bessel, Linkwitz‑Riley) for common embedded use cases
  • Design FIR filters using windowing methods and understand tradeoffs of impulse response length vs. performance
  • Convert continuous designs to discrete implementations using practical techniques such as the bilinear transform
  • Implement filters efficiently in fixed‑point or C for microcontrollers with an emphasis on stability and numerical robustness
  • Analyze frequency and time responses (including use of FFT tools) to verify filter behavior in real systems
  • Apply filters to embedded problems like anti‑aliasing, sensor conditioning, audio processing, and noise mitigation

Topics Covered

  1. Introduction: Why digital filters matter in embedded systems
  2. Basic concepts: sampling, frequency, and discrete‑time signals
  3. Analog filters and mapping to digital (prewarping, bilinear transform)
  4. IIR filter families: Butterworth, Chebyshev, Bessel, Linkwitz‑Riley — design and properties
  5. FIR filters and window methods: rectangular, Hamming, Hanning, Blackman, and tradeoffs
  6. Practical design recipes and worked examples
  7. Frequency analysis and validation using FFTs and bode plots
  8. Numerical issues: quantization, coefficient sensitivity, and filter stability
  9. Fixed‑point implementation and optimization for microcontrollers
  10. Real‑time considerations: latency, memory, CPU load, and filter tuning
  11. Applications: sensor conditioning, audio, communications, and IoT examples
  12. Appendices: reference tables, sample C/MATLAB/Python code, and further reading

Languages, Platforms & Tools

CC++PythonMATLAB/OctaveARM Cortex‑M and general microcontrollersDSP processors (general)Embedded Linux (conceptual)Generic RISC/V and other small processorsMATLAB / OctavePython (NumPy/SciPy, matplotlib)GCC / ARM GCC toolchainsFixed‑point libraries and simulatorsOscilloscopes / logic analyzers (for validation)

How It Compares

More implementation‑focused and less mathematically dense than Oppenheim & Schafer; more practical and embedded‑oriented than Lyons' Understanding Digital Signal Processing, making it a better fit for engineers needing working code and recipes.

Related Books