This textbook provides engineering students with instruction on processing signals encountered in speech, music, and wireless communications using software or hardware by employing basic mathematical methods. The book starts with an overview of signal processing, introducing readers to the field. It goes on to give instruction in converting continuous time signals into digital signals and discusses various methods to process the digital signals, such as filtering. The author uses MATLAB throughout as a user-friendly software tool to perform various digital signal processing algorithms and to simulate real-time systems. Readers learn how to convert analog signals into digital signals; how to process these signals using software or hardware; and how to write algorithms to perform useful operations on the acquired signals such as filtering, detecting digitally modulated signals, correcting channel distortions, etc. Students are also shown how to convert MATLAB codes into firmware codes. Further, students will be able to apply the basic digital signal processing techniques in their workplace. The book is based on the author's popular online course at University of California, San Diego.