Foundations of Signal Processing