Digital Signal Processing

Learn the fundamentals of digital signal processing theory and discover the myriad ways DSP makes everyday life more productive and fun.

About The Course

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.

Frequently Asked Questions

  • Will I get a certificate after completing this class?

    Yes. Students who successfully complete the class will receive a certificate signed by the instructor.

  • What resources will I need for this class?

    The basic material (textbook, slides, videos) will available on the web. Programming exercises are mostly language-independent; numerical problems can be solved using Octave (free software) or Matlab (commercial software).

  • What is so cool about digital signal processing?

    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!

  • Is this class about DSP chips?

    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.

Recommended Background

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.