Free Books


This book was written for my introductory course in digital audio signal processing, which I have given at the Center for Computer Research in Music and Acoustics (CCRMA) since 1984. The course was created primarily as a first course in digital signal processing for entering Music Ph.D. students in the Computer Based Music Theory and Acoustics program. Due to the nature of CCRMA research, this book will emphasize audio and music applications, although the material on the subject of digital filters itself is not specific to audio or music. A recommended co-requisite is [84], which contains a more detailed development of the mathematics of signals and spectra in the discrete-time case. A shorter precursor to this book was published in [79].


Below is an overview of the chapters.

  1. The Simplest Lowpass Filter -- a thorough analysis of an extremely simple digital filter using high-school level math (trigonometry) followed by a simpler but more advanced approach using complex variables. Important later topics are introduced in a simple setting.

  2. Matlab Filter Analysis -- a thorough analysis of the same simple digital filter analyzed in Chapter 1, but now using the matlab programming language. Important computational tools are introduced while the study of filter theory is hopefully being motivated.

  3. Analysis of Digital Comb Filter -- a thorough analysis and display of an example digital comb filter of practical complexity using more advanced methods, both mathematically and in software. The intent is to illustrate the mechanics of practical digital filter analysis and to motivate mastery of the theory presented in later chapters.

  4. Linearity and Time-Invariance -- mathematical foundations of digital filter analysis, implications of linearity and time invariance, and various technical terms relating to digital filters.

  5. Time Domain Filter Representations -- difference equation, signal flow graphs, direct-form I, direct-form II, impulse response, the convolution representation, and FIR filters.

  6. Transfer Function Analysis -- the transfer function is a frequency-domain representation of a digital filter obtained by taking the z transform of the difference equation.

  7. Frequency Response Analysis -- the frequency response is a frequency-domain representation of a digital filter obtained by evaluating the transfer function on the unit circle in the $ z$ plane. The magnitude and phase of the frequency response give the amplitude response and phase response, respectively. These functions give the gain and delay of the filter at each frequency. The phase response can be converted to the more intuitive phase delay and group delay.

  8. Pole-Zero Analysis -- poles and zeros provide another frequency-domain representation obtained by factoring the transfer function into first-order terms. The amplitude response and phase response can be quickly estimated by hand (or mentally) using a graphical construction based on the poles and zeros. A digital filter is stable if and only if its poles lie inside the unit circle in the $ z$ plane.

  9. Implementation Structures -- four direct-form implementations for digital filters, and series/parallel decompositions.

  10. Filters Preserving Phase -- zero-phase and linear-phase digital filters. Such filters largely preserve the shape of a signal in the time domain by delaying all frequency components equally.

  11. Minimum-Phase Filters -- minimum-phase digital filters, desired phase for audio filters, and creating minimum phase from spectral magnitude. Minimum phase gives ``minimum delay'' for a useful class of filters.

  12. Appendices -- elementary discussion of signal representation, complex and trig identities, closure of sinusoids under addition, elementary digital filters, equalizers, time-varying resonators, the dc blocker, allpass filters, introduction to Laplace transform analysis, analog filters, state-space models, elementary filter design, links to on-line resources, and software examples in the matlab, C++, and Faust programming languages (including automatic plugin generation).

Book Series Overview

This book is the second in my music signal processing series, after [84]. The books can be loosely summarized by the following ``design goals'':

    All about the DFT formula and its constituents, with frequent references to audio applications.

    A gentle introduction to the analysis and implementation of digital filters, with particular emphasis on audio applications.

    Efficient computational physical models for delay effects and virtual acoustic musical instruments.

    Analysis, processing, and synthesis of audio signals in terms of spectral representations computed using the Fast Fourier Transform (FFT).

Figure 1: Schematic of interdependencies in the music signal processing book series, along with some closely related topics.

Figure 1 illustrates the dependencies. A solid line indicates a strong dependence, while a dotted line indicates a weaker (optional) dependence. The student is expected to pick up elementary physics [33] and programming skills [82,15] elsewhere. In all books, the main chapters contain approximately what is covered in class, while the appendices provide both elementary background material and additional advanced topics.


With respect to the previously published precursor of this book [79], I would like to again express appreciation to John Strawn for his thorough editing assistance, and to Andy Schloss, David Jaffe, Andy Moorer, Janet Coursey, and Ken Shoemake for their helpful proofreading and suggestions. More recently, thanks to Vivian Woo and Matt Wright for especially helpful reviewing assistance, and to Mark Cartwright, Ryan Cassidy, Humane Chan, Nick Dargahi, David Gelbart, Peter Howard, Thomas Icking, Tim Janik, Christian Keil, Moonseok Kim, Arvindh Krishnaswamy, Andrew Leary, Dong In Lee, Poliang Lin, Gautham Mysore, Jim Murphy, Juhan Nam, John Nolting, Carlos Pita, Mathew Romaine, Volker Schatz, Andrew Simper, Lee Soulsby, Sook Young Won, and Larry Wu, for reporting errata they encountered in the earlier draft versions of this book.

The support of the Fannie and John Hertz Foundation during my graduate student years--when [79] was written--is gratefully acknowledged. Finally, the present version would not exist at all without the support of my wife Carol and son Harrison (who made sure I took plenty of breaks along the way $ (\stackrel{\mbox{.\,.}}{\smile})$).

Julius Smith
September, 2007


Despite best efforts, errata will be almost surely be discovered over time. See for known errata, clarifications, and other information pertaining to this book.

The author and publisher make no warranties, express or implied, regarding the contents of this book.

Next Section:
The Simplest Lowpass Filter