digital signal processing: principles, algorithms, and applications