Multi-Disciplinary Digital Signal Processing: A Functional Approach Using Matlab