Recursive Digital Filters: A Concise Guide
Stefan Hollos and J. Richard Hollos
Format and pricing: Paperback (122 pages) $14.95, Kindle/pdf $7.95
ISBN: 9781887187275 (paperback), 9781887187244 (ebook)
Publication date: April 2014, revised December 2014
This book is a very concise introduction to recursive digital filters. The goal is to get the reader to the point where he or she can understand and use these filters as quickly as possible. To accomplish this we have kept the amount of mathematical background material to a minimum and have included many examples. But make no mistake, this is not a book for dummies or complete idiots. Some mathematical experience is required. If you have never used complex numbers and do not know what Euler's identity is, then this book is not for you. If you have a basic physical science mathematics background, then you should have no problem with this book.
We start with a short introduction to the minimum mathematics required to describe, use, and design recursive digital filters. This includes a description of the z-transform, filter system functions, and the frequency response. This is followed by examples of the simplest possible low pass, high pass, band pass, and band stop filters. A section on band stop filter banks is also included.
The design portion of the book covers impulse invariance and bilinear transform design. We give a minimum theoretical description of these methods and plenty of examples. For the bilinear transform method we show how to turn analog low pass Butterworth filters into digital low pass, high pass, band pass, and band stop filters. Being able to convert analog filters to digital is useful because analog filter design is a more mature and well understood subject.
Next we take an in depth look at Butterworth and Chebyshev filters, showing how to design low pass, high pass, band pass, and band stop versions of these filters. The section on Chebyshev filters also shows how to create a Chebyshev Butterworth filter hybrid. This is followed by a detailed example showing how to use a Butterworth and Chebyshev band pass filter.
A rudimentary introduction to elliptic filters comes next. The final section shows how digital filters can be implemented in different ways, considering efficiency and numerical stability.
The filter software used in this book is written by the authors, and is available free here. The programs are written in the C programming language, and will have to be compiled before you can use them. You do not have to know C to use the programs or understand the contents of the book. There is a C language compiler for every major operating system. A good one that is also free is gcc. Some of these programs have also been converted to the awk scripting language.
About the authors
Stefan Hollos and J. Richard Hollos are physicists and electrical engineers by training, and enjoy anything related to math, physics, engineering and computing. They are brothers and business partners at Exstrom Laboratories LLC in Longmont, Colorado.
Table of Contents
- Simple Low Pass
- Simple High Pass
- Low and High Pass Example
- Simple Center Pass
- Simple Band Pass
- Band Pass Example
- Simple Band Stop
- Band Stop Example
- Band Stop Filter Bank
- Impulse Invariance Design
- Bilinear Transform Design
- Butterworth Filters
- Chebyshev Filters
- Band Pass Example 2
- Elliptic Filters
- Implementing Digital Filters
- Further Reading
- About the Authors
Send comments to: Richard Hollos (richard[AT]exstrom DOT com)
Copyright 2022 by Exstrom Laboratories LLC