DSP
Digital Signal Processing (DSP)
Reference Books
Steven W. Smith
“The Scientist and Engineer's Guide to Digital Signal Processing”
(Free online access)
Richard G. Lyons
“Understanding Digital Signal Processing”, 3rd Edition
Prentice Hall, 2011
Course Goals
- Develop Convolution Kernel algorithms in Python
- Design and develop different window filters in Python
- Develop the Discrete Fourier Transform (DFT) algorithm in Python
- Design and develop Type I and II Chebyshev filters in Python
- Develop the Inverse Discrete Fourier Transform (IDFT) algorithm in Pyhton
- Develop the Fast Fourier Transform (FFT) algorithm in Python
- Perform spectral analysis on ECG signals in Python
- Design and develop Finite Impulse Response (FIR) filters in Python
- Design and develop Infinite Impulse Response (IIR) filters in Python
- Design and develop Butterworth filters in Python
- Design and develop Match filters in Python
- Design and develop Bessel filters in Python
- Simulate Linear Time Invariant (LTI) Systems in Python
- Perform linear and cubic interpolation in Python
Course Modules
Module 0 - Set Up
- Downloading and installing Python 3
- Which IDE to use (PyCharm Community Edition)
- Installing Python Packages (matplotlib, numpy, and scipy)
- Testing the Packages
Module 1 - Foundations
Module 3 - Part 1 FIR Filters
- Intro to Digital Filters (Chapter 14)
- Moving Average Filters (Chapter 15)
- FIR Filters (Chapter 16 and Chapter 17)
- Match Filters (Chapter 7)
Module 3 - Part 2 IIR Filters
IIR Filters (Chapter 19 & Chapter 20)
Module 4 - DSP with STM32F4
- DSP with STM32F4 Discovery Board and PmodI2S2 Audio Board
- FIR Filter (Designed with ASN Filter Designer)
- IIR Filter (RC Low Pass Example)
- Effects (Reverb Example)
Module 5 - PCB Design
- PmodI2S2 Audio Board Shield for STM32F4 Discovery Board
Module 6 - Filters with Octave
- FIRs and IIRs with Octave
Module 7 - Extra DSP with STM32F4
- Add external buttons to interact with the filters done with STM32F4
Lectures (Zoom)
Week 1 - Module 0 and 1
Week 2 - Module 2
Week 3 - Module 3 Part 1
Week 4 - Module 3 Part 2
Week 5 - DSP with STM32F4
Week 6 - PCB Design
Week 8 - DSP with Octave
Week 9 - Extra DSP with STM32F4
Support Videos
- Understanding the Z-Transform (Link)
- Understanding Power Spectral Density and the Power Spectrum (Link)
- Understanding the Discrete Fourier Transform and the FFT (Link)