Theory and application of digital signal processing