Working Through Proakis When You Actually Need It
Most people pick up the By John G Proakis Digital Signal Processing 4th Edition because it's the standard text in nearly every DSP graduate course. The book is dense. It assumes you already know Fourier analysis and linear algebra at a comfortable level, and if you don't, you will spend significantly more time wrestling with the derivations than actually learning the material. I ran into this firsthand when I tried to move directly from the chapter on the z-transform to filter design without spending a solid weekend actually working through the inversion techniques. It doesn't work well. The math builds on itself quickly. Proakis covers the core topics you need: discrete-time signals and systems, the DTFT, the z-transform, DFT and FFT algorithms, filter design methods, multirate processing, and adaptive filters. The coverage is broad and the derivations are generally rigorous. That is both the strength and the problem. The book does not hold your hand. It presents a theorem, derives it, then moves on to the next topic in a way that assumes you are sitting in a lecture hall with a professor filling in the gaps. I have used this as a reference more times than I can count over the years. The sections on FIR filter design using window functions and the Parks-McClellan algorithm are still among the clearest explanations I have found in print. The treatment of spectral estimation and the ARMA models is also solid. But the book was written before modern computational tooling became ubiquitous, so working through some of the numerical examples without Matlab or Octave is genuinely painful. There are no ready-made scripts in the text.
The Filter Design Chapter Is Where People Stumble
The chapter on digital filter structures and implementation has a detail that almost nobody notices until they try to code it. Proakis describes the transposed direct form structures, and the text makes them look like a clean academic exercise. In practice, fixed-point implementations of these structures behave very differently from the ideal floating-point versions, especially when you are working with narrowband filters that push poles close to the unit circle. I spent roughly two days debugging a second-order section that kept clipping in fixed point, only to realize that the textbook example had implicitly assumed enough headroom that real hardware never provides. Switching to a cascade of biquads with careful scaling between stages resolved it. The book mentions scaling briefly but does not emphasize how critical it becomes once you leave floating point behind. Another thing the book does not make obvious is that the frequency sampling method for FIR design, while covered adequately, tends to produce ripples in the passband that are unacceptable for most real applications unless you add constraints. It works fine for homework problems. It rarely works for production work without modification.
What the Book Leaves Out
One gap that bites people repeatedly is the practical side of filter implementation. The text covers structural forms, quantization effects, and overflow behavior, but it does not walk you through choosing between direct form, cascade form, or lattice structures when you are actually writing code. The decision depends on your target architecture, whether you are using a DSP chip, an FPGA, or a general-purpose CPU, and how much precision you can afford. Proakis gives you the tools to understand each structure but does not prioritize them for real engineering work. The sections on multirate processing are good, but the treatment of polyphase decomposition feels rushed compared to the rest of the book. If you are working with resampling or half-band filters, you will likely need to supplement this with newer papers or an implementation-focused text. The 4th edition came out before some of the more recent refinements in efficient resampling architectures became common knowledge.
Get the Full Details

How I Actually Use This Book
I do not read it cover to cover. I treat it like a reference manual. When I need to derive a filter transfer function or revisit the conditions for stability in an IIR structure, I go directly to the relevant chapter. The worked examples are useful, but they are not always numerically consistent with the problems at the end of the chapter. I have caught a few calculation errors in the solutions manual that made me second-guess my own work before I realized the book was wrong. Double-checking any numerical result you pull from the examples takes about five minutes and saves you from going down a rabbit hole. For studying, pair it with actual coding. Implement the FFT in whatever language you are comfortable with. Build a simple FIR filter from scratch. Watch how the theoretical frequency response diverges from the simulated one when you reduce coefficients to 16-bit. The book will tell you what should happen. Your own code will show you what actually happens. If you need the physical copy or a legal digital version, it is available through major academic book retailers and library services. The ISBN is 978-0-13-187374-2 for the hardcover edition. Do not bother hunting for pirated PDFs unless you want a scanned version with terrible OCR that breaks equations. The cost of the book is not trivial, but it is something you will keep for years and return to when you hit a problem the internet does not immediately answer.