- Level Professional
- Duration 29 hours
- Course by École Polytechnique Fédérale de Lausanne
-
Offered by
About
Digital Signal Processing is the branch of engineering that, in the space of just a few decades, has enabled unprecedented levels of interpersonal communication and of on-demand entertainment. By reworking the principles of electronics, telecommunication and computer science into a unifying paradigm, DSP is a the heart of the digital revolution that brought us CDs, DVDs, MP3 players, mobile phones and countless other devices. In this series of four courses, you will learn the fundamentals of Digital Signal Processing from the ground up. Starting from the basic definition 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. To make the best of this class, it is recommended that you are proficient in basic calculus and linear algebra; several programming examples will be provided in the form of Python notebooks but you can use your favorite programming language to test the algorithms described in the course.
Modules
Welcome to DSP One!
1
Readings
- Welcome to DSP One!
Lesson 1.1.1: What is signal processing?
1
Videos
- 1.1.1 What is digital signal processing?
1
Readings
- Introduction
Lesson 1.1.2: Discrete-time signals
1
Videos
- 1.1.2 Discrete-time signals
1
Readings
- Introduction
Lesson 1.1.3: Basic signal processing
2
Videos
- 1.1.3.a How your PC plays discrete-time sounds
- 1.1.3.b The Karplus-Strong algorithm
1
Readings
- Introduction
Lesson 1.1.4: Complex exponentials
1
Videos
- 1.1.4 Complex exponentials
1
Readings
- Introduction
Module 1.1: Assignments
1
Assignment
- Homework for Module 1.1
1
Readings
- Practice homework
Notes and Supplementary Materials
1
Videos
- Signal of the Day: Goethe's temperature measurement
1
Readings
- Notes and Supplementary Material
Python Notebooks
2
Labs
- Transoceanic Signal Transmission
- The Karplus-Strong Algorithm
Lesson 1.2.1: Signal processing and vector spaces
1
Videos
- 1.2.1 Signal processing and vector spaces
1
Readings
- Introduction
Lesson 1.2.2: Vector spaces
2
Videos
- 1.2.2.a Vector space
- 1.2.2.b Signal spaces
1
Readings
- Introduction
Lesson 1.2.3: Bases
1
Videos
- 1.2.3 Bases
1
Readings
- Introduction
Lesson 1.2.4: Subspaces and approximations
2
Videos
- 1.2.4.a Subspace-based approximations
- 1.2.4.b Polynomial Approximation
1
Readings
- Introduction
Module 1.2: Assignments
1
Assignment
- Homework for Module 1.2
1
Readings
- Practice homework
Notes and Supplementary Materials
1
Videos
- Signal of the Day: Exoplanet hunting
1
Readings
- Notes and Supplementary Material
Python Notebooks
1
Labs
- Haar Bases for Image Compression
Lesson 1.3.1: Fourier Analysis
2
Videos
- 1.3.1.a The frequency domain
- 1.3.1.b The DFT as a change of basis
2
Readings
- Introduction
- What have we learned?
Lesson 1.3.2: The Discrete Fourier Transform
3
Videos
- 1.3.2.a DFT definition
- 1.3.2.b Examples of DFT calculation
- 1.3.2.c Interpreting a DFT plot
2
Readings
- Introduction
- What have we learned?
Lesson 1.3.3: The DFT in Practice
5
Videos
- 1.3.3.a DFT analysis
- 1.3.3.b DFT example - analysis of musical instruments
- 1.3.3.c DFT synthesis
- 1.3.3.d DFT example - tide prediction in Venice
- 1.3.3.e DFT example - MP3 compression
2
Readings
- Introduction
- What have we learned?
Lesson 1.3.4: The Short-Time Fourier Transform
3
Videos
- 1.3.4.a The short-time Fourier transform
- 1.3.4.b The spectrogram
- 1.3.4.c Time-frequency tiling
2
Readings
- Introduction
- What have we learned?
Module 1.3: Assignments
1
Assignment
- Homework for Module 1.3
1
Readings
- Practice homework
Notes and supplementary material
1
Videos
- Signal of the Day: The first man-made signal from outer space
1
Readings
- Real-valued Transforms
Python Notebooks
3
Labs
- How to Plot the DFT
- DFT and Numerical Precision
- Dial Tones
Lesson 1.4.1: Discrete Fourier Series
2
Videos
- 1.4.1.a Discrete Fourier series
- 1.4.1.b Karplus-Strong revisited and DFS
2
Readings
- Introduction
- What have we learned?
Lesson 1.4.2: The Discrete-Time Fourier Transform
3
Videos
- 1.4.2.a Karplus-Strong revisited and the DTFT
- 1.4.2.b Existence and properties of the DTFT
- 1.4.2.c The DTFT as a change of basis
2
Readings
- Introduction
- What have we learned?
Lesson 1.4.3: Sinusoidal Modulation
2
Videos
- 1.4.3.a Sinusoidal modulation
- 1.4.3.b Tuning a guitar
1
Readings
- Introduction
Lesson 1.4.4*: Relationships between transforms
2
Videos
- 1.4.4.a Relationships between transforms
- 1.4.4.b Zero padding
1
Readings
- Introduction
Lesson 1.4.5: The fast Fourier transform
1
Videos
- 1.4.5 The fast Fourier transform
1
Readings
- Introduction
Module 1.4: Assignments
1
Assignment
- Homework for Module 1.4
1
Readings
- Practice homework
Module 1.4: Notes and Supplementary Materials
1
Videos
- Signal of the Day: Tristan Chord
1
Readings
- Notes and Supplementary Material
Python Notebooks
2
Labs
- Can You Hear the Phase of a Sound?
- Audio Frequency Beatings

Paolo Prandoni

Martin Vetterli