The goal of the course is to develop a complete working set of digital signal processing notions from the ground up. DSP is arguably at the heart of the “digital revolution” that, in the space of just a few decades, has enabled unprecedented levels of interpersonal communication and of information availability.
In the class, starting from the basic definitions of a discrete-time signal, we will work our way through Fourier analysis, filter design, sampling, interpolation and quantization to build a DSP toolset complete enough to analyze a practical communication system in detail. Hands-on examples and demonstration will be routinely used to close the gap between theory and practice.
Broad outline of the topics covered in the class:
Fundamentals of linear algebra and calculus are a must. Familiarity with probability theory and system theory are highly recommended. Familiarity with Matlab (or equivalent) and/or scientific programming are a plus.
A companion textbook is available both in printed format and electronically on the web (free of charge). Please refer to www.sp4comm.org for details. Many more bibliographical references can be found in the textbook.
The class will consist of video lectures, each approximately 45 minutes in length; videos will contain some interactive quiz questions. Students are encouraged to implement many of the course topics in the programming language of their choice; worked out examples in Python will be provided on a weekly basis. The final grade will be based on the students' performance in weekly homework sets, which will include applied coding problems.
Yes. Students who successfully complete the class will receive a certificate signed by the instructor.
The basic material (textbook, slides, videos) will available on the web. Programming exercises are mostly language-independent; numerical problems can be solved using Python.
In the old days, i.e. the days of discrete electronics, if you wanted to build a circuit as a practical application of the theory you had studied, you had to shop for components, solder them together, and then repeat the process when a mistake led to a burn out -- a very common occurrence. With DSP, as long as you have a PC, you have a portable and indestructible lab in which you can quickly assemble prototypes of your favorite circuits, from guitar effects to data communication systems. In this class, you will learn how to do all that!
In short, no. DSP chips are specialized microprocessors designed to perform very efficiently the set of operations that are most common in digital signal processing. Many DSP chips exist and there is a rich body of literature on DSP chip programming. However, in this class we will deal with the fundamentals of signal processing in more abstract terms, and focus less on the specifics of a particular implementation strategy. The reward will be a very flexible toolset that is very easy to apply to your preferred architecture, be it a DSP chip or a standard PC.