It takes an expert to be able to explain a complicated subject, and Steve Smith is one of those rare experts.
I had no previous experience with signal processing. Within a week of reading this book, I was able to write FFTs, high pass, low pass, and windowed sinc filters in C.
As a bonus, his clear description of convolution, complex numbers, Fourier transform, Laplace transform and Z transform made them all "click".
The only other book I've read that has been able to explain a complicated subject with this level of clarity is Richard Feynman's Physics Lecture series.