Understanding Digital Signal Processing, 3/E by Richard G. Lyons