Discrete-Time Signal Processing by Alan Oppenheim, Ronald W. Schafer & Alan V. Oppenheim