multi-disciplinary approach to digital signal processing; Written using a functional