Reviewed by Vladimir Botchev (firstname.lastname@example.org)
Filter design books usually fall into two categories: cookbooks and textbooks. Cookbooks offer a limited set of practical examples but don’t offer much theory, while textbooks are rife with theory but are seldom practice-oriented. Prof. Thede’s book belongs in neither of the above categories. It is practical, but contains plenty of concentrated background material; yet it is not a cookbook: it guides the reader through the design process without imposing a solution. A very strong additional feature is the accompanying CD, which contains an analog/digital filter-design program designed to run under Windows. Source code is also provided, so that anyone can port it or extract portions of it for different applications.
Chapter One provides a brief introduction to basic filter terminology, the necessity of using filters, and the filter design framework; then Chapter Two continues with the analog filter approximation problem. The normalized transfer functions of the four classical types of filters are detailed: Butterworth, Chebyshev, inverse Chebyshev, and elliptic. The omission of Bessel filters seems strange, but in a certain sense they are much less common than the four main classes of filters—even though they would be preferred for certain audio applications.
Chapter 3 makes the connection between the approximation world of Chapter 2, and the return to the world of real signals and frequencies, following a simple rule: Starting with dimensional specifications, generate a normalized low-pass approximation, then un-normalize the approximation to low-pass, high-pass, band-pass, band-stop. The book’s software package is of course used extensively to illustrate the various design steps. Chapter 4 provides some insight into the implementation of analog filters, using active filters based on op amps.
Chapter 5 begins the second part of the book, with a brief introduction to discrete-time systems. Chapter 6 introduces the bilinear design method for infinite impulse-response (IIR) filters, followed by Chapter 7, which presents the two most common methods for finite impulse-response (FIR) design, windowing and Remez exchange algorithm-based Parks-McClellan design procedure. Chapter 8 provides basic implementations strategies for IIR and FIR filters using C. Chapter 9, the final chapter, introduces the fast Fourier-transform (FFT) algorithm, with particular emphasis on its use for implementing digital filtering. Finally, there are nine appendixes, most of which present the application programming interfaces (APIs) for using the filter design functions; they are useful for embedding portions of the code in the reader’s own application.
In conclusion, this is well-written, practical book on filter design—worth having in anyone’s engineering library.
Copyright 1995- Analog Devices, Inc. All rights reserved.