The Scientist and Engineer's Guide to Digital Signal Processing