The Scientist & Engineer's Guide to Digital Signal Processing