digital signal processing: principles, algorithms and applications