Signal-computing

Digital signal processing textbook for computer science majors. CC Attribution-ShareAlike 4.0 license.

DOI
Download .zip Download .tar.gz View on GitHub

As computers become ubiquitous, they become more and more embedded not only in the devices we own and use but in our lives. As a result, computers become embedded in the physical world, with their primary purpose being to detect and analyze happenings in our world and to produce responses that affect that world. As computing professionals, we need to understand how computers can process information from the physical world as digital signals: multimedia (sound, images, video) and other measurements (in medical instruments, cars, cell phones, eyeglasses, etc). This is "Signal Computing", which places great demands on processing power, network bandwidth, storage capacity, I/O speed, and software design. As a result, it is a great laboratory for exercising the full range of knowledge of computer science.

While there certainly may be many opportunities for students to eventually work in signal computing, the value of their study of this topic extends far beyond. Studying signal computing and its underlying mathematics directly exercises key computer science abilities in areas like abstraction and algorithmics. As this book progresses, we take a familiar representation of digital signals or operations, reach a concept in which it is awkward or difficult to use, and then develop an alternative representation that simplifies matters. This is exactly what computing professionals do in their careers -- identify that a problem at hand can be represented by some abstraction with known properties that can be manipulated by well-understood algorithms.

You can find the main web site for this project at http://faculty.washington.edu/stiber/pubs/Signal-Computing/.

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.